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
{
/**
* The user's first name
*/
// @ApiMember(Description="The user's first name")
public firstName?: string;
/**
* The user's last name
*/
// @ApiMember(Description="The user's last name")
public lastName?: string;
/**
* Shortcut to the user's full name
*/
// @ApiMember(Description="Shortcut to the user's full name")
public name?: string;
/**
* 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 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
{
/**
* The ID of this endpoint
*/
// @ApiMember(Description="The ID of this endpoint")
public endpointId?: string;
/**
* The ID of the account
*/
// @ApiMember(Description="The ID of the account")
public accountId?: string;
/**
* The customer ID associated with this user
*/
// @ApiMember(Description="The customer ID associated with this user")
public customerId?: string;
/**
* The access token for use with Twilio Voice
*/
// @ApiMember(Description="The access token for use with Twilio Voice")
public accessToken?: string;
/**
* The access token's identity
*/
// @ApiMember(Description="The access token's identity")
public identity?: string;
/**
* The email address of the user
*/
// @ApiMember(Description="The email address of the user")
public emailAddress?: string;
/**
* The user's information
*/
// @ApiMember(Description="The user's information")
public userInfo?: AppUserInfo;
/**
* The agent state (for call center users)
*/
// @ApiMember(Description="The agent state (for call center users)")
public agentState?: AgentStates;
/**
* The agent state reason
*/
// @ApiMember(Description="The agent state reason")
public agentStateReason?: AgentStateReasons;
/**
* The tabs for the app
*/
// @ApiMember(Description="The tabs for the app")
public tabs?: Object[];
/**
* The app settings
*/
// @ApiMember(Description="The app settings")
public appSettings?: AppSettings;
/**
* 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',
}
/**
* 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
{
/**
* The type of device you are requesting config for
*/
// @ApiMember(Description="The type of device you are requesting config for")
public deviceType?: DeviceTypes;
/**
* Use a specific push credential SID
*/
// @ApiMember(Description="Use a specific push credential SID")
public pushCredentialSid?: string;
/**
* Use a specific application SID
*/
// @ApiMember(Description="Use a specific application SID")
public applicationSid?: string;
/**
* 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 .csv suffix or ?format=csv
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: evovoice.io Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"endpointId":"String","accountId":"String","customerId":"String","accessToken":"String","identity":"String","emailAddress":"String","userInfo":{"firstName":"String","lastName":"String","name":"String","avatarUrl":"String"},"agentState":"Unknown","agentStateReason":"Unknown","tabs":[{}],"appSettings":{"enablePhoneNumberManagement":false,"enableDeviceManagement":false,"enableDialer":false,"enableCallHistory":false,"showFileNameInMessageCenter":false,"chakraTheme":"String","customCss":"String","pageTitle":"String","stringMappings":"String","logoutUrl":"String","portMyNumberUrl":"String"},"thirdPartyPhoneSystemSettings":{"type":"Demo","sipSettings":{"accounts":[{"number":"String","agent":"String","authName":"String","userName":"String","displayName":"String","password":"String","userDomain":"String","registrationExpires":0,"transportType":"UDP","localIP":"String","localPort":0,"sipServer":"String","sipServerPort":0,"outboundServer":"String","outboundServerPort":0,"stunServer":"String","stunPort":0,"audioPlaybackDeviceName":"String","audioRecordingDeviceName":"String","audioCodecs":["PCMU"],"dtmfMethod":"RFC2833"}]},"demoSettings":{"extension":"String"}}}