Evo Voice

<back to all web services

PatchSettingsObject

Update the specified settings object

Requires Authentication
Required role:User
The following routes are available for this service:
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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<PatchSettingsObject xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.App">
  <Data xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
  <Id>String</Id>
</PatchSettingsObject>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SettingsObject xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.App">
  <Description>String</Description>
  <EndpointType>PhoneNumber</EndpointType>
  <Fields>
    <SettingsField>
      <DataField xmlns:d4p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data" i:nil="true" />
      <DisplayName>String</DisplayName>
      <Name>String</Name>
      <PossibleValues>
        <SettingsPossibleValue>
          <DisplayName>String</DisplayName>
          <Value xmlns:d6p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">
            <d6p1:BoolValue>false</d6p1:BoolValue>
            <d6p1:ListValue xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:ArrayOfKeyValueOfstringValue8Ahp2kgT i:nil="true" />
            </d6p1:ListValue>
            <d6p1:NumberValue>0</d6p1:NumberValue>
            <d6p1:StringValue>String</d6p1:StringValue>
            <d6p1:StructValue xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
          </Value>
        </SettingsPossibleValue>
      </PossibleValues>
      <ReadOnly>false</ReadOnly>
      <Type>NotSpecified</Type>
      <Value xmlns:d4p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">
        <d4p1:BoolValue>false</d4p1:BoolValue>
        <d4p1:ListValue xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:ArrayOfKeyValueOfstringValue8Ahp2kgT i:nil="true" />
        </d4p1:ListValue>
        <d4p1:NumberValue>0</d4p1:NumberValue>
        <d4p1:StringValue>String</d4p1:StringValue>
        <d4p1:StructValue xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
      </Value>
    </SettingsField>
  </Fields>
  <Id>String</Id>
  <Name>String</Name>
  <ReadOnly>false</ReadOnly>
  <Type>Endpoint</Type>
</SettingsObject>