Requires any of the roles: | SystemAdministrator, Manager, Customer |
GET | /system/settings |
---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
/**
* Gets the system settings
*/
@Api(Description="Gets the system settings")
public static class GetSystemSettings implements IGet
{
/**
* The account ID whose system settings you want
*/
@ApiMember(Description="The account ID whose system settings you want")
public String accountId = null;
public String getAccountId() { return accountId; }
public GetSystemSettings setAccountId(String value) { this.accountId = value; return this; }
}
public static class SystemSettingsInfo extends EntityInfo
{
/**
* Use to override the system time for testing
*/
@ApiMember(Description="Use to override the system time for testing")
public Boolean overrideSystemTime = null;
/**
* The system override time zone
*/
@ApiMember(Description="The system override time zone")
public String overrideSystemTimeZoneId = null;
/**
* The system override date/time
*/
@ApiMember(Description="The system override date/time")
public String overrideSystemDateTime = null;
/**
* The list of system settings fields
*/
@ApiMember(Description="The list of system settings fields")
public ArrayList<SystemSettingsField> systemFields = null;
/**
* The list of customer metadata fields
*/
@ApiMember(Description="The list of customer metadata fields")
public ArrayList<CustomerDataField> customerFields = null;
/**
* The list of endpoint metadata fields
*/
@ApiMember(Description="The list of endpoint metadata fields")
public ArrayList<EndpointDataField> endpointFields = null;
/**
* The list of email accounts
*/
@ApiMember(Description="The list of email accounts")
public ArrayList<EmailAccount> emailAccounts = null;
/**
* The list of tags in the system
*/
@ApiMember(Description="The list of tags in the system")
public ArrayList<Tag> tags = null;
/**
* Documentation for the account
*/
@ApiMember(Description="Documentation for the account")
public String documentation = null;
/**
* The number of days recordings are retained
*/
@ApiMember(Description="The number of days recordings are retained")
public Integer recordingRetentionDays = null;
/**
* Enable the SIP refer beta
*/
@ApiMember(Description="Enable the SIP refer beta")
public Boolean enableSipRefer = null;
/**
* The number of seconds after which we automatically logoff a not ready agent
*/
@ApiMember(Description="The number of seconds after which we automatically logoff a not ready agent")
public Integer autoAgentLogoffSeconds = null;
/**
* The default SIP region for new devices
*/
@ApiMember(Description="The default SIP region for new devices")
public TwilioSipRegions defaultSipRegion = null;
public Boolean isOverrideSystemTime() { return overrideSystemTime; }
public SystemSettingsInfo setOverrideSystemTime(Boolean value) { this.overrideSystemTime = value; return this; }
public String getOverrideSystemTimeZoneId() { return overrideSystemTimeZoneId; }
public SystemSettingsInfo setOverrideSystemTimeZoneId(String value) { this.overrideSystemTimeZoneId = value; return this; }
public String getOverrideSystemDateTime() { return overrideSystemDateTime; }
public SystemSettingsInfo setOverrideSystemDateTime(String value) { this.overrideSystemDateTime = value; return this; }
public ArrayList<SystemSettingsField> getSystemFields() { return systemFields; }
public SystemSettingsInfo setSystemFields(ArrayList<SystemSettingsField> value) { this.systemFields = value; return this; }
public ArrayList<CustomerDataField> getCustomerFields() { return customerFields; }
public SystemSettingsInfo setCustomerFields(ArrayList<CustomerDataField> value) { this.customerFields = value; return this; }
public ArrayList<EndpointDataField> getEndpointFields() { return endpointFields; }
public SystemSettingsInfo setEndpointFields(ArrayList<EndpointDataField> value) { this.endpointFields = value; return this; }
public ArrayList<EmailAccount> getEmailAccounts() { return emailAccounts; }
public SystemSettingsInfo setEmailAccounts(ArrayList<EmailAccount> value) { this.emailAccounts = value; return this; }
public ArrayList<Tag> getTags() { return tags; }
public SystemSettingsInfo setTags(ArrayList<Tag> value) { this.tags = value; return this; }
public String getDocumentation() { return documentation; }
public SystemSettingsInfo setDocumentation(String value) { this.documentation = value; return this; }
public Integer getRecordingRetentionDays() { return recordingRetentionDays; }
public SystemSettingsInfo setRecordingRetentionDays(Integer value) { this.recordingRetentionDays = value; return this; }
public Boolean isEnableSipRefer() { return enableSipRefer; }
public SystemSettingsInfo setEnableSipRefer(Boolean value) { this.enableSipRefer = value; return this; }
public Integer getAutoAgentLogoffSeconds() { return autoAgentLogoffSeconds; }
public SystemSettingsInfo setAutoAgentLogoffSeconds(Integer value) { this.autoAgentLogoffSeconds = value; return this; }
public TwilioSipRegions getDefaultSipRegion() { return defaultSipRegion; }
public SystemSettingsInfo setDefaultSipRegion(TwilioSipRegions value) { this.defaultSipRegion = value; return this; }
}
public static class EntityInfo
{
/**
* The ID of the object
*/
@ApiMember(Description="The ID of the object")
public String id = null;
/**
* The date the object was created
*/
@ApiMember(Description="The date the object was created")
public String dateCreated = null;
/**
* The date the object was last modified
*/
@ApiMember(Description="The date the object was last modified")
public String dateLastModified = null;
/**
* The user that created this object
*/
@ApiMember(Description="The user that created this object")
public String createdBy = null;
/**
* The user that last modified this object
*/
@ApiMember(Description="The user that last modified this object")
public String lastModifiedBy = null;
public String getId() { return id; }
public EntityInfo setId(String value) { this.id = value; return this; }
public String getDateCreated() { return dateCreated; }
public EntityInfo setDateCreated(String value) { this.dateCreated = value; return this; }
public String getDateLastModified() { return dateLastModified; }
public EntityInfo setDateLastModified(String value) { this.dateLastModified = value; return this; }
public String getCreatedBy() { return createdBy; }
public EntityInfo setCreatedBy(String value) { this.createdBy = value; return this; }
public String getLastModifiedBy() { return lastModifiedBy; }
public EntityInfo setLastModifiedBy(String value) { this.lastModifiedBy = value; return this; }
}
public static class SystemSettingsField extends DataField
{
public Value value = null;
public Value getValue() { return value; }
public SystemSettingsField setValue(Value value) { this.value = value; return this; }
}
public static class DataField
{
public String id = null;
public String name = null;
public ValueTypes type = null;
public UIHints uiHint = null;
public String uiTab = null;
public Boolean isAsync = null;
public Boolean disableBinding = null;
public DataType structType = null;
public DataType listType = null;
public String description = null;
public ArrayList<String> possibleValues = null;
public Boolean isOutput = null;
public String customFieldValuesUrl = null;
public Value defaultValue = null;
public String transitionNameFormat = null;
public DataFieldUniqueness uniqueness = null;
public Boolean voiceOnly = null;
public String conditionalVisibilityField = null;
public String conditionalVisibilityValue = null;
public Boolean noEvalTemplate = null;
public UserDataFieldModes userMode = null;
public Boolean anyValueType = null;
public String getId() { return id; }
public DataField setId(String value) { this.id = value; return this; }
public String getName() { return name; }
public DataField setName(String value) { this.name = value; return this; }
public ValueTypes getType() { return type; }
public DataField setType(ValueTypes value) { this.type = value; return this; }
public UIHints getUiHint() { return uiHint; }
public DataField setUiHint(UIHints value) { this.uiHint = value; return this; }
public String getUiTab() { return uiTab; }
public DataField setUiTab(String value) { this.uiTab = value; return this; }
public Boolean getIsAsync() { return isAsync; }
public DataField setIsAsync(Boolean value) { this.isAsync = value; return this; }
public Boolean isDisableBinding() { return disableBinding; }
public DataField setDisableBinding(Boolean value) { this.disableBinding = value; return this; }
public DataType getStructType() { return structType; }
public DataField setStructType(DataType value) { this.structType = value; return this; }
public DataType getListType() { return listType; }
public DataField setListType(DataType value) { this.listType = value; return this; }
public String getDescription() { return description; }
public DataField setDescription(String value) { this.description = value; return this; }
public ArrayList<String> getPossibleValues() { return possibleValues; }
public DataField setPossibleValues(ArrayList<String> value) { this.possibleValues = value; return this; }
public Boolean getIsOutput() { return isOutput; }
public DataField setIsOutput(Boolean value) { this.isOutput = value; return this; }
public String getCustomFieldValuesUrl() { return customFieldValuesUrl; }
public DataField setCustomFieldValuesUrl(String value) { this.customFieldValuesUrl = value; return this; }
public Value getDefaultValue() { return defaultValue; }
public DataField setDefaultValue(Value value) { this.defaultValue = value; return this; }
public String getTransitionNameFormat() { return transitionNameFormat; }
public DataField setTransitionNameFormat(String value) { this.transitionNameFormat = value; return this; }
public DataFieldUniqueness getUniqueness() { return uniqueness; }
public DataField setUniqueness(DataFieldUniqueness value) { this.uniqueness = value; return this; }
public Boolean isVoiceOnly() { return voiceOnly; }
public DataField setVoiceOnly(Boolean value) { this.voiceOnly = value; return this; }
public String getConditionalVisibilityField() { return conditionalVisibilityField; }
public DataField setConditionalVisibilityField(String value) { this.conditionalVisibilityField = value; return this; }
public String getConditionalVisibilityValue() { return conditionalVisibilityValue; }
public DataField setConditionalVisibilityValue(String value) { this.conditionalVisibilityValue = value; return this; }
public Boolean isNoEvalTemplate() { return noEvalTemplate; }
public DataField setNoEvalTemplate(Boolean value) { this.noEvalTemplate = value; return this; }
public UserDataFieldModes getUserMode() { return userMode; }
public DataField setUserMode(UserDataFieldModes value) { this.userMode = value; return this; }
public Boolean isAnyValueType() { return anyValueType; }
public DataField setAnyValueType(Boolean value) { this.anyValueType = value; return this; }
}
public static 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;
}
public static enum UIHints
{
None,
LargeText,
InlineForm,
Password,
InlineStruct;
}
public static class DataType
{
public String typeName = null;
public ArrayList<DataField> fields = null;
public String getTypeName() { return typeName; }
public DataType setTypeName(String value) { this.typeName = value; return this; }
public ArrayList<DataField> getFields() { return fields; }
public DataType setFields(ArrayList<DataField> value) { this.fields = value; return this; }
}
public static class Value
{
public Boolean boolValue = null;
public String stringValue = null;
public Double numberValue = null;
public ArrayList<Struct> listValue = null;
public Struct structValue = null;
public Boolean isBoolValue() { return boolValue; }
public Value setBoolValue(Boolean value) { this.boolValue = value; return this; }
public String getStringValue() { return stringValue; }
public Value setStringValue(String value) { this.stringValue = value; return this; }
public Double getNumberValue() { return numberValue; }
public Value setNumberValue(Double value) { this.numberValue = value; return this; }
public ArrayList<Struct> getListValue() { return listValue; }
public Value setListValue(ArrayList<Struct> value) { this.listValue = value; return this; }
public Struct getStructValue() { return structValue; }
public Value setStructValue(Struct value) { this.structValue = value; return this; }
}
public static class Struct extends HashMap<String,Value>
{
}
public static enum DataFieldUniqueness
{
NotUnique,
Unique,
UniqueToCustomer;
}
public static enum UserDataFieldModes
{
Hidden,
ReadOnly,
ReadWrite;
}
public static class CustomerDataField extends DataField
{
public Boolean showInSearch = null;
public Boolean isShowInSearch() { return showInSearch; }
public CustomerDataField setShowInSearch(Boolean value) { this.showInSearch = value; return this; }
}
public static class EndpointDataField extends DataField
{
public Boolean showInSearch = null;
public Boolean showInLists = null;
public EndpointTypes endpointType = null;
public Boolean isCallerId = null;
public Boolean isKnob = null;
public Boolean isShowInSearch() { return showInSearch; }
public EndpointDataField setShowInSearch(Boolean value) { this.showInSearch = value; return this; }
public Boolean isShowInLists() { return showInLists; }
public EndpointDataField setShowInLists(Boolean value) { this.showInLists = value; return this; }
public EndpointTypes getEndpointType() { return endpointType; }
public EndpointDataField setEndpointType(EndpointTypes value) { this.endpointType = value; return this; }
public Boolean getIsCallerId() { return isCallerId; }
public EndpointDataField setIsCallerId(Boolean value) { this.isCallerId = value; return this; }
public Boolean getIsKnob() { return isKnob; }
public EndpointDataField setIsKnob(Boolean value) { this.isKnob = value; return this; }
}
public static enum EndpointTypes
{
PhoneNumber,
User,
FaxNumber,
EmailAddress,
Unused1,
Unused2,
Unused3,
Unused4,
Unused5,
Team,
Assistant;
}
public static class EmailAccount
{
public String id = null;
public String server = null;
public String userName = null;
public Integer port = null;
public String emailAddress = null;
public String displayName = null;
public String password = null;
public String getId() { return id; }
public EmailAccount setId(String value) { this.id = value; return this; }
public String getServer() { return server; }
public EmailAccount setServer(String value) { this.server = value; return this; }
public String getUserName() { return userName; }
public EmailAccount setUserName(String value) { this.userName = value; return this; }
public Integer getPort() { return port; }
public EmailAccount setPort(Integer value) { this.port = value; return this; }
public String getEmailAddress() { return emailAddress; }
public EmailAccount setEmailAddress(String value) { this.emailAddress = value; return this; }
public String getDisplayName() { return displayName; }
public EmailAccount setDisplayName(String value) { this.displayName = value; return this; }
public String getPassword() { return password; }
public EmailAccount setPassword(String value) { this.password = value; return this; }
}
public static class Tag
{
public String id = null;
public String name = null;
public TagColors color = null;
public String getId() { return id; }
public Tag setId(String value) { this.id = value; return this; }
public String getName() { return name; }
public Tag setName(String value) { this.name = value; return this; }
public TagColors getColor() { return color; }
public Tag setColor(TagColors value) { this.color = value; return this; }
}
public static enum TagColors
{
Magenta,
Red,
Volcano,
Orange,
Gold,
Lime,
Green,
Cyan,
Blue,
GeekBlue,
Purple;
}
public static enum TwilioSipRegions
{
NorthAmericaVirginia,
NorthAmericaOregon,
EuropeIreland,
EuropeFrankfurt,
AsiaPacificSingapore,
AsiaPacificTokyo,
AsiaPacificSydney,
SouthAmericaSanPaolo;
}
}
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: team.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 }