Client Connector Events Bridge - Websockets API 1.0.0

The CCEB Websockets API provides a way to subscribe to real-time updates from the CCEB that will route client acctions to the specific ContactCenter backends and it will route the notifications from Contact Center backend to the subscribed clients.

General Considerations

  • All messages sent and received via WebSockets are encoded in JSON format
  • Keys are in snake case, except when stated otherwise, for example the actions that have to map to AVRO records.
  • Before using the API, clients will have to perform the discovery process to get the endpoint they should use to connect to the CCEB
  • After discovering the endpoint, clients will have to connect to the CCEB using the WebSocket protocol, and as a first message, they will have to send a hello message to the CCEB to complete the authentication.
  • Once the client is authenticated, it will be automatically subscribed to the events that that particular CC agent should receive.
  • For every notification received, the client will have to send an ack message to the CCEB to confirm the reception of the notification.
  • For every action that the client wants to perform, it will have to send a action message to the CCEB.
  • The CCEB will send an ack message to the client to confirm the reception of the action.

Long-Lived Sessions

Long-lived sessions enable mobile and engage clients to maintain session state for push notification delivery without requiring persistent WebSocket connections. When a client requests a long-lived session:

  • The session remains active for 72 hours after WebSocket disconnection
  • The server returns a session_key that can be used to reconnect to the same session
  • Chat availability remains set as long as valid long-lived sessions exist
  • When reconnecting with a session_key, if the session is still valid, the same session is resumed
  • If the session_key refers to an expired or invalid session, a new session is created with a new session_key
  • Clients can enable auto_accept to automatically accept assigned interactions

Supported action types:

CCEB will accept the following actions, defined in the following repository, vcc-core-avro-records. Any fields defined in the Avro record schema should be passed on the attribute data.action_details of the action message, except for irInstance, tenantGuid and agentGuid those can't be set as are reserved for the CCEB to ensure authorization for those actions and to prevent clients to take actions on behalf of other agents. Other reserved fields that cannot be set are: isSystemAction, isRelocate and source. Because WorkD doesn't have the Agent GUIDs of all the agents when triggering the transfer, cancel transfer and Agent to Agent chat request, instead of passing the Agent GUIDs, the WorkD will pass the destinationAgentContactId (instead of destinationAgentGuid) or secondAgentContactId (instead of secondAgentGuid) of the agent. The CCEB will then resolve the Agent GUID based on the contactId and tenantId. Record name should be passed on attribute data.action, the list of suppprted actions are:

  • UpdateInteractionEvent
  • RequestAgentInteractionListEvent
  • InitiatePhoneCallEvent
  • HoldAgentTelephoneLineEvent
  • UnholdAgentTelephoneLineEvent
  • CancelTransferEvent
  • AgentToAgentChatRequestEvent
  • ConferenceAgentTelephoneLinesEvent
  • InitiateEmailInteractionEvent
  • EndPostProcessingEvent
  • DeleteInteractionEvent
  • EndEmailInteractionEvent
  • ForwardInteractionEvent
  • BlindTransferEvent
  • AcceptInteractionEvent
  • TransferAgentTelephoneLinesEvent
  • HangupAgentTelephoneLineEvent
  • HangupParticipantTelephoneLineEvent
  • MuteAgentTelephoneLineEvent
  • UnmuteAgentTelephoneLineEvent
  • AcceptInteractionEvent
  • RejectInteractionEvent
  • SkipOutboundCampaignEvent
  • StartOutboundCampaignEvent
  • HoldAgentTelephoneLineEvent
  • ChangeAgentStateEvent
  • ChangeAgentSubStateEvent
  • SetAgentNextStatusEvent
  • TclAndDispositionRequestEvent

