Agent and Engagement Events

Agent and Engagement Events 1.0.1 documentation

Contact Center Agent and Engagement events are available for the streaming needs of client applications via websockets. The Notification API facilitates subscribing to different families of events and transport protocols (Websockets and Webhooks). Agent & Engagement are one of these available families.
This following focuses on the websocket implementation of Agent and Engagement events.

Create Subscription

The example provided below will create a subscription for a WebSocket stream of Agent & Engagement events. Upon a successful response a transport endpoint URL will be provided for the WebSocket interface to connect and begin consuming events from.

  POST https://{{CCaaS_FQDN}}/api/notification/v1/accounts/{accountId}/subscriptions
  Content-Type: application/json
  Accept: application/json
  Header: Authorization: Bearer {{token}}

Request Body:

    {
      "family": "AGENT_ENGAGEMENT",
      "events": ["ALL"],
      "transport": {
        "type": "WEBSOCKET"
      }
    }

Response:

    {
      "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
      "createdAt": "2020-08-01T14:25:23.162Z",
      "expiresAt": "2020-08-01T15:25:23.177Z",
      "expiresIn": 900,
      "status": "ACTIVE",
      "family": "AGENT_ENGAGEMENT",
      "events": [
        "ALL"
      ],
      "transport": {
        "type": "WEBSOCKET",
        "endpoint": "wss://uk.cc.avayacloud.com/ws/notification/v1/agent-engagement",
        "pingInterval": 300
      }
    }

As you have seen above agent and engagement events are subscribed to via the Notification API. In choosing WEBSOCKET as the transport option these events are then consumed through a WebSocket connection. The events are contained within JSON that makes up the payload of the WebSocket messages.
The following section shows how to use the Websocket interface.

Table of Contents

Servers

production Server

URLProtocolDescription
wss://{server}:{port}/ws/notificationwssAfter connection to the websocket a new session is created.

URL Variables

NameDefault valuePossible valuesDescription
serverHOST-REGION.avayacloud.comAny-
port443443Secure connection (TLS) is available through port 443.

Security Requirements

TypeInNameSchemeFormatDescription
oauth2-----

Channels

/v1/agent-engagement Channel

publish Operation

Upon creating a subscription and connecting to the WebSocket endpoint you will need to send a message to the server confirming you are authenticated before any notification events will be sent. This token must be obtained from the A&A service.

NOTE: For further details and code examples please refer to: How to Authenticate with Avaya Experience Platform™ APIs

Accepts one of the following messages:

Message authentication

The first message the client should send to server after establishing the connection must be an authentication message.

Payload
NameTypeDescriptionAccepted values
event (required)stringauthentication - A constant parameter.Any
subscriptionId (required)stringThe unique id of the subscription.Any
token (required)stringThe access token string as issued by the authorization server.Any

Examples of payload (generated)

{
  "event": "authentication",
  "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
  "token": "7e0cd42a22b451701fg29c3bde214…"
}
Tags
  • Authentication
Message ping

Client must send ping to the server in order to determine whether connection is alive, server responds with pong.
The ping is also used to keep the websocket connection alive, by keep sending ping messages every pingInterval time to the server.

It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection.

Payload
NameTypeDescriptionAccepted values
event (required)stringping - A constant parameter.Any
subscriptionIdstringOptional. The id of the subscription.Any

Examples of payload

pingMessage

Example of an ping message to server.

{
  "event": "ping"
}
Tags
  • Heartbeat

subscribe Operation

Notification messages that you receive from the server

Accepts one of the following messages:

Message notification

Notification event consumed over the WebSocket connection

Specification
This Async Specification details all the Agent and Engagement Events and structure
asyncapi: 2.1.0
info:
  title: Agent and Engagement Events
  version: 1.0.2
  description: >
    Contact Center Agent and Engagement events are available for the streaming needs of client applications via websockets. The Notification API facilitates subscribing to different families of events and transport protocols (Websockets and Webhooks). Agent & Engagement are one of these available families.

    This following focuses on the websocket implementation of Agent and Engagement events.

    ### Create Subscription

    The example provided below will create a subscription for a WebSocket
    stream of Agent & Engagement events. Upon a successful response a
    transport endpoint URL will be provided for the WebSocket interface to
    connect and begin consuming events from.

POST https://{{CCaaS_FQDN}}/api/notification/v1/accounts/{accountId}/subscriptions
Content-Type: application/json
Accept: application/json
Header: Authorization: Bearer {{token}}

  Request Body:

