Evo Voice

<back to all web services

NotUsedRequest

The following routes are available for this service:
All Verbs/not-used
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class NotUsedRequest
{
    open var pushNotification:PushNotification? = null
    open var notifications:ArrayList<NotificationInfo>? = null
    open var nodeParameter:NodeParameter? = null
}

open class PushNotification
{
    @SerializedName("type") open var Type:PushNotificationTypes? = null
    open var channel:FlowChannels? = null
    open var endpointId:String? = null
    open var endpointUserName:String? = null
    open var sessionId:String? = null
    open var sender:String? = null
    open var title:String? = null
    open var body:String? = null
    open var badge:Int? = null
    open var attachmentUri:String? = null
    open var attachmentContentType:String? = null
    open var agentState:AgentStates? = null
    open var agentStateReason:AgentStateReasons? = null
}

enum class PushNotificationTypes
{
    SessionDisconnected,
    SessionInvite,
    ChatMessage,
    SessionInactivated,
    AgentStateChanged,
    SessionHeld,
    SessionAnswered,
    ActiveSessionsChanged,
    Ping,
    SessionScreenChanged,
    Toast,
    SessionInfoChanged,
    MessageReceived,
    SessionHolding,
}

enum class FlowChannels
{
    Voice,
    Chat,
    Fax,
}

enum class AgentStates
{
    Unknown,
    Ready,
    NotReady,
    LoggedOut,
    WrapUp,
    Outgoing,
    Other,
}

enum class AgentStateReasons
{
    Unknown,
    SetByUser,
    MissedCall,
    SetBySystem,
}

open class NotificationInfo : EntityInfo()
{
    /**
    * The account ID this endpoint is associated with
    */
    @ApiMember(Description="The account ID this endpoint is associated with")
    open var accountId:String? = null

    /**
    * The name of the account this endpoint is associated with
    */
    @ApiMember(Description="The name of the account this endpoint is associated with")
    open var accountName:String? = null

    /**
    * The ID of the customer this endpoint is associated with
    */
    @ApiMember(Description="The ID of the customer this endpoint is associated with")
    open var customerId:String? = null

    /**
    * The name of the customer this endpoint is associated with
    */
    @ApiMember(Description="The name of the customer this endpoint is associated with")
    open var customerName:String? = null

    /**
    * The breadcrumb to the customer for this endpoint
    */
    @ApiMember(Description="The breadcrumb to the customer for this endpoint")
    open var customerBreadcrumb:ArrayList<CustomerBreadcrumb>? = null

    /**
    * The type of notification
    */
    @ApiMember(Description="The type of notification")
    @SerializedName("type") open var Type:NotificationTypes? = null

    /**
    * The subject of the notification
    */
    @ApiMember(Description="The subject of the notification")
    open var subject:String? = null

    /**
    * The body of the notification
    */
    @ApiMember(Description="The body of the notification")
    open var body:String? = null

    /**
    * The recipients of this notification
    */
    @ApiMember(Description="The recipients of this notification")
    open var recipients:ArrayList<NotificationRecipientInfo>? = null

    /**
    * The list of attachments
    */
    @ApiMember(Description="The list of attachments")
    open var attachments:ArrayList<FileInfo>? = null

    /**
    * The original from for the session
    */
    @ApiMember(Description="The original from for the session")
    open var from:String? = null

    /**
    * The original To for the session
    */
    @ApiMember(Description="The original To for the session")
    open var to:String? = null

    /**
    * Was there an error?
    */
    @ApiMember(Description="Was there an error?")
    open var error:Boolean? = null

    /**
    * The error message
    */
    @ApiMember(Description="The error message")
    open var errorMessage:String? = null
}

open class EntityInfo
{
    /**
    * The ID of the object
    */
    @ApiMember(Description="The ID of the object")
    open var id:String? = null

    /**
    * The date the object was created
    */
    @ApiMember(Description="The date the object was created")
    open var dateCreated:String? = null

