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.