PATCH | /integrations/{integrationId} |
---|
export class NodeParameterMap
{
[key:string] : NodeParameter;
public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}
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<EntityInfo>) { (Object as any).assign(this, init); }
}
export class CustomerBreadcrumb
{
public id: string;
public name: string;
public constructor(init?: Partial<CustomerBreadcrumb>) { (Object as any).assign(this, init); }
}
export enum IntegrationTypes
{
HostedSuite = 'HostedSuite',
OfficeRnd = 'OfficeRnd',
Zoho = 'Zoho',
}
export enum IntegrationStatuses
{
NotConfigured = 'NotConfigured',
Error = 'Error',
OK = 'OK',
}
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 UIHints
{
None = 'None',
LargeText = 'LargeText',
InlineForm = 'InlineForm',
Password = 'Password',
InlineStruct = 'InlineStruct',
}
export class Struct
{
public constructor(init?: Partial<Struct>) { (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<Value>) { (Object as any).assign(this, init); }
}
export enum DataFieldUniqueness
{
NotUnique = 'NotUnique',
Unique = 'Unique',
UniqueToCustomer = 'UniqueToCustomer',
}
export enum UserDataFieldModes
{
Hidden = 'Hidden',
ReadOnly = 'ReadOnly',
ReadWrite = 'ReadWrite',
}
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<DataField>) { (Object as any).assign(this, init); }
}
export class DataType
{
public typeName: string;
public fields: DataField[];
public constructor(init?: Partial<DataType>) { (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<IntegrationInfo>) { super(init); (Object as any).assign(this, init); }
}
/** @description Update a specific integration */
// @Api(Description="Update a specific integration")
export class PatchIntegration implements IPatch
{
/** @description The ID of the integration you want to update */
// @ApiMember(Description="The ID of the integration you want to update")
public integrationId: string;
/** @description The name for the integration */
// @ApiMember(Description="The name for the integration")
public name: string;
/** @description The parent customer for this integration */
// @ApiMember(Description="The parent customer for this integration")
public customerId: 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 Settings values for this integration */
// @ApiMember(Description="Settings values for this integration")
public settings: Struct;
public constructor(init?: Partial<PatchIntegration>) { (Object as any).assign(this, init); }
}
TypeScript PatchIntegration DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PATCH /integrations/{integrationId} HTTP/1.1
Host: team.evovoice.io
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<PatchIntegration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Integrations">
<AutomaticallyCreateCustomers>false</AutomaticallyCreateCustomers>
<CustomerId>String</CustomerId>
<IntegrationId>String</IntegrationId>
<Name>String</Name>
<Settings xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</PatchIntegration>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <IntegrationInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Integrations"> <CreatedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</CreatedBy> <DateCreated xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateCreated> <DateLastModified xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateLastModified> <Id xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</Id> <LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</LastModifiedBy> <AccountId>String</AccountId> <AutomaticallyCreateCustomers>false</AutomaticallyCreateCustomers> <CustomerBreadcrumb xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Customers"> <d2p1:CustomerBreadcrumb> <d2p1:Id>String</d2p1:Id> <d2p1:Name>String</d2p1:Name> </d2p1:CustomerBreadcrumb> </CustomerBreadcrumb> <CustomerId>String</CustomerId> <CustomerName>String</CustomerName> <DateLastSync>String</DateLastSync> <Features> <IntegrationFeatures>CrmSync</IntegrationFeatures> </Features> <IsAuthorized>false</IsAuthorized> <Name>String</Name> <Settings xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" /> <SettingsDataType xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data" i:nil="true" /> <Status>NotConfigured</Status> <StatusMessage>String</StatusMessage> <Type>HostedSuite</Type> </IntegrationInfo>