Options
All
  • Public
  • Public/Protected
  • All
Menu

Class to handle Customer Card API calls

Hierarchy

  • CustomerCardService

Index

Constructors

Properties

DELETE_CUSTOMER_CUSTOM_FIELD: string = '/dfo/3.0/customers/{customerId}/custom-fields/{customFieldIdent}'
EXECUTE_WORKFLOW_URI: string = '/InContactAPI/services/v27.0/agent-integration/configuration/{configurationId}/workflow/{workflowId}'
GET_CRM_DATA_FOR_TRANSFERED_CONTACT: string = '/InContactAPI/services/v30.0/agent-integration/workflow-execution/interaction/{cacheKey}'
auth: CXoneAuth
customerSearchScrollToken: string = ''
isAbortDelayDigitalApiEnabled: boolean = ...
logger: Logger = ...
requestManager: RequestManager = ...
searchText: string = ''
urlUtilsService: UrlUtilsService = ...
utilService: HttpUtilService = ...

Methods

  • generatePayloadForExecuteWorkFlow(request: CXoneWorkflowRequest): { action: string; cacheKey: string; contactID: string; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: string; entity: undefined; entityId: undefined; integration: undefined; interactionID: string; relatedObject: undefined; workflowInput: { action?: string; email?: string; entites?: CXoneIntegrationEntity[]; id?: string; phoneNumber?: string; recipientId?: string; type?: string } } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: CXoneDigitalContactData | CXoneVoiceContactData; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: RelatesToEntity[]; interactionID: undefined; relatedObject: undefined; workflowInput: undefined } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: CXoneDigitalContactData | CXoneVoiceContactData; dataMappingId: string; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: RelatesToEntity[]; interactionID: string; relatedObject: undefined; workflowInput: { action?: string; email?: string; entites?: CXoneIntegrationEntity[]; id?: string; phoneNumber?: string; recipientId?: string; type?: string } } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: string; entityId: string; integration: undefined; interactionID: undefined; relatedObject: { entityType?: string; name: string; value: string }; workflowInput: undefined } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: undefined; interactionID: undefined; relatedObject: undefined; workflowInput: { action?: string; email?: string; entites?: CXoneIntegrationEntity[]; id?: string; phoneNumber?: string; recipientId?: string; type?: string } } | { action: undefined; cacheKey: undefined; contactID: undefined; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: undefined; interactionID: undefined; relatedObject: undefined; workflowInput: undefined }
  • Parameters

    Returns { action: string; cacheKey: string; contactID: string; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: string; entity: undefined; entityId: undefined; integration: undefined; interactionID: string; relatedObject: undefined; workflowInput: { action?: string; email?: string; entites?: CXoneIntegrationEntity[]; id?: string; phoneNumber?: string; recipientId?: string; type?: string } } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: CXoneDigitalContactData | CXoneVoiceContactData; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: RelatesToEntity[]; interactionID: undefined; relatedObject: undefined; workflowInput: undefined } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: CXoneDigitalContactData | CXoneVoiceContactData; dataMappingId: string; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: RelatesToEntity[]; interactionID: string; relatedObject: undefined; workflowInput: { action?: string; email?: string; entites?: CXoneIntegrationEntity[]; id?: string; phoneNumber?: string; recipientId?: string; type?: string } } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: string; entityId: string; integration: undefined; interactionID: undefined; relatedObject: { entityType?: string; name: string; value: string }; workflowInput: undefined } | { action: string; cacheKey: undefined; contactID: string; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: undefined; interactionID: undefined; relatedObject: undefined; workflowInput: { action?: string; email?: string; entites?: CXoneIntegrationEntity[]; id?: string; phoneNumber?: string; recipientId?: string; type?: string } } | { action: undefined; cacheKey: undefined; contactID: undefined; cxoneContact: undefined; dataMappingId: undefined; dynamicDataMappingId: undefined; entity: undefined; entityId: undefined; integration: undefined; interactionID: undefined; relatedObject: undefined; workflowInput: undefined }

  • getAgentDigitalContactHistory(ownerAssignee: string): Promise<AssertsShape<{ authorEndUserIdentity: any; channelId: default<string, AnyObject, string>; channelName: default<string, AnyObject, string>; contactId: default<string, AnyObject, string>; createdAt: RequiredStringSchema<string, AnyObject>; customFields: default<default<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>, AssertsShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>[], AssertsShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>[]>; direction: RequiredStringSchema<string, AnyObject>; endUser: any; endUserRecipients: any; id: RequiredStringSchema<string, AnyObject>; inboundCount: default<number, AnyObject, number>; inboxAssignee: default<number, AnyObject, number>; inboxAssigneeLastAssignedAt: default<Date, AnyObject, Date>; inboxAssigneeUser: any; interactionId: default<string, AnyObject, string>; isDraft: default<boolean, AnyObject, boolean>; outboundCount: default<number, AnyObject, number>; ownerAssigneeUser: any; 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> }>>[]>; routingQueueId: default<string, AnyObject, string>; skillId: default<number, AnyObject, number>; skillName: default<string, AnyObject, string>; status: RequiredStringSchema<string, AnyObject>; statusUpdatedAt: default<Date, AnyObject, Date>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: RequiredStringSchema<string, AnyObject> }>[]>
  • Method to fetch Agent Digital Contact History

    example
    • Pass 1 parameter ownerAssignee

    Parameters

    • ownerAssignee: string

    Returns Promise<AssertsShape<{ authorEndUserIdentity: any; channelId: default<string, AnyObject, string>; channelName: default<string, AnyObject, string>; contactId: default<string, AnyObject, string>; createdAt: RequiredStringSchema<string, AnyObject>; customFields: default<default<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>, AssertsShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>[], AssertsShape<Assign<ObjectShape, { ident: default<string, AnyObject, string>; isEditable: default<boolean, AnyObject, boolean>; isRequired: default<boolean, AnyObject, boolean>; isVisibleInCustomerCard: default<boolean, AnyObject, boolean>; isVisibleInRightPanel: default<boolean, AnyObject, boolean>; label: default<string, AnyObject, string>; selectedValue: default<string, AnyObject, string>; type: default<string, AnyObject, string>; value: default<string, AnyObject, string>; values: OptionalArraySchema<AnySchema<any, any, any>, any, any[]> }>>[]>; direction: RequiredStringSchema<string, AnyObject>; endUser: any; endUserRecipients: any; id: RequiredStringSchema<string, AnyObject>; inboundCount: default<number, AnyObject, number>; inboxAssignee: default<number, AnyObject, number>; inboxAssigneeLastAssignedAt: default<Date, AnyObject, Date>; inboxAssigneeUser: any; interactionId: default<string, AnyObject, string>; isDraft: default<boolean, AnyObject, boolean>; outboundCount: default<number, AnyObject, number>; ownerAssigneeUser: any; 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> }>>[]>; routingQueueId: default<string, AnyObject, string>; skillId: default<number, AnyObject, number>; skillName: default<string, AnyObject, string>; status: RequiredStringSchema<string, AnyObject>; statusUpdatedAt: default<Date, AnyObject, Date>; threadId: RequiredStringSchema<string, AnyObject>; threadIdOnExternalPlatform: RequiredStringSchema<string, AnyObject> }>[]>

    • API Returns Digital contact History details for the Agent
  • getAgentVoiceContactHistory(contactHistoryRequest: CXoneAgentVoiceContactHistoryRequest): Promise<AssertsShape<{ agentId: default<string, AnyObject, string>; contactId: default<string, AnyObject, string>; contactStart: default<string, AnyObject, string>; dispositionNotes: default<string, AnyObject, string>; firstName: default<string, AnyObject, string>; fromAddr: default<string, AnyObject, string>; isOutbound: default<boolean, AnyObject, boolean>; lastName: default<string, AnyObject, string>; lastUpdateTime: default<string, AnyObject, string>; mediaType: default<string, AnyObject, string>; primaryDispositionId: default<number, AnyObject, number>; skillId: default<string, AnyObject, string>; skillName: default<string, AnyObject, string>; tags: any; teamId: default<string, AnyObject, string>; toAddr: default<string, AnyObject, string>; totalDurationSeconds: default<number, AnyObject, number> }>[]>
  • Method to fetch Agent Contact History

    example
    • Pass 2 parameter inboxAssignee & updatedSinceHours for fetching contact history for particular days span.

    Parameters

    Returns Promise<AssertsShape<{ agentId: default<string, AnyObject, string>; contactId: default<string, AnyObject, string>; contactStart: default<string, AnyObject, string>; dispositionNotes: default<string, AnyObject, string>; firstName: default<string, AnyObject, string>; fromAddr: default<string, AnyObject, string>; isOutbound: default<boolean, AnyObject, boolean>; lastName: default<string, AnyObject, string>; lastUpdateTime: default<string, AnyObject, string>; mediaType: default<string, AnyObject, string>; primaryDispositionId: default<number, AnyObject, number>; skillId: default<string, AnyObject, string>; skillName: default<string, AnyObject, string>; tags: any; teamId: default<string, AnyObject, string>; toAddr: default<string, AnyObject, string>; totalDurationSeconds: default<number, AnyObject, number> }>[]>

    • API Returns contact History details for the Agent
  • getCRMDataForTransferedContact(crmInteractionId: string): Promise<unknown>
  • getCRMDataForTransferedContactFromPolling(crmInteractionId: string): Promise<unknown>
  • getCustomerDetails(customerinfo: CustomerRequest): Promise<AssertsShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>[]>
  • Method to fetch Customer details by Full Name

    example

    Parameters

    • customerinfo: CustomerRequest

    Returns Promise<AssertsShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>[]>

    • API Returns Response JSON with specific Customer Details
  • getCustomerDetailsById(customerId: string): Promise<AssertsShape<{ customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>
  • Method to fetch Customer details by Id

    example

    Parameters

    • customerId: string

    Returns Promise<AssertsShape<{ customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>

    • API Returns Response JSON with specific Customer Details
  • isNewSearchRequest(newSearchText?: string): boolean
  • normalizeVoiceContactHistoryResponse(completedContacts: unknown, isTenantSegmentationEnabled: boolean): Record<string, unknown>[]
  • Normalizes ACD voice contact history records so both V23 and V33 payload keys are supported.

    example
    this.normalizeVoiceContactHistoryResponse(response?.data?.completedContacts, true)
    

    Parameters

    • completedContacts: unknown

      Raw completed contacts collection from API response.

    • isTenantSegmentationEnabled: boolean

      True when V33 endpoint is enabled.

    Returns Record<string, unknown>[]

    Normalized contacts with legacy-compatible keys.

  • searchCustomer(searchedText: string, externalIds: string[], scrollToken?: string): Promise<AssertsShape<{ data: default<default<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>[]>; scrollToken: default<string, AnyObject, string> }>>
  • Method to search customers by Full Name

    example
    • searchCustomer(John Doe)

    Parameters

    • searchedText: string

      search field text to search details of the customer

    • externalIds: string[]
    • Optional scrollToken: string

    Returns Promise<AssertsShape<{ data: default<default<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>, AnyObject, TypeOfShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>, AssertsShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>>, AnyObject, TypeOfShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>[], AssertsShape<Assign<ObjectShape, { customFields: any; firstName: default<string, AnyObject, string>; fullName: default<string, AnyObject, string>; id: default<string, AnyObject, string>; identities: any; image: default<string, AnyObject, string>; surname: default<string, AnyObject, string> }>>[]>; scrollToken: default<string, AnyObject, string> }>>

    • API Returns Response JSON with searched customer list
  • updateCustomFields(customFields: CustomerCardCustomFieldDetails): Promise<HttpResponse>

Generated using TypeDoc