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
"use strict";
export class AppUserInfo {
    /** @param {{firstName?:string,lastName?:string,name?:string,avatarUrl?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The user's first name */
    firstName;
    /**
     * @type {string}
     * @description The user's last name */
    lastName;
    /**
     * @type {string}
     * @description Shortcut to the user's full name */
    name;
    /**
     * @type {string}
     * @description The URL to the user's avatar */
    avatarUrl;
}
/** @typedef {'Unknown'|'Ready'|'NotReady'|'LoggedOut'|'WrapUp'|'Outgoing'|'Other'} */
export var AgentStates;
(function (AgentStates) {
    AgentStates["Unknown"] = "Unknown"
    AgentStates["Ready"] = "Ready"
    AgentStates["NotReady"] = "NotReady"
    AgentStates["LoggedOut"] = "LoggedOut"
    AgentStates["WrapUp"] = "WrapUp"
    AgentStates["Outgoing"] = "Outgoing"
    AgentStates["Other"] = "Other"
})(AgentStates || (AgentStates = {}));
/** @typedef {'Unknown'|'SetByUser'|'MissedCall'|'SetBySystem'} */
export var AgentStateReasons;
(function (AgentStateReasons) {
    AgentStateReasons["Unknown"] = "Unknown"
    AgentStateReasons["SetByUser"] = "SetByUser"
    AgentStateReasons["MissedCall"] = "MissedCall"
    AgentStateReasons["SetBySystem"] = "SetBySystem"
})(AgentStateReasons || (AgentStateReasons = {}));
export class AppSettings {
    /** @param {{enablePhoneNumberManagement?:boolean,enableDeviceManagement?:boolean,enableDialer?:boolean,enableCallHistory?:boolean,enableAssistants?:boolean,showFileNameInMessageCenter?:boolean,chakraTheme?:string,customCss?:string,pageTitle?:string,stringMappings?:string,logoutUrl?:string,portMyNumberUrl?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    enablePhoneNumberManagement;
    /** @type {boolean} */
    enableDeviceManagement;
    /** @type {boolean} */
    enableDialer;
    /** @type {boolean} */
    enableCallHistory;
    /** @type {boolean} */
    enableAssistants;
    /** @type {boolean} */
    showFileNameInMessageCenter;
    /** @type {string} */
    chakraTheme;
    /** @type {string} */
    customCss;
    /** @type {string} */
    pageTitle;
    /** @type {string} */
    stringMappings;
    /** @type {string} */
    logoutUrl;
    /** @type {string} */
    portMyNumberUrl;
}
/** @typedef {'Demo'|'Sip'} */
export var ThirdPartyPhoneSystemTypes;
(function (ThirdPartyPhoneSystemTypes) {
    ThirdPartyPhoneSystemTypes["Demo"] = "Demo"
    ThirdPartyPhoneSystemTypes["Sip"] = "Sip"
})(ThirdPartyPhoneSystemTypes || (ThirdPartyPhoneSystemTypes = {}));
/** @typedef {'UDP'|'TLS'|'TCP'|'PERS'} */
export var TransportTypes;
(function (TransportTypes) {
    TransportTypes["UDP"] = "UDP"
    TransportTypes["TLS"] = "TLS"
    TransportTypes["TCP"] = "TCP"
    TransportTypes["PERS"] = "PERS"
})(TransportTypes || (TransportTypes = {}));
/** @typedef {number} */
export var AudioCodecTypes;
(function (AudioCodecTypes) {
    AudioCodecTypes[AudioCodecTypes["PCMU"] = 0] = "PCMU"
    AudioCodecTypes[AudioCodecTypes["GSM"] = 3] = "GSM"
    AudioCodecTypes[AudioCodecTypes["PCMA"] = 8] = "PCMA"
    AudioCodecTypes[AudioCodecTypes["G722"] = 9] = "G722"
    AudioCodecTypes[AudioCodecTypes["G729"] = 18] = "G729"
    AudioCodecTypes[AudioCodecTypes["ILBC"] = 97] = "ILBC"
    AudioCodecTypes[AudioCodecTypes["AMR"] = 98] = "AMR"
    AudioCodecTypes[AudioCodecTypes["AMRWB"] = 99] = "AMRWB"
    AudioCodecTypes[AudioCodecTypes["SPEEX"] = 100] = "SPEEX"
    AudioCodecTypes[AudioCodecTypes["DTMF"] = 101] = "DTMF"
    AudioCodecTypes[AudioCodecTypes["SPEEXWB"] = 102] = "SPEEXWB"
    AudioCodecTypes[AudioCodecTypes["ISACWB"] = 103] = "ISACWB"
    AudioCodecTypes[AudioCodecTypes["ISACSWB"] = 104] = "ISACSWB"
    AudioCodecTypes[AudioCodecTypes["OPUS"] = 105] = "OPUS"
    AudioCodecTypes[AudioCodecTypes["G7221"] = 121] = "G7221"
    AudioCodecTypes[AudioCodecTypes["NONE"] = -1] = "NONE"
})(AudioCodecTypes || (AudioCodecTypes = {}));
/** @typedef {'RFC2833'|'INFO'} */
export var DtmfMethods;
(function (DtmfMethods) {
    DtmfMethods["RFC2833"] = "RFC2833"
    DtmfMethods["INFO"] = "INFO"
})(DtmfMethods || (DtmfMethods = {}));
export class ThirdPartySipAccountSettings {
    /** @param {{number?:string,agent?:string,authName?:string,userName?:string,displayName?:string,password?:string,userDomain?:string,registrationExpires?:number,transportType?:TransportTypes,localIP?:string,localPort?:number,sipServer?:string,sipServerPort?:number,outboundServer?:string,outboundServerPort?:number,stunServer?:string,stunPort?:number,audioPlaybackDeviceName?:string,audioRecordingDeviceName?:string,audioCodecs?:AudioCodecTypes[],dtmfMethod?:DtmfMethods}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    number;
    /** @type {string} */
    agent;
    /** @type {string} */
    authName;
    /** @type {string} */
    userName;
    /** @type {string} */
    displayName;
    /** @type {string} */
    password;
    /** @type {string} */
    userDomain;
    /** @type {number} */
    registrationExpires;
    /** @type {TransportTypes} */
    transportType;
    /** @type {string} */
    localIP;
    /** @type {number} */
    localPort;
    /** @type {string} */
    sipServer;
    /** @type {number} */
    sipServerPort;
    /** @type {string} */
    outboundServer;
    /** @type {number} */
    outboundServerPort;
    /** @type {string} */
    stunServer;
    /** @type {number} */
    stunPort;
    /** @type {string} */
    audioPlaybackDeviceName;
    /** @type {string} */
    audioRecordingDeviceName;
    /** @type {AudioCodecTypes[]} */
    audioCodecs;
    /** @type {DtmfMethods} */
    dtmfMethod;
}
export class ThirdPartySipSettings {
    /** @param {{accounts?:ThirdPartySipAccountSettings[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ThirdPartySipAccountSettings[]} */
    accounts;
}
export class ThirdPartyDemoSettings {
    /** @param {{extension?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    extension;
}
export class ThirdPartyPhoneSystemSettings {
    /** @param {{type?:ThirdPartyPhoneSystemTypes,sipSettings?:ThirdPartySipSettings,demoSettings?:ThirdPartyDemoSettings}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ThirdPartyPhoneSystemTypes} */
    type;
    /** @type {ThirdPartySipSettings} */
    sipSettings;
    /** @type {ThirdPartyDemoSettings} */
    demoSettings;
}
export class AppConfig {
    /** @param {{endpointId?:string,accountId?:string,customerId?:string,accessToken?:string,identity?:string,emailAddress?:string,userInfo?:AppUserInfo,agentState?:AgentStates,agentStateReason?:AgentStateReasons,tabs?:Object[],appSettings?:AppSettings,thirdPartyPhoneSystemSettings?:ThirdPartyPhoneSystemSettings}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The ID of this endpoint */
    endpointId;
    /**
     * @type {string}
     * @description The ID of the account */
    accountId;
    /**
     * @type {string}
     * @description The customer ID associated with this user */
    customerId;
    /**
     * @type {string}
     * @description The access token for use with Twilio Voice */
    accessToken;
    /**
     * @type {string}
     * @description The access token's identity */
    identity;
    /**
     * @type {string}
     * @description The email address of the user */
    emailAddress;
    /**
     * @type {AppUserInfo}
     * @description The user's information */
    userInfo;
    /**
     * @type {AgentStates}
     * @description The agent state (for call center users) */
    agentState;
    /**
     * @type {AgentStateReasons}
     * @description The agent state reason */
    agentStateReason;
    /**
     * @type {Object[]}
     * @description The tabs for the app */
    tabs;
    /**
     * @type {AppSettings}
     * @description The app settings */
    appSettings;
    /**
     * @type {ThirdPartyPhoneSystemSettings}
     * @description The phone settings for third party connectivity */
    thirdPartyPhoneSystemSettings;
}
/** @typedef {'Web'|'iOS'|'Android'} */
export var DeviceTypes;
(function (DeviceTypes) {
    DeviceTypes["Web"] = "Web"
    DeviceTypes["iOS"] = "iOS"
    DeviceTypes["Android"] = "Android"
})(DeviceTypes || (DeviceTypes = {}));
export class GetEndpointAppConfig {
    /** @param {{endpointId?:string,endpointEmailAddress?:string,deviceType?:DeviceTypes,pushCredentialSid?:string,applicationSid?:string,sandbox?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The endpoint whose config you want to get (this must be a User) */
    endpointId;
    /**
     * @type {string}
     * @description The endpoint email address whose config you want to get (this must be a User) - EndpointId takes priority over this */
    endpointEmailAddress;
    /**
     * @type {DeviceTypes}
     * @description The type of device you are requesting config for */
    deviceType;
    /**
     * @type {string}
     * @description Use a specific push credential SID */
    pushCredentialSid;
    /**
     * @type {string}
     * @description Use a specific application SID */
    applicationSid;
    /**
     * @type {boolean}
     * @description Is this device operating in a sandbox environment? IOS only. */
    sandbox;
}

JavaScript GetEndpointAppConfig DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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: team.evovoice.io 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
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,"enableAssistants":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"}}}