Required role: | User |
GET | /app/config |
---|
export class NodeParameterMap
{
[key:string] : NodeParameter;
public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}
export class AppUserInfo
{
/** @description The user's first name */
// @ApiMember(Description="The user's first name")
public firstName: string;
/** @description The user's last name */
// @ApiMember(Description="The user's last name")
public lastName: string;
/** @description Shortcut to the user's full name */
// @ApiMember(Description="Shortcut to the user's full name")
public name: string;
/** @description The URL to the user's avatar */
// @ApiMember(Description="The URL to the user's avatar")
public avatarUrl: string;
public constructor(init?: Partial<AppUserInfo>) { (Object as any).assign(this, init); }
}
export enum AgentStates
{
Unknown = 'Unknown',
Ready = 'Ready',
NotReady = 'NotReady',
LoggedOut = 'LoggedOut',
WrapUp = 'WrapUp',
Outgoing = 'Outgoing',
Other = 'Other',
}
export enum AgentStateReasons
{
Unknown = 'Unknown',
SetByUser = 'SetByUser',
MissedCall = 'MissedCall',
SetBySystem = 'SetBySystem',
}
export class AppSettings
{
public enablePhoneNumberManagement: boolean;
public enableDeviceManagement: boolean;
public enableDialer: boolean;
public enableCallHistory: boolean;
public enableAssistants: boolean;
public showFileNameInMessageCenter: boolean;
public chakraTheme: string;
public customCss: string;
public pageTitle: string;
public stringMappings: string;
public logoutUrl: string;
public portMyNumberUrl: string;
public constructor(init?: Partial<AppSettings>) { (Object as any).assign(this, init); }
}
export enum ThirdPartyPhoneSystemTypes
{
Demo = 'Demo',
Sip = 'Sip',
}
export enum TransportTypes
{
UDP = 'UDP',
TLS = 'TLS',
TCP = 'TCP',
PERS = 'PERS',
}
export 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,
}
export enum DtmfMethods
{
RFC2833 = 'RFC2833',
INFO = 'INFO',
}
export class ThirdPartySipAccountSettings
{
public number: string;
public agent: string;
public authName: string;
public userName: string;
public displayName: string;
public password: string;
public userDomain: string;
public registrationExpires: number;
public transportType: TransportTypes;
public localIP: string;
public localPort: number;
public sipServer: string;
public sipServerPort: number;
public outboundServer: string;
public outboundServerPort: number;
public stunServer: string;
public stunPort: number;
public audioPlaybackDeviceName: string;
public audioRecordingDeviceName: string;
public audioCodecs: AudioCodecTypes[];
public dtmfMethod: DtmfMethods;
public constructor(init?: Partial<ThirdPartySipAccountSettings>) { (Object as any).assign(this, init); }
}
export class ThirdPartySipSettings
{
public accounts: ThirdPartySipAccountSettings[];
public constructor(init?: Partial<ThirdPartySipSettings>) { (Object as any).assign(this, init); }
}
export class ThirdPartyDemoSettings
{
public extension: string;
public constructor(init?: Partial<ThirdPartyDemoSettings>) { (Object as any).assign(this, init); }
}
export class ThirdPartyPhoneSystemSettings
{
public type: ThirdPartyPhoneSystemTypes;
public sipSettings: ThirdPartySipSettings;
public demoSettings: ThirdPartyDemoSettings;
public constructor(init?: Partial<ThirdPartyPhoneSystemSettings>) { (Object as any).assign(this, init); }
}
export class AppConfig
{
/** @description The ID of this endpoint */
// @ApiMember(Description="The ID of this endpoint")
public endpointId: string;
/** @description The ID of the account */
// @ApiMember(Description="The ID of the account")
public accountId: string;
/** @description The customer ID associated with this user */
// @ApiMember(Description="The customer ID associated with this user")
public customerId: string;
/** @description The access token for use with Twilio Voice */
// @ApiMember(Description="The access token for use with Twilio Voice")
public accessToken: string;
/** @description The access token's identity */
// @ApiMember(Description="The access token's identity")
public identity: string;
/** @description The email address of the user */
// @ApiMember(Description="The email address of the user")
public emailAddress: string;
/** @description The user's information */
// @ApiMember(Description="The user's information")
public userInfo: AppUserInfo;
/** @description The agent state (for call center users) */
// @ApiMember(Description="The agent state (for call center users)")
public agentState: AgentStates;
/** @description The agent state reason */
// @ApiMember(Description="The agent state reason")
public agentStateReason: AgentStateReasons;
/** @description The tabs for the app */
// @ApiMember(Description="The tabs for the app")
public tabs: Object[];
/** @description The app settings */
// @ApiMember(Description="The app settings")
public appSettings: AppSettings;
/** @description The phone settings for third party connectivity */
// @ApiMember(Description="The phone settings for third party connectivity")
public thirdPartyPhoneSystemSettings: ThirdPartyPhoneSystemSettings;
public constructor(init?: Partial<AppConfig>) { (Object as any).assign(this, init); }
}
export enum DeviceTypes
{
Web = 'Web',
iOS = 'iOS',
Android = 'Android',
}
/** @description Gets the config for the app including webRTC token */
// @Api(Description="Gets the config for the app including webRTC token")
export class GetAppConfig implements IGet
{
/** @description The type of device you are requesting config for */
// @ApiMember(Description="The type of device you are requesting config for")
public deviceType: DeviceTypes;
/** @description Use a specific push credential SID */
// @ApiMember(Description="Use a specific push credential SID")
public pushCredentialSid: string;
/** @description Use a specific application SID */
// @ApiMember(Description="Use a specific application SID")
public applicationSid: string;
/** @description Is this device operating in a sandbox environment? IOS only. */
// @ApiMember(Description="Is this device operating in a sandbox environment? IOS only.")
public sandbox: boolean;
public constructor(init?: Partial<GetAppConfig>) { (Object as any).assign(this, init); }
}
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 /app/config HTTP/1.1 Host: team.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:EnableAssistants>false</d2p1:EnableAssistants> <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>