```json
    {
      "family": "AGENT_ENGAGEMENT",
      "events": ["ALL"],
      "transport": {
        "type": "WEBSOCKET"
      }
    }

Response:

    {
      "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
      "createdAt": "2020-08-01T14:25:23.162Z",
      "expiresAt": "2020-08-01T15:25:23.177Z",
      "expiresIn": 900,
      "status": "ACTIVE",
      "family": "AGENT_ENGAGEMENT",
      "events": [
        "ALL"
      ],
      "transport": {
        "type": "WEBSOCKET",
        "endpoint": "wss://uk.cc.avayacloud.com/ws/notification/v1/agent-engagement/DYNNUG/fdbec917-e76e-4645-8120-4eac46f29487",
        "pingInterval": 300
      }
    }

As you have seen above agent and engagement events are subscribed to via the
Notification API. In choosing WEBSOCKET as the transport option these
events are then consumed through a WebSocket connection. The events are
contained within JSON that makes up the payload of the WebSocket messages.

The following section shows how to use the Websocket interface.
contact:
name: Avaya API Team
url: 'https://developers.avayacloud.com/onecloud-ccaas'
email: [email protected]
license:
name: Avaya Software Development Kit (SDK) Software License Terms
url: 'http://support.avaya.com/css/P8/documents/101038288'
tags:

  • name: Agent and Engagement Data
    description: >
    Realtime notification events are subscribed to via the Agent and Engagement API. The events are contained within JSON that makes up the payload of the WebSocket messages.
  • name: Heartbeat
    description: >
    Websocket messages used for heartbeat.
  • name: Authentication
    description: >
    Authentication related messages.
    servers:
    production:
    url: wss://{server}:{port}/ws/notification
    protocol: wss
    description: |
    After connection to the websocket a new session is created.
    security:
    • apiKey: []
      variables:
      server:
      default: HOST-REGION.avayacloud.com
      port:
      description: Secure connection (TLS) is available through port 443.
      default: '443'
      enum:

      • '443'
        defaultContentType: application/json
        channels:
        /v1/agent-engagement:
        publish:
        description: >
        Upon creating a subscription and connecting to the WebSocket endpoint
        you will need to send a message to the server confirming you are
        authenticated before any notification events will be sent. This token
        must be obtained from the A&A service.

      NOTE: For further details and code examples please refer to:
      https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis#acquiring-tokens
      operationId: authenticationMessage
      message:
      oneOf:

      • $ref: '#/components/messages/authentication'
      • $ref: '#/components/messages/ping'
        subscribe:
        description: Notification messages that you receive from the server
        operationId: notificationMessage
        message:
        oneOf:
      • $ref: '#/components/messages/notification'
      • $ref: '#/components/messages/pong'
      • $ref: '#/components/messages/authenticationResponse'
        components:
        messages:
        authentication:
        name: authentication
        title: Authentication Message
        description: The first message the client should send to server after establishing the connection must be an authentication message.
        contentType: application/json
        tags:
      • name: Authentication
        payload:
        $ref: '#/components/schemas/Authentication'
        x-response:
        $ref: '#/components/schemas/AuthenticationResponse'
        notification:
        name: notification
        title: Agent and Engagement Message
        description: Notification event consumed over the WebSocket connection
        contentType: application/json
        tags:
      • name: Agent and Engagement Data
        payload:
        $ref: '#/components/schemas/Notification'
        ping:
        description: |
        Client must send ping to the server in order to determine whether connection is alive, server responds with pong.
        The ping is also used to keep the websocket connection alive, by keep sending ping messages every pingInterval time to the server.

      It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection.
      tags:

      • name: Heartbeat
        payload:
        $ref: '#/components/schemas/Ping'
        examples:

      • name: pingMessage
        summary: Example of an ping message to server.
        payload:
        event: 'ping'
        pong:
        description: Server pong response to a ping message.
        tags:

      • name: Heartbeat
        payload:
        $ref: '#/components/schemas/Pong'
        examples:

      • name: pongMessage
        summary: Example of a pong message to client.
        payload:
        event: 'pong'
        authenticationResponse:
        description: Authentication response message sent to the client after websocket authentication.
        tags:

      • name: Authentication
        payload:
        $ref: '#/components/schemas/AuthenticationResponse'
        schemas:
        Authentication:
        type: object
        additionalProperties: false
        properties:
        event:
        description: authentication - A constant parameter.
        type: string
        const: authentication
        subscriptionId:
        type: string
        description: The unique id of the subscription.
        token:
        type: string
        description: The access token string as issued by the authorization server.
        required:

      • event

      • subscriptionId

      • token
        example:
        event: authentication
        subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487
        token: 7e0cd42a22b451701fg29c3bde214…
        AuthenticationResponse:
        type: object
        additionalProperties: false
        properties:
        event:
        description: authenticationResponse - A constant parameter.
        type: string
        const: authenticationResponse
        status:
        type: string
        enum:

        • CONNECTION_CONFIRMED
        • CONNECTION_FAILED_INVALID_TOKEN
        • CONNECTION_FAILED_UNKNOWN_SUBSCRIPTION
        • CONNECTION_FAILED_INTERNAL_SERVER_ERROR
        • CONNECTION_FAILED_CONSTRAINT_VIOLATION
          description: |
          You will then receive 1 of 5 statuses:
          • CONNECTION_CONFIRMED: Connection was confirmed
          • CONNECTION_FAILED_INVALID_TOKEN: Authentication token is invalid
          • CONNECTION_FAILED_UNKNOWN_SUBSCRIPTION: Unknown Subscription, can be for a subscription that never existed or one that is no longer active
          • CONNECTION_FAILED_INTERNAL_SERVER_ERROR: Server Error, client can retry later
          • CONNECTION_FAILED_CONSTRAINT_VIOLATION: Client issue, malformed client request, client must update payload and rerty
            subscriptionId:
            type: string
            description: The unique id of the subscription.
            pingInterval:
            type: integer
            format: int64
            description: |
            The maximum interval (seconds) at which a ping is expected to be sent by the client before websocket is closed and subscription set to INACTIVE.

        It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection.
        expiresInterval:
        type: integer
        format: int64
        description: Expiration interval in seconds before the subscription is set to INACTIVE.
        example:
        event: authenticationResponse
        status: CONNECTION_CONFIRMED
        subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487
        pingInterval: 300
        expiresInterval: 900
        Notification:
        type: object
        additionalProperties: false
        properties:
        correlationId:
        type: string
        description: The unique ID of the notification being sent
        subscriptionId:
        type: string
        description: The unique ID of the Agent and Engagement subscription
        family:
        type: string
        description: The family of events the subscription is for
        sentAt:
        type: string
        description: Datetime (in ISO 8601 format) of when the notification event was sent
        format: datetime
        accountId:
        type: string
        description: >-
        The unique identifier for the Account.
        loginId:
        description: >
        The unique login handle for the Agent.

        NOTE Only present on Agent related events
        type: string
        initiatingLoginId:
        description: >
        The unique login handle for the Agent initiating a transfer.

        NOTE Only present on Single Step Transfer related events
        type: string
        destinationLoginId:
        description: >
        The unique login handle for the Agent the transfer is being made to.

        NOTE Only present on Single Step Transfer to User related events
        type: string
        observedLoginId:
        description: >
        The unique login handle for the observed Agent.

        NOTE Only present on Agent Participant Observing related events
        type: string
        observingLoginId:
        description: >
        The unique login handle for the observing Supervisor.

        NOTE Only present on Agent Participant Observing related events
        type: string
        coachedLoginId:
        description: >
        The unique login handle for the coached Agent.

        NOTE Only present on Agent Participant Coaching related events
        type: string
        coachingLoginId:
        description: >
        The unique login handle for the coaching Supervisor.

        NOTE Only present on Agent Participant Coaching related events
        type: string
        bargingLoginId:
        description: >
        The unique login handle for the barging Supervisor.

        NOTE Only present on Agent Participant Barged related events
        type: string
        body:
        $ref: '#/components/schemas/NotificationBody'
        example:
        correlationId: a425851d-5225-4b76-8ca0-4fa31ecfd5db
        subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487
        family: AGENT_ENGAGEMENT
        sentAt: "2020-08-24T08:20:23.395Z"
        accountId: DYNNUG
        loginId: [email protected]
        body:
        event: AgentState
        agentId: 4a785201-73b8-4842-abf7-36f5e572d310
        profileId: HomeProfile
        state: NOT_READY
        reasonCode: 514
        cause: RONA
        id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
        timestamp: 9223372036854776000
        NotificationBody:
        type: object
        discriminator: event
        description: The raw event payload that will be different based on the event.
        properties:
        event:
        type: string
        description: The name of the specific event being sent. For instance AgentState, AgentParticipant, InboundEngagementCreated, etc...
        oneOf:

      • $ref: '#/components/schemas/AgentState'

      • $ref: '#/components/schemas/AgentParticipant'

      • $ref: '#/components/schemas/AutomationParticipant'

      • $ref: '#/components/schemas/ExternalParticipant'

      • $ref: '#/components/schemas/EngagementPrerouted'

      • $ref: '#/components/schemas/InboundEngagementCreated'

      • $ref: '#/components/schemas/MatchOffered'

      • $ref: '#/components/schemas/OutboundEngagementCreated'

      • $ref: '#/components/schemas/SingleStepTransfer'

      • $ref: '#/components/schemas/SingleStepTransferError'

      • $ref: '#/components/schemas/ChannelReady'

      • $ref: '#/components/schemas/AfterContactWorkActivated'

      • $ref: '#/components/schemas/AfterContactWorkCompleted'
        AgentState:
        type: object
        additionalProperties: false
        properties:
        agentId:
        $ref: '#/components/schemas/AgentId'
        profileId:
        type: string
        description: >-
        The profile ID used to login the agent. The profile
        indicates what channels should be logged in.
        state:
        type: string
        description: >-
        The current state of the agent.
        enum:

        • LOGGED_IN
        • LOGGED_OUT
        • READY
        • NOT_READY
          reasonCode:
          type: string
          description: The reason code for going not ready. Only for AGENT_NOT_READY state
          cause:
          type: string
          description: The cause of the agent not being ready. Only for AGENT_NOT_READY state
          id:
          $ref: '#/components/schemas/Id'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          agentId: 4a785201-73b8-4842-abf7-36f5e572d310
          profileId: HomeProfile
          state: NOT_READY
          reasonCode: 514
          cause: RONA
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          AgentParticipant:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          connectionId:
          $ref: '#/components/schemas/ConnectionId'
          action:
          type: string
          description: >-
          The agent participant action
          enum:
        • ADDED
        • HELD
        • UNHELD
        • INVITED
        • REMOVED
        • MOVED
        • OBSERVING
        • COACHING
        • BARGEDIN
          agentId:
          $ref: '#/components/schemas/AgentId'
          previousDialogId:
          type: string
          description: The unique identifier for the previous dialog the agent was a part of. Only for MOVED action
          dialogId:
          $ref: '#/components/schemas/DialogId'
          extension:
          $ref: '#/components/schemas/Extension'
          channelId:
          $ref: '#/components/schemas/ChannelId'
          providerEngagementId:
          $ref: '#/components/schemas/ProviderEngagementId'
          agentInitiatedDisconnect:
          type: boolean
          description: An indication if the agent initiated disconnect from the dialog. Only for REMOVED action
          observedAgentId:
          type: string
          description: The unique identifier for the observed agent. Only for OBSERVING action
          observingAgentId:
          type: string
          description: The unique identifier for the observing agent. Only for OBSERVING action
          observingAgentConnectionId:
          type: string
          description: The unique identifier for this appearance of the observing participant on this engagement. Only for OBSERVING action
          observedAgentConnectionId:
          type: string
          description: The unique identifier for this appearance of the participant already on this engagement. Only for OBSERVING action
          coachingAgentId:
          type: string
          description: The unique identifier for the coaching agent. Only for COACHING action
          coachedAgentId:
          type: string
          description: The unique identifier for the coached agent. Only for COACHING action
          coachingAgentConnectionId:
          type: string
          description: The unique identifier for this appearance of the coaching participant on this engagement. Only for COACHING action
          coachedAgentConnectionId:
          type: string
          description: The unique identifier for this appearance of the participant already on this engagement. Only for COACHING action
          bargingAgentId:
          type: string
          description: The unique identifier for the barging in agent. Only for BARGEDIN action
          bargingAgentConnectionId:
          type: string
          description: the unique identifier for this appearance of the participant barging in to this engagement. Only for BARGEDIN action
          id:
          $ref: '#/components/schemas/Id'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          connectionId: b2bcbf1e-905b-4164-bab5-6efcde49933b
          action: ADDED
          agentId: 4a785201-73b8-4842-abf7-36f5e572d310
          dialogId: 01005000281645486013
          extension: 8010017
          channelId: Voice
          providerEngagementId: 00001084011532384922
          agentInitiatedDisconnect: false
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          AutomationParticipant:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          automationParticipantId:
          $ref: '#/components/schemas/AutomationParticipantId'
          action:
          type: string
          description: >-
          The automation participant action
          enum:
        • ADDED
        • REMOVED
          dialogId:
          $ref: '#/components/schemas/DialogId'
          automationType:
          $ref: '#/components/schemas/AutomationType'
          connectionId:
          $ref: '#/components/schemas/ConnectionId'
          channelId:
          $ref: '#/components/schemas/ChannelId'
          providerEngagementId:
          $ref: '#/components/schemas/ProviderEngagementId'
          automationInitiatedDisconnect:
          $ref: '#/components/schemas/AutomationInitiatedDisconnect'
          id:
          $ref: '#/components/schemas/Id'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          automationParticipantId: AvayaVoiceIVR
          action: ADDED
          dialogId: 01005000281645486013
          automationType: SELF_SERVICE
          connectionId: d2775626-66d4-459b-8147-09ea4b98c370
          channelId: Voice
          providerEngagementId: 00001084011532384922
          automationInitiatedDisconnect: false
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          ExternalParticipant:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          externalParticipantId:
          $ref: '#/components/schemas/ExternalParticipantId'
          action:
          type: string
          description: >-
          The external participant action
          enum:
        • ADDED
        • REMOVED
        • INVITED
          connectionId:
          $ref: '#/components/schemas/ConnectionId'
          dialogId:
          $ref: '#/components/schemas/DialogId'
          channelId:
          $ref: '#/components/schemas/ChannelId'
          providerEngagementId:
          $ref: '#/components/schemas/ProviderEngagementId'
          externalParticipantInitiatedDisconnect:
          type: boolean
          description: An indication if the external participant (aka the Customer) initiated disconnect from the dialog
          id:
          $ref: '#/components/schemas/Id'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          externalParticipantId: +35395554321
          action: ADDED
          connectionId: b2bcbf1e-905b-4164-bab5-6efcde49933b
          dialogId: 01005000281645486013
          channelId: Voice
          providerEngagementId: 00001084011532384922
          externalParticipantInitiatedDisconnect: true
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          EngagementPrerouted:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          dialogId:
          $ref: '#/components/schemas/DialogId'
          orchestrationFlow:
          $ref: '#/components/schemas/OrchestrationFlow'
          attributes:
          $ref: '#/components/schemas/Attributes'
          attributeList:
          type: array
          description: >
          A simplified flat list of attributes

        NOTE this flat array of attributes will help to easily identify “System.Outbound” to represent a POM call
        items:
        type: string
        engagementParameters:
        $ref: '#/components/schemas/EngagementParameters'
        agentRoutingStrategy:
        $ref: '#/components/schemas/AgentRouting'
        adhocEmail:
        type: boolean
        description: Flag to determine if adhoc email or not (email routing only)
        autoResponse:
        type: string
        description: The auto response suggested to be used
        channelProviderId:
        $ref: '#/components/schemas/ChannelProviderId'
        channelId:
        $ref: '#/components/schemas/ChannelId'
        channelIdentifier:
        type: string
        description: The channel identifier of the engagement
        queue:
        type: object
        additionalProperties: false
        description: The queue details
        properties:
        queueId:
        type: string
        description: The unique identifier of the queue
        queueName:
        type: string
        description: The name of the queue
        priority:
        type: integer
        description: The priority of the queue
        proficiencyRangeMin:
        type: integer
        description: The minimum proficiency of the queue
        proficiencyRangeMax:
        type: integer
        description: The maximum proficiency of the queue
        customerIdentifiers:
        $ref: '#/components/schemas/CustomerIdentifiers'
        externalParticipantId:
        $ref: '#/components/schemas/ExternalParticipantId'
        sourceAddress:
        type: string
        description: The source address of the external participant, e.g. calling number or customer email
        destinationAddress:
        $ref: '#/components/schemas/DestinationAddress'
        subject:
        type: string
        description: The subject field of the incoming email
        id:
        $ref: '#/components/schemas/Id'
        timestamp:
        $ref: '#/components/schemas/Timestamp'
        example:
        engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
        dialogId: 01005000281645486013
        orchestrationFlow: OneCloud Voice Outbound
        attributes:
        category: Language
        values:

        • English
          attributeList:
        • System.Outbound
          engagementParameters:
          language: en
          adhocEmail: false
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          channelId: Voice
          channelIdentifier: Voice
          queue:
          queueId: 6d1490d5-7886-417d-ac85-fb0825d53a93
          queueName: Default
          priority: 5
          proficiencyRangeMin: 1
          proficiencyRangeMax: 1
          externalParticipantId: +35395554321
          sourceAddress: +35395554321
          destinationAddress: +12125554321
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          InboundEngagementCreated:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          connectionId:
          $ref: '#/components/schemas/ConnectionId'
          externalParticipantId:
          $ref: '#/components/schemas/ExternalParticipantId'
          dialogId:
          $ref: '#/components/schemas/DialogId'
          callingNumber:
          type: string
          description: The calling number of the external participant
          dialledNumber:
          type: string
          description: The original dialed number for the engagement
          channelId:
          $ref: '#/components/schemas/ChannelId'
          customerIdentifiers:
          $ref: '#/components/schemas/CustomerIdentifiers'
          providerEngagementId:
          $ref: '#/components/schemas/ProviderEngagementId'
          engagementParameters:
          $ref: '#/components/schemas/EngagementParameters'
          id:
          $ref: '#/components/schemas/Id'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          connectionId: d2775626-66d4-459b-8147-09ea4b98c370
          externalParticipantId: +35395554321
          dialogId: 01005000281645486013
          callingNumber: +15551235555
          dialledNumber: +18005555555
          channelId: Voice
          providerEngagementId: 00001084011532384922
          engagementParameters:
          language: en
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          MatchOffered:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          matchId:
          type: string
          description: The unique identifier for this match
          correlationId:
          type: string
          description: The correlation Id from the original match request (can be ignored)
          strategy:
          type: string
          description: >-
          The agent selection strategy used for this match (values include
          MOST_IDLE or OCCUPANCY)
          enum:
          • MOST_IDLE
          • OCCUPANCY
            offeredQueue:
            $ref: '#/components/schemas/OfferedQueue'
            offeredService:
            $ref: '#/components/schemas/OfferedService'
            offeredSpecifiedAgent:
            $ref: '#/components/schemas/OfferedSpecifiedAgent'
            id:
            $ref: '#/components/schemas/Id'
            timestamp:
            $ref: '#/components/schemas/Timestamp'
            example:
            engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
            matchId: 43dc4b96-dfd6-438c-867e-a0d032e1e0a6
            correlationId: 1682f876-f7b7-4347-accd-495cae95f860
            strategy: MOST_IDLE
            id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
            timestamp: 9223372036854776000
            OutboundEngagementCreated:
            type: object
            additionalProperties: false
            properties:
            engagementId:
            $ref: '#/components/schemas/EngagementId'
            agentId:
            $ref: '#/components/schemas/AgentId'
            dialogId:
            $ref: '#/components/schemas/DialogId'
            destinationAddress:
            $ref: '#/components/schemas/DestinationAddress'
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            customerIdentifiers:
            $ref: '#/components/schemas/CustomerIdentifiers'
            engagementParameters:
            $ref: '#/components/schemas/EngagementParameters'
            id:
            $ref: '#/components/schemas/Id'
            timestamp:
            $ref: '#/components/schemas/Timestamp'
            example:
            engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
            agentId: zz3tDKfrQx-Mv78Q_AIpGG
            dialogId: 01005000281645486013
            destinationAddress: +12125554321
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            channelId: Voice
            engagementParameters:
            language: en
            id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
            timestamp: 9223372036854776000
            SingleStepTransfer:
            type: object
            additionalProperties: false
            properties:
            engagementId:
            $ref: '#/components/schemas/EngagementId'
            initiatingAgentId:
            $ref: '#/components/schemas/InitiatingAgentId'
            transferTo:
            type: string
            description: >-
            The type of the transfer
            enum:
          • QUEUE
          • USER
          • AUTOMATION
          • EXTERNAL
            destination:
            type: string
            description: >-
            Contains different values accordingly to transferTo:
          • If transferTo is QUEUE, then returns the queueId
          • If transferTo is USER, then returns the destinationAgentId
          • If transferTo is AUTOMATION, then returns the ivrAddress
          • If transferTo is EXTERNAL, then returns the externalAddress
            queueId:
            $ref: '#/components/schemas/QueueId'
            queueName:
            $ref: '#/components/schemas/QueueName'
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            connectionId:
            $ref: '#/components/schemas/ConnectionId'
            dialogId:
            $ref: '#/components/schemas/DialogId'
            providerDialogId:
            $ref: '#/components/schemas/ProviderDialogId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            correlationId:
            $ref: '#/components/schemas/CorrelationId'
            timestamp:
            $ref: '#/components/schemas/Timestamp'
            example:
            engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
            initiatingAgentId: ab8f46f8-fd79-4380-8d0e-ce739ca481db
            transferTo: QUEUE
            destination: 16119117-7986-426e-bd3f-6f2e1d92ee1d
            queueId: 16119117-7986-426e-bd3f-6f2e1d92ee1d
            queueName: VoiceQ
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            connectionId: d2775626-66d4-459b-8147-09ea4b98c370
            dialogId: 01005000281645486013
            providerDialogId: 00001000321636990744
            channelId: Voice
            correlationId: d3c8400d-c44f-4451-8316-e75c4efb8bb2
            timestamp: 9223372036854776000
            SingleStepTransferError:
            type: object
            additionalProperties: false
            properties:
            engagementId:
            $ref: '#/components/schemas/EngagementId'
            initiatingAgentId:
            $ref: '#/components/schemas/InitiatingAgentId'
            transferTo:
            type: string
            description: >-
            The type of the transfer
            enum:
          • QUEUE
          • USER
          • AUTOMATION
          • EXTERNAL
            errorType:
            type: string
            description: >-
            The type of the error
            enum:
          • CANCELLED
          • FAILED
            destination:
            type: string
            description: >-
            Contains different values accordingly to transferTo:
            • If transferTo is QUEUE, then returns the queueId
            • If transferTo is USER, then returns the destinationAgentId
            • If transferTo is AUTOMATION, then returns the ivrAddress
            • If transferTo is EXTERNAL, then returns the externalAddress
              dialogId:
              $ref: '#/components/schemas/DialogId'
              channelProviderId:
              $ref: '#/components/schemas/ChannelProviderId'
              channelId:
              $ref: '#/components/schemas/ChannelId'
              correlationId:
              $ref: '#/components/schemas/CorrelationId'
              title:
              $ref: '#/components/schemas/ErrorTitle'
              detail:
              $ref: '#/components/schemas/ErrorDetail'
              id:
              $ref: '#/components/schemas/Id'
              timestamp:
              $ref: '#/components/schemas/Timestamp'
              example:
              engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
              initiatingAgentId: ab8f46f8-fd79-4380-8d0e-ce739ca481db
              transferTo: USER
              errorType: CANCELLED
              destination: db9c8c9b-cb3a-42c9-8078-7a347726f016
              dialogId: 01005000281645486013
              channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
              channelId: Voice
              correlationId: d3c8400d-c44f-4451-8316-e75c4efb8bb2
              title: Engagement no longer active
              detail: The current engagement has terminated
              id: d433ef5c-7954-4b39-9d99-ab9ffeae725b
              timestamp: 9223372036854776000
              ChannelReady:
              type: object
              additionalProperties: false
              properties:
              agentId:
              $ref: '#/components/schemas/AgentId'
              channelProviderId:
              $ref: '#/components/schemas/ChannelProviderId'
              channelId:
              $ref: '#/components/schemas/ChannelId'
              id:
              $ref: '#/components/schemas/Id'
              timestamp:
              $ref: '#/components/schemas/Timestamp'
              example:
              agentId: zz3tDKfrQx-Mv78Q_AIpGG
              channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
              channelId: Voice
              id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
              timestamp: 9223372036854776000
              AfterContactWorkActivated:
              type: object
              additionalProperties: false
              properties:
              engagementId:
              $ref: '#/components/schemas/EngagementId'
              agentId:
              $ref: '#/components/schemas/AgentId'
              dialogId:
              $ref: '#/components/schemas/DialogId'
              connectionId:
              $ref: '#/components/schemas/ConnectionId'
              channelProviderId:
              $ref: '#/components/schemas/ChannelProviderId'
              channelId:
              $ref: '#/components/schemas/ChannelId'
              id:
              $ref: '#/components/schemas/Id'
              timestamp:
              $ref: '#/components/schemas/Timestamp'
              example:
              engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
              agentId: zz3tDKfrQx-Mv78Q_AIpGG
              dialogId: 01005000281645486013
              connectionId: d2775626-66d4-459b-8147-09ea4b98c370
              channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
              channelId: Voice
              id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
              timestamp: 9223372036854776000
              AfterContactWorkCompleted:
              type: object
              additionalProperties: false
              properties:
              engagementId:
              $ref: '#/components/schemas/EngagementId'
              agentId:
              $ref: '#/components/schemas/AgentId'
              dialogId:
              $ref: '#/components/schemas/DialogId'
              connectionId:
              $ref: '#/components/schemas/ConnectionId'
              channelProviderId:
              $ref: '#/components/schemas/ChannelProviderId'
              channelId:
              $ref: '#/components/schemas/ChannelId'
              id:
              $ref: '#/components/schemas/Id'
              timestamp:
              $ref: '#/components/schemas/Timestamp'
              example:
              engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
              agentId: zz3tDKfrQx-Mv78Q_AIpGG
              dialogId: 01005000281645486013
              connectionId: d2775626-66d4-459b-8147-09ea4b98c370
              channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
              channelId: Voice
              id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
              timestamp: 9223372036854776000
              OfferedQueue:
              type: object
              additionalProperties: false
              description: The offered queue details including offered agent
              properties:
              queueId:
              type: string
              description: The unique identifier of this queue
              channelId:
              type: string
              description: The channel of this queue
              priority:
              type: integer
              description: The priority of this service
              rank:
              type: integer
              description: The rank of this service
              proficiencyRangeMin:
              type: integer
              description: The minimum proficiency of this service
              proficiencyRangeMax:
              type: integer
              description: The maximum proficiency of this service
              attributes:
              type: array
              description: >
              A simplified flat list of attributes
              items:
              type: string
              offeredAgentData:
              $ref: '#/components/schemas/OfferedAgentData'
              example:
              priority: 1
              rank: 1
              proficiencyRangeMin: 1
              proficiencyRangeMax: 1
              attributes:
              category: Language
              values:
          • English
            OfferedService:
            type: object
            additionalProperties: false
            description: Details about the service offered including the offered agent
            properties:
            priority:
            type: integer
            description: The priority of this service
            rank:
            type: integer
            description: The rank of this service
            proficiencyRangeMin:
            type: integer
            description: The minimum proficiency of this service
            proficiencyRangeMax:
            type: integer
            description: The maximum proficiency of this service
            attributes:
            $ref: '#/components/schemas/Attributes'
            offeredAgentData:
            $ref: '#/components/schemas/OfferedAgentData'
            example:
            priority: 1
            rank: 1
            proficiencyRangeMin: 1
            proficiencyRangeMax: 1
            attributes:
            category: Language
            values:
          • English
            OfferedAgentData:
            type: object
            additionalProperties: false
            description: Details about the agent
            properties:
            agentId:
            $ref: '#/components/schemas/AgentId'
            providerAgentId:
            type: string
            description: The provider agent id of the offered agent
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            channelProviderAddress:
            type: string
            description: The address of the engagement provider
            providerAgentAddress:
            type: string
            format: email
            description: The address of the agent
            example:
            agentId: 4a785201-73b8-4842-abf7-36f5e572d310
            providerAgentId: 8011001
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            channelId: Voice
            channelProviderAddress: +7775550113555
            providerAgentAddress: [email protected]
            OfferedSpecifiedAgent:
            type: object
            additionalProperties: false
            description: Details about the agent specified in the match request
            properties:
            rank:
            type: integer
            description: The rank of this agent
            offeredSpecifiedAgentData:
            $ref: '#/components/schemas/OfferedSpecifiedAgentData'
            OfferedSpecifiedAgentData:
            type: object
            additionalProperties: false
            properties:
            agentId:
            $ref: '#/components/schemas/AgentId'
            providerAgentId:
            type: string
            description: The provider agent id of the offered agent
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            channelProviderAddress:
            type: string
            description: The address of the engagement provider
            providerAgentAddress:
            type: string
            format: email
            description: The address of the agent
            example:
            agentId: 4a785201-73b8-4842-abf7-36f5e572d310
            providerAgentId: 8011001
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            channelId: Voice
            channelProviderAddress: +7775550113555
            providerAgentAddress: [email protected]
            Attribute:
            type: object
            additionalProperties: false
            description: A Category and Values identified for routing the call
            properties:
            category:
            type: string
            description: A category for routing
            values:
            type: array
            description: A list of values specific to the category
            items:
            type: string
            Attributes:
            type: array
            description: A list of Category and Values identified for routing the call
            items:
            $ref: '#/components/schemas/Attribute'
            AgentId:
            type: string
            description: The unique identifier for the Agent
            AutomationType:
            type: string
            description: The type of automation being added
            AutomationInitiatedDisconnect:
            type: boolean
            description: >-
            An indication if the automation participant initiated disconnect from
            the dialog
            AutomationParticipantId:
            type: string
            description: The unique identifier for the automation participant
            ConnectionId:
            type: string
            description: >-
            The unique identifier for this appearance of this specific participant
            on the engagement
            ChannelId:
            type: string
            description: The channel ID which represents the media type
            ChannelProviderId:
            type: string
            description: The unique identifier for this engagement provider
            CustomerIdentifiers:
            type: object
            additionalProperties: false
            description: >
            A set of attributes used to identify the customer if any are known at
            engagement creation.

      NOTE: the list of Customer Identifiers is configurable per account so
      expect this to be dynamic per customer. This will include all known
      customer identifiers, but some customers may have more or less collected
      than others.'
      properties:
      phoneNumbers:
      type: array
      items:
      type: string
      emailAddresses:
      type: array
      items:
      type: string
      accountIds:
      type: array
      items:
      type: string
      DialogId:
      type: string
      description: >
      The identifier for the dialog. NOTE this will equate to the UCID
      created by the ASBCE for an inbound call
      EngagementId:
      type: string
      description: The unique identifier for this engagement
      Extension:
      type: string
      description: The extension/line of the agent
      ExternalParticipantId:
      type: string
      description: >
      The Channel Provider's identifier for this external participant (aka the
      Customer)
      Id:
      type: string
      description: Each event has its own unique ID
      ProviderEngagementId:
      type: string
      description: The provider-native identifier for the engagement
      Timestamp:
      type: string
      description: Timestamp (milliseconds since epoch) when the event was generated
      format: long
      Ping:
      type: object
      additionalProperties: false
      properties:
      event:
      description: ping - A constant parameter.
      type: string
      const: ping
      subscriptionId:
      description: Optional. The id of the subscription.
      type: string
      required:

      • event
        Pong:
        type: object
        additionalProperties: false
        properties:
        event:
        description: pong - A constant parameter.
        type: string
        const: pong
        required:
      • event
        DestinationAddress:
        type: string
        description: >
        Destination number or uri
        EngagementParameters:
        type: object
        additionalProperties: false
        description: >
        Additional information that could be tagged on an engagement
        OrchestrationFlow:
        type: string
        description: >
        The orchestration flow name that should be used for this engagement
        AgentRouting:
        type: object
        additionalProperties: false
        description: >
        Agent routing strategy configuration
        properties:
        type:
        type: string
        description: >
        LAR: last Agent routing, PAR: preferred Agent Routing
        enum:
        • LAR
        • PAR
          waitTime:
          type: integer
          description: >
          Wait time in minutes before default routing is applied
          InitiatingAgentId:
          type: string
          description: >
          The unique identifier for the agent that initiated the transfer
          QueueId:
          type: string
          description: >
          The destination queue identifier for the transfer or the fallback queue in the event destination agent is not available
          QueueName:
          type: string
          description: >
          The destination queue name of the transfer or the fallback queue in the event destination agent is not available
          CorrelationId:
          type: string
          description: >
          The correlationId for the request. This should be referenced when notifying a related error
          DestinationAgentId:
          type: string
          description: >
          A unique identifier for the destination agent of the transfer
          ErrorTitle:
          type: string
          description: The error description
          ErrorDetail:
          type: string
          description: The cause of the error
          ExternalAddress:
          type: string
          description: >
          The number or URI of the target external party
          IvrAddress:
          type: string
          description: >
          The number used to access the required automation (typically an IVR)
          ProviderDialogId:
          type: string
          description: >
          The unique identifier of the dialog generated by provider

securitySchemes:
apiKey:
type: oauth2
flows:
password:
tokenUrl: https://localhost/auth/realms/ABCDEF/protocol/openid-connect/token
scopes:

</details>

> AsyncAPI code generator

Please use the AsyncAPI code generator to build client SDK to interface with the Avaya Experience Platform™ Notification Agent and Engagement Async API.

https://www.asyncapi.com/tools/generator

The above specification can also be loaded into the AsyncAPI Studio for a user-friendly view similar to Swagger.

https://studio.asyncapi.com/

###### Payload
<details>
<summary>Payload details</summary>

| Name                                                                                                                                                                                                                                | Type        | Description                                                                                                                                                                                                                                                                                   | Accepted values                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| correlationId                                                                                                                                                                                                                       | string      | The unique ID of the notification being sent                                                                                                                                                                                                                                                  | _Any_                                   |
| subscriptionId                                                                                                                                                                                                                      | string      | The unique ID of the Agent and Engagement subscription                                                                                                                                                                                                                                        | _Any_                                   |
| family                                                                                                                                                                                                                              | string      | The family of events the subscription is for                                                                                                                                                                                                                                                  | _Any_                                   |
| sentAt                                                                                                                                                                                                                              | string      | Datetime (in ISO 8601 format) of when the notification event was sent                                                                                                                                                                                                                         | _Any_                                   |
| accountId                                                                                                                                                                                                                           | string      | The unique identifier for the Account.                                                                                                                                                                                                                                                        | _Any_                                   |
| loginId                                                                                                                                                                                                                             | string      | The unique login handle for the Agent.                                                                                                                                                                                                                                                        |                                         |
| _NOTE_ Only present on Agent related events                                                                                                                                                                                         | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| initiatingLoginId                                                                                                                                                                                                                   | string      | The unique login handle for the Agent initiating a transfer.                                                                                                                                                                                                                                  |                                         |
| _NOTE_ Only present on Single Step Transfer related events                                                                                                                                                                          | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| destinationLoginId                                                                                                                                                                                                                  | string      | The unique login handle for the Agent the transfer is being made to.                                                                                                                                                                                                                          |                                         |
| _NOTE_ Only present on Single Step Transfer to User related events                                                                                                                                                                  | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body                                                                                                                                                                                                                                | objectoneOf | The raw event payload that will be different based on the event.                                                                                                                                                                                                                              | _Any_                                   |
| body.0                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.0.agentId                                                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.0.profileId                                                                                                                                                                                                                    | string      | The profile ID used to login the agent.  The profile indicates what channels should be logged in.                                                                                                                                                                                             | _Any_                                   |
| body.0.state                                                                                                                                                                                                                        | string      | The current state of the agent.                                                                                                                                                                                                                                                               | LOGGED_IN, LOGGED_OUT, READY, NOT_READY |
| body.0.reasonCode                                                                                                                                                                                                                   | string      | The reason code for going not ready. Only for AGENT_NOT_READY state                                                                                                                                                                                                                           | _Any_                                   |
| body.0.cause                                                                                                                                                                                                                        | string      | The cause of the agent not being ready. Only for AGENT_NOT_READY state                                                                                                                                                                                                                        | _Any_                                   |
| body.0.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.0.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.1                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.1.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.1.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.1.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.1.action                                                                                                                                                                                                                       | string      | The agent participant action                                                                                                                                                                                                                                                                  | ADDED, HELD, UNHELD, INVITED, REMOVED   |
| body.1.agentId                                                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.1.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.1.extension                                                                                                                                                                                                                    | string      | The extension/line of the agent                                                                                                                                                                                                                                                               | _Any_                                   |
| body.1.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.1.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.1.agentInitiatedDisconnect                                                                                                                                                                                                     | boolean     | An indication if the agent initiated disconnect from the dialog. Only for REMOVED action                                                                                                                                                                                                      | _Any_                                   |
| body.1.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.1.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.2                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.2.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.2.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.2.automationParticipantId                                                                                                                                                                                                      | string      | The unique identifier for the automation participant                                                                                                                                                                                                                                          | _Any_                                   |
| body.2.action                                                                                                                                                                                                                       | string      | The automation participant action                                                                                                                                                                                                                                                             | ADDED, REMOVED                          |
| body.2.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.2.automationType                                                                                                                                                                                                               | string      | The type of automation being added                                                                                                                                                                                                                                                            | _Any_                                   |
| body.2.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.2.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.2.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.2.automationInitiatedDisconnect                                                                                                                                                                                                | boolean     | An indication if the automation participant initiated disconnect from the dialog                                                                                                                                                                                                              | _Any_                                   |
| body.2.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.2.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.3                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.3.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.3.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.3.externalParticipantId                                                                                                                                                                                                        | string      | The Channel Provider's identifier for this external participant (aka the Customer)                                                                                                                                                                                                            | _Any_                                   |
| body.3.action                                                                                                                                                                                                                       | string      | The external participant action                                                                                                                                                                                                                                                               | ADDED, REMOVED, INVITED                 |
| body.3.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.3.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.3.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.3.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.3.externalParticipantInitiatedDisconnect                                                                                                                                                                                       | boolean     | An indication if the external participant (aka the Customer) initiated disconnect from the dialog                                                                                                                                                                                             | _Any_                                   |
| body.3.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.3.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.4                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.4.orchestrationFlow                                                                                                                                                                                                            | string      | The orchestration flow name that should be used for this engagement                                                                                                                                                                                                                           | _Any_                                   |
| body.4.attributes                                                                                                                                                                                                                   | arrayobject | A list of Category and Values identified for routing the call                                                                                                                                                                                                                                 | _Any_                                   |
| body.4.attributes.category                                                                                                                                                                                                          | string      | A category for routing                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.4.attributes.values                                                                                                                                                                                                            | arraystring | A list of values specific to the category                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.attributeList                                                                                                                                                                                                                | arraystring | A simplified flat list of attributes                                                                                                                                                                                                                                                          |                                         |
| _NOTE_ this flat array of attributes will help to easily identify “System.Outbound” to represent a POM call                                                                                                                         | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.4.engagementParameters                                                                                                                                                                                                         | object      | Additional information that could be tagged on an engagement                                                                                                                                                                                                                                  | _Any_                                   |
| body.4.agentRoutingStrategy                                                                                                                                                                                                         | object      | Agent routing strategy configuration                                                                                                                                                                                                                                                          | _Any_                                   |
| body.4.agentRoutingStrategy.type                                                                                                                                                                                                    | string      | LAR: last Agent routing, PAR: preferred Agent Routing                                                                                                                                                                                                                                         | LAR, PAR                                |
| body.4.agentRoutingStrategy.waitTime                                                                                                                                                                                                | integer     | Wait time in minutes before default routing is applied                                                                                                                                                                                                                                        | _Any_                                   |
| body.4.adhocEmail                                                                                                                                                                                                                   | boolean     | Flag to determine if adhoc email or not (email routing only)                                                                                                                                                                                                                                  | _Any_                                   |
| body.4.autoResponse                                                                                                                                                                                                                 | string      | The auto response suggested to be used                                                                                                                                                                                                                                                        | _Any_                                   |
| body.4.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.4.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.4.channelIdentifier                                                                                                                                                                                                            | string      | The channel identifier of the engagement                                                                                                                                                                                                                                                      | _Any_                                   |
| body.4.queue                                                                                                                                                                                                                        | object      | The queue details                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.queue.queueId                                                                                                                                                                                                                | integer     | The unique identifier of the queue                                                                                                                                                                                                                                                            | _Any_                                   |
| body.4.queue.queueName                                                                                                                                                                                                              | integer     | The name of the queue                                                                                                                                                                                                                                                                         | _Any_                                   |
| body.4.queue.priority                                                                                                                                                                                                               | integer     | The priority of the queue                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.queue.proficiencyRangeMin                                                                                                                                                                                                    | integer     | The minimum proficiency of the queue                                                                                                                                                                                                                                                          | _Any_                                   |
| body.4.queue.proficiencyRangeMax                                                                                                                                                                                                    | integer     | The maximum proficiency of the queue                                                                                                                                                                                                                                                          | _Any_                                   |
| body.4.customerIdentifiers                                                                                                                                                                                                          | object      | A set of attributes used to identify the customer if any are known at engagement creation.                                                                                                                                                                                                    |                                         |
| _NOTE:_ the list of Customer Identifiers is configurable per account so expect this to be dynamic per customer.  This will include all known customer identifiers, but some customers may have more or less collected than others.' | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.4.customerIdentifiers.phoneNumbers                                                                                                                                                                                             | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.customerIdentifiers.emailAddresses                                                                                                                                                                                           | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.customerIdentifiers.accountIds                                                                                                                                                                                               | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.externalParticipantId                                                                                                                                                                                                        | string      | The Channel Provider's identifier for this external participant (aka the Customer)                                                                                                                                                                                                            | _Any_                                   |
| body.4.sourceAddress                                                                                                                                                                                                                | string      | The source address of the external participant, e.g. calling number or customer email                                                                                                                                                                                                         | _Any_                                   |
| body.4.destinationAddress                                                                                                                                                                                                           | string      | Destination number or uri                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.subject                                                                                                                                                                                                                      | string      | The subject field of the incoming email                                                                                                                                                                                                                                                       | _Any_                                   |
| body.4.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.4.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.5                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.5.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.5.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.5.externalParticipantId                                                                                                                                                                                                        | string      | The Channel Provider's identifier for this external participant (aka the Customer)                                                                                                                                                                                                            | _Any_                                   |
| body.5.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.5.callingNumber                                                                                                                                                                                                                | string      | The calling number of the external participant                                                                                                                                                                                                                                                | _Any_                                   |
| body.5.dialledNumber                                                                                                                                                                                                                | string      | The original dialed number for the engagement                                                                                                                                                                                                                                                 | _Any_                                   |
| body.5.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.5.customerIdentifiers                                                                                                                                                                                                          | object      | A set of attributes used to identify the customer if any are known at engagement creation.                                                                                                                                                                                                    |                                         |
| _NOTE:_ the list of Customer Identifiers is configurable per account so expect this to be dynamic per customer.  This will include all known customer identifiers, but some customers may have more or less collected than others.' | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.5.customerIdentifiers.phoneNumbers                                                                                                                                                                                             | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.customerIdentifiers.emailAddresses                                                                                                                                                                                           | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.customerIdentifiers.accountIds                                                                                                                                                                                               | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.engagementParameters                                                                                                                                                                                                         | object      | Additional information that could be tagged on an engagement                                                                                                                                                                                                                                  | _Any_                                   |
| body.5.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.5.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.6                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.6.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.matchId                                                                                                                                                                                                                      | string      | The unique identifier for this match                                                                                                                                                                                                                                                          | _Any_                                   |
| body.6.correlationId                                                                                                                                                                                                                | string      | The correlation Id from the original match request (can be ignored)                                                                                                                                                                                                                           | _Any_                                   |
| body.6.strategy                                                                                                                                                                                                                     | string      | The agent selection strategy used for this match (values include MOST_IDLE or OCCUPANCY)                                                                                                                                                                                                      | MOST_IDLE, OCCUPANCY                    |
| body.6.offeredQueue                                                                                                                                                                                                                 | object      | The offered queue details including offered agent                                                                                                                                                                                                                                             | _Any_                                   |
| body.6.offeredQueue.queueId                                                                                                                                                                                                         | integer     | The unique identifier of this queue                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredQueue.channelId                                                                                                                                                                                                       | integer     | The channel of this queue                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.offeredQueue.priority                                                                                                                                                                                                        | integer     | The priority of this service                                                                                                                                                                                                                                                                  | _Any_                                   |
| body.6.offeredQueue.rank                                                                                                                                                                                                            | integer     | The rank of this service                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredQueue.proficiencyRangeMin                                                                                                                                                                                             | integer     | The minimum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredQueue.proficiencyRangeMax                                                                                                                                                                                             | integer     | The maximum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredQueue.attributes                                                                                                                                                                                                      | arrayobject | A list of Category and Values identified for routing the call                                                                                                                                                                                                                                 | _Any_                                   |
| body.6.offeredQueue.attributes.category                                                                                                                                                                                             | string      | A category for routing                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredQueue.attributes.values                                                                                                                                                                                               | arraystring | A list of values specific to the category                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.offeredQueue.offeredAgentData                                                                                                                                                                                                | object      | Details about the agent                                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.agentId                                                                                                                                                                                        | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.providerAgentId                                                                                                                                                                                | string      | The provider agent id of the offered agent                                                                                                                                                                                                                                                    | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.channelProviderId                                                                                                                                                                              | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.channelId                                                                                                                                                                                      | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.channelProviderAddress                                                                                                                                                                         | string      | The address of the engagement provider                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.providerAgentAddress                                                                                                                                                                           | string      | The address of the agent                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredService                                                                                                                                                                                                               | object      | Details about the service offered including the offered agent                                                                                                                                                                                                                                 | _Any_                                   |
| body.6.offeredService.priority                                                                                                                                                                                                      | integer     | The priority of this service                                                                                                                                                                                                                                                                  | _Any_                                   |
| body.6.offeredService.rank                                                                                                                                                                                                          | integer     | The rank of this service                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredService.proficiencyRangeMin                                                                                                                                                                                           | integer     | The minimum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredService.proficiencyRangeMax                                                                                                                                                                                           | integer     | The maximum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredService.attributes                                                                                                                                                                                                    | arrayobject | A list of Category and Values identified for routing the call                                                                                                                                                                                                                                 | _Any_                                   |
| body.6.offeredService.attributes.category                                                                                                                                                                                           | string      | A category for routing                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredService.attributes.values                                                                                                                                                                                             | arraystring | A list of values specific to the category                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.offeredService.offeredAgentData                                                                                                                                                                                              | object      | Details about the agent                                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredService.offeredAgentData.agentId                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredService.offeredAgentData.providerAgentId                                                                                                                                                                              | string      | The provider agent id of the offered agent                                                                                                                                                                                                                                                    | _Any_                                   |
| body.6.offeredService.offeredAgentData.channelProviderId                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.6.offeredService.offeredAgentData.channelId                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.6.offeredService.offeredAgentData.channelProviderAddress                                                                                                                                                                       | string      | The address of the engagement provider                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredService.offeredAgentData.providerAgentAddress                                                                                                                                                                         | string      | The address of the agent                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredSpecifiedAgent                                                                                                                                                                                                        | object      | Details about the agent specified in the match request                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredSpecifiedAgent.rank                                                                                                                                                                                                   | integer     | The rank of this agent                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.agentId                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.providerAgentId                                                                                                                                                              | string      | The provider agent id of the offered agent                                                                                                                                                                                                                                                    | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.channelProviderId                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.channelId                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.channelProviderAddress                                                                                                                                                       | string      | The address of the engagement provider                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.providerAgentAddress                                                                                                                                                         | string      | The address of the agent                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.6.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.7                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.7.agentId                                                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.7.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.7.destinationAddress                                                                                                                                                                                                           | string      | Destination number or uri                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.7.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.7.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.7.customerIdentifiers                                                                                                                                                                                                          | object      | A set of attributes used to identify the customer if any are known at engagement creation.                                                                                                                                                                                                    |                                         |
| _NOTE:_ the list of Customer Identifiers is configurable per account so expect this to be dynamic per customer.  This will include all known customer identifiers, but some customers may have more or less collected than others.' | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.7.customerIdentifiers.phoneNumbers                                                                                                                                                                                             | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.customerIdentifiers.emailAddresses                                                                                                                                                                                           | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.customerIdentifiers.accountIds                                                                                                                                                                                               | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.engagementParameters                                                                                                                                                                                                         | object      | Additional information that could be tagged on an engagement                                                                                                                                                                                                                                  | _Any_                                   |
| body.7.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.7.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.8                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.8.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.8.initiatingAgentId                                                                                                                                                                                                            | string      | The unique identifier for the agent that initiated the transfer                                                                                                                                                                                                                               | _Any_                                   |
| body.8.transferTo                                                                                                                                                                                                                   | string      | The type of the transfer                                                                                                                                                                                                                                                                      | QUEUE, USER, AUTOMATION, EXTERNAL       |
| body.8.destination                                                                                                                                                                                                                  | string      | Contains different values accordingly to transferTo: - If transferTo is QUEUE, then returns the queueId - If transferTo is USER, then returns the destinationAgentId - If transferTo is AUTOMATION, then returns the ivrAddress - If transferTo is EXTERNAL, then returns the externalAddress | _Any_                                   |
| body.8.queueId                                                                                                                                                                                                                      | string      | The destination queue identifier for the transfer or the fallback queue in the event destination agent is not available                                                                                                                                                                       | _Any_                                   |
| body.8.queueName                                                                                                                                                                                                                    | string      | The destination queue name of the transfer or the fallback queue in the event destination agent is not available                                                                                                                                                                              | _Any_                                   |
| body.8.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.8.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.8.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.8.providerDialogId                                                                                                                                                                                                             | string      | The unique identifier of the dialog generated by provider                                                                                                                                                                                                                                     | _Any_                                   |
| body.8.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.8.correlationId                                                                                                                                                                                                                | string      | The correlationId for the request. This should be referenced when notifying a related error                                                                                                                                                                                                   | _Any_                                   |
| body.8.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.9                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.9.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.9.initiatingAgentId                                                                                                                                                                                                            | string      | The unique identifier for the agent that initiated the transfer                                                                                                                                                                                                                               | _Any_                                   |
| body.9.transferTo                                                                                                                                                                                                                   | string      | The type of the transfer                                                                                                                                                                                                                                                                      | QUEUE, USER, AUTOMATION, EXTERNAL       |
| body.9.errorType                                                                                                                                                                                                                    | string      | The type of the error                                                                                                                                                                                                                                                                         | CANCELLED, FAILED                       |
| body.9.destination                                                                                                                                                                                                                  | string      | Contains different values accordingly to transferTo:                                                                                                                                                                                                                                          |                                         |

</details>

- If transferTo is QUEUE, then returns the queueId
- If transferTo is USER, then returns the destinationAgentId
- If transferTo is AUTOMATION, then returns the ivrAddress
- If transferTo is EXTERNAL, then returns the externalAddress | _Any_ \|  
  | body.9.dialogId | string | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call | _Any_ \|  
  | body.9.channelProviderId | string | The unique identifier for this engagement provider | _Any_ \|  
  | body.9.channelId | string | The channel ID which represents the media type | _Any_ \|  
  | body.9.correlationId | string | The correlationId for the request. This should be referenced when notifying a related error | _Any_ \|  
  | body.9.title | string | The error description | _Any_ \|  
  | body.9.detail | string | The cause of the error | _Any_ \|  
  | body.9.id | string | Each event has its own unique ID | _Any_ \|  
  | body.9.timestamp | string | Timestamp (milliseconds since epoch) when the event was generated | _Any_ \|  
  | body.event | string | The name of the specific event being sent. For instance AgentState, AgentParticipant, InboundEngagementCreated, etc... | _Any_ \|

> Examples of payload _(generated)_

```json
{
  "correlationId": "a425851d-5225-4b76-8ca0-4fa31ecfd5db",
  "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
  "family": "AGENT_ENGAGEMENT",
  "sentAt": "2020-08-24T08:20:23.395Z",
  "accountId": "DYNNUG",
  "loginId": "[email protected]",
  "body": {
    "event": "AgentState",
    "agentId": "4a785201-73b8-4842-abf7-36f5e572d310",
    "profileId": "HomeProfile",
    "state": "NOT_READY",
    "reasonCode": 514,
    "cause": "RONA",
    "id": "d3c8400d-c44f-4451-8316-e75c4efb8bb2",
    "timestamp": 9223372036854776000
  }
}
Tags
  • Agent and Engagement Data
