| GET | /portal/active-sessions |
|---|
namespace Voice.Api
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<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
type SessionDialState =
| None = 0
| Active = 1
type SessionCallState =
| Disconnected = 0
| Ringing = 1
| Connected = 2
| Hold = 3
| Passive = 4
type SessionQueueStates =
| None = 0
| Queued = 1
| Ringing = 2
| Connected = 3
| Hold = 4
| Disconnected = 5
[<AllowNullLiteral>]
type CustomerBreadcrumb() =
member val Id:String = null with get,set
member val Name:String = null with get,set
type FlowChannels =
| Voice = 0
| Chat = 1
| Fax = 2
type SessionHoldReasons =
| None = 0
| Transferring = 1
[<AllowNullLiteral>]
type SessionLogInfo() =
member val Date:String = null with get,set
member val Message:String = null with get,set
type SessionMemberCallState =
| None = 0
| Ringing = 1
| Connected = 2
| Hold = 3
type SessionMemberRoles =
| None = 0
| Caller = 1
| Agent = 2
| Transfer = 3
[<AllowNullLiteral>]
type SessionMemberInfo() =
member val Identity:String = null with get,set
member val EndpointId:String = null with get,set
member val DisplayName:String = null with get,set
member val IsOriginalMember:Boolean = new Boolean() with get,set
member val AvatarUrl:String = null with get,set
member val ApplicationData:Dictionary<String, String> = null with get,set
member val CallState:SessionMemberCallState = new SessionMemberCallState() with get,set
member val Role:SessionMemberRoles = new SessionMemberRoles() with get,set
member val CallSid:String = null with get,set
member val Muted:Boolean = new Boolean() with get,set
type SessionDirections =
| Incoming = 0
| Outgoing = 1
[<AllowNullLiteral>]
type SessionInfo() =
inherit EntityInfo()
///<summary>
///The state of the session
///</summary>
[<ApiMember(Description="The state of the session")>]
member val DialState:SessionDialState = new SessionDialState() with get,set
///<summary>
///The call state of the session
///</summary>
[<ApiMember(Description="The call state of the session")>]
member val CallState:SessionCallState = new SessionCallState() with get,set
///<summary>
///The queue state of the session
///</summary>
[<ApiMember(Description="The queue state of the session")>]
member val QueueState:SessionQueueStates = new SessionQueueStates() with get,set
///<summary>
///The ID of the account associated with the flow
///</summary>
[<ApiMember(Description="The ID of the account associated with the flow")>]
member val AccountId:String = null with get,set
///<summary>
///The name of the account associated with the session
///</summary>
[<ApiMember(Description="The name of the account associated with the session")>]
member val AccountName:String = null with get,set
///<summary>
///The ID of the customer this session is associated with
///</summary>
[<ApiMember(Description="The ID of the customer this session is associated with")>]
member val CustomerId:String = null with get,set
///<summary>
///The customer breadcrumb this session is associated with
///</summary>
[<ApiMember(Description="The customer breadcrumb this session is associated with")>]
member val CustomerBreadcrumb:ResizeArray<CustomerBreadcrumb> = null with get,set
///<summary>
///The name of the customer this session is associated with
///</summary>
[<ApiMember(Description="The name of the customer this session is associated with")>]
member val CustomerName:String = null with get,set
///<summary>
///The ID of the endpoint associated with this session
///</summary>
[<ApiMember(Description="The ID of the endpoint associated with this session")>]
member val EndpointId:String = null with get,set
///<summary>
///The name of the endpoint associated with this session
///</summary>
[<ApiMember(Description="The name of the endpoint associated with this session")>]
member val EndpointName:String = null with get,set
///<summary>
///The date the call completed
///</summary>
[<ApiMember(Description="The date the call completed")>]
member val DateCompleted:String = null with get,set
///<summary>
///The destination of the session (e.g. what was entered into the Dial box)
///</summary>
[<ApiMember(Description="The destination of the session (e.g. what was entered into the Dial box)")>]
member val Destination:String = null with get,set
///<summary>
///The to address if any
///</summary>
[<ApiMember(Description="The to address if any")>]
member val ToAddress:String = null with get,set
///<summary>
///The from address if any
///</summary>
[<ApiMember(Description="The from address if any")>]
member val FromAddress:String = null with get,set
///<summary>
///The from name if any
///</summary>
[<ApiMember(Description="The from name if any")>]
member val FromName:String = null with get,set
///<summary>
///Answered by name (if any)
///</summary>
[<ApiMember(Description="Answered by name (if any)")>]
member val AnsweredByName:String = null with get,set
///<summary>
///The ID of the queue member assigned to this call
///</summary>
[<ApiMember(Description="The ID of the queue member assigned to this call")>]
member val QueueMemberId:String = null with get,set
///<summary>
///The flow channel
///</summary>
[<ApiMember(Description="The flow channel")>]
member val Channel:FlowChannels = new FlowChannels() with get,set
///<summary>
///Has the session ended
///</summary>
[<ApiMember(Description="Has the session ended")>]
member val Ended:Boolean = new Boolean() with get,set
///<summary>
///The outcome of the call
///</summary>
[<ApiMember(Description="The outcome of the call")>]
member val Outcome:String = null with get,set
///<summary>
///The twilio Call SID of this session
///</summary>
[<ApiMember(Description="The twilio Call SID of this session")>]
member val CallSid:String = null with get,set
///<summary>
///Any console data for this session
///</summary>
[<ApiMember(Description="Any console data for this session")>]
member val ConsoleData:String = null with get,set
///<summary>
///The name of the hold queue for this call
///</summary>
[<ApiMember(Description="The name of the hold queue for this call")>]
member val HoldQueueName:String = null with get,set
///<summary>
///The user ID who put this call on hold
///</summary>
[<ApiMember(Description="The user ID who put this call on hold")>]
member val HeldByUserId:String = null with get,set
///<summary>
///The reason for the hold
///</summary>
[<ApiMember(Description="The reason for the hold")>]
member val HoldReason:SessionHoldReasons = new SessionHoldReasons() with get,set
///<summary>
///The SID of the conference if in a conference call
///</summary>
[<ApiMember(Description="The SID of the conference if in a conference call")>]
member val ConferenceSid:String = null with get,set
///<summary>
///The display name for this session
///</summary>
[<ApiMember(Description="The display name for this session")>]
member val DisplayName:String = null with get,set
///<summary>
///The log entries for this session
///</summary>
[<ApiMember(Description="The log entries for this session")>]
member val Log:ResizeArray<SessionLogInfo> = null with get,set
///<summary>
///The members of this session
///</summary>
[<ApiMember(Description="The members of this session")>]
member val Members:ResizeArray<SessionMemberInfo> = null with get,set
///<summary>
///The callback number (typically used for SIP to User calls)
///</summary>
[<ApiMember(Description="The callback number (typically used for SIP to User calls)")>]
member val CallbackNumber:String = null with get,set
///<summary>
///The ID of the endpoint that answered
///</summary>
[<ApiMember(Description="The ID of the endpoint that answered")>]
member val AnsweredById:String = null with get,set
///<summary>
///Is this session incoming or outgoing?
///</summary>
[<ApiMember(Description="Is this session incoming or outgoing?")>]
member val Direction:SessionDirections = new SessionDirections() with get,set
///<summary>
///The phone number that this session is coming from (used with SMS chats)
///</summary>
[<ApiMember(Description="The phone number that this session is coming from (used with SMS chats)")>]
member val FromPhoneNumber:String = null with get,set
///<summary>
///The Call SID of the most recently added conference participant
///</summary>
[<ApiMember(Description="The Call SID of the most recently added conference participant")>]
member val MostRecentParticipantCallSid:String = null with get,set
///<summary>
///Was this session missed?
///</summary>
[<ApiMember(Description="Was this session missed?")>]
member val WasMissed:Boolean = new Boolean() with get,set
///<summary>
///The ring queue that the call is currently in
///</summary>
[<ApiMember(Description="The ring queue that the call is currently in")>]
member val RingQueueId:String = null with get,set
[<AllowNullLiteral>]
type AppGetActiveSessionsResult() =
member val Sessions:ResizeArray<SessionInfo> = null with get,set
[<AllowNullLiteral>]
type AppGetActiveSessions() =
member val AccountId:String = null with get,set
member val CustomerId:String = null with get,set
member val StartDate:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /portal/active-sessions HTTP/1.1 Host: evovoice.io Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<AppGetActiveSessionsResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.App.Portal">
<Sessions xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Sessions">
<d2p1:SessionInfo>
<CreatedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</CreatedBy>
<DateCreated xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateCreated>
<DateLastModified xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateLastModified>
<Id xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</Id>
<LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</LastModifiedBy>
<d2p1:AccountId>String</d2p1:AccountId>
<d2p1:AccountName>String</d2p1:AccountName>
<d2p1:AnsweredById>String</d2p1:AnsweredById>
<d2p1:AnsweredByName>String</d2p1:AnsweredByName>
<d2p1:CallSid>String</d2p1:CallSid>
<d2p1:CallState>Disconnected</d2p1:CallState>
<d2p1:CallbackNumber>String</d2p1:CallbackNumber>
<d2p1:Channel>Voice</d2p1:Channel>
<d2p1:ConferenceSid>String</d2p1:ConferenceSid>
<d2p1:ConsoleData>String</d2p1:ConsoleData>
<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:DateCompleted>String</d2p1:DateCompleted>
<d2p1:Destination>String</d2p1:Destination>
<d2p1:DialState>None</d2p1:DialState>
<d2p1:Direction>Incoming</d2p1:Direction>
<d2p1:DisplayName>String</d2p1:DisplayName>
<d2p1:Ended>false</d2p1:Ended>
<d2p1:EndpointId>String</d2p1:EndpointId>
<d2p1:EndpointName>String</d2p1:EndpointName>
<d2p1:FromAddress>String</d2p1:FromAddress>
<d2p1:FromName>String</d2p1:FromName>
<d2p1:FromPhoneNumber>String</d2p1:FromPhoneNumber>
<d2p1:HeldByUserId>String</d2p1:HeldByUserId>
<d2p1:HoldQueueName>String</d2p1:HoldQueueName>
<d2p1:HoldReason>None</d2p1:HoldReason>
<d2p1:Log>
<d2p1:SessionLogInfo>
<d2p1:Date>String</d2p1:Date>
<d2p1:Message>String</d2p1:Message>
</d2p1:SessionLogInfo>
</d2p1:Log>
<d2p1:Members>
<d2p1:SessionMemberInfo>
<d2p1:ApplicationData xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:KeyValueOfstringstring>
<d6p1:Key>String</d6p1:Key>
<d6p1:Value>String</d6p1:Value>
</d6p1:KeyValueOfstringstring>
</d2p1:ApplicationData>
<d2p1:AvatarUrl>String</d2p1:AvatarUrl>
<d2p1:CallSid>String</d2p1:CallSid>
<d2p1:CallState>None</d2p1:CallState>
<d2p1:DisplayName>String</d2p1:DisplayName>
<d2p1:EndpointId>String</d2p1:EndpointId>
<d2p1:Identity>String</d2p1:Identity>
<d2p1:IsOriginalMember>false</d2p1:IsOriginalMember>
<d2p1:Muted>false</d2p1:Muted>
<d2p1:Role>None</d2p1:Role>
</d2p1:SessionMemberInfo>
</d2p1:Members>
<d2p1:MostRecentParticipantCallSid>String</d2p1:MostRecentParticipantCallSid>
<d2p1:Outcome>String</d2p1:Outcome>
<d2p1:QueueMemberId>String</d2p1:QueueMemberId>
<d2p1:QueueState>None</d2p1:QueueState>
<d2p1:RingQueueId>String</d2p1:RingQueueId>
<d2p1:ToAddress>String</d2p1:ToAddress>
<d2p1:WasMissed>false</d2p1:WasMissed>
</d2p1:SessionInfo>
</Sessions>
</AppGetActiveSessionsResult>