GET | /integrations |
---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;
public class dtos
{
/**
* Retrieve integrations
*/
@Api(Description="Retrieve integrations")
public static class ListIntegrations extends ListRequest<IntegrationInfo>
{
/**
* Filter by accounts
*/
@ApiMember(Description="Filter by accounts")
public ArrayList<String> accountIds = null;
/**
* Filter by name
*/
@ApiMember(Description="Filter by name")
public String nameFilter = null;
/**
* The IDs of the parent customers you want to filter by
*/
@ApiMember(Description="The IDs of the parent customers you want to filter by")
public ArrayList<String> customerIds = null;
/**
* If you want a shall customer integration filter (e.g. no deep children)
*/
@ApiMember(Description="If you want a shall customer integration filter (e.g. no deep children)")
public Boolean shallowParent = null;
public ArrayList<String> getAccountIds() { return accountIds; }
public ListIntegrations setAccountIds(ArrayList<String> value) { this.accountIds = value; return this; }
public String getNameFilter() { return nameFilter; }
public ListIntegrations setNameFilter(String value) { this.nameFilter = value; return this; }
public ArrayList<String> getCustomerIds() { return customerIds; }
public ListIntegrations setCustomerIds(ArrayList<String> value) { this.customerIds = value; return this; }
public Boolean isShallowParent() { return shallowParent; }
public ListIntegrations setShallowParent(Boolean value) { this.shallowParent = value; return this; }
}
public static class ListRequest<T> implements IGet
{
/**
* The page of data to retrieve
*/
@ApiMember(Description="The page of data to retrieve")
public Integer page = null;
/**
* If you want all objects to be returned. This should be used with care
*/
@ApiMember(Description="If you want all objects to be returned. This should be used with care")
public Boolean all = null;
/**
* The number per page to retrieve
*/
@ApiMember(Description="The number per page to retrieve")
public Integer countPerPage = null;
/**
* Specific IDs
*/
@ApiMember(Description="Specific IDs")
public ArrayList<String> specificIds = null;
/**
* Specify a sort field
*/
@ApiMember(Description="Specify a sort field")
public String sortField = null;
/**
* Specify a sort order
*/
@ApiMember(Description="Specify a sort order")
public SortOrders sortOrder = null;
/**
* Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array
*/
@ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")
public Boolean simplifiedPaging = null;
public Integer getPage() { return page; }
public ListRequest<T> setPage(Integer value) { this.page = value; return this; }
public Boolean isAll() { return all; }
public ListRequest<T> setAll(Boolean value) { this.all = value; return this; }
public Integer getCountPerPage() { return countPerPage; }
public ListRequest<T> setCountPerPage(Integer value) { this.countPerPage = value; return this; }
public ArrayList<String> getSpecificIds() { return specificIds; }
public ListRequest<T> setSpecificIds(ArrayList<String> value) { this.specificIds = value; return this; }
public String getSortField() { return sortField; }
public ListRequest<T> setSortField(String value) { this.sortField = value; return this; }
public SortOrders getSortOrder() { return sortOrder; }
public ListRequest<T> setSortOrder(SortOrders value) { this.sortOrder = value; return this; }
public Boolean isSimplifiedPaging() { return simplifiedPaging; }
public ListRequest<T> setSimplifiedPaging(Boolean value) { this.simplifiedPaging = value; return this; }
}
public static enum SortOrders
{
Ascend,
Descend;
}
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;
}
public static class ListResponse<T>
{
/**
* The items
*/
@ApiMember(Description="The items")
public ArrayList<AccountInfo> items = null;
/**
* The total number of items
*/
@ApiMember(Description="The total number of items")
public Integer totalCount = null;
/**
* The total number of pages
*/
@ApiMember(Description="The total number of pages")
public Integer totalPages = null;
/**
* Are there more pages of items? Used with simplified paging
*/
@ApiMember(Description="Are there more pages of items? Used with simplified paging")
public Boolean hasMorePages = null;
public ArrayList<AccountInfo> getItems() { return items; }
public ListResponse<T> setItems(ArrayList<AccountInfo> value) { this.items = value; return this; }
public Integer getTotalCount() { return totalCount; }
public ListResponse<T> setTotalCount(Integer value) { this.totalCount = value; return this; }
public Integer getTotalPages() { return totalPages; }
public ListResponse<T> setTotalPages(Integer value) { this.totalPages = value; return this; }
public Boolean isHasMorePages() { return hasMorePages; }
public ListResponse<T> setHasMorePages(Boolean value) { this.hasMorePages = value; return this; }
}
public static class AccountInfo extends EntityInfo
{
/**
* The name of this account
*/
@ApiMember(Description="The name of this account")
public String name = null;
/**
* The ID of this account's parent
*/
@ApiMember(Description="The ID of this account's parent")
public String parentAccountId = null;
/**
* The twilio account SID
*/
@ApiMember(Description="The twilio account SID")
public String twilioAccountSid = null;
/**
* The ancestors of this account. Useful for breadcrumbs
*/
@ApiMember(Description="The ancestors of this account. Useful for breadcrumbs")
public ArrayList<String> ancestorIds = null;
/**
* The max number of phone numbers this account can have
*/
@ApiMember(Description="The max number of phone numbers this account can have")
public Integer maxPhoneNumbers = null;
/**
* This account is BYOA
*/
@ApiMember(Description="This account is BYOA")
public Boolean isBYOA = null;
/**
* TrustHub Profile Sid
*/
@ApiMember(Description="TrustHub Profile Sid")
public String trustHubProfileSid = null;
/**
* The ID of the logo file
*/
@ApiMember(Description="The ID of the logo file")
public String logoId = null;
/**
* The URI of the logo file
*/
@ApiMember(Description="The URI of the logo file")
public String logoUri = null;
/**
* The billing settings for this account
*/
@ApiMember(Description="The billing settings for this account")
public BillingSettings billingSettings = null;
public String getName() { return name; }
public AccountInfo setName(String value) { this.name = value; return this; }
public String getParentAccountId() { return parentAccountId; }
public AccountInfo setParentAccountId(String value) { this.parentAccountId = value; return this; }
public String getTwilioAccountSid() { return twilioAccountSid; }
public AccountInfo setTwilioAccountSid(String value) { this.twilioAccountSid = value; return this; }
public ArrayList<String> getAncestorIds() { return ancestorIds; }
public AccountInfo setAncestorIds(ArrayList<String> value) { this.ancestorIds = value; return this; }
public Integer getMaxPhoneNumbers() { return maxPhoneNumbers; }
public AccountInfo setMaxPhoneNumbers(Integer value) { this.maxPhoneNumbers = value; return this; }
public Boolean getIsBYOA() { return isBYOA; }
public AccountInfo setIsBYOA(Boolean value) { this.isBYOA = value; return this; }
public String getTrustHubProfileSid() { return trustHubProfileSid; }
public AccountInfo setTrustHubProfileSid(String value) { this.trustHubProfileSid = value; return this; }
public String getLogoId() { return logoId; }
public AccountInfo setLogoId(String value) { this.logoId = value; return this; }
public String getLogoUri() { return logoUri; }
public AccountInfo setLogoUri(String value) { this.logoUri = value; return this; }
public BillingSettings getBillingSettings() { return billingSettings; }
public AccountInfo setBillingSettings(BillingSettings value) { this.billingSettings = value; return this; }
}
public static class BillingSettings
{
public BillingItem base = null;
public BillingItem localNumbers = null;
public BillingItem tollFreeNumbers = null;
public BillingItem inboundVoiceCalls = null;
public BillingItem outboundVoiceCalls = null;
public BillingItem inboundFaxes = null;
public BillingItem outboundFaxes = null;
public BillingItem inboundSmsMessages = null;
public BillingItem outboundSmsMessages = null;
public BillingItem aiInsights = null;
public BillingItem aiLiveMinutes = null;
public BillingItem getBase() { return base; }
public BillingSettings setBase(BillingItem value) { this.base = value; return this; }
public BillingItem getLocalNumbers() { return localNumbers; }
public BillingSettings setLocalNumbers(BillingItem value) { this.localNumbers = value; return this; }
public BillingItem getTollFreeNumbers() { return tollFreeNumbers; }
public BillingSettings setTollFreeNumbers(BillingItem value) { this.tollFreeNumbers = value; return this; }
public BillingItem getInboundVoiceCalls() { return inboundVoiceCalls; }
public BillingSettings setInboundVoiceCalls(BillingItem value) { this.inboundVoiceCalls = value; return this; }
public BillingItem getOutboundVoiceCalls() { return outboundVoiceCalls; }
public BillingSettings setOutboundVoiceCalls(BillingItem value) { this.outboundVoiceCalls = value; return this; }
public BillingItem getInboundFaxes() { return inboundFaxes; }
public BillingSettings setInboundFaxes(BillingItem value) { this.inboundFaxes = value; return this; }
public BillingItem getOutboundFaxes() { return outboundFaxes; }
public BillingSettings setOutboundFaxes(BillingItem value) { this.outboundFaxes = value; return this; }
public BillingItem getInboundSmsMessages() { return inboundSmsMessages; }
public BillingSettings setInboundSmsMessages(BillingItem value) { this.inboundSmsMessages = value; return this; }
public BillingItem getOutboundSmsMessages() { return outboundSmsMessages; }
public BillingSettings setOutboundSmsMessages(BillingItem value) { this.outboundSmsMessages = value; return this; }
public BillingItem getAiInsights() { return aiInsights; }
public BillingSettings setAiInsights(BillingItem value) { this.aiInsights = value; return this; }
public BillingItem getAiLiveMinutes() { return aiLiveMinutes; }
public BillingSettings setAiLiveMinutes(BillingItem value) { this.aiLiveMinutes = value; return this; }
}
public static class BillingItem
{
public Double baseCost = null;
public Double rawUnitMultiplier = null;
public Double unitCost = null;
public Integer allowance = null;
public Double getBaseCost() { return baseCost; }
public BillingItem setBaseCost(Double value) { this.baseCost = value; return this; }
public Double getRawUnitMultiplier() { return rawUnitMultiplier; }
public BillingItem setRawUnitMultiplier(Double value) { this.rawUnitMultiplier = value; return this; }
public Double getUnitCost() { return unitCost; }
public BillingItem setUnitCost(Double value) { this.unitCost = value; return this; }
public Integer getAllowance() { return allowance; }
public BillingItem setAllowance(Integer value) { this.allowance = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /integrations HTTP/1.1 Host: team.evovoice.io Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"items":[{"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"}],"totalCount":0,"totalPages":0,"hasMorePages":false}