Evo Voice

<back to all web services

GetEndpointAppConfig

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
GET/endpoints/app/config
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Voice.Api.Endpoints
Imports Voice.Api.App
Imports Voice.Api.Customers

Namespace Global

    Namespace Voice.Api.App

        Public Partial Class AppConfig
            Public Sub New()
                Tabs = New List(Of Object)
            End Sub

            '''<Summary>
            '''The ID of this endpoint
            '''</Summary>
            <ApiMember(Description:="The ID of this endpoint")>
            Public Overridable Property EndpointId As String

            '''<Summary>
            '''The ID of the account
            '''</Summary>
            <ApiMember(Description:="The ID of the account")>
            Public Overridable Property AccountId As String

            '''<Summary>
            '''The customer ID associated with this user
            '''</Summary>
            <ApiMember(Description:="The customer ID associated with this user")>
            Public Overridable Property CustomerId As String

            '''<Summary>
            '''The access token for use with Twilio Voice
            '''</Summary>
            <ApiMember(Description:="The access token for use with Twilio Voice")>
            Public Overridable Property AccessToken As String

            '''<Summary>
            '''The access token's identity
            '''</Summary>
            <ApiMember(Description:="The access token's identity")>
            Public Overridable Property Identity As String

            '''<Summary>
            '''The email address of the user
            '''</Summary>
            <ApiMember(Description:="The email address of the user")>
            Public Overridable Property EmailAddress As String

            '''<Summary>
            '''The user's information
            '''</Summary>
            <ApiMember(Description:="The user's information")>
            Public Overridable Property UserInfo As AppUserInfo

            '''<Summary>
            '''The agent state (for call center users)
            '''</Summary>
            <ApiMember(Description:="The agent state (for call center users)")>
            Public Overridable Property AgentState As AgentStates

            '''<Summary>
            '''The agent state reason
            '''</Summary>
            <ApiMember(Description:="The agent state reason")>
            Public Overridable Property AgentStateReason As AgentStateReasons

            '''<Summary>
            '''The tabs for the app
            '''</Summary>
            <ApiMember(Description:="The tabs for the app")>
            Public Overridable Property Tabs As List(Of Object)

            '''<Summary>
            '''The app settings
            '''</Summary>
            <ApiMember(Description:="The app settings")>
            Public Overridable Property AppSettings As AppSettings

            '''<Summary>
            '''The phone settings for third party connectivity
            '''</Summary>
            <ApiMember(Description:="The phone settings for third party connectivity")>
            Public Overridable Property ThirdPartyPhoneSystemSettings As ThirdPartyPhoneSystemSettings
        End Class

        Public Partial Class AppUserInfo
            '''<Summary>
            '''The user's first name
            '''</Summary>
            <ApiMember(Description:="The user's first name")>
            Public Overridable Property FirstName As String

            '''<Summary>
            '''The user's last name
            '''</Summary>
            <ApiMember(Description:="The user's last name")>
            Public Overridable Property LastName As String

            '''<Summary>
            '''Shortcut to the user's full name
            '''</Summary>
            <ApiMember(Description:="Shortcut to the user's full name")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The URL to the user's avatar
            '''</Summary>
            <ApiMember(Description:="The URL to the user's avatar")>
            Public Overridable Property AvatarUrl As String
        End Class

        Public Enum DeviceTypes
            Web
            iOS
            Android
        End Enum
    End Namespace

    Namespace Voice.Api.Customers

        Public Partial Class AppSettings
            Public Overridable Property EnablePhoneNumberManagement As Boolean
            Public Overridable Property EnableDeviceManagement As Boolean
            Public Overridable Property EnableDialer As Boolean
            Public Overridable Property EnableCallHistory As Boolean
            Public Overridable Property ShowFileNameInMessageCenter As Boolean
            Public Overridable Property ChakraTheme As String
            Public Overridable Property CustomCss As String
            Public Overridable Property PageTitle As String
            Public Overridable Property StringMappings As String
            Public Overridable Property LogoutUrl As String
            Public Overridable Property PortMyNumberUrl As String
        End Class
    End Namespace

    Namespace Voice.Api.Endpoints

        Public Enum AgentStateReasons
            Unknown
            SetByUser
            MissedCall
            SetBySystem
        End Enum

        Public Enum AgentStates
            Unknown
            Ready
            NotReady
            LoggedOut
            WrapUp
            Outgoing
            Other
        End Enum

        Public Partial Class GetEndpointAppConfig
            '''<Summary>
            '''The endpoint whose config you want to get (this must be a User)
            '''</Summary>
            <ApiMember(Description:="The endpoint whose config you want to get (this must be a User)")>
            Public Overridable Property EndpointId As String

            '''<Summary>
            '''The endpoint email address whose config you want to get (this must be a User) - EndpointId takes priority over this
            '''</Summary>
            <ApiMember(Description:="The endpoint email address whose config you want to get (this must be a User) - EndpointId takes priority over this")>
            Public Overridable Property EndpointEmailAddress As String

            '''<Summary>
            '''The type of device you are requesting config for
            '''</Summary>
            <ApiMember(Description:="The type of device you are requesting config for")>
            Public Overridable Property DeviceType As DeviceTypes

            '''<Summary>
            '''Use a specific push credential SID
            '''</Summary>
            <ApiMember(Description:="Use a specific push credential SID")>
            Public Overridable Property PushCredentialSid As String

            '''<Summary>
            '''Use a specific application SID
            '''</Summary>
            <ApiMember(Description:="Use a specific application SID")>
            Public Overridable Property ApplicationSid As String

            '''<Summary>
            '''Is this device operating in a sandbox environment? IOS only.
            '''</Summary>
            <ApiMember(Description:="Is this device operating in a sandbox environment? IOS only.")>
            Public Overridable Property Sandbox As Boolean
        End Class

        Public Partial Class ThirdPartyPhoneSystemSettings
            Public Overridable Property Type As ThirdPartyPhoneSystemTypes
            Public Overridable Property SipSettings As ThirdPartyPhoneSystemSettings.ThirdPartySipSettings
            Public Overridable Property DemoSettings As ThirdPartyPhoneSystemSettings.ThirdPartyDemoSettings

            Public Partial Class ThirdPartyDemoSettings
                Public Overridable Property Extension As String
            End Class

            Public Partial Class ThirdPartySipSettings
                Public Sub New()
                    Accounts = New List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.ThirdPartySipAccountSettings)
                End Sub

                Public Overridable Property Accounts As List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.ThirdPartySipAccountSettings)

                Public Enum TransportTypes
                    UDP
                    TLS
                    TCP
                    PERS
                End Enum

                Public Enum AudioCodecTypes
                    PCMU = 0
                    GSM = 3
                    PCMA = 8
                    G722 = 9
                    G729 = 18
                    ILBC = 97
                    AMR = 98
                    AMRWB = 99
                    SPEEX = 100
                    DTMF = 101
                    SPEEXWB = 102
                    ISACWB = 103
                    ISACSWB = 104
                    OPUS = 105
                    G7221 = 121
                    NONE = -1
                End Enum

                Public Enum DtmfMethods
                    RFC2833
                    INFO
                End Enum

                Public Partial Class ThirdPartySipAccountSettings
                    Public Sub New()
                        AudioCodecs = New List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.AudioCodecTypes)
                    End Sub

                    Public Overridable Property Number As String
                    Public Overridable Property Agent As String
                    Public Overridable Property AuthName As String
                    Public Overridable Property UserName As String
                    Public Overridable Property DisplayName As String
                    Public Overridable Property Password As String
                    Public Overridable Property UserDomain As String
                    Public Overridable Property RegistrationExpires As Integer
                    Public Overridable Property TransportType As ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.TransportTypes
                    Public Overridable Property LocalIP As String
                    Public Overridable Property LocalPort As Integer
                    Public Overridable Property SipServer As String
                    Public Overridable Property SipServerPort As Integer
                    Public Overridable Property OutboundServer As String
                    Public Overridable Property OutboundServerPort As Integer
                    Public Overridable Property StunServer As String
                    Public Overridable Property StunPort As Integer
                    Public Overridable Property AudioPlaybackDeviceName As String
                    Public Overridable Property AudioRecordingDeviceName As String
                    Public Overridable Property AudioCodecs As List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.AudioCodecTypes)
                    Public Overridable Property DTMFMethod As ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.DtmfMethods
                End Class
            End Class
        End Class

        Public Enum ThirdPartyPhoneSystemTypes
            Demo
            Sip
        End Enum
    End Namespace