Operations

  • REQUEST /ws/v1

    Operation IDauthenticate

    Accepts the following message:

    hello

    Initial authentication message

    Message IDhello

    The client will have to send this message to the CCEB to complete the authentication

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REQUEST /ws/v1

    Operation IDaction

    Accepts the following message:

    action

    Action sent to the CCEB by the client to trigger a specific behaviour.

    Message IDaction
    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDinteraction_update

    Accepts the following message:

    interaction_update

    Interaction update notification

    Message IDinteraction_update

    When Interaction router will assign an interaction to an agent, he weill recevie this notification.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDagent_interaction

    Accepts the following message:

    agent_interaction

    Current interaction status assigned to the agent.

    Message IDagent_interaction

    Current interaction status assigned to the agent, it is being received after agent requests the interactions list. The agent will receive this notification for each interaction.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDinteractions_list

    Accepts the following message:

    interactions_list

    Interaction list notification

    Message IDinteractions_list

    When the agent will login or refresh the connection, it can ask for current interactions list. The CCEB will send this notification with the list of interactions, and after that, the agent will receive the interaction update notification for each interaction.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDpresence

    Accepts the following message:

    presence

    Presence notification

    Message IDpresence

    When an agent changes his presence status, he will receive this notification.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDcall_leg

    Accepts the following message:

    call_leg

    Call leg updates

    Message IDcall_leg

    Call leg status updates for phone interactions.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDswitch_line

    Accepts the following message:

    switch_line

    Switch line update

    Message IDswitch_line

    Notification when the current line is switched in the client application.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDrecording_ready

    Accepts the following message:

    recording_ready

    Recording ready notification

    Message IDrecording_ready

    Notification sent when a call recording is ready for playback/download.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDcampaign_status

    Accepts the following message:

    campaign_status

    Campaign status notification

    Message IDcampaign_status

    Campaign status monitoring notification providing updates about outbound campaign statistics and metrics.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDagent_line_status

    Accepts the following message:

    agent_line_status

    Agent line status notification

    Message IDagent_line_status

    Agent line status monitoring notification providing updates about agent phone line status and interaction details.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDmonitoring_agent_list

    Accepts the following message:

    monitoring_agent_list

    Monitoring agent list notification

    Message IDmonitoring_agent_list

    Agent monitoring list notification providing a list of agents that are monitored by the current user.

    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1
  • REPLY /ws/v1

    Operation IDprovisioning

    Accepts the following message:

    provisioning

    Provisioning notification

    Message IDprovisioning

    Provisioning notifications are sent when changes occur to tenant configuration, including agents, queues, agent groups, and access rights. These events provide real-time updates about configuration changes in the contact center system.

    Supported provisioning event types:

    • AgentAddedEvent: A new agent has been added to the tenant (includes full agent configuration)
    • AgentUpdatedEvent: An existing agent's configuration has been updated (includes deltas with changed fields)
    • AgentDeletedEvent: An agent has been deleted from the tenant (includes agentId only)
    • AgentQueueAddedEvent: A queue assignment has been added for an agent (includes queue details and access level)
    • AgentQueueDeletedEvent: A queue assignment has been removed from an agent (includes agentId and queueId)
    • AgentAccessRightsAddedEvent: Access rights have been added/updated for an agent (includes CRM permissions)
    • AgentGroupAddedEvent: A new agent group has been created (includes group configuration)
    • AgentGroupUpdatedEvent: An existing agent group's configuration has been updated (includes deltas with changed fields)
    • AgentGroupDeletedEvent: An agent group has been deleted (includes groupId only)
    • TenantUpdatedEvent: Tenant-level configuration has been updated (includes deltas with changed fields)
    • QueueAddedEvent: A new queue has been created (includes full queue configuration)
    • QueueUpdatedEvent: An existing queue's configuration has been updated (includes deltas with changed fields)
    • QueueDeletedEvent: A queue has been deleted (includes queueId and queueType only)
    allOf

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be provided via this designated address: /ws/v1

