Evo Voice

<back to all web services

NotUsedRequest

The following routes are available for this service:
All Verbs/not-used
"use strict";
/** @typedef {'SessionDisconnected'|'SessionInvite'|'ChatMessage'|'SessionInactivated'|'AgentStateChanged'|'SessionHeld'|'SessionAnswered'|'ActiveSessionsChanged'|'Ping'|'SessionScreenChanged'|'Toast'|'SessionInfoChanged'|'MessageReceived'|'SessionHolding'} */
export var PushNotificationTypes;
(function (PushNotificationTypes) {
    PushNotificationTypes["SessionDisconnected"] = "SessionDisconnected"
    PushNotificationTypes["SessionInvite"] = "SessionInvite"
    PushNotificationTypes["ChatMessage"] = "ChatMessage"
    PushNotificationTypes["SessionInactivated"] = "SessionInactivated"
    PushNotificationTypes["AgentStateChanged"] = "AgentStateChanged"
    PushNotificationTypes["SessionHeld"] = "SessionHeld"
    PushNotificationTypes["SessionAnswered"] = "SessionAnswered"
    PushNotificationTypes["ActiveSessionsChanged"] = "ActiveSessionsChanged"
    PushNotificationTypes["Ping"] = "Ping"
    PushNotificationTypes["SessionScreenChanged"] = "SessionScreenChanged"
    PushNotificationTypes["Toast"] = "Toast"
    PushNotificationTypes["SessionInfoChanged"] = "SessionInfoChanged"
    PushNotificationTypes["MessageReceived"] = "MessageReceived"
    PushNotificationTypes["SessionHolding"] = "SessionHolding"
})(PushNotificationTypes || (PushNotificationTypes = {}));
/** @typedef {'Voice'|'Chat'|'Fax'} */
export var FlowChannels;
(function (FlowChannels) {
    FlowChannels["Voice"] = "Voice"
    FlowChannels["Chat"] = "Chat"
    FlowChannels["Fax"] = "Fax"
})(FlowChannels || (FlowChannels = {}));
/** @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 PushNotification {
    /** @param {{type?:PushNotificationTypes,channel?:FlowChannels,endpointId?:string,endpointUserName?:string,sessionId?:string,sender?:string,title?:string,body?:string,badge?:number,attachmentUri?:string,attachmentContentType?:string,agentState?:AgentStates,agentStateReason?:AgentStateReasons}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {PushNotificationTypes} */
    type;
    /** @type {FlowChannels} */
    channel;
    /** @type {string} */
    endpointId;
    /** @type {string} */
    endpointUserName;
    /** @type {string} */
    sessionId;
    /** @type {string} */
    sender;
    /** @type {string} */
    title;
    /** @type {string} */
    body;
    /** @type {?number} */
    badge;
    /** @type {string} */
    attachmentUri;
    /** @type {string} */
    attachmentContentType;
    /** @type {AgentStates} */
    agentState;
    /** @type {AgentStateReasons} */
    agentStateReason;
}
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 {'Email'|'Sms'|'Push'|'IncomingCall'|'OutgoingCall'} */
export var NotificationTypes;
(function (NotificationTypes) {
    NotificationTypes["Email"] = "Email"
    NotificationTypes["Sms"] = "Sms"
    NotificationTypes["Push"] = "Push"
    NotificationTypes["IncomingCall"] = "IncomingCall"
    NotificationTypes["OutgoingCall"] = "OutgoingCall"
})(NotificationTypes || (NotificationTypes = {}));
export class NotificationRecipientInfo {
    /** @param {{address?:string,extra?:string,name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The address of the recipient */
    address;
    /**
     * @type {string}
     * @description Extra info about the recipient e.g. CC, BCC */
    extra;
    /**
     * @type {string}
     * @description The name of the recipient */
    name;
}
/** @typedef {'Upload'|'VoiceMessage'|'CallRecording'|'Fax'|'Attachment'|'FaxOutgoing'} */
export var FileTypes;
(function (FileTypes) {
    FileTypes["Upload"] = "Upload"
    FileTypes["VoiceMessage"] = "VoiceMessage"
    FileTypes["CallRecording"] = "CallRecording"
    FileTypes["Fax"] = "Fax"
    FileTypes["Attachment"] = "Attachment"
    FileTypes["FaxOutgoing"] = "FaxOutgoing"
})(FileTypes || (FileTypes = {}));
export class FileInfo extends EntityInfo {
    /** @param {{type?:FileTypes,accountId?:string,accountName?:string,customerId?:string,customerName?:string,customerBreadcrumb?:CustomerBreadcrumb[],userId?:string,userName?:string,fileName?:string,uri?:string,contentType?:string,contentLength?:number,recordingSid?:string,recordingDuration?:number,recordingFrom?:string,transcription?:string,fromAddress?:string,toAddress?:string,aiTranscription?:string,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {FileTypes}
     * @description The type of file this is */
    type;
    /**
     * @type {string}
     * @description The account ID this file is associated with */
    accountId;
    /**
     * @type {string}
     * @description The name of the account this file is associated with */
    accountName;
    /**
     * @type {string}
     * @description The ID of the customer this file is associated with */
    customerId;
    /**
     * @type {string}
     * @description The name of the customer this file is associated with */
    customerName;
    /**
     * @type {CustomerBreadcrumb[]}
     * @description The breadcrumb to the customer for this file */
    customerBreadcrumb;
    /**
     * @type {string}
     * @description The ID of the user this file is assocaited with */
    userId;
    /**
     * @type {string}
     * @description The name of the user this file is associated with */
    userName;
    /**
     * @type {string}
     * @description The original file name for the file */
    fileName;
    /**
     * @type {string}
     * @description The URI of the file */
    uri;
    /**
     * @type {string}
     * @description The Content type of the file */
    contentType;
    /**
     * @type {number}
     * @description The size of the file */
    contentLength;
    /**
     * @type {string}
     * @description The Twilio ID of the recording */
    recordingSid;
    /**
     * @type {number}
     * @description The duration of the recording in seconds */
    recordingDuration;
    /**
     * @type {string}
     * @description Who is the recording from? */
    recordingFrom;
    /**
     * @type {string}
     * @description Transcription (if available) */
    transcription;
    /**
     * @type {string}
     * @description From Address (e.g. caller ID) for incoming calls */
    fromAddress;
    /**
     * @type {string}
     * @description To Address (e.g. dialed number) for outgoing calls */
    toAddress;
    /**
     * @type {string}
     * @description The AI transcription for this call */
    aiTranscription;
}
export class NotificationInfo extends EntityInfo {
    /** @param {{accountId?:string,accountName?:string,customerId?:string,customerName?:string,customerBreadcrumb?:CustomerBreadcrumb[],type?:NotificationTypes,subject?:string,body?:string,recipients?:NotificationRecipientInfo[],attachments?:FileInfo[],from?:string,to?:string,error?:boolean,errorMessage?:string,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 {CustomerBreadcrumb[]}
     * @description The breadcrumb to the customer for this endpoint */
    customerBreadcrumb;
    /**
     * @type {NotificationTypes}
     * @description The type of notification */
    type;
    /**
     * @type {string}
     * @description The subject of the notification */
    subject;
    /**
     * @type {string}
     * @description The body of the notification */
    body;
    /**
     * @type {NotificationRecipientInfo[]}
     * @description The recipients of this notification */
    recipients;
    /**
     * @type {FileInfo[]}
     * @description The list of attachments */
    attachments;
    /**
     * @type {string}
     * @description The original from for the session */
    from;
    /**
     * @type {string}
     * @description The original To for the session */
    to;
    /**
     * @type {boolean}
     * @description Was there an error? */
    error;
    /**
     * @type {string}
     * @description The error message */
    errorMessage;
}
/** @typedef {'NotSpecified'|'String'|'Boolean'|'Number'|'List'|'Struct'|'Transition'|'Custom'|'Date'|'AudioFile'|'TimeZoneId'|'PhoneNumber'|'User'|'Endpoint'|'Time'|'File'|'FaxNumber'|'EmailAccount'|'Customer'|'Flow'|'Team'|'FlowReference'|'Integration'|'Assistant'} */
export var ValueTypes;
(function (ValueTypes) {
    ValueTypes["NotSpecified"] = "NotSpecified"
    ValueTypes["String"] = "String"
    ValueTypes["Boolean"] = "Boolean"
    ValueTypes["Number"] = "Number"
    ValueTypes["List"] = "List"
    ValueTypes["Struct"] = "Struct"
    ValueTypes["Transition"] = "Transition"
    ValueTypes["Custom"] = "Custom"
    ValueTypes["Date"] = "Date"
    ValueTypes["AudioFile"] = "AudioFile"
    ValueTypes["TimeZoneId"] = "TimeZoneId"
    ValueTypes["PhoneNumber"] = "PhoneNumber"
    ValueTypes["User"] = "User"
    ValueTypes["Endpoint"] = "Endpoint"
    ValueTypes["Time"] = "Time"
    ValueTypes["File"] = "File"
    ValueTypes["FaxNumber"] = "FaxNumber"
    ValueTypes["EmailAccount"] = "EmailAccount"
    ValueTypes["Customer"] = "Customer"
    ValueTypes["Flow"] = "Flow"
    ValueTypes["Team"] = "Team"
    ValueTypes["FlowReference"] = "FlowReference"
    ValueTypes["Integration"] = "Integration"
    ValueTypes["Assistant"] = "Assistant"
})(ValueTypes || (ValueTypes = {}));
/** @typedef {'Value'|'Flow'|'System'|'Customer'|'Session'|'Endpoint'|'Expression'|'User'} */
export var ValueSources;
(function (ValueSources) {
    ValueSources["Value"] = "Value"
    ValueSources["Flow"] = "Flow"
    ValueSources["System"] = "System"
    ValueSources["Customer"] = "Customer"
    ValueSources["Session"] = "Session"
    ValueSources["Endpoint"] = "Endpoint"
    ValueSources["Expression"] = "Expression"
    ValueSources["User"] = "User"
})(ValueSources || (ValueSources = {}));
class Dictionary {}
export class Struct extends Dictionary {
    constructor(init) { super(init); Object.assign(this, init) }
}
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;
}
export class NodeParameterMap extends Dictionary {
    constructor(init) { super(init); Object.assign(this, init) }
}
/** @typedef {'None'|'LargeText'|'InlineForm'|'Password'|'InlineStruct'} */
export var UIHints;
(function (UIHints) {
    UIHints["None"] = "None"
    UIHints["LargeText"] = "LargeText"
    UIHints["InlineForm"] = "InlineForm"
    UIHints["Password"] = "Password"
    UIHints["InlineStruct"] = "InlineStruct"
})(UIHints || (UIHints = {}));
/** @typedef {'NotUnique'|'Unique'|'UniqueToCustomer'} */
export var DataFieldUniqueness;
(function (DataFieldUniqueness) {
    DataFieldUniqueness["NotUnique"] = "NotUnique"
    DataFieldUniqueness["Unique"] = "Unique"
    DataFieldUniqueness["UniqueToCustomer"] = "UniqueToCustomer"
})(DataFieldUniqueness || (DataFieldUniqueness = {}));
/** @typedef {'Hidden'|'ReadOnly'|'ReadWrite'} */
export var UserDataFieldModes;
(function (UserDataFieldModes) {
    UserDataFieldModes["Hidden"] = "Hidden"
    UserDataFieldModes["ReadOnly"] = "ReadOnly"
    UserDataFieldModes["ReadWrite"] = "ReadWrite"
})(UserDataFieldModes || (UserDataFieldModes = {}));
export class DataField {
    /** @param {{id?:string,name?:string,type?:ValueTypes,uiHint?:UIHints,uiTab?:string,isAsync?:boolean,disableBinding?:boolean,structType?:DataType,listType?:DataType,description?:string,possibleValues?:string[],isOutput?:boolean,customFieldValuesUrl?:string,defaultValue?:Value,transitionNameFormat?:string,uniqueness?:DataFieldUniqueness,voiceOnly?:boolean,conditionalVisibilityField?:string,conditionalVisibilityValue?:string,noEvalTemplate?:boolean,userMode?:UserDataFieldModes,anyValueType?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    name;
    /** @type {ValueTypes} */
    type;
    /** @type {UIHints} */
    uiHint;
    /** @type {string} */
    uiTab;
    /** @type {boolean} */
    isAsync;
    /** @type {boolean} */
    disableBinding;
    /** @type {DataType} */
    structType;
    /** @type {DataType} */
    listType;
    /** @type {string} */
    description;
    /** @type {string[]} */
    possibleValues;
    /** @type {boolean} */
    isOutput;
    /** @type {string} */
    customFieldValuesUrl;
    /** @type {Value} */
    defaultValue;
    /** @type {string} */
    transitionNameFormat;
    /** @type {DataFieldUniqueness} */
    uniqueness;
    /** @type {boolean} */
    voiceOnly;
    /** @type {string} */
    conditionalVisibilityField;
    /** @type {string} */
    conditionalVisibilityValue;
    /** @type {boolean} */
    noEvalTemplate;
    /** @type {UserDataFieldModes} */
    userMode;
    /** @type {boolean} */
    anyValueType;
}
export class DataType {
    /** @param {{typeName?:string,fields?:DataField[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    typeName;
    /** @type {DataField[]} */
    fields;
}
export class NodeParameter {
    /** @param {{id?:string,type?:ValueTypes,source?:ValueSources,isAsync?:boolean,referenceId?:string,value?:Value,noEvalTemplate?:boolean,listParameters?:NodeParameterMap[],structParameters?:NodeParameterMap,isOutput?:boolean,expression?:string,listType?:DataType}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {ValueTypes} */
    type;
    /** @type {ValueSources} */
    source;
    /** @type {boolean} */
    isAsync;
    /** @type {string} */
    referenceId;
    /** @type {Value} */
    value;
    /** @type {boolean} */
    noEvalTemplate;
    /** @type {NodeParameterMap[]} */
    listParameters;
    /** @type {NodeParameterMap} */
    structParameters;
    /** @type {boolean} */
    isOutput;
    /** @type {string} */
    expression;
    /** @type {DataType} */
    listType;
}
export class NotUsedRequest {
    /** @param {{pushNotification?:PushNotification,notifications?:NotificationInfo[],nodeParameter?:NodeParameter}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {PushNotification} */
    pushNotification;
    /** @type {NotificationInfo[]} */
    notifications;
    /** @type {NodeParameter} */
    nodeParameter;
}

JavaScript NotUsedRequest DTOs

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

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /not-used HTTP/1.1 
Host: team.evovoice.io 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"pushNotification":{"type":"SessionDisconnected","channel":"Voice","endpointId":"String","endpointUserName":"String","sessionId":"String","sender":"String","title":"String","body":"String","badge":0,"attachmentUri":"String","attachmentContentType":"String","agentState":"Unknown","agentStateReason":"Unknown"},"notifications":[{"accountId":"String","accountName":"String","customerId":"String","customerName":"String","customerBreadcrumb":[{"id":"String","name":"String"}],"type":"Email","subject":"String","body":"String","recipients":[{"address":"String","extra":"String","name":"String"}],"attachments":[{"type":"Upload","accountId":"String","accountName":"String","customerId":"String","customerName":"String","customerBreadcrumb":[{"id":"String","name":"String"}],"userId":"String","userName":"String","fileName":"String","uri":"String","contentType":"String","contentLength":0,"recordingSid":"String","recordingDuration":0,"recordingFrom":"String","transcription":"String","fromAddress":"String","toAddress":"String","aiTranscription":"String","id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}],"from":"String","to":"String","error":false,"errorMessage":"String","id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}]}