Options
All
  • Public
  • Public/Protected
  • All
Menu

Class to handle the contacts

Hierarchy

  • DigitalContactManager

Index

Constructors

Properties

Methods

Constructors

Properties

EVENT_HUB_POLLING_INTERVAL_MS: number = 300000
SYNC_ENABLED_EVENTS: Set<CXoneDigitalEventType> = ...
acdSession: ACDSessionManager = ...
adminService: AdminService = ...
currentUserId: string = ''
cxoneDigitalContactHelper: CXoneDigitalContactHelper = ...
deltaEvents: CXoneDigitalEventType[] = ...
digitalContactId: string[] = ...
digitalContactMap: Map<string, CXoneDigitalContact> = ...
digitalContactService: DigitalContactService = ...
digitalEventSyncDictionary: Map<string, Map<string, string>> = ...
digitalEventSyncService: DigitalEventSyncService = DigitalEventSyncService.instance
digitalService: DigitalService = ...
digitalWebsocket: CXoneDigitalWebsocket = CXoneDigitalWebsocket.instance
dispositionService: DispositionService = ...
eventHubProvider: CXoneEventHubProvider = ...
isDigitalEventDeltaPublishingEnabled: boolean = ...
isOldUserSlotFlowEnabled: boolean = ...
isWSAPIIntegrationRevampToggleEnabled: boolean = ...
isWebSocketFailure: boolean = false
logger: CcfLogger = ...
messageHandlerSubscription?: Subscription
onAgentHiveEvent: Subject<{ eventType: string; message: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }> }> = ...
onAvailabilityEvent: Subject<any> = ...
onDigitalContactEvent: Subject<CXoneDigitalContact> = ...
onDigitalContactNewMessageEvent: Subject<{ contactId: string; interactionId: string; message: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }> }> = ...
onDigitalContactUserTypingPreviewEvent: Subject<{ eventType: string; message?: any; threadId: string }> = ...
onDigitalWsNotificationEvent: Subject<string> = ...
onDispositionEvent: Subject<CXoneDisposition[] | CXoneSdkError> = ...
onUserSlotEvent: Subject<any> = ...
requestManager: RequestManager = ...
skillService: SkillService = ...
userSlotPollingStarted: boolean = false
userSlotProvider: CXoneUserSlotProvider = ...
userSlotSubscribed: Subscription = null
viewOnlyCases: string[] = []

