GET | /portal/assistants |
---|
"use strict";
/** @typedef {'Ascend'|'Descend'} */
export var SortOrders;
(function (SortOrders) {
SortOrders["Ascend"] = "Ascend"
SortOrders["Descend"] = "Descend"
})(SortOrders || (SortOrders = {}));
/** @typedef T {any} */
export class ListRequest {
/** @param {{page?:number,all?:boolean,countPerPage?:number,specificIds?:string[],sortField?:string,sortOrder?:SortOrders,simplifiedPaging?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The page of data to retrieve */
page;
/**
* @type {boolean}
* @description If you want all objects to be returned. This should be used with care */
all;
/**
* @type {number}
* @description The number per page to retrieve */
countPerPage;
/**
* @type {string[]}
* @description Specific IDs */
specificIds;
/**
* @type {string}
* @description Specify a sort field */
sortField;
/**
* @type {SortOrders}
* @description Specify a sort order */
sortOrder;
/**
* @type {boolean}
* @description Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */
simplifiedPaging;
}
export class EntityInfo {
/** @param {{id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The ID of the object */
id;
/**
* @type {string}
* @description The date the object was created */
dateCreated;
/**
* @type {string}
* @description The date the object was last modified */
dateLastModified;
/**
* @type {string}
* @description The user that created this object */
createdBy;
/**
* @type {string}
* @description The user that last modified this object */
lastModifiedBy;
}
export class CustomerBreadcrumb {
/** @param {{id?:string,name?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
}
/** @typedef {'PhoneNumber'|'User'|'FaxNumber'|'EmailAddress'|'Unused_1'|'Unused_2'|'Unused_3'|'Unused_4'|'Unused_5'|'Team'|'Assistant'} */
export var EndpointTypes;
(function (EndpointTypes) {
EndpointTypes["PhoneNumber"] = "PhoneNumber"
EndpointTypes["User"] = "User"
EndpointTypes["FaxNumber"] = "FaxNumber"
EndpointTypes["EmailAddress"] = "EmailAddress"
EndpointTypes["Unused_1"] = "Unused_1"
EndpointTypes["Unused_2"] = "Unused_2"
EndpointTypes["Unused_3"] = "Unused_3"
EndpointTypes["Unused_4"] = "Unused_4"
EndpointTypes["Unused_5"] = "Unused_5"
EndpointTypes["Team"] = "Team"
EndpointTypes["Assistant"] = "Assistant"
})(EndpointTypes || (EndpointTypes = {}));
export class Value {
/** @param {{boolValue?:boolean,stringValue?:string,numberValue?:number,listValue?:Struct[],structValue?:Struct}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?boolean} */
boolValue;
/** @type {string} */
stringValue;
/** @type {?number} */
numberValue;
/** @type {Struct[]} */
listValue;
/** @type {Struct} */
structValue;
}
class Dictionary {}
export class Struct extends Dictionary {
constructor(init) { super(init); Object.assign(this, init) }
}
/** @typedef {'Always'|'Scheduled'|'Simple'} */
export var EndpointFlowSchedules;
(function (EndpointFlowSchedules) {
EndpointFlowSchedules["Always"] = "Always"
EndpointFlowSchedules["Scheduled"] = "Scheduled"
EndpointFlowSchedules["Simple"] = "Simple"
})(EndpointFlowSchedules || (EndpointFlowSchedules = {}));
/** @typedef {'Always'|'CustomerState'|'Time'} */
export var SimpleSchedulingRuleTypes;
(function (SimpleSchedulingRuleTypes) {
SimpleSchedulingRuleTypes["Always"] = "Always"
SimpleSchedulingRuleTypes["CustomerState"] = "CustomerState"
SimpleSchedulingRuleTypes["Time"] = "Time"
})(SimpleSchedulingRuleTypes || (SimpleSchedulingRuleTypes = {}));
export class ScheduleDay {
/** @param {{offset?:number,dayOfWeek?:DayOfWeek}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
offset;
/** @type {DayOfWeek} */
dayOfWeek;
}
/** @typedef {'None'|'Secondly'|'Minutely'|'Hourly'|'Daily'|'Weekly'|'Monthly'|'Yearly'} */
export var SchedulingRuleFrequency;
(function (SchedulingRuleFrequency) {
SchedulingRuleFrequency["None"] = "None"
SchedulingRuleFrequency["Secondly"] = "Secondly"
SchedulingRuleFrequency["Minutely"] = "Minutely"
SchedulingRuleFrequency["Hourly"] = "Hourly"
SchedulingRuleFrequency["Daily"] = "Daily"
SchedulingRuleFrequency["Weekly"] = "Weekly"
SchedulingRuleFrequency["Monthly"] = "Monthly"
SchedulingRuleFrequency["Yearly"] = "Yearly"
})(SchedulingRuleFrequency || (SchedulingRuleFrequency = {}));
export class SchedulingRule {
/** @param {{id?:string,name?:string,priority?:number,state?:string,source?:string,condition?:string,simpleRuleType?:SimpleSchedulingRuleTypes,customerState?:string,flowId?:string,flowParams?:Struct,isAllDay?:boolean,startDate?:string,startTime?:string,endTime?:string,bySetPosition?:number[],byMonth?:number[],byWeekNo?:number[],byYearDay?:number[],byMonthDay?:number[],byDay?:ScheduleDay[],byHour?:number[],byMinute?:number[],interval?:number,count?:number,untilDate?:string,frequency?:SchedulingRuleFrequency}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
/** @type {number} */
priority;
/** @type {string} */
state;
/** @type {string} */
source;
/** @type {string} */
condition;
/** @type {SimpleSchedulingRuleTypes} */
simpleRuleType;
/** @type {string} */
customerState;
/** @type {string} */
flowId;
/** @type {Struct} */
flowParams;
/** @type {boolean} */
isAllDay;
/** @type {string} */
startDate;
/** @type {string} */
startTime;
/** @type {string} */
endTime;
/** @type {number[]} */
bySetPosition;
/** @type {number[]} */
byMonth;
/** @type {number[]} */
byWeekNo;
/** @type {number[]} */
byYearDay;
/** @type {number[]} */
byMonthDay;
/** @type {ScheduleDay[]} */
byDay;
/** @type {number[]} */
byHour;
/** @type {number[]} */
byMinute;
/** @type {number} */
interval;
/** @type {number} */
count;
/** @type {string} */
untilDate;
/** @type {SchedulingRuleFrequency} */
frequency;
}
export class Schedule {
/** @param {{timeZoneId?:string,inherit?:boolean,forceClosed?:boolean,rules?:SchedulingRule[],defaultState?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
timeZoneId;
/** @type {boolean} */
inherit;
/** @type {boolean} */
forceClosed;
/** @type {SchedulingRule[]} */
rules;
/** @type {string} */
defaultState;
}
export class ScheduledFlow {
/** @param {{stateName?:string,flowId?:string,flowParams?:Struct}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
stateName;
/** @type {string} */
flowId;
/** @type {Struct} */
flowParams;
}
/** @typedef {'NorthAmericaVirginia'|'NorthAmericaOregon'|'EuropeIreland'|'EuropeFrankfurt'|'AsiaPacificSingapore'|'AsiaPacificTokyo'|'AsiaPacificSydney'|'SouthAmericaSanPaolo'} */
export var TwilioSipRegions;
(function (TwilioSipRegions) {
TwilioSipRegions["NorthAmericaVirginia"] = "NorthAmericaVirginia"
TwilioSipRegions["NorthAmericaOregon"] = "NorthAmericaOregon"
TwilioSipRegions["EuropeIreland"] = "EuropeIreland"
TwilioSipRegions["EuropeFrankfurt"] = "EuropeFrankfurt"
TwilioSipRegions["AsiaPacificSingapore"] = "AsiaPacificSingapore"
TwilioSipRegions["AsiaPacificTokyo"] = "AsiaPacificTokyo"
TwilioSipRegions["AsiaPacificSydney"] = "AsiaPacificSydney"
TwilioSipRegions["SouthAmericaSanPaolo"] = "SouthAmericaSanPaolo"
})(TwilioSipRegions || (TwilioSipRegions = {}));
/** @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 = {}));
/** @typedef {'SoftPhone'|'Sip'|'Flow'|'DataOnly'|'ThirdParty'} */
export var UserModes;
(function (UserModes) {
UserModes["SoftPhone"] = "SoftPhone"
UserModes["Sip"] = "Sip"
UserModes["Flow"] = "Flow"
UserModes["DataOnly"] = "DataOnly"
UserModes["ThirdParty"] = "ThirdParty"
})(UserModes || (UserModes = {}));
/** @typedef {'None'|'Manager'|'VoicemailAndCallHistory'|'Custom'} */
export var UserManagerRoles;
(function (UserManagerRoles) {
UserManagerRoles["None"] = "None"
UserManagerRoles["Manager"] = "Manager"
UserManagerRoles["VoicemailAndCallHistory"] = "VoicemailAndCallHistory"
UserManagerRoles["Custom"] = "Custom"
})(UserManagerRoles || (UserManagerRoles = {}));
/** @typedef {'ViewFiles'|'ViewNotifications'|'ViewSessions'|'ViewEndpoints'|'ViewReports'|'ViewCustomers'|'ViewFlows'} */
export var DashboardPermissions;
(function (DashboardPermissions) {
DashboardPermissions["ViewFiles"] = "ViewFiles"
DashboardPermissions["ViewNotifications"] = "ViewNotifications"
DashboardPermissions["ViewSessions"] = "ViewSessions"
DashboardPermissions["ViewEndpoints"] = "ViewEndpoints"
DashboardPermissions["ViewReports"] = "ViewReports"
DashboardPermissions["ViewCustomers"] = "ViewCustomers"
DashboardPermissions["ViewFlows"] = "ViewFlows"
})(DashboardPermissions || (DashboardPermissions = {}));
/** @typedef {'Hidden'|'ReadOnly'|'ReadWrite'} */
export var UserDataFieldModes;
(function (UserDataFieldModes) {
UserDataFieldModes["Hidden"] = "Hidden"
UserDataFieldModes["ReadOnly"] = "ReadOnly"
UserDataFieldModes["ReadWrite"] = "ReadWrite"
})(UserDataFieldModes || (UserDataFieldModes = {}));
/** @typedef {'Magenta'|'Red'|'Volcano'|'Orange'|'Gold'|'Lime'|'Green'|'Cyan'|'Blue'|'GeekBlue'|'Purple'} */
export var TagColors;
(function (TagColors) {
TagColors["Magenta"] = "Magenta"
TagColors["Red"] = "Red"
TagColors["Volcano"] = "Volcano"
TagColors["Orange"] = "Orange"
TagColors["Gold"] = "Gold"
TagColors["Lime"] = "Lime"
TagColors["Green"] = "Green"
TagColors["Cyan"] = "Cyan"
TagColors["Blue"] = "Blue"
TagColors["GeekBlue"] = "GeekBlue"
TagColors["Purple"] = "Purple"
})(TagColors || (TagColors = {}));
export class Tag {
/** @param {{id?:string,name?:string,color?:TagColors}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
/** @type {TagColors} */
color;
}
/** @typedef {'GET'|'POST'} */
export var ActionUrlHttpMethods;
(function (ActionUrlHttpMethods) {
ActionUrlHttpMethods["GET"] = "GET"
ActionUrlHttpMethods["POST"] = "POST"
})(ActionUrlHttpMethods || (ActionUrlHttpMethods = {}));
export class EndpointActionUrl {
/** @param {{id?:string,url?:string,method?:ActionUrlHttpMethods}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
url;
/** @type {ActionUrlHttpMethods} */
method;
}
/** @typedef {'None'|'CurrentCustomer'|'CurrentAndChildCustomers'} */
export var CustomerVisibility;
(function (CustomerVisibility) {
CustomerVisibility["None"] = "None"
CustomerVisibility["CurrentCustomer"] = "CurrentCustomer"
CustomerVisibility["CurrentAndChildCustomers"] = "CurrentAndChildCustomers"
})(CustomerVisibility || (CustomerVisibility = {}));
export class EndpointContact {
/** @param {{id?:string,displayName?:string,address?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
displayName;
/** @type {string} */
address;
}
export class IntegrationData {
/** @param {{thirdPartyId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
thirdPartyId;
}
export class EntityIntegrationData extends Dictionary {
constructor(init) { super(init); Object.assign(this, init) }
}
/** @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 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 {'Accuracy'|'Speed'} */
export var AssistantTunings;
(function (AssistantTunings) {
AssistantTunings["Accuracy"] = "Accuracy"
AssistantTunings["Speed"] = "Speed"
})(AssistantTunings || (AssistantTunings = {}));
export class AssistantWord {
/** @param {{word?:string,pronounced?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
word;
/** @type {string} */
pronounced;
}
export class AssistantLink {
/** @param {{url?:string,description?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
url;
/** @type {string} */
description;
}
/** @typedef {'Blind'|'Supervised'|'MessagesOnly'} */
export var AssistantTransferTypes;
(function (AssistantTransferTypes) {
AssistantTransferTypes["Blind"] = "Blind"
AssistantTransferTypes["Supervised"] = "Supervised"
AssistantTransferTypes["MessagesOnly"] = "MessagesOnly"
})(AssistantTransferTypes || (AssistantTransferTypes = {}));
export class AssistantTakeMessageField {
/** @param {{name?:string,description?:string,required?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
name;
/** @type {string} */
description;
/** @type {boolean} */
required;
}
export class AssistantContact {
/** @param {{name?:string,phoneNumber?:string,transferType?:AssistantTransferTypes,about?:string,emailAddress?:string,takeMessageFields?:AssistantTakeMessageField[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
name;
/** @type {string} */
phoneNumber;
/** @type {AssistantTransferTypes} */
transferType;
/** @type {string} */
about;
/** @type {string} */
emailAddress;
/** @type {AssistantTakeMessageField[]} */
takeMessageFields;
}
export class AssistantIntegration {
/** @param {{uri?:string,httpMethod?:string,authToken?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
uri;
/** @type {string} */
httpMethod;
/** @type {string} */
authToken;
}
export class AssistantSettings {
/** @param {{companyName?:string,greeting?:string,companyInformation?:string,customPrompt?:string,voice?:string,voiceStyle?:string,tuning?:AssistantTunings,words?:AssistantWord[],links?:AssistantLink[],contacts?:AssistantContact[],integrations?:AssistantIntegration[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
companyName;
/** @type {string} */
greeting;
/** @type {string} */
companyInformation;
/** @type {string} */
customPrompt;
/** @type {string} */
voice;
/** @type {string} */
voiceStyle;
/** @type {AssistantTunings} */
tuning;
/** @type {AssistantWord[]} */
words;
/** @type {AssistantLink[]} */
links;
/** @type {AssistantContact[]} */
contacts;
/** @type {AssistantIntegration[]} */
integrations;
}
export class EmbedSettings {
/** @param {{enabled?:boolean,allowedHosts?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
enabled;
/** @type {string} */
allowedHosts;
}
export class EndpointInfo extends EntityInfo {
/** @param {{accountId?:string,accountName?:string,customerId?:string,customerName?:string,referenceId?:string,customerBreadcrumb?:CustomerBreadcrumb[],displayName?:string,type?:EndpointTypes,extraInformation?:string,flowId?:string,flowName?:string,flowParams?:Struct,flowSchedule?:EndpointFlowSchedules,schedule?:Schedule,scheduledFlows?:ScheduledFlow[],disableSms?:boolean,useExternal10DlcCampaign?:boolean,isVirtualPhoneNumber?:boolean,isCallerIdVerified?:boolean,callerIdVerificationCode?:string,phoneNumber?:string,phoneNumberSid?:string,callerIdName?:string,addressSid?:string,doNotTouchPhoneNumber?:boolean,isEnrolledIn10DlcService?:boolean,enableCallerIdLookup?:boolean,userEmailAddress?:string,sipRegion?:TwilioSipRegions,sipCredentialSid?:string,sipUserName?:string,sipPassword?:string,sipDomain?:string,enableEmergencyCalling?:boolean,emergencyAddressSid?:string,emergencyPhoneNumberId?:string,agentState?:AgentStates,agentStateReason?:AgentStateReasons,userMode?:UserModes,voicemailGreetingId?:string,data?:Struct,emailAddress?:string,userFirstName?:string,userLastName?:string,avatarUrl?:string,managerRole?:UserManagerRoles,dashboardPermissions?:DashboardPermissions[],myFieldPermissions?:UserDataFieldModes,customerFieldPermissions?:UserDataFieldModes,otherUserFieldPermissions?:UserDataFieldModes,otherEndpointFieldPermissions?:UserDataFieldModes,name?:string,tags?:Tag[],actionUrls?:EndpointActionUrl[],teamMemberIds?:string[],contactListVisibility?:CustomerVisibility,contacts?:EndpointContact[],documoId?:string,integrationData?:EntityIntegrationData,thirdPartyPhoneSystemSettings?:ThirdPartyPhoneSystemSettings,overrideAppSettings?:boolean,appSettings?:AppSettings,assistantSettings?:AssistantSettings,embedSettings?:EmbedSettings,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description The account ID this endpoint is associated with */
accountId;
/**
* @type {string}
* @description The name of the account this endpoint is associated with */
accountName;
/**
* @type {string}
* @description The ID of the customer this endpoint is associated with */
customerId;
/**
* @type {string}
* @description The name of the customer this endpoint is associated with */
customerName;
/**
* @type {string}
* @description The third party reference ID for the endpoint */
referenceId;
/**
* @type {CustomerBreadcrumb[]}
* @description The breadcrumb to the customer for this endpoint */
customerBreadcrumb;
/**
* @type {string}
* @description The display name of the endpoint */
displayName;
/**
* @type {EndpointTypes}
* @description The type of endpoint */
type;
/**
* @type {string}
* @description Extra info for this endpoint (typically to show in grid) */
extraInformation;
/**
* @type {string}
* @description The ID of the flow to use for voice */
flowId;
/**
* @type {string}
* @description The name of the flow to use for voice */
flowName;
/**
* @type {Struct}
* @description The params for the voice flow */
flowParams;
/**
* @type {EndpointFlowSchedules}
* @description Whether to use a single flow always or use scheduled flow system */
flowSchedule;
/**
* @type {Schedule}
* @description This endpoint's schedule */
schedule;
/**
* @type {ScheduledFlow[]}
* @description The list of scheduled flows when using scheduling */
scheduledFlows;
/**
* @type {boolean}
* @description Disable SMS */
disableSms;
/**
* @type {boolean}
* @description Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number */
useExternal10DlcCampaign;
/**
* @type {boolean}
* @description Is this a virtual phone number? */
isVirtualPhoneNumber;
/**
* @type {boolean}
* @description Is caller ID verified for this virtual number? */
isCallerIdVerified;
/**
* @type {string}
* @description The verification code for this number */
callerIdVerificationCode;
/**
* @type {string}
* @description The phone number */
phoneNumber;
/**
* @type {string}
* @description The Sid of the phone number */
phoneNumberSid;
/**
* @type {string}
* @description The caller ID Name (CNAM) for the phone number */
callerIdName;
/**
* @type {string}
* @description The address SID associated with the phone number */
addressSid;
/**
* @type {boolean}
* @description Do not touch this phone number - for BYOA accounts */
doNotTouchPhoneNumber;
/**
* @type {boolean}
* @description Is this number enrolled in a 10DLC messaging service campaign */
isEnrolledIn10DlcService;
/**
* @type {boolean}
* @description Whether we look up caller ID or not */
enableCallerIdLookup;
/**
* @type {string}
* @description The email address of the user */
userEmailAddress;
/**
* @type {TwilioSipRegions}
* @description The Twilio Region for the SIP endpoint */
sipRegion;
/**
* @type {string}
* @description The Twilio Sid of the credentials for Sip */
sipCredentialSid;
/**
* @type {string}
* @description The Twilio SIP user name */
sipUserName;
/**
* @type {string}
* @description The Twilio SIP password */
sipPassword;
/**
* @type {string}
* @description The SIP domain */
sipDomain;
/**
* @type {boolean}
* @description Is emergency calling enabled on this number? */
enableEmergencyCalling;
/**
* @type {string}
* @description The SID of the emergency address for this number */
emergencyAddressSid;
/**
* @type {string}
* @description The ID of the phone number to use for emergency dialing */
emergencyPhoneNumberId;
/**
* @type {AgentStates}
* @description The current agent state of this user endpoint */
agentState;
/**
* @type {AgentStateReasons}
* @description The current agent state reason of this user endpoint */
agentStateReason;
/**
* @type {UserModes}
* @description The mode for this user */
userMode;
/**
* @type {string}
* @description The ID of the file to use for voicemail greeting */
voicemailGreetingId;
/**
* @type {Struct}
* @description The endpoint's data */
data;
/**
* @type {string}
* @description The email address for email endpoints */
emailAddress;
/**
* @type {string}
* @description The first name of the user (for user endpoints) */
userFirstName;
/**
* @type {string}
* @description The last name of the user (for user endpoints) */
userLastName;
/**
* @type {string}
* @description The URL of an image for this user's avatar */
avatarUrl;
/**
* @type {UserManagerRoles}
* @description Does this user have manager role? */
managerRole;
/**
* @type {DashboardPermissions[]}
* @description The list of dashboard permissions for when the manager role is custom */
dashboardPermissions;
/**
* @type {UserDataFieldModes}
* @description The type of visibility this user has to their own fields */
myFieldPermissions;
/**
* @type {UserDataFieldModes}
* @description The type of visibility this user has to customer fields */
customerFieldPermissions;
/**
* @type {UserDataFieldModes}
* @description The type of visibility this user has to other user fields */
otherUserFieldPermissions;
/**
* @type {UserDataFieldModes}
* @description The type of visibility this user has to other endpoint fields */
otherEndpointFieldPermissions;
/**
* @type {string}
* @description The name of this endpoint (for bots etc.) */
name;
/**
* @type {Tag[]}
* @description The list of tags for this endpoint */
tags;
/**
* @type {EndpointActionUrl[]}
* @description The list of action URLs */
actionUrls;
/**
* @type {string[]}
* @description The list of members in this team */
teamMemberIds;
/**
* @type {CustomerVisibility}
* @description Visibility of this user/team in contact lists */
contactListVisibility;
/**
* @type {EndpointContact[]}
* @description The list of contacts personal to this user */
contacts;
/**
* @type {string}
* @description The documo ID for this number */
documoId;
/**
* @type {EntityIntegrationData}
* @description Integration data for this endpoint */
integrationData;
/**
* @type {ThirdPartyPhoneSystemSettings}
* @description Settings for third party phone system */
thirdPartyPhoneSystemSettings;
/**
* @type {boolean}
* @description Should this user override the parent customer's app settings */
overrideAppSettings;
/**
* @type {AppSettings}
* @description App / Portal settings for this user */
appSettings;
/**
* @type {AssistantSettings}
* @description Configuration for the AI assistant */
assistantSettings;
/**
* @type {EmbedSettings}
* @description Configuration for the embed */
embedSettings;
}
export class AppGetAssistants extends ListRequest {
/** @param {{accountId?:string,customerId?:string,nameFilter?:string,page?:number,all?:boolean,countPerPage?:number,specificIds?:string[],sortField?:string,sortOrder?:SortOrders,simplifiedPaging?:boolean}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
accountId;
/** @type {string} */
customerId;
/** @type {string} */
nameFilter;
}
export class BillingItem {
/** @param {{baseCost?:number,rawUnitMultiplier?:number,unitCost?:number,allowance?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
baseCost;
/** @type {number} */
rawUnitMultiplier;
/** @type {number} */
unitCost;
/** @type {number} */
allowance;
}
export class BillingSettings {
/** @param {{base?:BillingItem,localNumbers?:BillingItem,tollFreeNumbers?:BillingItem,inboundVoiceCalls?:BillingItem,outboundVoiceCalls?:BillingItem,inboundFaxes?:BillingItem,outboundFaxes?:BillingItem,inboundSmsMessages?:BillingItem,outboundSmsMessages?:BillingItem,aiInsights?:BillingItem,aiLiveMinutes?:BillingItem}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {BillingItem} */
base;
/** @type {BillingItem} */
localNumbers;
/** @type {BillingItem} */
tollFreeNumbers;
/** @type {BillingItem} */
inboundVoiceCalls;
/** @type {BillingItem} */
outboundVoiceCalls;
/** @type {BillingItem} */
inboundFaxes;
/** @type {BillingItem} */
outboundFaxes;
/** @type {BillingItem} */
inboundSmsMessages;
/** @type {BillingItem} */
outboundSmsMessages;
/** @type {BillingItem} */
aiInsights;
/** @type {BillingItem} */
aiLiveMinutes;
}
export class AccountInfo extends EntityInfo {
/** @param {{name?:string,parentAccountId?:string,twilioAccountSid?:string,ancestorIds?:string[],maxPhoneNumbers?:number,isBYOA?:boolean,trustHubProfileSid?:string,logoId?:string,logoUri?:string,billingSettings?:BillingSettings,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description The name of this account */
name;
/**
* @type {string}
* @description The ID of this account's parent */
parentAccountId;
/**
* @type {string}
* @description The twilio account SID */
twilioAccountSid;
/**
* @type {string[]}
* @description The ancestors of this account. Useful for breadcrumbs */
ancestorIds;
/**
* @type {number}
* @description The max number of phone numbers this account can have */
maxPhoneNumbers;
/**
* @type {boolean}
* @description This account is BYOA */
isBYOA;
/**
* @type {string}
* @description TrustHub Profile Sid */
trustHubProfileSid;
/**
* @type {string}
* @description The ID of the logo file */
logoId;
/**
* @type {string}
* @description The URI of the logo file */
logoUri;
/**
* @type {BillingSettings}
* @description The billing settings for this account */
billingSettings;
}
/** @typedef T {any} */
export class ListResponse {
/** @param {{items?:AccountInfo[],totalCount?:number,totalPages?:number,hasMorePages?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {AccountInfo[]}
* @description The items */
items;
/**
* @type {number}
* @description The total number of items */
totalCount;
/**
* @type {number}
* @description The total number of pages */
totalPages;
/**
* @type {boolean}
* @description Are there more pages of items? Used with simplified paging */
hasMorePages;
}
JavaScript AppGetAssistants DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /portal/assistants HTTP/1.1 Host: team.evovoice.io Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { items: [ { accountId: String, accountName: String, customerId: String, customerName: String, referenceId: String, customerBreadcrumb: [ { id: String, name: String } ], displayName: String, type: PhoneNumber, extraInformation: String, flowId: String, flowName: String, flowSchedule: Always, schedule: { timeZoneId: String, inherit: False, forceClosed: False, rules: [ { id: String, name: String, priority: 0, state: String, source: String, condition: String, simpleRuleType: Always, customerState: String, flowId: String, isAllDay: False, startDate: String, startTime: String, endTime: String, bySetPosition: [ 0 ], byMonth: [ 0 ], byWeekNo: [ 0 ], byYearDay: [ 0 ], byMonthDay: [ 0 ], byDay: [ { offset: 0, dayOfWeek: Sunday } ], byHour: [ 0 ], byMinute: [ 0 ], interval: 0, count: 0, untilDate: String, frequency: None } ], defaultState: String }, scheduledFlows: [ { stateName: String, flowId: String } ], disableSms: False, useExternal10DlcCampaign: False, isVirtualPhoneNumber: False, isCallerIdVerified: False, callerIdVerificationCode: String, phoneNumber: String, phoneNumberSid: String, callerIdName: String, addressSid: String, doNotTouchPhoneNumber: False, isEnrolledIn10DlcService: False, enableCallerIdLookup: False, userEmailAddress: String, sipRegion: NorthAmericaVirginia, sipCredentialSid: String, sipUserName: String, sipPassword: String, sipDomain: String, enableEmergencyCalling: False, emergencyAddressSid: String, emergencyPhoneNumberId: String, agentState: Unknown, agentStateReason: Unknown, userMode: SoftPhone, voicemailGreetingId: String, emailAddress: String, userFirstName: String, userLastName: String, avatarUrl: String, managerRole: None, dashboardPermissions: [ ViewFiles ], myFieldPermissions: Hidden, customerFieldPermissions: Hidden, otherUserFieldPermissions: Hidden, otherEndpointFieldPermissions: Hidden, name: String, tags: [ { id: String, name: String, color: Magenta } ], actionUrls: [ { id: String, url: String, method: GET } ], teamMemberIds: [ String ], contactListVisibility: None, contacts: [ { id: String, displayName: String, address: String } ], documoId: String, integrationData: { String: { thirdPartyId: 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 } }, overrideAppSettings: False, 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 }, assistantSettings: { companyName: String, greeting: String, companyInformation: String, customPrompt: String, voice: String, voiceStyle: String, tuning: Accuracy, words: [ { word: String, pronounced: String } ], links: [ { url: String, description: String } ], contacts: [ { name: String, phoneNumber: String, transferType: Blind, about: String, emailAddress: String, takeMessageFields: [ { name: String, description: String, required: False } ] } ], integrations: [ { uri: String, httpMethod: String, authToken: String } ] }, embedSettings: { enabled: False, allowedHosts: String }, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String } ], totalCount: 0, totalPages: 0, hasMorePages: False }