Skip to main content
Skip table of contents

Media Routing API

This page features API Reference. Here is the communication flow diagram for MRE:

1Input Message NameJMS TypeMessage BodyQueueCategoryDetailsProducerConsumer
1

Agent Connect



Connect
{
"AgentId":"<agent-id>",
"Password":"<agent-pwd>",
"Extension":"<agent-extension>"
"Destination":"<client-destination>"
}
Generalagent-stateCommunication Server performs pre-login steps such as:
- initialize agent-queue
- initialize agent-loggers
- login Finesse via REST or login UMM via REST
- get subscription via XMPP

These steps are carried out depending upon the configuration (Standalone agents or CC agents)
Chat Server

Communication Server




2Agent LoginLogin
{
"AgentId":"<agent-id>",
"Password":"<agent-pwd>",
"Mrd":"<mrd-id>"
}
Generalagent-state

Communication Server performs agent-login on Chat MRD

Chat ServerCommunication Server
3Change Agent StateAgentState
{
"AgentId":"<agent-id>",
"State":"<agent-state>",
"Mrd":"<mrdId>"
"ReasonCode":"<reason-code-id>"
}
Generalagent-stateCommunication server changes the state of the agent in its data-structure, and forwards the status update to MRE and Chat serverChat ServerCommunication Server
4Conference Command HandlerConference
{
"TaskId":"<task-id>",
"ConferenceOwner":"<conference-owner-agent-id>",
"ConferenceParticipant":"<conference-participant-agent-id>"
"Mrd":"<mrd-id>"
}
Generalagent-stateWhen conference is initiated by the conference-owner-agent to include conference-participant-agent. Chat server starts the conference and notify Comm-Server via this message.Chat ServerCommunication Server
5Conference Command HandlerConference
{
"TaskId":"<task-id>",
"ConferenceOwner":"<conference-owner-agent-id>",
"ConferenceParticipant":"<conference-participant-agent-id>"
"Mrd":"<mrd-id>"
}
RoutingEngineagent-stateComm Server sends this message to MRE to perform conferenceCommunication ServerMRE
6Conference Event HandlerTaskConferenced
{
"TaskId":"<task-id>",
"OwnerAgentId":"<conference-owner-agent-id>",
"ParticipantAgentId":"<conference-participant-agent-id>"
}
CommunicationServeragent-stateMRE notifies Comm Server after setting up conference.MRECommunication Server
7Transfer ChatTransfer{
"TaskId":"<task-id>",
"OwnerAgentId":"<chat-owner-agent-id>",
"RecipientAgentId":"<Transfer-recipient-agent-id>"
}
Generalagent-stateChat Server sends transfer command to Communication server, where chat owner agent is the agent who initiates chat and recipient agent is the intended recipient agentChat ServerCommunication Server
8Transfer ChatTransfer
{
"TaskId":"<task-id>",
"OwnerAgentId":"<chat-owner-agent-id>",
"RecipientAgentId":"<Transfer-recipient-agent-id>"
}
RoutingEngineagent-stateCommunication Server validates the owner and recipient agent, recipient agent state and task, and forwards the request to MRECommunication ServerMRE
9Chat Transferred EventTaskAgentTransferred
{
"TaskId":"<task-id>",
"AgentId":"<recipient-agent-id>",
"PreviousAgentId":"<previous-owner-agent-id>"
}
CommunicationServeragent-stateMRE notifies Comm Server after transferring the chat.MRECommunication Server
10Agent State UpdateAgentState
{
"AgentId":"<agent-id>",
"State":"<agent-state>",
"MRD":"<mrd-id>",
"ReasonCode":"<reason-code-id>",
"StateChangeTime":"<time>"
}
RoutingEngineagent-stateCommunication Server forwards updated state to MRE which updates it in its internal data structures
<time:>
Time in date time format according to UTC
Communication ServerMRE
11Change Task StateTaskState
{
"AgentId":"<agent-id">,
"TaskId":"<task-id>",
"State":"<task-state>",
"Code":"<state-change-code>"
}
Generaltask-stateChat Server forwards this command to Communciation Server, Communication Server changes the task state and forwards the state change notification to Chat Server and MREChat ServerCommunication Server
12Task Sate UpdateTaskState
{
"AgentId":"<agent-id">,
"TaskId":"<task-id>",
"MRD":"<mrd-id>",
"State":"<task-state>"
}
RoutingEnginetask-stateCommunication Server forwards task state update to Routing EngineCommunication ServerMRE
13New TaskTask
{
"Mrd":"<mrd-id>",
"ClientUniqueId":"<client-unique-id>",
"name":"Name of customer"
"params":["key","<value>"],
}
Generalnew taskChat Server forwards new task request to Communication ServerChat ServerCommunication Server
14New TaskNewTask
{
"MRD":"<mrd-id>",
"TaskId":"<task-id>",
"params":["key":"value"]
}
RoutingEnginenew taskCommunication Server assigns a task id and forwards this request to Routing Engine for Agent SelectionCommunication ServerMRE
15Agent SelectedTaskAgentSelected
{
"TaskId":"<task-id>",
"AgentId":"<agent-id>",
"Status":"<task-status>"
}
CommunicationServernew taskMRE assigns task to an agent and sends this information to Communication ServerMRECommunication Server
16Get Agent StateGetAgentState
{
"AgentId":"<agent-id>",
"Mrd":"<mrdId>"
}
Generalagent-stateChat Server fetches agent state from Communication Server using this commandChat ServerCommunication Server
17Get Task StateGetTaskState
{
"TaskId":"<task-id>",
"AgentId":"<agent-id>"
}
Generaltask-stateChat Server fetches task state from Communication Server using this commandChat ServerCommunication Server
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.