Methods

  • abortRequestWithoutKey(contactId: string): void
  • Aborts all active requests associated with the given contact.

    This is typically used when switching contacts to prevent stale API responses from updating state.

    example

    // When user switches from contact 123 to 456 abortRequestWithoutKey('123');

    Parameters

    • contactId: string

      Identifier of the contact whose pending requests should be cancelled

    Returns void

  • addTraceIdInEventSyncDictionary(eventName: string, contactId: string, traceId: string, eventData?: string | AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>): Promise<boolean>
  • Add a traceId for given eventName and contactId.

    example

    addTraceIdInEventSyncDictionary('event1', 'contact1', 'trace1');

    Parameters

    • eventName: string

      The name of the event

    • contactId: string

      The ID of the contact

    • traceId: string

      The trace ID associate with the event and contact

    • Optional eventData: string | AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>

    Returns Promise<boolean>

  • checkSchemaAndPublishAvailability(eventData: any): void
  • checkSchemaAndPublishAvailability.

    Parameters

    • eventData: any

      eventData from digitalWebsocket.onMessageReceived subscription this method will be called in case of MESSAGE_NOTE_CREATED , MESSAGE_NOTE_DELETED , MESSAGE_NOTE_UPDATED , MESSAGE_UPDATED(only for change in message tags), MESSAGE_DELIVERY_STATUS_CHANGED, MESSAGE_SEEN_CHANGED event are updated and to validate the event data and publish that message data

    Returns void

  • checkSchemaAndPublishForMessage.

    Parameters

    • currentContact: CXoneDigitalContact

      cxone Digital contact details

    • eventData: any

      eventData from digitalWebsocket.onMessageReceived subscription this method will be called in case of MESSAGE_NOTE_CREATED , MESSAGE_NOTE_DELETED , MESSAGE_NOTE_UPDATED , MESSAGE_UPDATED(only for change in message tags), MESSAGE_DELIVERY_STATUS_CHANGED, MESSAGE_SEEN_CHANGED event are updated and to validate the event data and publish that message data

    Returns void

  • digitalContactEventHandler(): void
  • digitalWebsocketConnectionStateHandler(): void
  • digitalWebsocketMessageHandler(): void
  • getActualEventName(eventName: string): string
  • Method to get actual event name for the given event. In case of AssigntoMe & UnAssign events we get CaseInboxAssigneeChanged event from websocket. To differentiate between these two events we will use actual event name.

    example

    getActualEventName(event);

    Parameters

    • eventName: string

      The name of the event we receive from websocket.

    Returns string

    • actual event name differentiating assign & unassign.
  • getContactDetails(contactId: string, isAssignedToAgentInbox?: boolean): void
  • Method used to get Digital Contact Details,publish it and subscribe to event hub

    Parameters

    • contactId: string

      Contact Id of the digital contact

      @example - 
      getContactDetails('1234')
    • isAssignedToAgentInbox: boolean = true

    Returns void

  • getDigitalContactDetails(contactId: string, eventDetails: AssertsShape<{ eventId: default<string, AnyObject, string>; eventObject: default<string, AnyObject, string>; eventType: RequiredStringSchema<string, AnyObject>; traceId: default<string, AnyObject, string> }>, isAssignedToAgentInbox?: boolean): Promise<void>
  • get assigned digital contact details based on caseId

    example
    getDigitalContactDetails
    

    Parameters

    • contactId: string
    • eventDetails: AssertsShape<{ eventId: default<string, AnyObject, string>; eventObject: default<string, AnyObject, string>; eventType: RequiredStringSchema<string, AnyObject>; traceId: default<string, AnyObject, string> }>
    • isAssignedToAgentInbox: boolean = true

    Returns Promise<void>

  • getTraceIdFromEventSyncDictionary(eventName: string, contactId: string): string
  • getUserSlotsApi(): void
  • handleAssigneeChangedEvent(contactId: string, traceId: string): Promise<void>
  • Handle Assignee Changed API response in case of case assignment to agent inbox from

    example

    handleAssigneeChangedEvent(contactId, traceId);

    Parameters

    • contactId: string

      contact id

    • traceId: string

      Unique id for tracking the events and avoiding duplication

    Returns Promise<void>

  • handleCaseStatusChangedEvent(contactId: string, traceId: string, status: string): Promise<void>
  • Handle Case Status changed API response in case of case status changed

    example

    handleCaseStatusChangedEvent(contactId, traceId, status);

    Parameters

    • contactId: string

      contact id

    • traceId: string

      Unique id for tracking the events and avoiding duplication

    • status: string

      Updated status of the case.

    Returns Promise<void>

  • handleDigitalUserSlot(): void
  • handleMessageAddedIntoCaseEvent(contactId: string, traceId: string, messageAddedEventData?: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>): Promise<void>
  • Handle Message Added Into Case API response in case of new message added to case

    example

    handleMessageAddedIntoCaseEvent(contactId, traceId);

    Parameters

    • contactId: string

      contact id

    • traceId: string

      Unique id for tracking the events and avoiding duplication

    • Optional messageAddedEventData: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>

    Returns Promise<void>

  • handleMessageUpdatedEvent(contactId: string, traceId: string, messageUpdatedEventData?: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>): Promise<void>
  • Handle Message Updated API response in case of message update event

    example

    handleMessageUpdatedEvent(contactId, traceId);

    Parameters

    • contactId: string

      contact id

    • traceId: string

      Unique id for tracking the events and avoiding duplication

    • Optional messageUpdatedEventData: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>

    Returns Promise<void>

  • handleTraditionalDigitalEvent(eventData: any, eventDetailsToPublish: any): Promise<void>
  • Handles WebSocket events that do not follow the delta publishing path. Validates the raw event data, updates the matching contact in the map, publishes new messages, and unsubscribes agent assist when required.

    example
    await this.handleTraditionalDigitalEvent(eventData, eventDetailsToPublish);
    

    Parameters

    • eventData: any

      Raw event data from the WebSocket

    • eventDetailsToPublish: any

      Derived event details including resolved eventType and traceId

    Returns Promise<void>

  • handleUnAssigneeChangedEvent(contactId: string, traceId: string): Promise<void>
  • Handle UnAssignee Changed API response in case of case unassignment from agent inbox

    example

    handleUnAssigneeChangedEvent(contactId, traceId);

    Parameters

    • contactId: string

      contact id

    • traceId: string

      Unique id for tracking the events and avoiding duplication

    Returns Promise<void>

  • handleUserSlotPollResponse(userSlotResponse: AssertsShape<Assign<ObjectShape, { caseId: default<string, AnyObject, string>; postId: default<string, AnyObject, string>; slotId: default<string, AnyObject, string> }>>[]): void
  • Parses the user slot poll response and updates the digital contact map accordingly (AW-55667). Adds newly assigned contacts and removes unassigned ones on every poll cycle.

    example

    handleUserSlotPollResponse(userSlotResponse)

    Parameters

    • userSlotResponse: AssertsShape<Assign<ObjectShape, { caseId: default<string, AnyObject, string>; postId: default<string, AnyObject, string>; slotId: default<string, AnyObject, string> }>>[]

      The response containing user slots information.

    Returns void

  • Post-parse callback for delta events: hydrates the delta content with full message body if additional content is flagged, publishes the arrival to public channel subscribers, and triggers agent assist unsubscribe when applicable. in Traditional flow we parsing YUP validated response as per CXoneDigitalContact object,there we calling services to get the additional message content if hasAdditionalMessageContent flag is true.same action we doing here in this delta flow as well in this callback after validating the delta event & before sending delta object to middleware.

    example
    DigitalEventFactory.instance.parseAndPublishDeltaEvent(eventData, this.hydrateAndPublishAdditionalData);
    

    Parameters

    Returns Promise<void>

  • initialize(): void
  • initializeDigital(): Promise<void>
  • initializeDigitalEventSync(): void
  • isSyncDictionaryUpdateRequired(eventName: string, traceId?: string): boolean
  • Check if the digital event sync dictionary should be updated for the given event

    example

    isSyncDictionaryUpdateRequired(CXoneDigitalEventType.CASE_INBOX_ASSIGNEE_CHANGED, 'trace123');

    Parameters

    • eventName: string

      The name of the event

    • Optional traceId: string

      The trace ID associated with the event

    Returns boolean

    • true if sync dictionary update is required, false otherwise
  • manageUserSlotDetails(): Promise<void>
  • parseUserSlotPollResponse(userSlotResponse: AssertsShape<Assign<ObjectShape, { caseId: default<string, AnyObject, string>; postId: default<string, AnyObject, string>; slotId: default<string, AnyObject, string> }>>[], WebsocketConnectionFailure: boolean): void
  • Method to parses the user slot poll response and updates the digital contact map accordingly.

    example
    • parseUserSlotPollResponse(userSlotResponse, WebsocketConnectionFailure)

    Parameters

    • userSlotResponse: AssertsShape<Assign<ObjectShape, { caseId: default<string, AnyObject, string>; postId: default<string, AnyObject, string>; slotId: default<string, AnyObject, string> }>>[]

      The response containing user slots information.

    • WebsocketConnectionFailure: boolean

      A boolean indicating if there was a WebSocket connection failure.

    Returns void

  • pollUserSlots(WebsocketConnectionFailure?: boolean): void
  • publishAvailabilityState(contact: any): void
  • publishDispositionDetails(caseId: string, skillId: string, mediaType: MediaType): Promise<void>
  • publishNetworkNotification(networkState: number): void
  • publishNewMessageForContact(contactId: string, message: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>, interactionId: string): void
  • publish event for newly arrived message for public channel

    example

    Parameters

    • contactId: string

      contact id of message to be published

    • message: AssertsShape<{ _changes: default<default<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { currentValue: MixedSchema<any, AnyObject, any>; fieldName: default<string, AnyObject, string> }>>[]>; attachments: default<default<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { blobUrl: default<string, AnyObject, string>; canBeStored: default<boolean, AnyObject, boolean>; fileName: default<string, AnyObject, string>; friendlyName: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; isInline: RequiredBooleanSchema<boolean, AnyObject>; mimeType: default<string, AnyObject, string>; previewUrl: default<string, AnyObject, string>; securedPermanentUrl: RequiredStringSchema<string, AnyObject>; url: default<string, AnyObject, string> }>>[]>; authorEndUserIdentity: any; authorNameRemoved: any; authorRecipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: default<string, AnyObject, string>; name: default<string, AnyObject, string> }>>[]>; authorUser: any; channel: any; channelName: default<string, AnyObject, string>; channelType: default<string, AnyObject, string>; contactNumber: default<string, AnyObject, string>; contentRemoved: any; createdAt: RequiredStringSchema<string, AnyObject>; customerStatistics: any; delivered: default<default<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { deliveredAt: default<string, AnyObject, string>; isSuccess: default<boolean, AnyObject, boolean>; reason: default<string, AnyObject, string> }>>[]>; deviceFingerprint: any; direction: RequiredStringSchema<string, AnyObject>; forward: any; hasAdditionalMessageContent: default<boolean, AnyObject, boolean>; id: RequiredStringSchema<string, AnyObject>; idOnExternalPlatform: default<string, AnyObject, string>; isDeletedOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isHiddenOnExternalPlatform: RequiredBooleanSchema<boolean, AnyObject>; isRead: default<boolean, AnyObject, boolean>; isRelatedMessage: default<boolean, AnyObject, boolean>; isReplyAllowed: default<boolean, AnyObject, boolean>; isReplyToSpecificMessage: default<boolean, AnyObject, boolean>; messageContent: any; messageNotes: default<default<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>, AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[], AssertsShape<Assign<ObjectShape, { content: RequiredStringSchema<string, AnyObject>; createdAt: RequiredStringSchema<string, AnyObject>; currentAssignee: default<string, AnyObject, string>; id: RequiredStringSchema<string, AnyObject>; message: default<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { id: RequiredStringSchema<string, AnyObject> }>>>; status: default<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { type: RequiredStringSchema<string, AnyObject> }>>>; updatedAt: RequiredStringSchema<string, AnyObject>; user: any }>>[]>; postId: RequiredStringSchema<string, AnyObject>; reactionStatistics: any; readAt: default<string, AnyObject, string>; recipients: default<default<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { idOnExternalPlatform: RequiredStringSchema<string, AnyObject>; isPrimary: RequiredBooleanSchema<boolean, AnyObject>; isPrivate: RequiredBooleanSchema<boolean, AnyObject>; name: RequiredStringSchema<string, AnyObject> }>>[]>; replyChannel: any; replyToMessage: any; sentStatus: default<string, AnyObject, string>; tags: default<default<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>, AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[], AssertsShape<Assign<ObjectShape, { color: RequiredStringSchema<string, AnyObject>; id: RequiredNumberSchema<number, AnyObject>; title: RequiredStringSchema<string, AnyObject> }>>[]>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: default<string, AnyObject, string>; title: default<string, AnyObject, string>; url: default<string, AnyObject, string>; xTraceId: default<string, AnyObject, string> }>

      new message to be published

    • interactionId: string

      interaction id of message to be published

    Returns void

  • removePreviewContacts(contactId: string): void
  • subscribeToEventHub(): void
  • terminateDigitalWorkers(): void
  • terminateEventHubApiPolling(): void
  • terminateUserSlotPolling(): void
  • updateAutoSummaryEventHandler(): void
  • updateDESyncDictionary(contactId: string, eventName: string, traceId: string): void
  • Update the Digital Event Sync Dictionary with the latest traceId for a given contactId and eventName.

    example

    updateDESyncDictionary('contact1', 'event1', 'trace1');

    Parameters

    • contactId: string

      contact id

    • eventName: string

      The name of the event

    • traceId: string

      The trace ID associated with the event and contact

    Returns void

Generated using TypeDoc