Messages

  • #1uuid_ack_action

    Acknowledge message

    Message IDuuid_ack_action

    The client will have to send this message to confirm the reception of a notification

    object
  • #2uuid_ack_response

    Acknowledge message

    Message IDuuid_ack_response

    CCEB will send the ack message whenever it accepted an action from the client.

    object
  • #3hello

    Initial authentication message

    Message IDhello

    The client will have to send this message to the CCEB to complete the authentication

    allOf
  • #4hello_reply

    Initial authentication reply message

    Message IDhello_reply

    The CCEB will send this message to the client to confirm the authentication

    allOf
  • #5action

    Action sent to the CCEB by the client to trigger a specific behaviour.

    Message IDaction
    allOf
  • #6interactions_list

    Interaction list notification

    Message IDinteractions_list

    When the agent will login or refresh the connection, it can ask for current interactions list. The CCEB will send this notification with the list of interactions, and after that, the agent will receive the interaction update notification for each interaction.

    allOf
  • #7agent_interaction

    Current interaction status assigned to the agent.

    Message IDagent_interaction

    Current interaction status assigned to the agent, it is being received after agent requests the interactions list. The agent will receive this notification for each interaction.

    allOf
  • #8interaction_update

    Interaction update notification

    Message IDinteraction_update

    When Interaction router will assign an interaction to an agent, he weill recevie this notification.

    allOf
  • #9presence

    Presence notification

    Message IDpresence

    When an agent changes his presence status, he will receive this notification.

    allOf
  • #10call_leg

    Call leg updates

    Message IDcall_leg

    Call leg status updates for phone interactions.

    allOf
  • #11switch_line

    Switch line update

    Message IDswitch_line

    Notification when the current line is switched in the client application.

    allOf
  • #12recording_ready

    Recording ready notification

    Message IDrecording_ready

    Notification sent when a call recording is ready for playback/download.

    allOf
  • #13campaign_status

    Campaign status notification

    Message IDcampaign_status

    Campaign status monitoring notification providing updates about outbound campaign statistics and metrics.

    allOf
  • #14agent_line_status

    Agent line status notification

    Message IDagent_line_status

    Agent line status monitoring notification providing updates about agent phone line status and interaction details.

    allOf
  • #15monitoring_agent_list

    Monitoring agent list notification

    Message IDmonitoring_agent_list

    Agent monitoring list notification providing a list of agents that are monitored by the current user.

    allOf
  • #16provisioning

    Provisioning notification

    Message IDprovisioning

    Provisioning notifications are sent when changes occur to tenant configuration, including agents, queues, agent groups, and access rights. These events provide real-time updates about configuration changes in the contact center system.

    Supported provisioning event types:

    • AgentAddedEvent: A new agent has been added to the tenant (includes full agent configuration)
    • AgentUpdatedEvent: An existing agent's configuration has been updated (includes deltas with changed fields)
    • AgentDeletedEvent: An agent has been deleted from the tenant (includes agentId only)
    • AgentQueueAddedEvent: A queue assignment has been added for an agent (includes queue details and access level)
    • AgentQueueDeletedEvent: A queue assignment has been removed from an agent (includes agentId and queueId)
    • AgentAccessRightsAddedEvent: Access rights have been added/updated for an agent (includes CRM permissions)
    • AgentGroupAddedEvent: A new agent group has been created (includes group configuration)
    • AgentGroupUpdatedEvent: An existing agent group's configuration has been updated (includes deltas with changed fields)
    • AgentGroupDeletedEvent: An agent group has been deleted (includes groupId only)
    • TenantUpdatedEvent: Tenant-level configuration has been updated (includes deltas with changed fields)
    • QueueAddedEvent: A new queue has been created (includes full queue configuration)
    • QueueUpdatedEvent: An existing queue's configuration has been updated (includes deltas with changed fields)
    • QueueDeletedEvent: A queue has been deleted (includes queueId and queueType only)
    allOf

Schemas

  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • allOf
  • allOf
  • allOf
  • allOf
  • allOf
  • allOf
  • object
  • object
  • object
  • object
  • object
  • object
  • allOf
  • allOf
  • allOf
  • allOf