The Supervisor APIs provide the functionality to supervisors mainly for managing Agents, these functions include monitoring Agents' calls, switching Agents' status, chatting with Agents, etc. The categories below are for organizational purposes only.

Agent Status

The Agent Status APIs give supervisors the ability to control Agents' status, i.e. change them to ready/not ready or log them off.

Change To Ready

Description: Used to change the Agents' status to 'Ready'.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/agent/status/ready

Parameters:

None

Body:

KeyTypeMandatory?Description
agentsArrayYes

An array of Agent login IDs which needs to be changed to the 'Ready' state.

messageStringNoA string containing a message to send to the Agent.

Response Code: 200 OK

Body:

Key

Type

Mandatory?

Description

agentsArrayYes

An array of Agent IDs and the result of the change request

Key

Type

Mandatory?

Description

agentLoginIdStringYes

Agent login ID.

statusStringYes

Indicates if the Agent status was changed to 'Ready'.

Change Agent to Ready

#Request (JSON)
POST /callControl/supervisor/agent/status/ready
Content-Type: application/json
Accept: application/json
Host: localhost.com

{
  "agents": [
    "LV_TEST"
  ],
  "message": "Get in ready"
}

#Response
200 OK
Content-Type: application/json

{
  "agents": [
    {
      "agentLoginId": "LV_TEST",
      "status": "Success"
    }
  ]
}
CODE

Change To Not Ready

Description: Used to change the Agents' status to 'Not Ready'.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/agent/status/notReady

Parameters:

None

Body:  

KeyTypeMandatory?Description
agentsArrayYes

Array of Agent login IDs to change to 'Not Ready'.

reasonCodeStringNo

The reason for being in 'Not Ready', valid values are:

  • BREAK
  • LUNCH
  • MEETING
  • OTHER
  • TECH_DIFFICULTIES
  • TRAINING
messageStringNoA string containing a message to send to the Agent.

Response Code: 200 OK

Body:

Key

Type

Mandatory?

Description

agentsArrayYes

An array of Agent IDs and the result of the change request

Key

Type

Mandatory?

Description

agentLoginIdStringYes

Agent login ID.

statusStringYes

Indicates if the Agent status was changed to 'Not Ready'.

Change Agent to Not Ready

#Request (JSON)
POST /callControl/supervisor/agent/status/notReady
Content-Type: application/json
Accept: application/json
Host: localhost.com

{
  "agents": [
    "LV_TEST"
  ],
  "reasonCode": "LUNCH",
  "message": "Change to not ready when going to lunch"
}


#Response
200 OK
Content-Type: application/json

{
  "agents": [
    {
      "agentLoginId": "LV_TEST",
      "status": "Success"
    }
  ]
}
CODE

Logoff Agents

Description: Used to log off Agents.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/agent/status/logoff

Parameters:

None

Body:  

KeyTypeMandatory?Description
agentsArrayYes

An array of Agent login IDs to log off.

messageStringNoA string containing a message to send to the Agents.

Response Code: 200 OK

Body:

Key

Type

Mandatory?

Description

agentsArrayYes

An array of Agents and the result of the logoff request

Key

Type

Mandatory?

Description

agentLoginIdStringYes

Agent login ID.

statusStringYes

Indicates if the Agent was logged off.

Logoff Agent

#Request (JSON)
POST /callControl/supervisor/agent/status/logoff
Content-Type: application/json
Accept: application/json
Host: localhost.com

{
  "agents": [
    "LV_SEB"
  ],
  "message": "Take a break"
}


#Response
200 OK
Content-Type: application/json

{
  "agents": [
    {
      "agentLoginId": "LV_SEB",
      "status": "Successfully logged off."
    }
  ]
}
CODE

Chat

The Chat APIs provide the various functions necessary for supervisors to chat with Agents.

Broadcast Chat Message

Description: Used to send the initial message to a list of Agents, creating a new chat session or if an Agent already has a chat session, the message is appended to the current session. Message failure can occur if one or more of the Agents are in a state where they cannot receive a chat or are in the process of logging out.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/chat/broadcast

Parameters:  

None

Body:

KeyTypeMandatory?Description
usersInfoArrayYes

An array of Agents to send chat message.

KeyTypeMandatory?Description
userLoginIdStringYesAgent login ID.
canReplyBooleanYesIf true, Agent can reply to the message.
messageStringYesA string containing a message to send to the Agents.

Response Code: 200 OK

Body:  

Key

Type

Mandatory?

Description

broadcastStatusArrayYes

An array of Agent IDs indicating if the message was sent successfully.

