Evo Voice

<back to all web services

NotUsedRequest

The following routes are available for this service:
All Verbs/not-used
namespace Voice.Api

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type PushNotificationTypes =
        | SessionDisconnected = 0
        | SessionInvite = 1
        | ChatMessage = 2
        | SessionInactivated = 3
        | AgentStateChanged = 4
        | SessionHeld = 5
        | SessionAnswered = 6
        | ActiveSessionsChanged = 7
        | Ping = 8
        | SessionScreenChanged = 9
        | Toast = 10
        | SessionInfoChanged = 11
        | MessageReceived = 12
        | SessionHolding = 13

    type FlowChannels =
        | Voice = 0
        | Chat = 1
        | Fax = 2

    type AgentStates =
        | Unknown = 0
        | Ready = 1
        | NotReady = 2
        | LoggedOut = 3
        | WrapUp = 4
        | Outgoing = 5
        | Other = 6

    type AgentStateReasons =
        | Unknown = 0
        | SetByUser = 1
        | MissedCall = 2
        | SetBySystem = 3

    [<AllowNullLiteral>]
    type PushNotification() = 
        member val Type:PushNotificationTypes = new PushNotificationTypes() with get,set
        member val Channel:FlowChannels = new FlowChannels() with get,set
        member val EndpointId:String = null with get,set
        member val EndpointUserName:String = null with get,set
        member val SessionId:String = null with get,set
        member val Sender:String = null with get,set
        member val Title:String = null with get,set
        member val Body:String = null with get,set
        member val Badge:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AttachmentUri:String = null with get,set
        member val AttachmentContentType:String = null with get,set
        member val AgentState:AgentStates = new AgentStates() with get,set
        member val AgentStateReason:AgentStateReasons = new AgentStateReasons() with get,set

    [<AllowNullLiteral>]
    type EntityInfo() = 
        ///<summary>
        ///The ID of the object
        ///</summary>
        [<ApiMember(Description="The ID of the object")>]
        member val Id:String = null with get,set

        ///<summary>
        ///The date the object was created
        ///</summary>
        [<ApiMember(Description="The date the object was created")>]
        member val DateCreated:String = null with get,set

        ///<summary>
        ///The date the object was last modified
        ///</summary>
        [<ApiMember(Description="The date the object was last modified")>]
        member val DateLastModified:String = null with get,set

        ///<summary>
        ///The user that created this object
        ///</summary>
        [<ApiMember(Description="The user that created this object")>]
        member val CreatedBy:String = null with get,set

        ///<summary>
        ///The user that last modified this object
        ///</summary>
        [<ApiMember(Description="The user that last modified this object")>]
        member val LastModifiedBy:String = null with get,set

    [<AllowNullLiteral>]
    type CustomerBreadcrumb() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set

    type NotificationTypes =
        | Email = 0
        | Sms = 1
        | Push = 2
        | IncomingCall = 3
        | OutgoingCall = 4

    [<AllowNullLiteral>]
    type NotificationRecipientInfo() = 
        ///<summary>
        ///The address of the recipient
        ///</summary>
        [<ApiMember(Description="The address of the recipient")>]
        member val Address:String = null with get,set

        ///<summary>
        ///Extra info about the recipient e.g. CC, BCC
        ///</summary>
        [<ApiMember(Description="Extra info about the recipient e.g. CC, BCC")>]
        member val Extra:String = null with get,set

        ///<summary>
        ///The name of the recipient
        ///</summary>
        [<ApiMember(Description="The name of the recipient")>]
        member val Name:String = null with get,set

    type FileTypes =
        | Upload = 0
        | VoiceMessage = 1
        | CallRecording = 2
        | Fax = 3
        | Attachment = 4
        | FaxOutgoing = 5

    [<AllowNullLiteral>]
    type FileInfo() = 
        inherit EntityInfo()
        ///<summary>
        ///The type of file this is
        ///</summary>
        [<ApiMember(Description="The type of file this is")>]
        member val Type:FileTypes = new FileTypes() with get,set

        ///<summary>
        ///The account ID this file is associated with
        ///</summary>
        [<ApiMember(Description="The account ID this file is associated with")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///The name of the account this file is associated with
        ///</summary>
        [<ApiMember(Description="The name of the account this file is associated with")>]
        member val AccountName:String = null with get,set

        ///<summary>
        ///The ID of the customer this file is associated with
        ///</summary>
        [<ApiMember(Description="The ID of the customer this file is associated with")>]
        member val CustomerId:String = null with get,set

        ///<summary>
        ///The name of the customer this file is associated with
        ///</summary>
        [<ApiMember(Description="The name of the customer this file is associated with")>]
        member val CustomerName:String = null with get,set

        ///<summary>
        ///The breadcrumb to the customer for this file
        ///</summary>
        [<ApiMember(Description="The breadcrumb to the customer for this file")>]
        member val CustomerBreadcrumb:ResizeArray<CustomerBreadcrumb> = null with get,set

        ///<summary>
        ///The ID of the user this file is assocaited with
        ///</summary>
        [<ApiMember(Description="The ID of the user this file is assocaited with")>]
        member val UserId:String = null with get,set

        ///<summary>
        ///The name of the user this file is associated with
        ///</summary>
        [<ApiMember(Description="The name of the user this file is associated with")>]
        member val UserName:String = null with get,set

        ///<summary>
        ///The original file name for the file
        ///</summary>
        [<ApiMember(Description="The original file name for the file")>]
        member val FileName:String = null with get,set

        ///<summary>
        ///The URI of the file
        ///</summary>
        [<ApiMember(Description="The URI of the file")>]
        member val Uri:String = null with get,set

        ///<summary>
        ///The Content type of the file
        ///</summary>
        [<ApiMember(Description="The Content type of the file")>]
        member val ContentType:String = null with get,set

        ///<summary>
        ///The size of the file
        ///</summary>
        [<ApiMember(Description="The size of the file")>]
        member val ContentLength:Int64 = new Int64() with get,set

        ///<summary>
        ///The Twilio ID of the recording
        ///</summary>
        [<ApiMember(Description="The Twilio ID of the recording")>]
        member val RecordingSid:String = null with get,set

        ///<summary>
        ///The duration of the recording in seconds
        ///</summary>
        [<ApiMember(Description="The duration of the recording in seconds")>]
        member val RecordingDuration:Int32 = new Int32() with get,set

        ///<summary>
        ///Who is the recording from?
        ///</summary>
        [<ApiMember(Description="Who is the recording from?")>]
        member val RecordingFrom:String = null with get,set

        ///<summary>
        ///Transcription (if available)
        ///</summary>
        [<ApiMember(Description="Transcription (if available)")>]
        member val Transcription:String = null with get,set

        ///<summary>
        ///From Address (e.g. caller ID) for incoming calls
        ///</summary>
        [<ApiMember(Description="From Address (e.g. caller ID) for incoming calls")>]
        member val FromAddress:String = null with get,set

        ///<summary>
        ///To Address (e.g. dialed number) for outgoing calls
        ///</summary>
        [<ApiMember(Description="To Address (e.g. dialed number) for outgoing calls")>]
        member val ToAddress:String = null with get,set

        ///<summary>
        ///The AI transcription for this call
        ///</summary>
        [<ApiMember(Description="The AI transcription for this call")>]
        member val AITranscription:String = null with get,set

    [<AllowNullLiteral>]
    type NotificationInfo() = 
        inherit EntityInfo()
        ///<summary>
        ///The account ID this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The account ID this endpoint is associated with")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///The name of the account this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The name of the account this endpoint is associated with")>]
        member val AccountName:String = null with get,set

        ///<summary>
        ///The ID of the customer this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The ID of the customer this endpoint is associated with")>]
        member val CustomerId:String = null with get,set

        ///<summary>
        ///The name of the customer this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The name of the customer this endpoint is associated with")>]
        member val CustomerName:String = null with get,set

        ///<summary>
        ///The breadcrumb to the customer for this endpoint
        ///</summary>
        [<ApiMember(Description="The breadcrumb to the customer for this endpoint")>]
        member val CustomerBreadcrumb:ResizeArray<CustomerBreadcrumb> = null with get,set

        ///<summary>
        ///The type of notification
        ///</summary>
        [<ApiMember(Description="The type of notification")>]
        member val Type:NotificationTypes = new NotificationTypes() with get,set

        ///<summary>
        ///The subject of the notification
        ///</summary>
        [<ApiMember(Description="The subject of the notification")>]
        member val Subject:String = null with get,set

        ///<summary>
        ///The body of the notification
        ///</summary>
        [<ApiMember(Description="The body of the notification")>]
        member val Body:String = null with get,set

        ///<summary>
        ///The recipients of this notification
        ///</summary>
        [<ApiMember(Description="The recipients of this notification")>]
        member val Recipients:ResizeArray<NotificationRecipientInfo> = null with get,set

        ///<summary>
        ///The list of attachments
        ///</summary>
        [<ApiMember(Description="The list of attachments")>]
        member val Attachments:ResizeArray<FileInfo> = null with get,set

        ///<summary>
        ///The original from for the session
        ///</summary>
        [<ApiMember(Description="The original from for the session")>]
        member val From:String = null with get,set

        ///<summary>
        ///The original To for the session
        ///</summary>
        [<ApiMember(Description="The original To for the session")>]
        member val To:String = null with get,set

        ///<summary>
        ///Was there an error?
        ///</summary>
        [<ApiMember(Description="Was there an error?")>]
        member val Error:Boolean = new Boolean() with get,set

        ///<summary>
        ///The error message
        ///</summary>
        [<ApiMember(Description="The error message")>]
        member val ErrorMessage:String = null with get,set

    type ValueTypes =
        | NotSpecified = 0
        | String = 1
        | Boolean = 2
        | Number = 3
        | List = 4
        | Struct = 5
        | Transition = 6
        | Custom = 7
        | Date = 8
        | AudioFile = 9
        | TimeZoneId = 10
        | PhoneNumber = 11
        | User = 12
        | Endpoint = 13
        | Time = 14
        | File = 15
        | FaxNumber = 16
        | EmailAccount = 17
        | Customer = 18
        | Flow = 19
        | Team = 20
        | FlowReference = 21
        | Integration = 22
        | Assistant = 23

    type ValueSources =
        | Value = 0
        | Flow = 1
        | System = 2
        | Customer = 3
        | Session = 4
        | Endpoint = 5
        | Expression = 6
        | User = 7

    [<AllowNullLiteral>]
    type Struct() = 
        inherit Dictionary<String, Value>()

    [<AllowNullLiteral>]
    type Value() = 
        member val BoolValue:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val StringValue:String = null with get,set
        member val NumberValue:Nullable<Double> = new Nullable<Double>() with get,set
        member val ListValue:ResizeArray<Struct> = null with get,set
        member val StructValue:Struct = null with get,set

    [<AllowNullLiteral>]
    type NodeParameterMap() = 
        inherit Dictionary<String, NodeParameter>()

    type UIHints =
        | None = 0
        | LargeText = 1
        | InlineForm = 2
        | Password = 3
        | InlineStruct = 4

    type DataFieldUniqueness =
        | NotUnique = 0
        | Unique = 1
        | UniqueToCustomer = 2

    type UserDataFieldModes =
        | Hidden = 0
        | ReadOnly = 1
        | ReadWrite = 2

    [<AllowNullLiteral>]
    type DataField() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set
        member val Type:ValueTypes = new ValueTypes() with get,set
        member val UIHint:UIHints = new UIHints() with get,set
        member val UITab:String = null with get,set
        member val IsAsync:Boolean = new Boolean() with get,set
        member val DisableBinding:Boolean = new Boolean() with get,set
        member val StructType:DataType = null with get,set
        member val ListType:DataType = null with get,set
        member val Description:String = null with get,set
        member val PossibleValues:ResizeArray<String> = null with get,set
        member val IsOutput:Boolean = new Boolean() with get,set
        member val CustomFieldValuesUrl:String = null with get,set
        member val DefaultValue:Value = null with get,set
        member val TransitionNameFormat:String = null with get,set
        member val Uniqueness:DataFieldUniqueness = new DataFieldUniqueness() with get,set
        member val VoiceOnly:Boolean = new Boolean() with get,set
        member val ConditionalVisibilityField:String = null with get,set
        member val ConditionalVisibilityValue:String = null with get,set
        member val NoEvalTemplate:Boolean = new Boolean() with get,set
        member val UserMode:UserDataFieldModes = new UserDataFieldModes() with get,set
        member val AnyValueType:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type DataType() = 
        member val TypeName:String = null with get,set
        member val Fields:ResizeArray<DataField> = null with get,set

    [<AllowNullLiteral>]
    type NodeParameter() = 
        member val Id:String = null with get,set
        member val Type:ValueTypes = new ValueTypes() with get,set
        member val Source:ValueSources = new ValueSources() with get,set
        member val IsAsync:Boolean = new Boolean() with get,set
        member val ReferenceId:String = null with get,set
        member val Value:Value = null with get,set
        member val NoEvalTemplate:Boolean = new Boolean() with get,set
        member val ListParameters:ResizeArray<NodeParameterMap> = null with get,set
        member val StructParameters:NodeParameterMap = null with get,set
        member val IsOutput:Boolean = new Boolean() with get,set
        member val Expression:String = null with get,set
        member val ListType:DataType = null with get,set

    [<AllowNullLiteral>]
    type NotUsedRequest() = 
        member val PushNotification:PushNotification = null with get,set
        member val Notifications:ResizeArray<NotificationInfo> = null with get,set
        member val NodeParameter:NodeParameter = null with get,set

F# 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>