openapi: 3.0.2 x-explorer-enabled: false x-samples-languages: - curl - node - java - javascript - python - go info: title: Digital - Custom Chat description: This API facilitates session-based communication. Only "Chat" channel is supported now. contact: name: Avaya API Team url: https://developers.avayacloud.com/onecloud-ccaas email: apiteam@avaya.com license: name: Avaya Software Development Kit (SDK) Software License Terms url: http://support.avaya.com/css/P8/documents/101038288 version: 1.0.1 servers: - url: '{protocol}://{server}{basePath}' description: Open API variables: protocol: enum: - https default: https server: default: HOST-REGION.api.avayacloud.com basePath: default: /api/digital/channel/v1 - url: '{protocol}://{server}:{port}' description: Internal API variables: protocol: enum: - http - https default: http server: default: msg-web-gateway port: enum: - '80' - '443' default: '80' tags: - name: Engagements description: 'Inbound engagements can be created from the customer side which are then handled by contact center resources like agents, supervisors and bots. Session Id''s can be passed on any explicit requests made on engagements so that all the activities can be correlated back to the appropriate session. ' - name: Sessions description: 'Sessions are used to hold context information about the customer and the clients used by the customer. A customer can have multiple active sessions at the same time. Sessions can be passed on any explicit requests made on engagements so that all the activities can be correlated back to sessions that caused it. ' security: - {} - BearerAuth: [] AppKey: [] paths: /accounts/{accountId}/sessions: post: tags: - Sessions summary: Create Session description: 'Creates a new client session for the customer. A single customer can have multiple active sessions concurrently. For example, if a customer is logged-in through a mobile device and a computer, activities from both the devices can be represented using two separate sessions. ' operationId: createDigitalSession parameters: - $ref: '#/components/parameters/accountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSession' examples: Create-Session: $ref: '#/components/examples/CreateSession' description: request required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/SessionCreated' examples: Session-Created: $ref: '#/components/examples/GetSession' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/sessions/{sessionId}: get: tags: - Sessions summary: Get Session description: Gets the details of an existing session by sessionId. operationId: getDigitalSession parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/sessionId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Session' examples: Get-Session: $ref: '#/components/examples/GetSession' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false delete: tags: - Sessions summary: Delete Session description: Deletes the specified session. operationId: deleteDigitalSession parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/sessionId' - name: reason in: query description: The reason for deleting the customers client session required: true schema: type: string enum: - USER_CLOSED - USER_INACTIVE - SYSTEM_CLOSED - UNKNOWN default: USER_CLOSED example: USER_CLOSED responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/sessions/{sessionId}:appendIdentifiers: post: tags: - Sessions summary: Append Customer Identifiers description: 'Appends customer identifiers to an existing session. If the key of the identifier already exists, the new value will be appended to the existing list. ' operationId: appendIdentifiersInDigitalSession parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/sessionId' requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerIdentifiers' examples: Append-Identifiers: $ref: '#/components/examples/AppendIdentifiers' description: request required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Session' examples: Append-Identifiers-Response: $ref: '#/components/examples/AppendIdentifiersSessionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/sessions/{sessionId}:updateSessionParameters: post: tags: - Sessions summary: Update Session Parameters description: 'Updates the session parameters of an existing session. If the key of the parameter already exists, it will be updated with the new value else both the key and the value will be added to existing parameters. ' operationId: updateSessionParametersInDigitalSession parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/sessionId' requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionParameters' examples: Update-Session-Parameters: $ref: '#/components/examples/UpdateSessionParameters' description: request required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Session' examples: Update-Session-Parameters-Response: $ref: '#/components/examples/UpdateSessionParametersSessionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/engagements: post: tags: - Engagements summary: Create Engagement description: 'Creates a Digital engagement for Custom Chat in the Contact Center. If an engagement already exists for the customer then a new dialog will be created for the existing engagement, otherwise a new engagement and dialog will be created. ' operationId: createDigitalEngagement parameters: - $ref: '#/components/parameters/accountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateEngagement' examples: Create-Engagement: $ref: '#/components/examples/CreateEngagement' description: request required: true responses: '201': description: A new engagement or a dialog created content: application/json: schema: $ref: '#/components/schemas/EngagementCreated' examples: Engagement-Created: $ref: '#/components/examples/EngagementCreated' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false get: tags: - Engagements summary: List Engagements description: Lists all the Custom Chat related engagements for a session. operationId: listDigitalEngagements parameters: - $ref: '#/components/parameters/accountId' - name: sessionId description: The unique 36 character internal id that represents the session. required: true in: query schema: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ example: 10494b78-710c-11eb-9439-0242ac130002 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Engagements' examples: List-Engagements: $ref: '#/components/examples/ListEngagementsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/engagements/{engagementId}: get: tags: - Engagements summary: Get Engagement description: Gets the details of an existing engagement by engagementId. Retrieves only Customer Chat related engagements. operationId: getDigitalEngagement parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Engagement' examples: Get-Engagement: $ref: '#/components/examples/GetEngagementResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/engagements/{engagementId}:disconnect: post: tags: - Engagements summary: Disconnect Engagement description: Disconnects the customer from a specific dialog associated with the Custom Chat related engagement. operationId: disconnectDigitalEngagement parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' requestBody: content: application/json: schema: $ref: '#/components/schemas/DisconnectEngagement' examples: Disconnect-Engagement: $ref: '#/components/examples/DisconnectEngagementRequest' description: request required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DisconnectEngagement' examples: Disconnect-Engagement-Response: $ref: '#/components/examples/DisconnectEngagementRequest' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/engagements/{engagementId}:join: post: tags: - Engagements summary: Join Engagement description: Allows a customer to join an active dialog associated with the Custom Chat related engagement. operationId: joinDigitalEngagement parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' requestBody: content: application/json: schema: $ref: '#/components/schemas/JoinEngagement' examples: Join-Engagement: $ref: '#/components/examples/JoinEngagement' description: request required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/JoinEngagementResponse' examples: Example-1: $ref: '#/components/examples/JoinEngagementResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /accounts/{accountId}/engagements/{engagementId}/messages: get: tags: - Engagements summary: List Messages description: List messages that have been exchanged in an active engagement dialog. To receive messages of a live dialog, subscribe using Digital Notification API. Avoid calling this API in a loop. This API is applicable only for Custom Chat related engagements. operationId: listDigitalMessages parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' - $ref: '#/components/parameters/dialogId' - name: sessionId description: The unique 36 character internal id that represents the session. required: true in: query schema: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ example: 10494b78-710c-11eb-9439-0242ac130002 - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNumber' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Messages' examples: List-Messages-Page-1: $ref: '#/components/examples/ListMessages1' List-Messages-Page-2: $ref: '#/components/examples/ListMessages2' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false post: tags: - Engagements summary: Send Message description: Sends a message to the Contact Center on the specified Custom Chat related engagement and dialog. operationId: sendDigitalMessage parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendMessage' examples: Simple-Send-Message: $ref: '#/components/examples/SendMessageRequestSimple' Send-Message: $ref: '#/components/examples/SendMessageRequest' description: request required: true responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/SendMessageResponse' examples: Simple-Message-Response: $ref: '#/components/examples/SendMessageSimpleResponse' Message-Response: $ref: '#/components/examples/SendMessageResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false components: parameters: accountId: name: accountId description: The unique 6 character internal id that represents the customer account. required: true in: path schema: type: string minLength: 6 maxLength: 6 pattern: ^[a-zA-Z]{6}$ example: ABCDEF engagementId: name: engagementId description: The unique 36 character internal id that represents the engagement. required: true in: path schema: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ example: dfd117d7-73e3-4436-8bd7-3ce8f1a008ed sessionId: name: sessionId description: The unique 36 character internal id that represents the session. required: true in: path schema: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ example: 10494b78-710c-11eb-9439-0242ac130002 dialogId: name: dialogId description: The unique 36 character internal id that represents the dialog. required: true in: query schema: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ example: fc741b00-710b-11eb-9439-0242ac130002 pageSize: name: pageSize description: The maximum number of results per page. required: false in: query schema: type: integer format: int32 default: 10 minimum: 1 maximum: 50 example: 10 pageNumber: name: pageNumber description: The target page of results. required: false in: query schema: type: integer format: int32 default: 1 minimum: 1 example: 1 responses: BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorConstraintViolation' Unauthorized: description: Unauthorized. content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorUnauthorized' Forbidden: description: Forbidden. content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorForbidden' NotFound: description: Not Found. content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorNotFound' InternalServerError: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorInternalServerError' schemas: Session: description: Client session of a customer type: object required: - sessionId - accountId - channelProviderId - sessionStatus - createdAt - lastUpdatedAt - url properties: sessionId: type: string description: The unique 36 character id (uuid) that represents the users session. accountId: type: string description: The unique 6 character internal id that represents the customer account channelProviderId: type: string description: The unique id that represents the channel provider displayName: type: string description: The display name of the session customerIdentifiers: $ref: '#/components/schemas/CustomerIdentifiers' sessionParameters: type: object description: Additional parameter of the created session additionalProperties: type: string sessionStatus: $ref: '#/components/schemas/SessionStatus' providerCustomerId: type: string description: The provider side identifier for the customer createdAt: type: string format: date-time description: The datetime when the session was created (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') lastUpdatedAt: type: string format: date-time description: The datetime when the session was last updated (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') url: type: string example: /api/digital/channel/v1/sessions/e0f70943-dc9f-4be3-966f-fa41d4e1b7d4 description: The Get Session API URL for the session SessionCreated: allOf: - $ref: '#/components/schemas/Session' - type: object additionalProperties: true properties: correlationId: type: string description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. participantId: type: string CreateSession: type: object required: - accountId - channelProviderId - customerIdentifiers properties: channelProviderId: type: string description: The unique id that represents the channel provider minLength: 3 maxLength: 256 customerIdentifiers: $ref: '#/components/schemas/CustomerIdentifiers' displayName: type: string maxLength: 70 description: The display name of the session sessionParameters: $ref: '#/components/schemas/SessionParameters' providerCustomerId: type: string maxLength: 256 description: The provider side identifier for the user correlationId: type: string maxLength: 256 description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. SessionParameters: type: object description: Optional key/value session parameters for capturing properties of the user and the user's client device. Key is limited to 64 characters maxProperties: 20 additionalProperties: type: string maxLength: 256 Engagement: type: object description: The entire engagement object required: - engagementId - accountId - dialogs - url properties: engagementId: type: string description: The unique 36 character internal id that represents the engagement. accountId: type: string description: The unique 6 character internal id that represents the customer account conversation: type: string description: The conversation (or intent) of the Engagement dialogs: type: array items: $ref: '#/components/schemas/Dialog' description: List of dialogs associated with the engagement url: type: string description: The Get Engagement API URL for this engagement Engagements: type: array description: List of Engagements. items: $ref: '#/components/schemas/Engagement' Dialog: type: object description: The media specific element inside the engagement required: - dialogId - channelId - dialogStatus - initiatorParticipantId - connections - createdAt - lastUpdatedAt properties: dialogId: type: string description: The unique 36 character internal id that represents the dialog. channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Contact Center Channel list in Developers guide for further details. dialogStatus: $ref: '#/components/schemas/DialogStatus' providerDialogId: type: string description: The provider side identifier for a Contact Center dialog. initiatorParticipantId: type: string description: The unique id of the participant that initiated the dialog connections: type: array items: $ref: '#/components/schemas/Connection' description: List of connections engagementParameters: type: object description: Optional key/value context information on the engagement. This information might be used to make business decisions on how the engagement is treated. For example, the client application might want to send hints about customer's interest based on the customer's searches or FAQ browsing additionalProperties: type: string createdAt: type: string format: date-time description: The datetime when the dialog was created (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') lastUpdatedAt: type: string format: date-time description: The datetime when the dialog was last updated (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') Connection: type: object description: The association between a dialog and a participant required: - connectionId - participantId - participantType - connectionState properties: connectionId: type: string description: The unique 36 character internal id (uuid) that represents the Connection. participantId: type: string description: The unique id that represents the Participant. participantType: $ref: '#/components/schemas/ParticipantType' displayName: type: string description: The display name of the participant sessionIds: type: array description: List of session ids items: type: string connectionState: $ref: '#/components/schemas/ConnectionState' CreateEngagement: type: object description: Request payload to create an engagement required: - sessionId - channelId properties: sessionId: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ description: The unique 36 character id (uuid) that represents the users session. channelId: type: string minLength: 3 maxLength: 50 description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Contact Center Channel list in Developers guide for further details. conversation: type: string maxLength: 256 description: The conversation (or intent) of the Engagement providerDialogId: type: string maxLength: 256 description: The provider side identifier for a Contact Center dialog. engagementParameters: type: object maxProperties: 20 description: Optional key/value context information on the engagement. This information might be used to make business decisions on how the engagement is treated. For example, the client application might want to send hints about customer's interest based on the customer's searches or FAQ browsing. Key is limited to 64 characters additionalProperties: type: string maxLength: 256 correlationId: type: string maxLength: 256 description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. EngagementCreated: allOf: - $ref: '#/components/schemas/Engagement' - type: object additionalProperties: true properties: correlationId: type: string description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. JoinEngagement: type: object required: - sessionId - dialogId properties: sessionId: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ description: The unique 36 character id (uuid) that represents the users session. dialogId: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ description: The unique 36 character internal id that represents the dialog. correlationId: type: string maxLength: 256 description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. JoinEngagementResponse: allOf: - $ref: '#/components/schemas/Engagement' - type: object additionalProperties: true properties: correlationId: type: string description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. DisconnectEngagement: type: object required: - sessionId - dialogId properties: sessionId: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ description: The unique 36 character id (uuid) that represents the users session. dialogId: type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ description: The unique 36 character internal id that represents the dialog. reason: type: string description: Reason for termination of client session of a customer enum: - USER_CLOSED - USER_INACTIVE - SYSTEM_CLOSED - UNKNOWN example: USER_CLOSED correlationId: type: string maxLength: 256 description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. Pagination: type: object description: Information about the pagination properties: pageNumber: type: integer description: The current page number pageSize: type: integer description: Maximum number of records present on this page total: type: integer description: Total number of record Links: type: object description: Links of the adjacent pages properties: prev: type: string description: URL of the previous page. Blank if currently on the first page next: type: string description: URL of the next page. Blank if currently on the last page Messages: type: object description: A message page that is sent in response of request to retrieving messages properties: pagination: $ref: '#/components/schemas/Pagination' messages: type: array items: $ref: '#/components/schemas/Message' links: $ref: '#/components/schemas/Links' Message: type: object description: A conversation message required: - accountId - channelProviderId - channelId - senderParticipantId - senderParticipantName - senderParticipantType - body - status properties: messageId: type: string description: The unique 36 character internal id for this specific message. accountId: type: string description: The unique 6 character internal id that represents the customer account dialogId: type: string description: The unique 36 character internal id that represents the dialog. engagementId: type: string description: The unique 36 character internal id that represents the engagement. status: $ref: '#/components/schemas/MessageStatus' sessionId: type: string description: The unique 36 character id (uuid) that represents the users session. businessAccountName: type: string description: The name of the business account configured on the channel provider channelProviderId: type: string description: The unique id that represents the channel provider channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Contact Center Channel list in Developers guide for further details. senderParticipantId: type: string description: The unique id that represents the sender of the message. senderParticipantName: type: string description: The optional display name of the user that sent the message. If not provided, display name from the session will be used. senderParticipantType: $ref: '#/components/schemas/ParticipantType' body: $ref: '#/components/schemas/BodyElement' fallbackText: type: string description: Fallback message text that clients can show if they are not capable of rendering the body headers: $ref: '#/components/schemas/MessageHeaders' attachments: type: array items: $ref: '#/components/schemas/Attachment' description: List of Attachments recipientParticipants: type: array readOnly: true items: $ref: '#/components/schemas/Participant' description: List of recipient participants customData: type: object description: Any data complementing the actual message body that is valuable for recipient clients. For example any additional reference links, key words, hash tag references, additional content information etc. additionalProperties: type: string messageIndex: type: integer description: The index of the message within the context of the dialog parentMessageId: type: string description: The unique 36 character internal id for the message that is the parent of this message providerDialogId: type: string description: The provider side identifier for a Contact Center dialog. providerSenderId: type: string description: The provider side identifier for the user who sent the message. providerMessageId: type: string description: The provider side identifier for the message. providerParentMessageId: type: string description: The provider side identifier for the message that is the parent of this message engagementParameters: type: object description: Optional key/value context information on the engagement. This information might be used to make business decisions on how the engagement is treated. For example, the client application might want to send hints about customer's interest based on the customer's searches or FAQ browsing additionalProperties: type: string receivedAt: type: string format: date-time description: The datetime when the Contact Center received the message (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') lastUpdatedAt: type: string format: date-time description: The datetime when the message was last updated (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') Participant: type: object description: This event indicates that system will no longer exchange messages for this connection required: - participantId - participantType - connectionId - channelProviderId properties: participantId: type: string description: The unique id that represents the participant. participantType: $ref: '#/components/schemas/ParticipantType' displayName: type: string description: Display name of the participant connectionId: type: string description: The unique 36 character internal id (uuid) that represents the Connection. providerParticipantId: type: string description: The provider side identifier for the participant channelProviderId: type: string description: The unique id that represents the channel provider SendMessage: type: object required: - body - sessionId - dialogId properties: sessionId: type: string minLength: 36 maxLength: 36 description: The unique 36 character id (uuid) that represents the users session. pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ dialogId: type: string minLength: 36 maxLength: 36 description: The unique 36 character internal id that represents the dialog. pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ body: $ref: '#/components/schemas/BodyElement' fallbackText: type: string maxLength: 256 description: Fallback message text that clients can show if they are not capable of rendering the body headers: $ref: '#/components/schemas/MessageHeaders' customData: type: object maxProperties: 20 description: Any data complementing the actual message body that is valuable for recipient clients. For example any additional reference links, key words, hash tag references, additional content information etc. Key is limited to 64 characters additionalProperties: type: string maxLength: 256 senderParticipantName: type: string maxLength: 70 description: Display name of the user that sent the message. If not provided, display name from the session will be used. parentMessageId: type: string maxLength: 256 description: The unique 36 character internal id for the message that is the parent of this message providerMessageId: type: string maxLength: 256 description: The provider side identifier for the message. providerParentMessageId: type: string maxLength: 256 description: The provider side identifier for the message that is the parent of this message correlationId: type: string maxLength: 256 description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. SendMessageResponse: allOf: - $ref: '#/components/schemas/Message' - type: object additionalProperties: true properties: correlationId: type: string description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. If the client does not pass any value for the correlation id in the request, a unique value will be generated automatically and sent back in the response. CustomerIdentifiers: type: object description: Unique identifiers for identifying the customer during an Engagement such as phoneNumbers or emailAddresses. minProperties: 1 maxProperties: 10 additionalProperties: type: array description: 'Identifiers related to the Customer. The maximum length of an identifer key is 50 characters and must be a valid "name" of a pre-configured identifier in Customer Journey. ' maxItems: 5 items: type: string minLength: 1 maxLength: 256 Attachment: type: object description: Meta information about the media required: - id - name - size - contentType - url properties: attachmentId: type: string description: The unique 36 character internal id for the attachment minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ name: type: string description: The name of the attachment size: type: integer format: int64 description: The size of the attachment in bytes contentType: type: string description: The content type of the attachment contentId: type: string maxLength: 256 description: The content id of the attachment url: type: string description: The URL link to retrieve the attachment captionText: type: string description: The text describing the caption of the attachment thumbnailUrl: type: string description: The URL link to retrieve the thumbnail of the attachment additionalProperties: type: object description: Any additional properties of the attachment like labels, tags, revision numbers, display properties, etc. additionalProperties: type: string MessageHeaders: type: object properties: priority: type: string maxLength: 32 description: The priority of the message set by the provider sensitivity: type: string maxLength: 32 description: The sensitivity of the message set by the provider encoding: type: string maxLength: 32 description: The encoding used for the body of the message subject: type: string maxLength: 256 description: The subject of the message set by the provider from: type: string maxLength: 256 description: The sender of the message set by the provider to: type: array description: The To (recipients) of the message set by the provider maxItems: 20 items: type: string maxLength: 256 cc: type: array maxItems: 20 description: The Cc (recipients) of the message set by the provider. This field is mainly used for email messages items: type: string maxLength: 256 bcc: type: array maxItems: 20 description: The Bcc (recipients) of the message set by the provider. This field is mainly used for email messages items: type: string maxLength: 256 replyTo: type: string maxLength: 256 description: The address to use when replying. clientDeviceTag: type: string maxLength: 256 description: The tag used to identify the client device that was used to send the message. messageSourceServerTag: type: string maxLength: 256 description: The tag used by a service to identify that this message was sent by itself. providerTimestamp: type: string format: date-time description: The date time when the message was captured by the provider (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') additionalHeaders: type: object description: The additional header fields of the message in the form of key/value parameters. For example if the payload is of a specific version that the clients rendering the payload need to be aware of that information can be sent here. Key is limited to 64 characters maxProperties: 10 additionalProperties: type: string maxLength: 256 BodyElement: type: object description: Definition of the body element such as the type of element, the message text and format required: - elementType properties: elementType: type: string minLength: 1 maxLength: 50 description: The type of the body element such as text, image, attachment, carousel, location, or form elementText: $ref: '#/components/schemas/ElementText' payload: type: string description: Data required to help render the message on end clients maxLength: 4096 DialogStatus: type: string description: Status of the dialog enum: - PENDING - ACTIVE - TERMINATING - TERMINATED SessionStatus: description: Status of the session type: string enum: - ACTIVE - TERMINATING - TERMINATED MessageStatus: description: The delivery status of the message type: string enum: - NONE - SENT - DELIVERED - READ - FAILED - DELETED ElementText: type: object description: The text of the message body required: - text properties: text: type: string maxLength: 4096 description: Text of the body textFormat: $ref: '#/components/schemas/TextFormat' TextFormat: description: The text format of the message in the body example: PLAINTEXT type: string enum: - PLAINTEXT - HTML - MARKDOWN ParticipantType: description: The type of participant type: string enum: - CUSTOMER - AGENT - SUPERVISOR - SYSTEM - BOT ConnectionState: description: State of the connection between a participant and the dialog type: string enum: - CONNECTED - DISCONNECTED Problem: type: object description: 'Problem Detail as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs RFC 7807 ' properties: type: type: string format: uri description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). ' default: about:blank example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: type: string description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized). ' example: Service Unavailable nullable: true status: type: integer format: int32 description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' minimum: 100 maximum: 600 exclusiveMaximum: true example: 503 nullable: true detail: type: string description: 'A human readable explanation specific to this occurrence of the problem. ' example: Connection to database timed out nullable: true instance: type: string format: uri description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ' nullable: true violations: type: array description: 'A list of violations that occurred as a result of invalid data provided as part of a request. ' nullable: true items: type: object properties: field: type: string description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body. ' example: accountId message: type: string description: 'A human readable explanation specific to this occurrence of the violation. ' example: must match "^[a-zA-Z]{6}$" code: type: integer format: int32 description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change. ' example: 20006 example: - field: emailAddress message: must not be null code: 20002 - field: accountId message: must match "^[a-zA-Z]{6}$" code: 20006 securitySchemes: BearerAuth: type: http scheme: bearer description: This API uses Bearer Token Authorization Flow bearerFormat: JWT AppKey: type: apiKey in: header name: appkey description: This API needs an appKey as header examples: CreateEngagement: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 channelId: Chat conversation: sell car providerDialogId: 616imlgwg266hjs670nl engagementParameters: model: 512GTB interestedModel: 488GTB correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 ListEngagementsResponse: value: - engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 accountId: ABCDEF conversation: sell car dialogs: - dialogId: fc741b00-710b-11eb-9439-0242ac130002 channelId: Chat dialogStatus: ACTIVE providerDialogId: 616imlgwg266hjs670nl initiatorParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 connections: - connectionId: zc38400d-c44f-4451-8316-e75c4efbt779 participantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 participantType: CUSTOMER displayName: John Doe sessionIds: - 10494b78-710c-11eb-9439-0242ac130002 connectionState: CONNECTED - connectionId: f3c8400d-c44f-4451-8316-e75c4efb8zz9 participantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 participantType: AGENT displayName: Joan Doe connectionState: CONNECTED engagementParameters: model: 512GTB interestedModel: 488GTB createdAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.34Z' url: /api/digital/channel/v1/engagements/d3c8400d-c44f-4451-8316-435ch8c6e3f2 GetEngagementResponse: value: engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 accountId: ABCDEF conversation: sell car dialogs: - dialogId: fc741b00-710b-11eb-9439-0242ac130002 channelId: Chat dialogStatus: ACTIVE providerDialogId: 616imlgwg266hjs670nl initiatorParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 connections: - connectionId: zc38400d-c44f-4451-8316-e75c4efbt779 participantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 participantType: CUSTOMER displayName: John Doe sessionIds: - 10494b78-710c-11eb-9439-0242ac130002 connectionState: CONNECTED - connectionId: f3c8400d-c44f-4451-8316-e75c4efb8zz9 participantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 participantType: AGENT displayName: John Doe connectionState: CONNECTED engagementParameters: model: 512GTB interestedModel: 488GTB createdAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' url: /api/digital/channel/v1/engagements/d3c8400d-c44f-4451-8316-435ch8c6e3f2 EngagementCreated: value: engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 accountId: ABCDEF conversation: sell car dialogs: - dialogId: fc741b00-710b-11eb-9439-0242ac130002 channelId: Chat dialogStatus: PENDING providerDialogId: 616imlgwg266hjs670nl initiatorParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 connections: - connectionId: zc38400d-c44f-4451-8316-e75c4efbt779 participantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 participantType: CUSTOMER displayName: John Doe sessionIds: - 10494b78-710c-11eb-9439-0242ac130002 connectionState: CONNECTED - connectionId: f3c8400d-c44f-4451-8316-e75c4efb8zz9 participantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 participantType: AGENT displayName: Joan Doe connectionState: CONNECTED engagementParameters: model: 512GTB interestedModel: 488GTB createdAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' url: /api/digital/channel/v1/engagements/d3c8400d-c44f-4451-8316-435ch8c6e3f2 correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 DisconnectEngagementRequest: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 reason: USER_CLOSED correlationId: cdf184ec-8278-11eb-8dcd-0242ac130003 JoinEngagement: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 correlationId: d2ac3a72-8278-11eb-8dcd-0242ac130003 JoinEngagementResponse: value: engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 accountId: ABCDEF conversation: sell car dialogs: - dialogId: fc741b00-710b-11eb-9439-0242ac130002 channelId: Chat dialogStatus: ACTIVE providerDialogId: 616imlgwg266hjs670nl initiatorParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 connections: - connectionId: zc38400d-c44f-4451-8316-e75c4efbt779 participantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 participantType: CUSTOMER displayName: John Doe sessionIds: - 10494b78-710c-11eb-9439-0242ac130002 connectionState: CONNECTED - connectionId: f3c8400d-c44f-4451-8316-e75c4efb8zz9 participantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 participantType: AGENT displayName: John Doe connectionState: CONNECTED engagementParameters: model: 512GTB interestedModel: 488GTB createdAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' url: /api/digital/channel/v1/engagements/d3c8400d-c44f-4451-8316-435ch8c6e3f2 correlationId: d2ac3a72-8278-11eb-8dcd-0242ac130003 SendMessageRequestSimple: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 body: elementType: text elementText: text: I need some help to sell my car senderParticipantName: John Doe SendMessageRequest: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 body: elementType: text elementText: text: '2018' textFormat: PLAINTEXT payload: '{"requestElementType":"scroll"}' fallbackText: year selected is 2018 headers: priority: normal sensitivity: normal encoding: utf-8 subject: sell car from: johndoe@example.com clientDeviceTag: android_app messageSourceServerTag: ChatProviderServer01 providerTimestamp: '2018-11-13T20:25:39.534Z' additionalHeaders: appVersion: v2.1 allowForward: 'false' customData: sentiment: Neutral senderParticipantName: John Doe providerSenderId: d29c456135dcbe326e490bb2 providerMessageId: iwrh1hfbkmj4yb36ijsm providerParentMessageId: bgodcec6a9kvn38g46sn correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 ListMessages1: value: pagination: pageNumber: 1 pageSize: 5 total: 7 messages: - messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 status: DELIVERED sessionId: 10494b78-710c-11eb-9439-0242ac130002 businessAccountName: acme@example.com channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: text elementText: text: I need some help to sell my car textFormat: PLAINTEXT customData: sentiment: Neutral messageIndex: 1 parentMessageId: 5963c0d619a30a2e00de36b8 providerDialogId: 616imlgwg266hjs670nl providerSenderId: d29c456135dcbe326e490bb2 providerMessageId: iwrh1hfbkmj4yb36ijsm providerParentMessageId: bgodcec6a9kvn38g46sn receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.834Z' - messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 status: DELIVERED businessAccountName: acme@example.com channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 senderParticipantName: Joan Doe senderParticipantType: AGENT body: elementType: text elementText: text: Sure. How long have you been using it? textFormat: PLAINTEXT customData: sentiment: Neutral messageIndex: 2 parentMessageId: f26c65ec-ed40-4e9e-9a96-45a089c2107c providerDialogId: 616imlgwg266hjs670nl receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.834Z' links: prev: '' next: /api/digital/channel/v1/engagements/d3c8400d-c44f-4451-8316-435ch8c6e3f2/messages?sessionId=10494b78-710c-11eb-9439-0242ac130002&dialogId=fc741b00-710b-11eb-9439-0242ac130002&pageSize=2&pageNumber=21&pageSize=5 ListMessages2: value: pagination: pageNumber: 2 pageSize: 5 total: 7 messages: - messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 status: DELIVERED sessionId: 10494b78-710c-11eb-9439-0242ac130002 businessAccountName: acme@example.com channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: text elementText: text: I have been driving it for about 4 years now textFormat: PLAINTEXT customData: sentiment: Neutral messageIndex: 3 providerDialogId: 616imlgwg266hjs670nl providerSenderId: d29c456135dcbe326e490bb2 providerMessageId: iwrh1hfbkmj4yb36ijsm receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.834Z' - messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 status: DELIVERED businessAccountName: acme@example.com channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 senderParticipantName: Joan Doe senderParticipantType: AGENT body: elementType: text elementText: text: What is the make and model? textFormat: PLAINTEXT customData: sentiment: Neutral messageIndex: 4 parentMessageId: f26c65ec-ed40-4e9e-9a96-45a089c2107c providerDialogId: 616imlgwg266hjs670nl receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.834Z' links: prev: /api/digital/channel/v1/engagements/d3c8400d-c44f-4451-8316-435ch8c6e3f2/messages?sessionId=10494b78-710c-11eb-9439-0242ac130002&dialogId=fc741b00-710b-11eb-9439-0242ac130002&pageSize=2&pageNumber=1&pageSize=5 next: '' SendMessageSimpleResponse: value: accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 status: SENT sessionId: 10494b78-710c-11eb-9439-0242ac130002 businessAccountName: acme@example.com channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: text elementText: text: I need some help to sell my car textFormat: PLAINTEXT messageIndex: 1 providerDialogId: 616imlgwg266hjs670nl receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.834Z' correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 SendMessageResponse: value: accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: d3c8400d-c44f-4451-8316-435ch8c6e3f2 status: SENT sessionId: 10494b78-710c-11eb-9439-0242ac130002 businessAccountName: acme@example.com channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: 4dc53692-e25c-4e8c-a780-0b2f05008478 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: text elementText: text: '2018' textFormat: PLAINTEXT payload: '{"requestElementType":"scroll"}' fallbackText: year selected is 2018 headers: priority: normal sensitivity: normal encoding: utf-8 subject: sell car from: johndoe@example.com clientDeviceTag: android_app messageSourceServerTag: ChatProviderServer01 providerTimestamp: '2018-11-13T20:25:39.534Z' additionalHeaders: appVersion: v2.1 allowForward: 'false' customData: sentiment: Neutral messageIndex: 1 parentMessageId: 5963c0d619a30a2e00de36b8 providerDialogId: 616imlgwg266hjs670nl providerSenderId: d29c456135dcbe326e490bb2 providerMessageId: iwrh1hfbkmj4yb36ijsm providerParentMessageId: bgodcec6a9kvn38g46sn receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.834Z' correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 CreateSession: value: accountId: ABCDEF channelProviderId: ChatConnector01 customerIdentifiers: emailAddresses: - john@example.com phoneNumbers: - +91 20 4101 8003 displayName: John Doe sessionParameters: language: english device: mobile app: chrome-mobile providerCustomerId: '55' correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 GetSession: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 accountId: ABCDEF channelProviderId: ChatConnector01 displayName: John Doe customerIdentifiers: emailAddresses: - john@example.com phoneNumbers: - +91 20 4101 8003 sessionParameters: language: english device: mobile app: chrome-mobile sessionStatus: ACTIVE providerCustomerId: '55' createdAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' url: /api/digital/channel/v1/sessions/10494b78-710c-11eb-9439-0242ac130002 AppendIdentifiersSessionResponse: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 accountId: ABCDEF channelProviderId: ChatConnector01 displayName: John Doe customerIdentifiers: emailAddresses: - john@example.com - dave@example.com phoneNumbers: - +91 20 4101 8003 - +31 20 5101 9005 sessionParameters: language: english device: mobile app: chrome-mobile sessionStatus: ACTIVE providerCustomerId: '55' createdAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' url: /api/digital/channel/v1/sessions/10494b78-710c-11eb-9439-0242ac130002 UpdateSessionParametersSessionResponse: value: sessionId: 10494b78-710c-11eb-9439-0242ac130002 accountId: ABCDEF channelProviderId: ChatConnector01 displayName: John Doe customerIdentifiers: emailAddresses: - john@example.com phoneNumbers: - +91 20 4101 8003 sessionParameters: language: english device: mobile app: chrome-mobile country: Ireland sessionStatus: ACTIVE providerCustomerId: '55' createdAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' url: /api/digital/channel/v1/sessions/10494b78-710c-11eb-9439-0242ac130002 UpdateSessionParameters: value: country: Ireland AppendIdentifiers: value: emailAddresses: - dave@example.com phoneNumbers: - +31 20 5101 9005 ErrorConstraintViolation: description: Constraint Violation value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: Constraint Violation status: 400 detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section. violations: - field: channelId message: must not be null ErrorUnauthorized: description: Unauthorized value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized title: Unauthorized status: 401 detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis ErrorForbidden: description: Forbidden value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden title: Forbidden status: 403 detail: According to the access control policy the current user and/or accountId does not have permission to access this resource. ErrorNotFound: description: Not Found value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#not-found title: Not Found status: 404 detail: Either there is no API method associated with the URL path of the request, or the request refers to one or more resources that were not found. ErrorInternalServerError: description: Server Error value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#server-error title: Server Error status: 500 detail: An internal server error was encountered.