    /**
    * The date the object was last modified
    */
    @ApiMember(Description="The date the object was last modified")
    open var dateLastModified:String? = null

    /**
    * The user that created this object
    */
    @ApiMember(Description="The user that created this object")
    open var createdBy:String? = null

    /**
    * The user that last modified this object
    */
    @ApiMember(Description="The user that last modified this object")
    open var lastModifiedBy:String? = null
}

open class CustomerBreadcrumb
{
    open var id:String? = null
    open var name:String? = null
}

enum class NotificationTypes
{
    Email,
    Sms,
    Push,
    IncomingCall,
    OutgoingCall,
}

open class NotificationRecipientInfo
{
    /**
    * The address of the recipient
    */
    @ApiMember(Description="The address of the recipient")
    open var address:String? = null

    /**
    * Extra info about the recipient e.g. CC, BCC
    */
    @ApiMember(Description="Extra info about the recipient e.g. CC, BCC")
    open var extra:String? = null

    /**
    * The name of the recipient
    */
    @ApiMember(Description="The name of the recipient")
    open var name:String? = null
}

open class FileInfo : EntityInfo()
{
    /**
    * The type of file this is
    */
    @ApiMember(Description="The type of file this is")
    @SerializedName("type") open var Type:FileTypes? = null

    /**
    * The account ID this file is associated with
    */
    @ApiMember(Description="The account ID this file is associated with")
    open var accountId:String? = null

    /**
    * The name of the account this file is associated with
    */
    @ApiMember(Description="The name of the account this file is associated with")
    open var accountName:String? = null

    /**
    * The ID of the customer this file is associated with
    */
    @ApiMember(Description="The ID of the customer this file is associated with")
    open var customerId:String? = null

    /**
    * The name of the customer this file is associated with
    */
    @ApiMember(Description="The name of the customer this file is associated with")
    open var customerName:String? = null

    /**
    * The breadcrumb to the customer for this file
    */
    @ApiMember(Description="The breadcrumb to the customer for this file")
    open var customerBreadcrumb:ArrayList<CustomerBreadcrumb>? = null

    /**
    * The ID of the user this file is assocaited with
    */
    @ApiMember(Description="The ID of the user this file is assocaited with")
    open var userId:String? = null

    /**
    * The name of the user this file is associated with
    */
    @ApiMember(Description="The name of the user this file is associated with")
    open var userName:String? = null

    /**
    * The original file name for the file
    */
    @ApiMember(Description="The original file name for the file")
    open var fileName:String? = null

    /**
    * The URI of the file
    */
    @ApiMember(Description="The URI of the file")
    open var uri:String? = null

    /**
    * The Content type of the file
    */
    @ApiMember(Description="The Content type of the file")
    open var contentType:String? = null

    /**
    * The size of the file
    */
    @ApiMember(Description="The size of the file")
    open var contentLength:Long? = null

    /**
    * The Twilio ID of the recording
    */
    @ApiMember(Description="The Twilio ID of the recording")
    open var recordingSid:String? = null

    /**
    * The duration of the recording in seconds
    */
    @ApiMember(Description="The duration of the recording in seconds")
    open var recordingDuration:Int? = null

    /**
    * Who is the recording from?
    */
    @ApiMember(Description="Who is the recording from?")
    open var recordingFrom:String? = null

    /**
    * Transcription (if available)
    */
    @ApiMember(Description="Transcription (if available)")
    open var transcription:String? = null

    /**
    * From Address (e.g. caller ID) for incoming calls
    */
    @ApiMember(Description="From Address (e.g. caller ID) for incoming calls")
    open var fromAddress:String? = null

    /**
    * To Address (e.g. dialed number) for outgoing calls
    */
    @ApiMember(Description="To Address (e.g. dialed number) for outgoing calls")
    open var toAddress:String? = null

    /**
    * The AI transcription for this call
    */
    @ApiMember(Description="The AI transcription for this call")
    open var aiTranscription:String? = null
}