End Namespace

VB.NET GetEndpointAppConfig 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.

GET /endpoints/app/config HTTP/1.1 
Host: evovoice.io 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<AppConfig xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.App">
  <AccessToken>String</AccessToken>
  <AccountId>String</AccountId>
  <AgentState>Unknown</AgentState>
  <AgentStateReason>Unknown</AgentStateReason>
  <AppSettings xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Customers">
    <d2p1:ChakraTheme>String</d2p1:ChakraTheme>
    <d2p1:CustomCss>String</d2p1:CustomCss>
    <d2p1:EnableCallHistory>false</d2p1:EnableCallHistory>
    <d2p1:EnableDeviceManagement>false</d2p1:EnableDeviceManagement>
    <d2p1:EnableDialer>false</d2p1:EnableDialer>
    <d2p1:EnablePhoneNumberManagement>false</d2p1:EnablePhoneNumberManagement>
    <d2p1:LogoutUrl>String</d2p1:LogoutUrl>
    <d2p1:PageTitle>String</d2p1:PageTitle>
    <d2p1:PortMyNumberUrl>String</d2p1:PortMyNumberUrl>
    <d2p1:ShowFileNameInMessageCenter>false</d2p1:ShowFileNameInMessageCenter>
    <d2p1:StringMappings>String</d2p1:StringMappings>
  </AppSettings>
  <CustomerId>String</CustomerId>
  <EmailAddress>String</EmailAddress>
  <EndpointId>String</EndpointId>
  <Identity>String</Identity>
  <Tabs xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:anyType />
  </Tabs>
  <ThirdPartyPhoneSystemSettings xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Endpoints">
    <d2p1:DemoSettings>
      <d2p1:Extension>String</d2p1:Extension>
    </d2p1:DemoSettings>
    <d2p1:SipSettings>
      <d2p1:Accounts>
        <d2p1:ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.ThirdPartySipAccountSettings>
          <d2p1:Agent>String</d2p1:Agent>
          <d2p1:AudioCodecs>
            <d2p1:ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.AudioCodecTypes>PCMU</d2p1:ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.AudioCodecTypes>
          </d2p1:AudioCodecs>
          <d2p1:AudioPlaybackDeviceName>String</d2p1:AudioPlaybackDeviceName>
          <d2p1:AudioRecordingDeviceName>String</d2p1:AudioRecordingDeviceName>
          <d2p1:AuthName>String</d2p1:AuthName>
          <d2p1:DTMFMethod>RFC2833</d2p1:DTMFMethod>
          <d2p1:DisplayName>String</d2p1:DisplayName>
          <d2p1:LocalIP>String</d2p1:LocalIP>
          <d2p1:LocalPort>0</d2p1:LocalPort>
          <d2p1:Number>String</d2p1:Number>
          <d2p1:OutboundServer>String</d2p1:OutboundServer>
          <d2p1:OutboundServerPort>0</d2p1:OutboundServerPort>
          <d2p1:Password>String</d2p1:Password>
          <d2p1:RegistrationExpires>0</d2p1:RegistrationExpires>
          <d2p1:SipServer>String</d2p1:SipServer>
          <d2p1:SipServerPort>0</d2p1:SipServerPort>
          <d2p1:StunPort>0</d2p1:StunPort>
          <d2p1:StunServer>String</d2p1:StunServer>
          <d2p1:TransportType>UDP</d2p1:TransportType>
          <d2p1:UserDomain>String</d2p1:UserDomain>
          <d2p1:UserName>String</d2p1:UserName>
        </d2p1:ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.ThirdPartySipAccountSettings>
      </d2p1:Accounts>
    </d2p1:SipSettings>
    <d2p1:Type>Demo</d2p1:Type>
  </ThirdPartyPhoneSystemSettings>
  <UserInfo>
    <AvatarUrl>String</AvatarUrl>
    <FirstName>String</FirstName>
    <LastName>String</LastName>
    <Name>String</Name>
  </UserInfo>
</AppConfig>