GET | /portal/activity |
---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Voice.Api.App.Portal
Imports Voice.Api
Imports Voice.Api.Sessions
Imports Voice.Api.Customers
Imports Voice.Api.Flows
Imports Voice.Api.Accounts
Namespace Global
Namespace Voice.Api
Public Partial Class EntityInfo
'''<Summary>
'''The ID of the object
'''</Summary>
<ApiMember(Description:="The ID of the object")>
Public Overridable Property Id As String
'''<Summary>
'''The date the object was created
'''</Summary>
<ApiMember(Description:="The date the object was created")>
Public Overridable Property DateCreated As String
'''<Summary>
'''The date the object was last modified
'''</Summary>
<ApiMember(Description:="The date the object was last modified")>
Public Overridable Property DateLastModified As String
'''<Summary>
'''The user that created this object
'''</Summary>
<ApiMember(Description:="The user that created this object")>
Public Overridable Property CreatedBy As String
'''<Summary>
'''The user that last modified this object
'''</Summary>
<ApiMember(Description:="The user that last modified this object")>
Public Overridable Property LastModifiedBy As String
End Class
Public Partial Class ListRequest(Of T)
Implements IGet
'''<Summary>
'''The page of data to retrieve
'''</Summary>
<ApiMember(Description:="The page of data to retrieve")>
Public Overridable Property Page As Integer
'''<Summary>
'''If you want all objects to be returned. This should be used with care
'''</Summary>
<ApiMember(Description:="If you want all objects to be returned. This should be used with care")>
Public Overridable Property All As Boolean
'''<Summary>
'''The number per page to retrieve
'''</Summary>
<ApiMember(Description:="The number per page to retrieve")>
Public Overridable Property CountPerPage As Integer
'''<Summary>
'''Specific IDs
'''</Summary>
<ApiMember(Description:="Specific IDs")>
Public Overridable Property SpecificIds As List(Of String)
'''<Summary>
'''Specify a sort field
'''</Summary>
<ApiMember(Description:="Specify a sort field")>
Public Overridable Property SortField As String
'''<Summary>
'''Specify a sort order
'''</Summary>
<ApiMember(Description:="Specify a sort order")>
Public Overridable Property SortOrder As SortOrders
'''<Summary>
'''Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array
'''</Summary>
<ApiMember(Description:="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")>
Public Overridable Property SimplifiedPaging As Boolean
End Class
Public Partial Class ListResponse(Of T)
'''<Summary>
'''The items
'''</Summary>
<ApiMember(Description:="The items")>
Public Overridable Property Items As List(Of AccountInfo)
'''<Summary>
'''The total number of items
'''</Summary>
<ApiMember(Description:="The total number of items")>
Public Overridable Property TotalCount As Integer
'''<Summary>
'''The total number of pages
'''</Summary>
<ApiMember(Description:="The total number of pages")>
Public Overridable Property TotalPages As Integer
'''<Summary>
'''Are there more pages of items? Used with simplified paging
'''</Summary>
<ApiMember(Description:="Are there more pages of items? Used with simplified paging")>
Public Overridable Property HasMorePages As Boolean
End Class
Public Enum SortOrders
Ascend
Descend
End Enum
End Namespace
Namespace Voice.Api.Accounts
Public Partial Class AccountInfo
Inherits EntityInfo
'''<Summary>
'''The name of this account
'''</Summary>
<ApiMember(Description:="The name of this account")>
Public Overridable Property Name As String
'''<Summary>
'''The ID of this account's parent
'''</Summary>
<ApiMember(Description:="The ID of this account's parent")>
Public Overridable Property ParentAccountId As String
'''<Summary>
'''The twilio account SID
'''</Summary>
<ApiMember(Description:="The twilio account SID")>
Public Overridable Property TwilioAccountSid As String
'''<Summary>
'''The ancestors of this account. Useful for breadcrumbs
'''</Summary>
<ApiMember(Description:="The ancestors of this account. Useful for breadcrumbs")>
Public Overridable Property AncestorIds As List(Of String)
'''<Summary>
'''The max number of phone numbers this account can have
'''</Summary>
<ApiMember(Description:="The max number of phone numbers this account can have")>
Public Overridable Property MaxPhoneNumbers As Integer
'''<Summary>
'''This account is BYOA
'''</Summary>
<ApiMember(Description:="This account is BYOA")>
Public Overridable Property IsBYOA As Boolean
'''<Summary>
'''TrustHub Profile Sid
'''</Summary>
<ApiMember(Description:="TrustHub Profile Sid")>
Public Overridable Property TrustHubProfileSid As String
'''<Summary>
'''The ID of the logo file
'''</Summary>
<ApiMember(Description:="The ID of the logo file")>
Public Overridable Property LogoId As String
'''<Summary>
'''The URI of the logo file
'''</Summary>
<ApiMember(Description:="The URI of the logo file")>
Public Overridable Property LogoUri As String
'''<Summary>
'''The billing settings for this account
'''</Summary>
<ApiMember(Description:="The billing settings for this account")>
Public Overridable Property BillingSettings As BillingSettings
End Class
Public Partial Class BillingItem
Public Overridable Property BaseCost As Double
Public Overridable Property RawUnitMultiplier As Double
Public Overridable Property UnitCost As Double
Public Overridable Property Allowance As Integer
End Class
Public Partial Class BillingSettings
Public Overridable Property Base As BillingItem
Public Overridable Property LocalNumbers As BillingItem
Public Overridable Property TollFreeNumbers As BillingItem
Public Overridable Property InboundVoiceCalls As BillingItem
Public Overridable Property OutboundVoiceCalls As BillingItem
Public Overridable Property InboundFaxes As BillingItem
Public Overridable Property OutboundFaxes As BillingItem
Public Overridable Property InboundSmsMessages As BillingItem
Public Overridable Property OutboundSmsMessages As BillingItem
Public Overridable Property AIInsights As BillingItem
Public Overridable Property AILiveMinutes As BillingItem
End Class
End Namespace
Namespace Voice.Api.App.Portal
Public Partial Class AppGetActivity
Inherits ListRequest(Of SessionInfo)
Public Overridable Property AccountId As String
Public Overridable Property CustomerId As String
Public Overridable Property FromAddressFilter As String
Public Overridable Property ToAddressFilter As String
Public Overridable Property StartDateTime As String
Public Overridable Property EndDateTime As String
End Class
End Namespace
Namespace Voice.Api.Customers
Public Partial Class CustomerBreadcrumb
Public Overridable Property Id As String
Public Overridable Property Name As String
End Class
End Namespace
Namespace Voice.Api.Flows
Public Enum FlowChannels
Voice
Chat
Fax
End Enum
End Namespace
Namespace Voice.Api.Sessions
Public Enum SessionCallState
Disconnected
Ringing
Connected
Hold
Passive
End Enum
Public Enum SessionDialState
None
Active
End Enum
Public Enum SessionDirections
Incoming
Outgoing
End Enum
Public Enum SessionHoldReasons
None
Transferring
End Enum
Public Partial Class SessionInfo
Inherits EntityInfo
'''<Summary>
'''The state of the session
'''</Summary>
<ApiMember(Description:="The state of the session")>
Public Overridable Property DialState As SessionDialState
'''<Summary>
'''The call state of the session
'''</Summary>
<ApiMember(Description:="The call state of the session")>
Public Overridable Property CallState As SessionCallState
'''<Summary>
'''The queue state of the session
'''</Summary>
<ApiMember(Description:="The queue state of the session")>
Public Overridable Property QueueState As SessionQueueStates
'''<Summary>
'''The ID of the account associated with the flow
'''</Summary>
<ApiMember(Description:="The ID of the account associated with the flow")>
Public Overridable Property AccountId As String
'''<Summary>
'''The name of the account associated with the session
'''</Summary>
<ApiMember(Description:="The name of the account associated with the session")>
Public Overridable Property AccountName As String
'''<Summary>
'''The ID of the customer this session is associated with
'''</Summary>
<ApiMember(Description:="The ID of the customer this session is associated with")>
Public Overridable Property CustomerId As String
'''<Summary>
'''The customer breadcrumb this session is associated with
'''</Summary>
<ApiMember(Description:="The customer breadcrumb this session is associated with")>
Public Overridable Property CustomerBreadcrumb As List(Of CustomerBreadcrumb)
'''<Summary>
'''The name of the customer this session is associated with
'''</Summary>
<ApiMember(Description:="The name of the customer this session is associated with")>
Public Overridable Property CustomerName As String
'''<Summary>
'''The ID of the endpoint associated with this session
'''</Summary>
<ApiMember(Description:="The ID of the endpoint associated with this session")>
Public Overridable Property EndpointId As String
'''<Summary>
'''The name of the endpoint associated with this session
'''</Summary>
<ApiMember(Description:="The name of the endpoint associated with this session")>
Public Overridable Property EndpointName As String
'''<Summary>
'''The date the call completed
'''</Summary>
<ApiMember(Description:="The date the call completed")>
Public Overridable Property DateCompleted As String
'''<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)")>
Public Overridable Property Destination As String
'''<Summary>
'''The to address if any
'''</Summary>
<ApiMember(Description:="The to address if any")>
Public Overridable Property ToAddress As String
'''<Summary>
'''The from address if any
'''</Summary>
<ApiMember(Description:="The from address if any")>
Public Overridable Property FromAddress As String
'''<Summary>
'''The from name if any
'''</Summary>
<ApiMember(Description:="The from name if any")>
Public Overridable Property FromName As String
'''<Summary>
'''Answered by name (if any)
'''</Summary>
<ApiMember(Description:="Answered by name (if any)")>
Public Overridable Property AnsweredByName As String
'''<Summary>
'''The ID of the queue member assigned to this call
'''</Summary>
<ApiMember(Description:="The ID of the queue member assigned to this call")>
Public Overridable Property QueueMemberId As String
'''<Summary>
'''The flow channel
'''</Summary>
<ApiMember(Description:="The flow channel")>
Public Overridable Property Channel As FlowChannels
'''<Summary>
'''Has the session ended
'''</Summary>
<ApiMember(Description:="Has the session ended")>
Public Overridable Property Ended As Boolean
'''<Summary>
'''The outcome of the call
'''</Summary>
<ApiMember(Description:="The outcome of the call")>
Public Overridable Property Outcome As String
'''<Summary>
'''The twilio Call SID of this session
'''</Summary>
<ApiMember(Description:="The twilio Call SID of this session")>
Public Overridable Property CallSid As String
'''<Summary>
'''Any console data for this session
'''</Summary>
<ApiMember(Description:="Any console data for this session")>
Public Overridable Property ConsoleData As String
'''<Summary>
'''The name of the hold queue for this call
'''</Summary>
<ApiMember(Description:="The name of the hold queue for this call")>
Public Overridable Property HoldQueueName As String
'''<Summary>
'''The user ID who put this call on hold
'''</Summary>
<ApiMember(Description:="The user ID who put this call on hold")>
Public Overridable Property HeldByUserId As String
'''<Summary>
'''The reason for the hold
'''</Summary>
<ApiMember(Description:="The reason for the hold")>
Public Overridable Property HoldReason As SessionHoldReasons
'''<Summary>
'''The SID of the conference if in a conference call
'''</Summary>
<ApiMember(Description:="The SID of the conference if in a conference call")>
Public Overridable Property ConferenceSid As String
'''<Summary>
'''The display name for this session
'''</Summary>
<ApiMember(Description:="The display name for this session")>
Public Overridable Property DisplayName As String
'''<Summary>
'''The log entries for this session
'''</Summary>
<ApiMember(Description:="The log entries for this session")>
Public Overridable Property Log As List(Of SessionLogInfo)
'''<Summary>
'''The members of this session
'''</Summary>
<ApiMember(Description:="The members of this session")>
Public Overridable Property Members As List(Of SessionMemberInfo)
'''<Summary>
'''The callback number (typically used for SIP to User calls)
'''</Summary>
<ApiMember(Description:="The callback number (typically used for SIP to User calls)")>
Public Overridable Property CallbackNumber As String
'''<Summary>
'''The ID of the endpoint that answered
'''</Summary>
<ApiMember(Description:="The ID of the endpoint that answered")>
Public Overridable Property AnsweredById As String
'''<Summary>
'''Is this session incoming or outgoing?
'''</Summary>
<ApiMember(Description:="Is this session incoming or outgoing?")>
Public Overridable Property Direction As SessionDirections
'''<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)")>
Public Overridable Property FromPhoneNumber As String
'''<Summary>
'''The Call SID of the most recently added conference participant
'''</Summary>
<ApiMember(Description:="The Call SID of the most recently added conference participant")>
Public Overridable Property MostRecentParticipantCallSid As String
'''<Summary>
'''Was this session missed?
'''</Summary>
<ApiMember(Description:="Was this session missed?")>
Public Overridable Property WasMissed As Boolean
'''<Summary>
'''The ring queue that the call is currently in
'''</Summary>
<ApiMember(Description:="The ring queue that the call is currently in")>
Public Overridable Property RingQueueId As String
End Class
Public Partial Class SessionLogInfo
Public Overridable Property [Date] As String
Public Overridable Property Message As String
End Class
Public Enum SessionMemberCallState
None
Ringing
Connected
Hold
End Enum
Public Partial Class SessionMemberInfo
Public Overridable Property Identity As String
Public Overridable Property EndpointId As String
Public Overridable Property DisplayName As String
Public Overridable Property IsOriginalMember As Boolean
Public Overridable Property AvatarUrl As String
Public Overridable Property ApplicationData As Dictionary(Of String, String)
Public Overridable Property CallState As SessionMemberCallState
Public Overridable Property Role As SessionMemberRoles
Public Overridable Property CallSid As String
Public Overridable Property Muted As Boolean
End Class
Public Enum SessionMemberRoles
None
Caller
Agent
Transfer
End Enum
Public Enum SessionQueueStates
None
Queued
Ringing
Connected
Hold
Disconnected
End Enum
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /portal/activity HTTP/1.1 Host: team.evovoice.io Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"items":[{"dialState":"None","callState":"Disconnected","queueState":"None","accountId":"String","accountName":"String","customerId":"String","customerBreadcrumb":[{"id":"String","name":"String"}],"customerName":"String","endpointId":"String","endpointName":"String","dateCompleted":"String","destination":"String","toAddress":"String","fromAddress":"String","fromName":"String","answeredByName":"String","queueMemberId":"String","channel":"Voice","ended":false,"outcome":"String","callSid":"String","consoleData":"String","holdQueueName":"String","heldByUserId":"String","holdReason":"None","conferenceSid":"String","displayName":"String","log":[{"date":"String","message":"String"}],"members":[{"identity":"String","endpointId":"String","displayName":"String","isOriginalMember":false,"avatarUrl":"String","applicationData":{"String":"String"},"callState":"None","role":"None","callSid":"String","muted":false}],"callbackNumber":"String","answeredById":"String","direction":"Incoming","fromPhoneNumber":"String","mostRecentParticipantCallSid":"String","wasMissed":false,"ringQueueId":"String","id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}],"totalCount":0,"totalPages":0,"hasMorePages":false}