Message pong

Server pong response to a ping message.

Payload
NameTypeDescriptionAccepted values
event (required)stringpong - A constant parameter.Any

Examples of payload

pongMessage

Example of a pong message to client.

{
  "event": "pong"
}
Tags
  • Heartbeat
Message authenticationResponse

Authentication response message sent to the client after websocket authentication.

Payload
NameTypeDescriptionAccepted values
eventstringauthenticationResponse - A constant parameter.Any
statusstringYou will then receive 1 of 5 statuses:
  • CONNECTION_CONFIRMED: Connection was confirmed
  • CONNECTION_FAILED_INVALID_TOKEN: Authentication token is invalid
  • CONNECTION_FAILED_UNKNOWN_SUBSCRIPTION: Unknown Subscription, can be for a subscription that never existed or one that is no longer active
  • CONNECTION_FAILED_INTERNAL_SERVER_ERROR: Server Error, client can retry later
  • CONNECTION FAILED_CONSTRAINT_VIOLATION: Client issue, malformed client request, client must update payload and rerty | CONNECTION_CONFIRMED, CONNECTION_FAILED_INVALID_TOKEN, CONNECTION_FAILED_UNKNOWN_SUBSCRIPTION, CONNECTION_FAILED_INTERNAL_SERVER_ERROR, CONNECTION_FAILED_CONSTRAINT_VIOLATION |
    | subscriptionId | string | The unique id of the subscription. |
    Any_ |
    | pingInterval | integer | The maximum interval (seconds) at which a ping is expected to be sent by the client before websocket is closed and subscription set to INACTIVE.

It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection. | Any |
| expiresInterval | integer | Expiration interval in seconds before the subscription is set to INACTIVE. | Any |

Examples of payload (generated)

{
  "event": "authenticationResponse",
  "status": "CONNECTION_CONFIRMED",
  "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
  "pingInterval": 300,
  "expiresInterval": 900
}
Tags
  • Authentication

Did this page help you?