/* Options: Date: 2025-05-04 23:11:36 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ListIntegrations.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* /** * Retrieve integrations */ @Route(Path="/integrations", Verbs="GET") @Api(Description="Retrieve integrations") open class ListIntegrations : ListRequest(), IReturn> { /** * Filter by accounts */ @ApiMember(Description="Filter by accounts") open var accountIds:ArrayList? = null /** * Filter by name */ @ApiMember(Description="Filter by name") open var nameFilter:String? = 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") open var customerIds:ArrayList? = 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)") open var shallowParent:Boolean? = null companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = ListIntegrations.responseType } open class ListResponse { /** * The items */ @ApiMember(Description="The items") open var items:ArrayList? = null /** * The total number of items */ @ApiMember(Description="The total number of items") open var totalCount:Int? = null /** * The total number of pages */ @ApiMember(Description="The total number of pages") open var totalPages:Int? = null /** * Are there more pages of items? Used with simplified paging */ @ApiMember(Description="Are there more pages of items? Used with simplified paging") open var hasMorePages:Boolean? = null } enum class SortOrders { Ascend, Descend, } open class ListRequest : IGet { /** * The page of data to retrieve */ @ApiMember(Description="The page of data to retrieve") open var page:Int? = 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") open var all:Boolean? = null /** * The number per page to retrieve */ @ApiMember(Description="The number per page to retrieve") open var countPerPage:Int? = null /** * Specific IDs */ @ApiMember(Description="Specific IDs") open var specificIds:ArrayList? = null /** * Specify a sort field */ @ApiMember(Description="Specify a sort field") open var sortField:String? = null /** * Specify a sort order */ @ApiMember(Description="Specify a sort order") open var sortOrder:SortOrders? = 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") open var simplifiedPaging:Boolean? = null } open class Struct : HashMap() { } enum class UserDataFieldModes { Hidden, ReadOnly, ReadWrite, } enum class 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, } enum class IntegrationTypes { HostedSuite, OfficeRnd, Zoho, } open class EntityInfo { /** * The ID of the object */ @ApiMember(Description="The ID of the object") open var id:String? = null /** * The date the object was created */ @ApiMember(Description="The date the object was created") open var dateCreated:String? = null /** * The date the object was last modified */ @ApiMember(Description="The date the object was last modified") open var dateLastModified:String? = null /** * The user that created this object */ @ApiMember(Description="The user that created this object") open var createdBy:String? = null /** * The user that last modified this object */ @ApiMember(Description="The user that last modified this object") open var lastModifiedBy:String? = null } open class CustomerBreadcrumb { open var id:String? = null open var name:String? = null } enum class IntegrationStatuses { NotConfigured, Error, Ok, } open class DataType { open var typeName:String? = null open var fields:ArrayList? = null } enum class IntegrationFeatures { CrmSync, OAuth2, } open class Value { open var boolValue:Boolean? = null open var stringValue:String? = null open var numberValue:Double? = null open var listValue:ArrayList? = null open var structValue:Struct? = null } enum class UIHints { None, LargeText, InlineForm, Password, InlineStruct, } enum class DataFieldUniqueness { NotUnique, Unique, UniqueToCustomer, } open class DataField { open var id:String? = null open var name:String? = null @SerializedName("type") open var Type:ValueTypes? = null open var uiHint:UIHints? = null open var uiTab:String? = null open var isAsync:Boolean? = null open var disableBinding:Boolean? = null open var structType:DataType? = null open var listType:DataType? = null open var description:String? = null open var possibleValues:ArrayList? = null open var isOutput:Boolean? = null open var customFieldValuesUrl:String? = null open var defaultValue:Value? = null open var transitionNameFormat:String? = null open var uniqueness:DataFieldUniqueness? = null open var voiceOnly:Boolean? = null open var conditionalVisibilityField:String? = null open var conditionalVisibilityValue:String? = null open var noEvalTemplate:Boolean? = null open var userMode:UserDataFieldModes? = null open var anyValueType:Boolean? = null } open class IntegrationInfo : EntityInfo() { /** * The ID of the account associated with this integration */ @ApiMember(Description="The ID of the account associated with this integration") open var accountId:String? = null /** * The ID of the customer this integration is associated with */ @ApiMember(Description="The ID of the customer this integration is associated with") open var customerId:String? = null /** * The name of the customer this integration is associated with */ @ApiMember(Description="The name of the customer this integration is associated with") open var customerName:String? = null /** * The date the integration was sync'd last */ @ApiMember(Description="The date the integration was sync'd last") open var dateLastSync:String? = null /** * The breadcrumb to the customer for this integration */ @ApiMember(Description="The breadcrumb to the customer for this integration") open var customerBreadcrumb:ArrayList? = null /** * The name of the integration (e.g. HostedSuite Dallas) */ @ApiMember(Description="The name of the integration (e.g. HostedSuite Dallas)") open var name:String? = null /** * Automatically create new customers / users when sync'ing with CRM? */ @ApiMember(Description="Automatically create new customers / users when sync'ing with CRM?") open var automaticallyCreateCustomers:Boolean? = null /** * The type of integration */ @ApiMember(Description="The type of integration") @SerializedName("type") open var Type:IntegrationTypes? = null /** * The status of the integration */ @ApiMember(Description="The status of the integration") open var status:IntegrationStatuses? = null /** * The status of the integration */ @ApiMember(Description="The status of the integration") open var statusMessage:String? = null /** * The settings type for this integration */ @ApiMember(Description="The settings type for this integration") open var settingsDataType:DataType? = null /** * The settings for this integration */ @ApiMember(Description="The settings for this integration") open var settings:Struct? = null /** * The features supported by this integration */ @ApiMember(Description="The features supported by this integration") open var features:ArrayList? = null /** * Is this integration authorized (OAuth)? */ @ApiMember(Description="Is this integration authorized (OAuth)?") open var isAuthorized:Boolean? = null }