enum class FileTypes
{
    Upload,
    VoiceMessage,
    CallRecording,
    Fax,
    Attachment,
    FaxOutgoing,
}

open class NodeParameter
{
    open var id:String? = null
    @SerializedName("type") open var Type:ValueTypes? = null
    open var source:ValueSources? = null
    open var isAsync:Boolean? = null
    open var referenceId:String? = null
    open var value:Value? = null
    open var noEvalTemplate:Boolean? = null
    open var listParameters:ArrayList<NodeParameterMap>? = null
    open var structParameters:NodeParameterMap? = null
    open var isOutput:Boolean? = null
    open var expression:String? = null
    open var listType:DataType? = null
}

enum class ValueTypes
{
    NotSpecified,
    String,
    Boolean,
    Number,
    List,
    Struct,
    Transition,
    Custom,
    Date,
    AudioFile,
    TimeZoneId,
    PhoneNumber,
    User,
    Endpoint,
    Time,
    File,
    FaxNumber,
    EmailAccount,
    Customer,
    Flow,
    Team,
    FlowReference,
    Integration,
    Assistant,
}

enum class ValueSources
{
    Value,
    Flow,
    System,
    Customer,
    Session,
    Endpoint,
    Expression,
    User,
}

open class Value
{
    open var boolValue:Boolean? = null
    open var stringValue:String? = null
    open var numberValue:Double? = null
    open var listValue:ArrayList<Struct>? = null
    open var structValue:Struct? = null
}

open class Struct : HashMap<String,Value>()
{
}

open class NodeParameterMap : HashMap<String,NodeParameter>()
{
}

open class DataType
{
    open var typeName:String? = null
    open var fields:ArrayList<DataField>? = null
}

open class DataField
{
    open var id:String? = null
    open var name:String? = null
    @SerializedName("type") open var Type:ValueTypes? = null
    open var uiHint:UIHints? = null
    open var uiTab:String? = null
    open var isAsync:Boolean? = null
    open var disableBinding:Boolean? = null
    open var structType:DataType? = null
    open var listType:DataType? = null
    open var description:String? = null
    open var possibleValues:ArrayList<String>? = null
    open var isOutput:Boolean? = null
    open var customFieldValuesUrl:String? = null
    open var defaultValue:Value? = null
    open var transitionNameFormat:String? = null
    open var uniqueness:DataFieldUniqueness? = null
    open var voiceOnly:Boolean? = null
    open var conditionalVisibilityField:String? = null
    open var conditionalVisibilityValue:String? = null
    open var noEvalTemplate:Boolean? = null
    open var userMode:UserDataFieldModes? = null
    open var anyValueType:Boolean? = null
}

enum class UIHints
{
    None,
    LargeText,
    InlineForm,
    Password,
    InlineStruct,
}

enum class DataFieldUniqueness
{
    NotUnique,
    Unique,
    UniqueToCustomer,
}

enum class UserDataFieldModes
{
    Hidden,
    ReadOnly,
    ReadWrite,
}