Key

Type

Mandatory?

Description

userLoginIdStringYesAgent login ID.
sentBooleanYesIf true, the message was sent to the Agent, otherwise a false is returned.

Broadcast Chat to Agents

#Request (JSON)
POST /callControl/supervisor/chat/broadcast
Host: localhost.com
Content-Type: application/json
Accept: application/json  

{
  "usersInfo":[{
    "userLoginId":"lv_usr1",
    "canReply":true
  }],
 "message":"Hello"
}


#Response
200 OK
Content-Type: application/json

{
  "broadcastStatus":[{
     "usersLoginId":"lv_usr1",
     "sent":true
  }]
}
CODE

Get Chat Message

Description: Gets a list of new messages available for the supervisor.

User Roles: Sysadmin, Superuser, or Manager


Method: POST /callControl/supervisor/chat/messages

Parameters:

None

Body:

KeyTypeMandatory?Description
filterObjectYes

Specifies filter criteria for which messages to receive

KeyTypeMandatory?Description
messageReceivedAfterdateTimeNoOnly receive messages after the specified timestamp.
excludeOwnBooleanYesIf true, users' own messages will not be returned in the response.

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
chatListArrayYes

An array of chat messages

KeyTypeMandatory?Description
userLoginIdStringYesID of the Agent who is the recipient of the message
messageListArrayNo

Array of messages

KeyTypeMandatory?Description
messageStringYesChat message.
senderIdStringYesID of the sender.
timestampdateTimeYesChat timestamp.
canReplyBooleanYesIf true, Agent can respond to message.
timestampdateTimeNoThe most recent timestamp found in the message lists returned.

Get Chat Message

#Request (JSON)
POST /callControl/supervisor/chat/message
Host: localhost.com
Content-Type: application/json
Accept: application/json  

{   
   "filter":    {		
      "messageReceivedAfter": "1416817899000",
      "excludeOwn": "false"
   }
}

#Response
200 OK
Content-Type: application/json

{
    "chatList": [{
        "messageList": [{
            "message": "Lunch with team",
            "senderId": "SEBYSA",
            "timestamp": "1416817899000"
        },
        {
            "message": "I am free ",
            "senderId": "SEBYSA",
            "timestamp": "1416817899000"
        }],
        "userLoginId": "lv_usr1",
        "canReply": false
    }],
    "timestamp": "1416817899000"
}
CODE

Send Chat Message

Description: Used to send a chat message.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/chat/send

Parameters:

None

Body:

KeyTypeMandatory?Description
userLoginIdStringYesID of the user to be sent chat.
messageStringYesThe message to be sent to the User.

Response Code:  204 No Content

Body:

None

Send Chat Message

#Request (JSON)
POST /callControl/supervisor/chat/send
Host: localhost.com
Content-Type: application/json
Accept: application/json  

{
	"userLoginId": "lv_usr1",   
	"message": "I am free"
}
 
#Response
204 No Content
CODE

Terminate Chat Session

Description: Terminates an existing chat session.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/chat/end?userLoginId={userLoginId}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
userLoginIduserLoginIdStringYesID of the Agent to end the chat session for.

Body:

None

Response Code: 204 No Content  

Body:

None

Terminate Chat Session

#Request
POST /callControl/supervisor/chat/end?userLoginId=lv_usr1
Host: localhost.com
Content-Type: application/json
Accept: application/json   

#Response
204 No Content
CODE

Monitor

The Monitor APIs provide supervisors with the ability to monitor, coach, and barge Agent calls.

Start Monitor Call

Description: Used by a supervisor to establish the connection to LiveVox before they can monitor calls.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/monitor/start?numberToDial={numberToDial}[&extension={extention}]

Parameters:

Query/Path Parameter NameVariable NameTypeMandatory?Description
numberToDialnumberToDialStringYesSupervisor's Phone Number
extensionextentionStringNoExtension of the Supervisor

Body:

None

Response Code: 200 OK

Body:

Key

Type

Mandatory?

Description

activeCallBooleanYes

If true, the User currently has an audio path established for monitoring.

Establish Supervisor Call

#Request
POST /callControl/supervisor/monitor/start?numberToDial=6505317524
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
204 No Content
CODE

Get Monitor Call State

Description: Used to determine whether or not a User has an audio path established to monitor calls.

User Roles: Sysadmin, Superuser, Manager

Method: GET /callControl/supervisor/monitor/state 

Parameters:  

None

Body:

None

Response Code: 200 OK

Body:

Key

Type

Mandatory?

Description

activeCallBooleanYes

