GET | /integrations/{integrationId} |
---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
/**
* Get a specific integration
*/
@Api(Description="Get a specific integration")
public static class GetIntegration implements IGet
{
/**
* The ID of the integration you want to get
*/
@ApiMember(Description="The ID of the integration you want to get")
public String integrationId = null;
public String getIntegrationId() { return integrationId; }
public GetIntegration setIntegrationId(String value) { this.integrationId = value; return this; }
}
public static class IntegrationInfo extends EntityInfo
{
/**
* The ID of the account associated with this integration
*/
@ApiMember(Description="The ID of the account associated with this integration")
public String accountId = null;
/**
* The ID of the customer this integration is associated with
*/
@ApiMember(Description="The ID of the customer this integration is associated with")
public String customerId = null;
/**
* The name of the customer this integration is associated with
*/
@ApiMember(Description="The name of the customer this integration is associated with")
public String customerName = null;
/**
* The date the integration was sync'd last
*/
@ApiMember(Description="The date the integration was sync'd last")
public String dateLastSync = null;
/**
* The breadcrumb to the customer for this integration
*/
@ApiMember(Description="The breadcrumb to the customer for this integration")
public ArrayList<CustomerBreadcrumb> customerBreadcrumb = null;
/**
* The name of the integration (e.g. HostedSuite Dallas)
*/
@ApiMember(Description="The name of the integration (e.g. HostedSuite Dallas)")
public String name = null;
/**
* Automatically create new customers / users when sync'ing with CRM?
*/
@ApiMember(Description="Automatically create new customers / users when sync'ing with CRM?")
public Boolean automaticallyCreateCustomers = null;
/**
* The type of integration
*/
@ApiMember(Description="The type of integration")
public IntegrationTypes type = null;
/**
* The status of the integration
*/
@ApiMember(Description="The status of the integration")
public IntegrationStatuses status = null;
/**
* The status of the integration
*/
@ApiMember(Description="The status of the integration")
public String statusMessage = null;
/**
* The settings type for this integration
*/
@ApiMember(Description="The settings type for this integration")
public DataType settingsDataType = null;
/**
* The settings for this integration
*/
@ApiMember(Description="The settings for this integration")
public Struct settings = null;
/**
* The features supported by this integration
*/
@ApiMember(Description="The features supported by this integration")
public ArrayList<IntegrationFeatures> features = null;
/**
* Is this integration authorized (OAuth)?
*/
@ApiMember(Description="Is this integration authorized (OAuth)?")
public Boolean isAuthorized = null;
public String getAccountId() { return accountId; }
public IntegrationInfo setAccountId(String value) { this.accountId = value; return this; }
public String getCustomerId() { return customerId; }
public IntegrationInfo setCustomerId(String value) { this.customerId = value; return this; }
public String getCustomerName() { return customerName; }
public IntegrationInfo setCustomerName(String value) { this.customerName = value; return this; }
public String getDateLastSync() { return dateLastSync; }
public IntegrationInfo setDateLastSync(String value) { this.dateLastSync = value; return this; }
public ArrayList<CustomerBreadcrumb> getCustomerBreadcrumb() { return customerBreadcrumb; }
public IntegrationInfo setCustomerBreadcrumb(ArrayList<CustomerBreadcrumb> value) { this.customerBreadcrumb = value; return this; }
public String getName() { return name; }
public IntegrationInfo setName(String value) { this.name = value; return this; }
public Boolean isAutomaticallyCreateCustomers() { return automaticallyCreateCustomers; }
public IntegrationInfo setAutomaticallyCreateCustomers(Boolean value) { this.automaticallyCreateCustomers = value; return this; }
public IntegrationTypes getType() { return type; }
public IntegrationInfo setType(IntegrationTypes value) { this.type = value; return this; }
public IntegrationStatuses getStatus() { return status; }
public IntegrationInfo setStatus(IntegrationStatuses value) { this.status = value; return this; }
public String getStatusMessage() { return statusMessage; }
public IntegrationInfo setStatusMessage(String value) { this.statusMessage = value; return this; }
public DataType getSettingsDataType() { return settingsDataType; }
public IntegrationInfo setSettingsDataType(DataType value) { this.settingsDataType = value; return this; }
public Struct getSettings() { return settings; }
public IntegrationInfo setSettings(Struct value) { this.settings = value; return this; }
public ArrayList<IntegrationFeatures> getFeatures() { return features; }
public IntegrationInfo setFeatures(ArrayList<IntegrationFeatures> value) { this.features = value; return this; }
public Boolean getIsAuthorized() { return isAuthorized; }
public IntegrationInfo setIsAuthorized(Boolean value) { this.isAuthorized = 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 CustomerBreadcrumb
{
public String id = null;
public String name = null;
public String getId() { return id; }
public CustomerBreadcrumb setId(String value) { this.id = value; return this; }
public String getName() { return name; }
public CustomerBreadcrumb setName(String value) { this.name = value; return this; }
}
public static enum IntegrationTypes
{
HostedSuite,
OfficeRnd,
Zoho;
}
public static enum IntegrationStatuses
{
NotConfigured,
Error,
Ok;
}
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 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 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 enum IntegrationFeatures
{
CrmSync,
OAuth2;
}
}
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 /integrations/{integrationId} HTTP/1.1 Host: team.evovoice.io Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { accountId: String, customerId: String, customerName: String, dateLastSync: String, customerBreadcrumb: [ { id: String, name: String } ], name: String, automaticallyCreateCustomers: False, type: HostedSuite, status: NotConfigured, statusMessage: String, features: [ CrmSync ], isAuthorized: False, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String }