Evo Voice

<back to all web services

PatchSystemSettings

Updates the system settings

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
PATCHY/system/settings
"use strict";
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;
}
/** @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 {'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 = {}));
export class DataType {
    /** @param {{typeName?:string,fields?:DataField[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    typeName;
    /** @type {DataField[]} */
    fields;
}
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;
}
/** @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 SystemSettingsField extends DataField {
    /** @param {{value?:Value,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) { super(init); Object.assign(this, init) }
    /** @type {Value} */
    value;
}
export class CustomerDataField extends DataField {
    /** @param {{showInSearch?:boolean,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) { super(init); Object.assign(this, init) }
    /** @type {boolean} */
    showInSearch;
}
/** @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 EndpointDataField extends DataField {
    /** @param {{showInSearch?:boolean,showInLists?:boolean,endpointType?:EndpointTypes,isCallerId?:boolean,isKnob?:boolean,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) { super(init); Object.assign(this, init) }
    /** @type {boolean} */
    showInSearch;
    /** @type {boolean} */
    showInLists;
    /** @type {?EndpointTypes} */
    endpointType;
    /** @type {boolean} */
    isCallerId;
    /** @type {boolean} */
    isKnob;
}
export class EmailAccount {
    /** @param {{id?:string,server?:string,userName?:string,port?:number,emailAddress?:string,displayName?:string,password?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    server;
    /** @type {string} */
    userName;
    /** @type {number} */
    port;
    /** @type {string} */
    emailAddress;
    /** @type {string} */
    displayName;
    /** @type {string} */
    password;
}
/** @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 {'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 = {}));
export class SystemSettingsInfo extends EntityInfo {
    /** @param {{overrideSystemTime?:boolean,overrideSystemTimeZoneId?:string,overrideSystemDateTime?:string,systemFields?:SystemSettingsField[],customerFields?:CustomerDataField[],endpointFields?:EndpointDataField[],emailAccounts?:EmailAccount[],tags?:Tag[],documentation?:string,recordingRetentionDays?:number,enableSipRefer?:boolean,autoAgentLogoffSeconds?:number,defaultSipRegion?:TwilioSipRegions,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {boolean}
     * @description Use to override the system time for testing */
    overrideSystemTime;
    /**
     * @type {string}
     * @description The system override time zone */
    overrideSystemTimeZoneId;
    /**
     * @type {string}
     * @description The system override date/time */
    overrideSystemDateTime;
    /**
     * @type {SystemSettingsField[]}
     * @description The list of system settings fields */
    systemFields;
    /**
     * @type {CustomerDataField[]}
     * @description The list of customer metadata fields */
    customerFields;
    /**
     * @type {EndpointDataField[]}
     * @description The list of endpoint metadata fields */
    endpointFields;
    /**
     * @type {EmailAccount[]}
     * @description The list of email accounts */
    emailAccounts;
    /**
     * @type {Tag[]}
     * @description The list of tags in the system */
    tags;
    /**
     * @type {string}
     * @description Documentation for the account */
    documentation;
    /**
     * @type {number}
     * @description The number of days recordings are retained */
    recordingRetentionDays;
    /**
     * @type {boolean}
     * @description Enable the SIP refer beta */
    enableSipRefer;
    /**
     * @type {number}
     * @description The number of seconds after which we automatically logoff a not ready agent */
    autoAgentLogoffSeconds;
    /**
     * @type {?TwilioSipRegions}
     * @description The default SIP region for new devices */
    defaultSipRegion;
}
export class PatchSystemSettings {
    /** @param {{overrideSystemTime?:boolean,overrideSystemTimeZoneId?:string,overrideSystemDateTime?:string,accountId?:string,systemFields?:SystemSettingsField[],customerFields?:CustomerDataField[],endpointFields?:EndpointDataField[],emailAccounts?:EmailAccount[],tags?:Tag[],documentation?:string,recordingRetentionDays?:number,enableSipRefer?:boolean,autoAgentLogoffSeconds?:number,defaultSipRegion?:TwilioSipRegions}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {?boolean}
     * @description Use to override the system time for testing */
    overrideSystemTime;
    /**
     * @type {string}
     * @description The system override time zone */
    overrideSystemTimeZoneId;
    /**
     * @type {string}
     * @description The system override date/time */
    overrideSystemDateTime;
    /**
     * @type {string}
     * @description The account ID of the system settings */
    accountId;
    /**
     * @type {SystemSettingsField[]}
     * @description The list of system settings fields */
    systemFields;
    /**
     * @type {CustomerDataField[]}
     * @description The list of customer fields */
    customerFields;
    /**
     * @type {EndpointDataField[]}
     * @description The list of endpoint fields */
    endpointFields;
    /**
     * @type {EmailAccount[]}
     * @description The list of email accounts */
    emailAccounts;
    /**
     * @type {Tag[]}
     * @description The list of tags */
    tags;
    /**
     * @type {string}
     * @description Documentation for the account */
    documentation;
    /**
     * @type {?number}
     * @description The number of days recordings are retained */
    recordingRetentionDays;
    /**
     * @type {?boolean}
     * @description Enable the SIP refer beta */
    enableSipRefer;
    /**
     * @type {?number}
     * @description The number of seconds after which we automatically logoff a not ready agent */
    autoAgentLogoffSeconds;
    /**
     * @type {?TwilioSipRegions}
     * @description The default SIP region for new devices */
    defaultSipRegion;
}

JavaScript PatchSystemSettings 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 /system/settings HTTP/1.1 
Host: team.evovoice.io 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"overrideSystemTime":false,"overrideSystemTimeZoneId":"String","overrideSystemDateTime":"String","accountId":"String","systemFields":[{"value":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}],"customerFields":[{"showInSearch":false,"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}],"endpointFields":[{"showInSearch":false,"showInLists":false,"endpointType":"PhoneNumber","isCallerId":false,"isKnob":false,"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}],"emailAccounts":[{"id":"String","server":"String","userName":"String","port":0,"emailAddress":"String","displayName":"String","password":"String"}],"tags":[{"id":"String","name":"String","color":"Magenta"}],"documentation":"String","recordingRetentionDays":0,"enableSipRefer":false,"autoAgentLogoffSeconds":0,"defaultSipRegion":"NorthAmericaVirginia"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"overrideSystemTime":false,"overrideSystemTimeZoneId":"String","overrideSystemDateTime":"String","systemFields":[{"value":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}],"customerFields":[{"showInSearch":false,"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}],"endpointFields":[{"showInSearch":false,"showInLists":false,"endpointType":"PhoneNumber","isCallerId":false,"isKnob":false,"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}],"emailAccounts":[{"id":"String","server":"String","userName":"String","port":0,"emailAddress":"String","displayName":"String","password":"String"}],"tags":[{"id":"String","name":"String","color":"Magenta"}],"documentation":"String","recordingRetentionDays":0,"enableSipRefer":false,"autoAgentLogoffSeconds":0,"defaultSipRegion":"NorthAmericaVirginia","id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}