If true, the User currently has an audio path established for monitoring.

Get Supervisor Call State

#Request (JSON)
GET /callControl/supervisor/monitor/state
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
200 OK
Content-Type: application/json

{
  "activeCall": true
}
CODE

Listen To Agent

Description: Used by a supervisor to listen to an agent's current call, no one on the call will be able to hear the supervisor.

User Roles: Sysadmin, Superuser, Manager

Method: POST /callControl/supervisor/monitor/listen?agentLoginId={agentLoginId}

Parameters:

Query/Path Parameter NameVariable NameTypeMandatory?Description
agentLoginIdagentLoginIdStringYesID of the Agent

Body:

None

Response Code: 204 No Content

Body:

None

Listen to Agent Call

#Request
POST /callControl/supervisor/monitor/listen?agentLoginId=LV_TEST
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
204 No Content
CODE

Coach Agent

Description: Used by a supervisor to coach an Agent, this means that only the Agent can hear what the supervisor is saying.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/monitor/coach?agentLoginId={agentLoginId}

Parameters:

Query/Path Parameter NameVariable NameTypeMandatory?Description
agentLoginIdagentLoginIdStringYesID of the Agent to being coaching.

Body:

None

Response Code: 204 No Content

Body:

None

Coach Agent on a Call

#Request
POST /callControl/supervisor/monitor/coach?agentLoginId=LV_TEST
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
204 No Content
CODE

Barge Into Conference

Description: Used to barge into Agent's current call, all parties on the call will be able to hear the supervisor.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/monitor/barge?agentLoginId={agentLoginId}

Parameters:

Query/Path Parameter NameVariable NameTypeMandatory?Description
agentLoginIdagentLoginIdStringYesID of the Agent conference to barge into.

Body:

None

Response Code: 204 No Content

Body:

None

Barge into Conference

#Request
POST /callControl/supervisor/monitor/barge?agentLoginId=LV_TEST
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
204 No Content
CODE

Service

The Service APIs allow supervisors to get information on what Services they have access to, get their SIP credentials, and switch the Services Agents are logged into.

Get Services Allowed

Description: Used to get all Services the supervisor has access to.

User Roles: Sysadmin, Superuser, or Manager

Method: GET /callControl/supervisor/service/access

Parameters:

None

Body:

None

Response Code: 200 OK

Body:

Key

Type

Mandatory?

Description

callCentersArrayYes

Array of Call Centers and Services the supervisor has access to.

Key

Type

Mandatory?

Description

callCenterIdIntegerYes

ID of the Call Center.

callCenterNameStringYes

Name of the Call Center.

servicesArrayYes

An array of Services the supervisor has access to.

Key

Type

Mandatory?

Description

serviceIdIntegerYesID of the Service.
serviceNameStringYesName of the Service.

Get Services Allowed

#Request (JSON)
GET /callControl/supervisor/service/access
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
200 OK
Content-Type: application/json

{"callCenters": [
      {
      "services": [      {
         "serviceId": 23114,
         "serviceName": "Inskill feature code 1"
      }],
      "callCenterId": 1718,
      "callCenterName": "Call Center 2"
   },
      {
      "services": [      {
         "serviceId": 45165,
         "serviceName": "TEST_MANUAL"
      }],
      "callCenterId": 3086,
      "callCenterName": "TEST Call Center"
   }
]}
CODE

Switch Service

Description: Used by a supervisor to switch the Service Agents are using.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /callControl/supervisor/agent/service/switch

Parameters:

None

Body:

KeyTypeMandatory?Description
agentsArrayYes

An array of Agents that the supervisor wants to switch to a new Service.

targetServiceIdIntegerYesThe Service ID to which the Agents will be moved.
messageStringNoA message to send to the Agent.

Response Code: 200 OK

Body:

Key

Type

Mandatory?

Description

agentsArrayYes

An array of Agents and the result of the switch request

Key

Type

Mandatory?

Description

agentLoginIdStringYes

Agent ID.

messageStringYes

Indicates if the Agent was successfully switched to the new Service, possible values are:

  • successful
  • queued
  • failed

Switch Agent Service

#Request (JSON)
POST /callControl/supervisor/agent/service/switch
Content-Type: application/json
Accept: application/json
Host: localhost.com

{
  "agents": [
    "LV_TEST"
  ],
  "targetServiceId": 33722,
  "message": "new skill"
}


#Response
200 OK
Content-Type: application/json

{
  "agents": [
    {
      "agentLoginId": "LV_TEST",
      "message": "Completed: Success"
    }
  ]
}
CODE

Top of Page