Kotlin NotUsedRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /not-used HTTP/1.1 
Host: team.evovoice.io 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<NotUsedRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">
  <NodeParameter xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows" i:nil="true" />
  <Notifications xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Notifications">
    <d2p1:NotificationInfo>
      <CreatedBy>String</CreatedBy>
      <DateCreated>String</DateCreated>
      <DateLastModified>String</DateLastModified>
      <Id>String</Id>
      <LastModifiedBy>String</LastModifiedBy>
      <d2p1:AccountId>String</d2p1:AccountId>
      <d2p1:AccountName>String</d2p1:AccountName>
      <d2p1:Attachments xmlns:d4p1="http://schemas.datacontract.org/2004/07/Voice.Api.Files">
        <d4p1:FileInfo>
          <CreatedBy>String</CreatedBy>
          <DateCreated>String</DateCreated>
          <DateLastModified>String</DateLastModified>
          <Id>String</Id>
          <LastModifiedBy>String</LastModifiedBy>
          <d4p1:AITranscription>String</d4p1:AITranscription>
          <d4p1:AccountId>String</d4p1:AccountId>
          <d4p1:AccountName>String</d4p1:AccountName>
          <d4p1:ContentLength>0</d4p1:ContentLength>
          <d4p1:ContentType>String</d4p1:ContentType>
          <d4p1:CustomerBreadcrumb xmlns:d6p1="http://schemas.datacontract.org/2004/07/Voice.Api.Customers">
            <d6p1:CustomerBreadcrumb>
              <d6p1:Id>String</d6p1:Id>
              <d6p1:Name>String</d6p1:Name>
            </d6p1:CustomerBreadcrumb>
          </d4p1:CustomerBreadcrumb>
          <d4p1:CustomerId>String</d4p1:CustomerId>
          <d4p1:CustomerName>String</d4p1:CustomerName>
          <d4p1:FileName>String</d4p1:FileName>
          <d4p1:FromAddress>String</d4p1:FromAddress>
          <d4p1:RecordingDuration>0</d4p1:RecordingDuration>
          <d4p1:RecordingFrom>String</d4p1:RecordingFrom>
          <d4p1:RecordingSid>String</d4p1:RecordingSid>
          <d4p1:ToAddress>String</d4p1:ToAddress>
          <d4p1:Transcription>String</d4p1:Transcription>
          <d4p1:Type>Upload</d4p1:Type>
          <d4p1:Uri>String</d4p1:Uri>
          <d4p1:UserId>String</d4p1:UserId>
          <d4p1:UserName>String</d4p1:UserName>
        </d4p1:FileInfo>
      </d2p1:Attachments>
      <d2p1:Body>String</d2p1:Body>
      <d2p1:CustomerBreadcrumb xmlns:d4p1="http://schemas.datacontract.org/2004/07/Voice.Api.Customers">
        <d4p1:CustomerBreadcrumb>
          <d4p1:Id>String</d4p1:Id>
          <d4p1:Name>String</d4p1:Name>
        </d4p1:CustomerBreadcrumb>
      </d2p1:CustomerBreadcrumb>
      <d2p1:CustomerId>String</d2p1:CustomerId>
      <d2p1:CustomerName>String</d2p1:CustomerName>
      <d2p1:Error>false</d2p1:Error>
      <d2p1:ErrorMessage>String</d2p1:ErrorMessage>
      <d2p1:From>String</d2p1:From>
      <d2p1:Recipients>
        <d2p1:NotificationRecipientInfo>
          <d2p1:Address>String</d2p1:Address>
          <d2p1:Extra>String</d2p1:Extra>
          <d2p1:Name>String</d2p1:Name>
        </d2p1:NotificationRecipientInfo>
      </d2p1:Recipients>
      <d2p1:Subject>String</d2p1:Subject>
      <d2p1:To>String</d2p1:To>
      <d2p1:Type>Email</d2p1:Type>
    </d2p1:NotificationInfo>
  </Notifications>
  <PushNotification xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.App">
    <d2p1:AgentState>Unknown</d2p1:AgentState>
    <d2p1:AgentStateReason>Unknown</d2p1:AgentStateReason>
    <d2p1:AttachmentContentType>String</d2p1:AttachmentContentType>
    <d2p1:AttachmentUri>String</d2p1:AttachmentUri>
    <d2p1:Badge>0</d2p1:Badge>
    <d2p1:Body>String</d2p1:Body>
    <d2p1:Channel>Voice</d2p1:Channel>
    <d2p1:EndpointId>String</d2p1:EndpointId>
    <d2p1:EndpointUserName>String</d2p1:EndpointUserName>
    <d2p1:Sender>String</d2p1:Sender>
    <d2p1:SessionId>String</d2p1:SessionId>
    <d2p1:Title>String</d2p1:Title>
    <d2p1:Type>SessionDisconnected</d2p1:Type>
  </PushNotification>
</NotUsedRequest>