Required role: | User |
PATCH | /app/settings-objects/{id} |
---|
"use strict";
/** @typedef {'Endpoint'|'Customer'} */
export var SettingsObjectTypes;
(function (SettingsObjectTypes) {
SettingsObjectTypes["Endpoint"] = "Endpoint"
SettingsObjectTypes["Customer"] = "Customer"
})(SettingsObjectTypes || (SettingsObjectTypes = {}));
/** @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 = {}));
/** @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 = {}));
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 SettingsPossibleValue {
/** @param {{displayName?:string,value?:Value}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
displayName;
/** @type {Value} */
value;
}
/** @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;
}
/** @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 SettingsField {
/** @param {{name?:string,displayName?:string,type?:ValueTypes,value?:Value,readOnly?:boolean,possibleValues?:SettingsPossibleValue[],dataField?:DataField}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
name;
/** @type {string} */
displayName;
/** @type {ValueTypes} */
type;
/** @type {Value} */
value;
/** @type {boolean} */
readOnly;
/** @type {SettingsPossibleValue[]} */
possibleValues;
/** @type {DataField} */
dataField;
}
export class SettingsObject {
/** @param {{id?:string,name?:string,description?:string,readOnly?:boolean,type?:SettingsObjectTypes,endpointType?:EndpointTypes,fields?:SettingsField[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
/** @type {string} */
description;
/** @type {boolean} */
readOnly;
/** @type {SettingsObjectTypes} */
type;
/** @type {?EndpointTypes} */
endpointType;
/** @type {SettingsField[]} */
fields;
}
export class PatchSettingsObject {
/** @param {{id?:string,data?:Struct}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The ID of the settings object */
id;
/**
* @type {Struct}
* @description The data values to set */
data;
}
JavaScript PatchSettingsObject DTOs
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.
PATCH /app/settings-objects/{id} HTTP/1.1
Host: team.evovoice.io
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"id":"String"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"id":"String","name":"String","description":"String","readOnly":false,"type":"Endpoint","endpointType":"PhoneNumber","fields":[{"name":"String","displayName":"String","type":"NotSpecified","value":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]},"readOnly":false,"possibleValues":[{"displayName":"String","value":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}]}]}