| Requires any of the roles: | SystemAdministrator, Manager, Customer |
| GET | /system/settings |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.Settings;
using Voice.Api;
using Voice.Api.Flows.Data;
using Voice.Api.Endpoints;
namespace Voice.Api
{
public partial class EntityInfo
{
///<summary>
///The ID of the object
///</summary>
[ApiMember(Description="The ID of the object")]
public virtual string Id { get; set; }
///<summary>
///The date the object was created
///</summary>
[ApiMember(Description="The date the object was created")]
public virtual string DateCreated { get; set; }
///<summary>
///The date the object was last modified
///</summary>
[ApiMember(Description="The date the object was last modified")]
public virtual string DateLastModified { get; set; }
///<summary>
///The user that created this object
///</summary>
[ApiMember(Description="The user that created this object")]
public virtual string CreatedBy { get; set; }
///<summary>
///The user that last modified this object
///</summary>
[ApiMember(Description="The user that last modified this object")]
public virtual string LastModifiedBy { 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 TwilioSipRegions
{
NorthAmericaVirginia,
NorthAmericaOregon,
EuropeIreland,
EuropeFrankfurt,
AsiaPacificSingapore,
AsiaPacificTokyo,
AsiaPacificSydney,
SouthAmericaSanPaolo,
}
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,
}
}
namespace Voice.Api.Settings
{
public partial class CustomerDataField
: DataField
{
public virtual bool ShowInSearch { get; set; }
}
public partial class EmailAccount
{
public virtual string Id { get; set; }
public virtual string Server { get; set; }
public virtual string UserName { get; set; }
public virtual int Port { get; set; }
public virtual string EmailAddress { get; set; }
public virtual string DisplayName { get; set; }
public virtual string Password { get; set; }
}
public partial class EndpointDataField
: DataField
{
public virtual bool ShowInSearch { get; set; }
public virtual bool ShowInLists { get; set; }
public virtual EndpointTypes? EndpointType { get; set; }
public virtual bool IsCallerId { get; set; }
public virtual bool IsKnob { get; set; }
}
///<summary>
///Gets the system settings
///</summary>
[Api(Description="Gets the system settings")]
public partial class GetSystemSettings
: IGet
{
///<summary>
///The account ID whose system settings you want
///</summary>
[ApiMember(Description="The account ID whose system settings you want")]
public virtual string AccountId { get; set; }
}
public partial class SystemSettingsField
: DataField
{
public virtual Value Value { get; set; }
}
public partial class SystemSettingsInfo
: EntityInfo
{
///<summary>
///Use to override the system time for testing
///</summary>
[ApiMember(Description="Use to override the system time for testing")]
public virtual bool OverrideSystemTime { get; set; }
///<summary>
///The system override time zone
///</summary>
[ApiMember(Description="The system override time zone")]
public virtual string OverrideSystemTimeZoneId { get; set; }
///<summary>
///The system override date/time
///</summary>
[ApiMember(Description="The system override date/time")]
public virtual string OverrideSystemDateTime { get; set; }
///<summary>
///The list of system settings fields
///</summary>
[ApiMember(Description="The list of system settings fields")]
public virtual List<SystemSettingsField> SystemFields { get; set; }
///<summary>
///The list of customer metadata fields
///</summary>
[ApiMember(Description="The list of customer metadata fields")]
public virtual List<CustomerDataField> CustomerFields { get; set; }
///<summary>
///The list of endpoint metadata fields
///</summary>
[ApiMember(Description="The list of endpoint metadata fields")]
public virtual List<EndpointDataField> EndpointFields { get; set; }
///<summary>
///The list of email accounts
///</summary>
[ApiMember(Description="The list of email accounts")]
public virtual List<EmailAccount> EmailAccounts { get; set; }
///<summary>
///The list of tags in the system
///</summary>
[ApiMember(Description="The list of tags in the system")]
public virtual List<Tag> Tags { get; set; }
///<summary>
///Documentation for the account
///</summary>
[ApiMember(Description="Documentation for the account")]
public virtual string Documentation { get; set; }
///<summary>
///The number of days recordings are retained
///</summary>
[ApiMember(Description="The number of days recordings are retained")]
public virtual int RecordingRetentionDays { get; set; }
///<summary>
///Enable the SIP refer beta
///</summary>
[ApiMember(Description="Enable the SIP refer beta")]
public virtual bool EnableSipRefer { get; set; }
///<summary>
///The number of seconds after which we automatically logoff a not ready agent
///</summary>
[ApiMember(Description="The number of seconds after which we automatically logoff a not ready agent")]
public virtual int AutoAgentLogoffSeconds { get; set; }
///<summary>
///The default SIP region for new devices
///</summary>
[ApiMember(Description="The default SIP region for new devices")]
public virtual TwilioSipRegions? DefaultSipRegion { get; set; }
}
public partial class Tag
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
public virtual TagColors Color { get; set; }
}
public enum TagColors
{
Magenta,
Red,
Volcano,
Orange,
Gold,
Lime,
Green,
Cyan,
Blue,
GeekBlue,
Purple,
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /system/settings HTTP/1.1 Host: evovoice.io Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}