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}
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.App;
using Voice.Api.Flows.Data;
using Voice.Api.Endpoints;

namespace Voice.Api.App
{
    ///<summary>
    ///Update the specified settings object
    ///</summary>
    [Api(Description="Update the specified settings object")]
    public partial class PatchSettingsObject
        : IPatch
    {
        ///<summary>
        ///The ID of the settings object
        ///</summary>
        [ApiMember(Description="The ID of the settings object")]
        public virtual string Id { get; set; }

        ///<summary>
        ///The data values to set
        ///</summary>
        [ApiMember(Description="The data values to set")]
        public virtual Struct Data { get; set; }
    }

    public partial class SettingsField
    {
        public virtual string Name { get; set; }
        public virtual string DisplayName { get; set; }
        public virtual ValueTypes Type { get; set; }
        public virtual Value Value { get; set; }
        public virtual bool ReadOnly { get; set; }
        public virtual List<SettingsPossibleValue> PossibleValues { get; set; }
        public virtual DataField DataField { get; set; }
    }

    public partial class SettingsObject
    {
        public virtual string Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual bool ReadOnly { get; set; }
        public virtual SettingsObjectTypes Type { get; set; }
        public virtual EndpointTypes? EndpointType { get; set; }
        public virtual List<SettingsField> Fields { get; set; }
    }

    public enum SettingsObjectTypes
    {
        Endpoint,
        Customer,
    }

    public partial class SettingsPossibleValue
    {
        public virtual string DisplayName { get; set; }
        public virtual Value Value { get; set; }
    }

}

namespace Voice.Api.Endpoints
{
    public enum EndpointTypes
    {
        PhoneNumber,
        User,
        FaxNumber,
        EmailAddress,
        Unused_1,
        Unused_2,
        Unused_3,
        Unused_4,
        Unused_5,
        Team,
        Assistant,
    }

    public enum UserDataFieldModes
    {
        Hidden,
        ReadOnly,
        ReadWrite,
    }

}

namespace Voice.Api.Flows.Data
{
    public partial class DataField
    {
        public virtual string Id { get; set; }
        public virtual string Name { get; set; }
        public virtual ValueTypes Type { get; set; }
        public virtual UIHints UIHint { get; set; }
        public virtual string UITab { get; set; }
        public virtual bool IsAsync { get; set; }
        public virtual bool DisableBinding { get; set; }
        public virtual DataType StructType { get; set; }
        public virtual DataType ListType { get; set; }
        public virtual string Description { get; set; }
        public virtual List<string> PossibleValues { get; set; }
        public virtual bool IsOutput { get; set; }
        public virtual string CustomFieldValuesUrl { get; set; }
        public virtual Value DefaultValue { get; set; }
        public virtual string TransitionNameFormat { get; set; }
        public virtual DataFieldUniqueness Uniqueness { get; set; }
        public virtual bool VoiceOnly { get; set; }
        public virtual string ConditionalVisibilityField { get; set; }
        public virtual string ConditionalVisibilityValue { get; set; }
        public virtual bool NoEvalTemplate { get; set; }
        public virtual UserDataFieldModes UserMode { get; set; }
        public virtual bool AnyValueType { get; set; }
    }

    public enum DataFieldUniqueness
    {
        NotUnique,
        Unique,
        UniqueToCustomer,
    }

    public partial class DataType
    {
        public virtual string TypeName { get; set; }
        public virtual List<DataField> Fields { get; set; }
    }

    public partial class Struct
        : Dictionary<string, Value>
    {
    }

    public enum UIHints
    {
        None,
        LargeText,
        InlineForm,
        Password,
        InlineStruct,
    }

    public partial class Value
    {
        public virtual bool? BoolValue { get; set; }
        public virtual string StringValue { get; set; }
        public virtual double? NumberValue { get; set; }
        public virtual List<Struct> ListValue { get; set; }
        public virtual Struct StructValue { get; set; }
    }

    public enum ValueTypes
    {
        NotSpecified,
        String,
        Boolean,
        Number,
        List,
        Struct,
        Transition,
        Custom,
        Date,
        AudioFile,
        TimeZoneId,
        PhoneNumber,
        User,
        Endpoint,
        Time,
        File,
        FaxNumber,
        EmailAccount,
        Customer,
        Flow,
        Team,
        FlowReference,
        Integration,
        Assistant,
    }

}

C# 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>