/* Options: Date: 2025-05-04 22:10:21 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ListIntegrations.* //ExcludeTypes: //DefaultImports: */ export class NodeParameterMap { [key:string] : NodeParameter; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IReturn { createResponse(): T; } export enum SortOrders { Ascend = 'Ascend', Descend = 'Descend', } export class ListRequest implements IGet { /** @description The page of data to retrieve */ // @ApiMember(Description="The page of data to retrieve") public page: number; /** @description 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 all: boolean; /** @description The number per page to retrieve */ // @ApiMember(Description="The number per page to retrieve") public countPerPage: number; /** @description Specific IDs */ // @ApiMember(Description="Specific IDs") public specificIds: string[]; /** @description Specify a sort field */ // @ApiMember(Description="Specify a sort field") public sortField: string; /** @description Specify a sort order */ // @ApiMember(Description="Specify a sort order") public sortOrder: SortOrders; /** @description 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 simplifiedPaging: boolean; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } export class Struct { public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Value { public boolValue?: boolean; public stringValue: string; public numberValue?: number; public listValue: Struct[]; public structValue: Struct; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum UserDataFieldModes { Hidden = 'Hidden', ReadOnly = 'ReadOnly', ReadWrite = 'ReadWrite', } export enum ValueTypes { NotSpecified = 'NotSpecified', String = 'String', Boolean = 'Boolean', Number = 'Number', List = 'List', Struct = 'Struct', Transition = 'Transition', Custom = 'Custom', Date = 'Date', AudioFile = 'AudioFile', TimeZoneId = 'TimeZoneId', PhoneNumber = 'PhoneNumber', User = 'User', Endpoint = 'Endpoint', Time = 'Time', File = 'File', FaxNumber = 'FaxNumber', EmailAccount = 'EmailAccount', Customer = 'Customer', Flow = 'Flow', Team = 'Team', FlowReference = 'FlowReference', Integration = 'Integration', Assistant = 'Assistant', } export enum IntegrationTypes { HostedSuite = 'HostedSuite', OfficeRnd = 'OfficeRnd', Zoho = 'Zoho', } export class EntityInfo { /** @description The ID of the object */ // @ApiMember(Description="The ID of the object") public id: string; /** @description The date the object was created */ // @ApiMember(Description="The date the object was created") public dateCreated: string; /** @description The date the object was last modified */ // @ApiMember(Description="The date the object was last modified") public dateLastModified: string; /** @description The user that created this object */ // @ApiMember(Description="The user that created this object") public createdBy: string; /** @description The user that last modified this object */ // @ApiMember(Description="The user that last modified this object") public lastModifiedBy: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ListResponse { /** @description The items */ // @ApiMember(Description="The items") public items: T[]; /** @description The total number of items */ // @ApiMember(Description="The total number of items") public totalCount: number; /** @description The total number of pages */ // @ApiMember(Description="The total number of pages") public totalPages: number; /** @description Are there more pages of items? Used with simplified paging */ // @ApiMember(Description="Are there more pages of items? Used with simplified paging") public hasMorePages: boolean; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } export class CustomerBreadcrumb { public id: string; public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum IntegrationStatuses { NotConfigured = 'NotConfigured', Error = 'Error', OK = 'OK', } export enum UIHints { None = 'None', LargeText = 'LargeText', InlineForm = 'InlineForm', Password = 'Password', InlineStruct = 'InlineStruct', } export class DataType { public typeName: string; public fields: DataField[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum DataFieldUniqueness { NotUnique = 'NotUnique', Unique = 'Unique', UniqueToCustomer = 'UniqueToCustomer', } export class DataField { public id: string; public name: string; public type: ValueTypes; public uiHint: UIHints; public uiTab: string; public isAsync: boolean; public disableBinding: boolean; public structType: DataType; public listType: DataType; public description: string; public possibleValues: string[]; public isOutput: boolean; public customFieldValuesUrl: string; public defaultValue: Value; public transitionNameFormat: string; public uniqueness: DataFieldUniqueness; public voiceOnly: boolean; public conditionalVisibilityField: string; public conditionalVisibilityValue: string; public noEvalTemplate: boolean; public userMode: UserDataFieldModes; public anyValueType: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum IntegrationFeatures { CrmSync = 'CrmSync', OAuth2 = 'OAuth2', } export class IntegrationInfo extends EntityInfo { /** @description The ID of the account associated with this integration */ // @ApiMember(Description="The ID of the account associated with this integration") public accountId: string; /** @description The ID of the customer this integration is associated with */ // @ApiMember(Description="The ID of the customer this integration is associated with") public customerId: string; /** @description The name of the customer this integration is associated with */ // @ApiMember(Description="The name of the customer this integration is associated with") public customerName: string; /** @description The date the integration was sync'd last */ // @ApiMember(Description="The date the integration was sync'd last") public dateLastSync: string; /** @description The breadcrumb to the customer for this integration */ // @ApiMember(Description="The breadcrumb to the customer for this integration") public customerBreadcrumb: CustomerBreadcrumb[]; /** @description The name of the integration (e.g. HostedSuite Dallas) */ // @ApiMember(Description="The name of the integration (e.g. HostedSuite Dallas)") public name: string; /** @description Automatically create new customers / users when sync'ing with CRM? */ // @ApiMember(Description="Automatically create new customers / users when sync'ing with CRM?") public automaticallyCreateCustomers: boolean; /** @description The type of integration */ // @ApiMember(Description="The type of integration") public type: IntegrationTypes; /** @description The status of the integration */ // @ApiMember(Description="The status of the integration") public status: IntegrationStatuses; /** @description The status of the integration */ // @ApiMember(Description="The status of the integration") public statusMessage: string; /** @description The settings type for this integration */ // @ApiMember(Description="The settings type for this integration") public settingsDataType: DataType; /** @description The settings for this integration */ // @ApiMember(Description="The settings for this integration") public settings: Struct; /** @description The features supported by this integration */ // @ApiMember(Description="The features supported by this integration") public features: IntegrationFeatures[]; /** @description Is this integration authorized (OAuth)? */ // @ApiMember(Description="Is this integration authorized (OAuth)?") public isAuthorized: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } /** @description Retrieve integrations */ // @Route("/integrations", "GET") // @Api(Description="Retrieve integrations") export class ListIntegrations extends ListRequest implements IReturn> { /** @description Filter by accounts */ // @ApiMember(Description="Filter by accounts") public accountIds: string[]; /** @description Filter by name */ // @ApiMember(Description="Filter by name") public nameFilter: string; /** @description 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 customerIds: string[]; /** @description 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 shallowParent: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'ListIntegrations'; } public getMethod() { return 'GET'; } public createResponse() { return new ListResponse(); } }