Evo Voice

<back to all web services

ListIntegrations

Retrieve integrations

The following routes are available for this service:
GET/integrations
namespace Voice.Api

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type EntityInfo() = 
        ///<summary>
        ///The ID of the object
        ///</summary>
        [<ApiMember(Description="The ID of the object")>]
        member val Id:String = null with get,set

        ///<summary>
        ///The date the object was created
        ///</summary>
        [<ApiMember(Description="The date the object was created")>]
        member val DateCreated:String = null with get,set

        ///<summary>
        ///The date the object was last modified
        ///</summary>
        [<ApiMember(Description="The date the object was last modified")>]
        member val DateLastModified:String = null with get,set

        ///<summary>
        ///The user that created this object
        ///</summary>
        [<ApiMember(Description="The user that created this object")>]
        member val CreatedBy:String = null with get,set

        ///<summary>
        ///The user that last modified this object
        ///</summary>
        [<ApiMember(Description="The user that last modified this object")>]
        member val LastModifiedBy:String = null with get,set

    [<AllowNullLiteral>]
    type CustomerBreadcrumb() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set

    type IntegrationTypes =
        | HostedSuite = 0
        | OfficeRnd = 1
        | Zoho = 2

    type IntegrationStatuses =
        | NotConfigured = 0
        | Error = 1
        | OK = 2

    type ValueTypes =
        | NotSpecified = 0
        | String = 1
        | Boolean = 2
        | Number = 3
        | List = 4
        | Struct = 5
        | Transition = 6
        | Custom = 7
        | Date = 8
        | AudioFile = 9
        | TimeZoneId = 10
        | PhoneNumber = 11
        | User = 12
        | Endpoint = 13
        | Time = 14
        | File = 15
        | FaxNumber = 16
        | EmailAccount = 17
        | Customer = 18
        | Flow = 19
        | Team = 20
        | FlowReference = 21
        | Integration = 22

    type UIHints =
        | None = 0
        | LargeText = 1
        | InlineForm = 2
        | Password = 3
        | InlineStruct = 4

    [<AllowNullLiteral>]
    type Struct() = 
        inherit Dictionary<String, Value>()

    [<AllowNullLiteral>]
    type Value() = 
        member val BoolValue:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val StringValue:String = null with get,set
        member val NumberValue:Nullable<Double> = new Nullable<Double>() with get,set
        member val ListValue:ResizeArray<Struct> = new ResizeArray<Struct>() with get,set
        member val StructValue:Struct = null with get,set

    type DataFieldUniqueness =
        | NotUnique = 0
        | Unique = 1
        | UniqueToCustomer = 2

    type UserDataFieldModes =
        | Hidden = 0
        | ReadOnly = 1
        | ReadWrite = 2

    [<AllowNullLiteral>]
    type DataField() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set
        member val Type:ValueTypes = new ValueTypes() with get,set
        member val UIHint:UIHints = new UIHints() with get,set
        member val UITab:String = null with get,set
        member val IsAsync:Boolean = new Boolean() with get,set
        member val DisableBinding:Boolean = new Boolean() with get,set
        member val StructType:DataType = null with get,set
        member val ListType:DataType = null with get,set
        member val Description:String = null with get,set
        member val PossibleValues:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val IsOutput:Boolean = new Boolean() with get,set
        member val CustomFieldValuesUrl:String = null with get,set
        member val DefaultValue:Value = null with get,set
        member val TransitionNameFormat:String = null with get,set
        member val Uniqueness:DataFieldUniqueness = new DataFieldUniqueness() with get,set
        member val VoiceOnly:Boolean = new Boolean() with get,set
        member val ConditionalVisibilityField:String = null with get,set
        member val ConditionalVisibilityValue:String = null with get,set
        member val NoEvalTemplate:Boolean = new Boolean() with get,set
        member val UserMode:UserDataFieldModes = new UserDataFieldModes() with get,set
        member val AnyValueType:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type DataType() = 
        member val TypeName:String = null with get,set
        member val Fields:ResizeArray<DataField> = new ResizeArray<DataField>() with get,set

    type IntegrationFeatures =
        | CrmSync = 0
        | OAuth2 = 1

    [<AllowNullLiteral>]
    type IntegrationInfo() = 
        inherit EntityInfo()
        ///<summary>
        ///The ID of the account associated with this integration
        ///</summary>
        [<ApiMember(Description="The ID of the account associated with this integration")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///The ID of the customer this integration is associated with
        ///</summary>
        [<ApiMember(Description="The ID of the customer this integration is associated with")>]
        member val CustomerId:String = null with get,set

        ///<summary>
        ///The name of the customer this integration is associated with
        ///</summary>
        [<ApiMember(Description="The name of the customer this integration is associated with")>]
        member val CustomerName:String = null with get,set

        ///<summary>
        ///The date the integration was sync'd last
        ///</summary>
        [<ApiMember(Description="The date the integration was sync'd last")>]
        member val DateLastSync:String = null with get,set

        ///<summary>
        ///The breadcrumb to the customer for this integration
        ///</summary>
        [<ApiMember(Description="The breadcrumb to the customer for this integration")>]
        member val CustomerBreadcrumb:ResizeArray<CustomerBreadcrumb> = new ResizeArray<CustomerBreadcrumb>() with get,set

        ///<summary>
        ///The name of the integration (e.g. HostedSuite Dallas)
        ///</summary>
        [<ApiMember(Description="The name of the integration (e.g. HostedSuite Dallas)")>]
        member val Name:String = null with get,set

        ///<summary>
        ///Automatically create new customers / users when sync'ing with CRM?
        ///</summary>
        [<ApiMember(Description="Automatically create new customers / users when sync'ing with CRM?")>]
        member val AutomaticallyCreateCustomers:Boolean = new Boolean() with get,set

        ///<summary>
        ///The type of integration
        ///</summary>
        [<ApiMember(Description="The type of integration")>]
        member val Type:IntegrationTypes = new IntegrationTypes() with get,set

        ///<summary>
        ///The status of the integration
        ///</summary>
        [<ApiMember(Description="The status of the integration")>]
        member val Status:IntegrationStatuses = new IntegrationStatuses() with get,set

        ///<summary>
        ///The status of the integration
        ///</summary>
        [<ApiMember(Description="The status of the integration")>]
        member val StatusMessage:String = null with get,set

        ///<summary>
        ///The settings type for this integration
        ///</summary>
        [<ApiMember(Description="The settings type for this integration")>]
        member val SettingsDataType:DataType = null with get,set

        ///<summary>
        ///The settings for this integration
        ///</summary>
        [<ApiMember(Description="The settings for this integration")>]
        member val Settings:Struct = null with get,set

        ///<summary>
        ///The features supported by this integration
        ///</summary>
        [<ApiMember(Description="The features supported by this integration")>]
        member val Features:ResizeArray<IntegrationFeatures> = new ResizeArray<IntegrationFeatures>() with get,set

        ///<summary>
        ///Is this integration authorized (OAuth)?
        ///</summary>
        [<ApiMember(Description="Is this integration authorized (OAuth)?")>]
        member val IsAuthorized:Boolean = new Boolean() with get,set

    ///<summary>
    ///Retrieve integrations
    ///</summary>
    [<Api(Description="Retrieve integrations")>]
    [<AllowNullLiteral>]
    type ListIntegrations() = 
        inherit ListRequest<IntegrationInfo>()
        ///<summary>
        ///Filter by accounts
        ///</summary>
        [<ApiMember(Description="Filter by accounts")>]
        member val AccountIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Filter by name
        ///</summary>
        [<ApiMember(Description="Filter by name")>]
        member val NameFilter:String = null with get,set

        ///<summary>
        ///The IDs of the parent customers you want to filter by
        ///</summary>
        [<ApiMember(Description="The IDs of the parent customers you want to filter by")>]
        member val CustomerIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///If you want a shall customer integration filter (e.g. no deep children)
        ///</summary>
        [<ApiMember(Description="If you want a shall customer integration filter (e.g. no deep children)")>]
        member val ShallowParent:Boolean = new Boolean() with get,set

    type SortOrders =
        | Ascend = 0
        | Descend = 1

    [<AllowNullLiteral>]
    type ListRequest<'T>() = 
        interface IGet
        ///<summary>
        ///The page of data to retrieve
        ///</summary>
        [<ApiMember(Description="The page of data to retrieve")>]
        member val Page:Int32 = new Int32() with get,set

        ///<summary>
        ///If you want all objects to be returned. This should be used with care
        ///</summary>
        [<ApiMember(Description="If you want all objects to be returned. This should be used with care")>]
        member val All:Boolean = new Boolean() with get,set

        ///<summary>
        ///The number per page to retrieve
        ///</summary>
        [<ApiMember(Description="The number per page to retrieve")>]
        member val CountPerPage:Int32 = new Int32() with get,set

        ///<summary>
        ///Specific IDs
        ///</summary>
        [<ApiMember(Description="Specific IDs")>]
        member val SpecificIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Specify a sort field
        ///</summary>
        [<ApiMember(Description="Specify a sort field")>]
        member val SortField:String = null with get,set

        ///<summary>
        ///Specify a sort order
        ///</summary>
        [<ApiMember(Description="Specify a sort order")>]
        member val SortOrder:SortOrders = new SortOrders() with get,set

        ///<summary>
        ///Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array
        ///</summary>
        [<ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")>]
        member val SimplifiedPaging:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type BillingItem() = 
        member val BaseCost:Double = new Double() with get,set
        member val RawUnitMultiplier:Double = new Double() with get,set
        member val UnitCost:Double = new Double() with get,set
        member val Allowance:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BillingSettings() = 
        member val Base:BillingItem = null with get,set
        member val LocalNumbers:BillingItem = null with get,set
        member val TollFreeNumbers:BillingItem = null with get,set
        member val InboundVoiceCalls:BillingItem = null with get,set
        member val OutboundVoiceCalls:BillingItem = null with get,set
        member val InboundFaxes:BillingItem = null with get,set
        member val OutboundFaxes:BillingItem = null with get,set
        member val InboundSmsMessages:BillingItem = null with get,set
        member val OutboundSmsMessages:BillingItem = null with get,set

    [<AllowNullLiteral>]
    type AccountInfo() = 
        inherit EntityInfo()
        ///<summary>
        ///The name of this account
        ///</summary>
        [<ApiMember(Description="The name of this account")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The ID of this account's parent
        ///</summary>
        [<ApiMember(Description="The ID of this account's parent")>]
        member val ParentAccountId:String = null with get,set

        ///<summary>
        ///The twilio account SID
        ///</summary>
        [<ApiMember(Description="The twilio account SID")>]
        member val TwilioAccountSid:String = null with get,set

        ///<summary>
        ///The ancestors of this account. Useful for breadcrumbs
        ///</summary>
        [<ApiMember(Description="The ancestors of this account. Useful for breadcrumbs")>]
        member val AncestorIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///The max number of phone numbers this account can have
        ///</summary>
        [<ApiMember(Description="The max number of phone numbers this account can have")>]
        member val MaxPhoneNumbers:Int32 = new Int32() with get,set

        ///<summary>
        ///This account is BYOA
        ///</summary>
        [<ApiMember(Description="This account is BYOA")>]
        member val IsBYOA:Boolean = new Boolean() with get,set

        ///<summary>
        ///TrustHub Profile Sid
        ///</summary>
        [<ApiMember(Description="TrustHub Profile Sid")>]
        member val TrustHubProfileSid:String = null with get,set

        ///<summary>
        ///The ID of the logo file
        ///</summary>
        [<ApiMember(Description="The ID of the logo file")>]
        member val LogoId:String = null with get,set

        ///<summary>
        ///The URI of the logo file
        ///</summary>
        [<ApiMember(Description="The URI of the logo file")>]
        member val LogoUri:String = null with get,set

        ///<summary>
        ///The billing settings for this account
        ///</summary>
        [<ApiMember(Description="The billing settings for this account")>]
        member val BillingSettings:BillingSettings = null with get,set

    [<AllowNullLiteral>]
    type ListResponse<AccountInfo>() = 
        ///<summary>
        ///The items
        ///</summary>
        [<ApiMember(Description="The items")>]
        member val Items:ResizeArray<AccountInfo> = new ResizeArray<AccountInfo>() with get,set

        ///<summary>
        ///The total number of items
        ///</summary>
        [<ApiMember(Description="The total number of items")>]
        member val TotalCount:Int32 = new Int32() with get,set

        ///<summary>
        ///The total number of pages
        ///</summary>
        [<ApiMember(Description="The total number of pages")>]
        member val TotalPages:Int32 = new Int32() with get,set

        ///<summary>
        ///Are there more pages of items? Used with simplified paging
        ///</summary>
        [<ApiMember(Description="Are there more pages of items? Used with simplified paging")>]
        member val HasMorePages:Boolean = new Boolean() with get,set

F# ListIntegrations DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /integrations HTTP/1.1 
Host: evovoice.io 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
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","settingsDataType":{"typeName":"String","fields":[{"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"structType":{"typeName":"String","fields":[{"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"structType":{"typeName":"String","fields":[{"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":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}]},"listType":{"typeName":"String","fields":[{"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":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}]},"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}]},"listType":{"typeName":"String","fields":[{"id":"String","name":"String","type":"NotSpecified","uiHint":"None","uiTab":"String","isAsync":false,"disableBinding":false,"structType":{"typeName":"String","fields":[{"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":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}]},"listType":{"typeName":"String","fields":[{"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":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}]},"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}]},"description":"String","possibleValues":["String"],"isOutput":false,"customFieldValuesUrl":"String","defaultValue":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{}],"structValue":{}}}}}},"transitionNameFormat":"String","uniqueness":"NotUnique","voiceOnly":false,"conditionalVisibilityField":"String","conditionalVisibilityValue":"String","noEvalTemplate":false,"userMode":"Hidden","anyValueType":false}]},"settings":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}}},"features":["CrmSync"],"isAuthorized":false,"id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}],"totalCount":0,"totalPages":0,"hasMorePages":false}