Download PDF
Download page Agent API Methods.
Agent API Methods
The Agent APIs provide various functionality to agents, from logging in and changing state to controlling calls and initiating transfers. The categories listed below are for organizational purposes only.
Call Acceptance
The Call Acceptance APIs support the ability to accept, reject or send a call to voicemail.
Accept Call
Description: Used by an Agent to accept a call when the call acceptance feature is enabled.
User Roles: Agent
Method: POST /callControl/agent/customer/call/accept[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is accepting, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Accept Call
#Request
POST /callControl/agent/customer/call/accept?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Reject Call
Description: Used by an Agent to reject a call when the call acceptance feature is enabled.
User Roles: Agent
Method: POST /callControl/agent/customer/call/reject[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is rejecting, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Reject Call
#Request
POST /callControl/agent/customer/call/reject?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Send To Voicemail
Description: Used by an Agent to send a call to the Agent's voicemail.
User Roles: Agent
Method: POST /callControl/agent/customer/call/sendToVoiceMail[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is sending to voicemail, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Send Call to Voicemail
#Request
POST /callControl/agent/customer/call/sendToVoiceMail?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Call Control
The Call Control APIs supports control over calls such as placing the call on hold, ending the call, saving a term code, etc.
End Call
Description: Allows an Agent to end the current call.
User Roles: Agent
Method: POST /callControl/agent/customer/call/end[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is ending, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
End Call
#Request
POST /callControl/agent/customer/call/switch?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Get Area Code
Description: Allows an Agent to get information about an area code.
User Roles: Agent
Method: GET /callControl/agent/areaCode?serviceId={serviceId}&phoneNumber={phoneNumber}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
serviceId | serviceId | Integer (ID) | Yes | ID of a Service on which agent wants to get the area code. |
phoneNumber | phoneNumber | String | Yes | Phone number for which the agent wants to get the area code. |
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startTime | Integer | Yes | Start time of the area code. | ||||||||||||
endTime | Integer | Yes | End time of the area code. | ||||||||||||
timeZone | Enum | Yes | Valid Time zone values are:
|
Get SIP Account Credentials
#Request (JSON)
GET /callControl/agent/areaCode?serviceId=38049&phoneNumber=6503517490
Accept: application/json
Host: localhost.com
#Response
200 OK
Content-Type: application/json
{"startTime":120,
"endTime":1620,
"timeZone":"PT"
}
Get Screen Pop Details
Description: Gets screen pop details.
User Roles: Agent
Method: GET /callControl/agent/screenpop[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | String | No | The line of the call which the Agent is getting screen pop values for, valid values are:
|
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
screenPopRow | Array | Yes | Array of screenpop details
|
Get Screen Pop Details
#Request (JSON)
GET /callControl/agent/screenpop
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"screenPopRow": [{
"key": "FIRST NAME",
"value": "LV"
},
{
"key": "LAST NAME",
"value": "SUP"
},
{
"key": "ACCOUNT NUMBER",
"value": "abc"
},
{
"key": "PHONE DIALED",
"value": "9174645253"
},
{
"key": "Call Direction",
"value": "Outbound"
},
{
"key": "Classification",
"value": "Spanish"
},
{
"key": "Call Skill Name",
"value": "Manual (Manual 4)"
}]
}
Get Term Code
Description: Gets the term codes of a Service.
User Roles: Agent
Method: GET /callControl/agent/termCode[?serviceId={n}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
serviceId | n | Integer | No | Service ID. |
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
termCodeCategories | Array | Yes | An array of zero or more term code categories. Each term code category contains the following details:
|
Get term codes
#Request (JSON)
GET /callControl/agent/termCode?serviceId=113942
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"termCodeCategories": [
{
"termCodes": [
{
"id": "6004209",
"name": "722",
"lvResultId": "731",
"lvResult": "AGENT - PTP Arranged",
"reportDisplayOrder": 0,
"previewDialEnabled": false,
"actionType": "RPC_WITH_PAYMENT",
"paymentAmtRequired": true
}
],
"name": "1 - PTP (RPC)"
},
{
"termCodes": [
{
"id": "3873303",
"name": "Attorney Handling",
"lvResultId": "723",
"lvResult": "AGENT - Attorney Handling",
"reportDisplayOrder": 0,
"previewDialEnabled": false,
"actionType": "RPC_WITHOUT_PAYMENT",
"paymentAmtRequired": false
}
],
"name": "PTP"
}
]
}
Hold Call
Description: Used by an Agent to put a call on hold.
User Roles: Agent
Method: POST /callControl/agent/customer/call/hold[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is placing on hold, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Put Current Call on Hold
#Request
POST /callControl/agent/customer/call/hold?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Manual Dial
Description: Used by an Agent to launch a manual call.
In some cases, you might receive a 204 response but the call was not launched. In that case, you can check the agentManualDialingFailedErrorCode
and agentManualDialingFailedReason
for the reason why it was unsuccessful. These fields are available in the Get Agent Status API method. For more information, see the Get Agent Status API method on this page.
User Roles: Agent
Method: POST /callControl/agent/customer/call/manual
Parameters:
None
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
phoneNumber | Integer | Yes | Phone number to be dialed. |
account | String | No | Account number for the call. |
Response Code: 204 No Content
Body:
None
Launch Manual Call
#Request (JSON)
POST /callControl/agent/customer/call/manual
Host: localhost.com
Content-Type: application/json
{
"phoneNumber": "6503517524"
}
#Response
204 No Content
Manual Dial Ex
Description: Used by an Agent to launch a manual call. This is a newer version of the Manual Dial method and allows a zip code to be included for zip area mismatch.
In some cases, you might receive a 204 response but the call was not launched. In that case, you can check the agentManualDialingFailedErrorCode
and agentManualDialingFailedReason
for the reason why it was unsuccessful. These fields are available in the Get Agent Status API method. For more information, see the Get Agent Status API method on this page.
User Roles: Agent
Dependencies: ACD 3.1 or above.
Method: POST /callControl/agent/customer/call/manual/ex
Parameters:
None
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
phoneNumber | Integer | Yes | Phone number to be dialed. |
account | String | No | Account number for the call. |
zipCode | String | No | The zip code to be used for zip area mismatch. |
Response Code: 204 No Content
Body:
None
Launch Manual Call
#Request (JSON)
POST /callControl/agent/customer/call/manual/ex
Host: localhost.com
Content-Type: application/json
{
"phoneNumber": "6503517524",
"zipCode": "94506"
}
#Response
204 No Content
Retrieve Call
Description: Used by an Agent to retrieve a call on hold.
User Roles: Agent
Method: POST /callControl/agent/customer/call/unhold[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is retrieving, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Retrieve the Call on Hold
#Request
POST /callControl/agent/cusotmer/call/unhold?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Save Term Code
Description: Used by an Agent to save the term code of the call.
User Roles: Agent
Method: PUT /callControl/agent/call/termCode[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | String | No | The line of the call which the Agent is saving the term code for, valid values are:
|
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
serviceId | Integer | No | Service ID. |
callTransactionId | Integer | Yes | Call Transaction ID. |
callSessionId | String | Yes | Call Session ID. |
termCodeId | String | Yes | Term Code ID. |
paymentAmt | String | No* | Payment amount. The |
account | String | No | Account number. |
agentEnteredAccount | String | No | Agent entered account number. The |
notes | String | No | Notes. |
phoneDialed | String | Yes | Phone dialed. |
moveAgentToNotReady | Boolean | Yes | Whether the agent should be moved to not ready state after saving the termination code. |
reasonCode | String | No | Valid values include:
|
immediateCallbackNumber | Integer | No | Immediate callback dialing number. |
Response Code: 204 No Content
Body:
None
Save Term Code
#Request (JSON)
PUT /callControl/agent/call/termCode
Host: localhost.com
Accept: application/json
Content-Type: application/json
{
"callTransactionId": "28348633945",
"callSessionId": "U2C2B5T5409656A@10.40.88.125",
"termCodeId": "1232944",
"paymentAmt": "100",
"account": "abcde",
"agentEnteredAccount": "1234567",
"phoneDialed": "6503517524",
"moveAgentToNotReady": "true"
}
#Response
204 No Content
Call Recording Controls
The Call Recording Controls APIs supports the ending, pausing, and resuming of the call recording.
Call Recording End
Description: Ends the call recording.
User Roles: Agent
Method: POST /callControl/agent/callRecord/stop[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is ending the call recording, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
End Call Recording
#Request
POST /callControl/agent/callRecord/stop?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Call Recording Pause
Description: Pauses the call recording.
User Roles: Agent
Method: POST /callControl/agent/callRecord/pause[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is pausing the call recording, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Pause the Call Recording
#Request
POST /callControl/agent/callRecord/pause?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Call Recording Resume
Description: Resumes the call recording.
User Roles: Agent
Method: POST /callControl/agent/callRecord/resume[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||
---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent is resuming the call recording, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Resume Call Recording
#Request
POST /callControl/agent/callRecord/resume?lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Chat
The Chat APIs support the functions necessary to develop agent-to-agent chat capabilities. A chat between two agents is called a channel and a message is called a post.
Create a Channel
Description: Create a channel.
If you try to create a channel with an agent that already exists, the message is posted to the already existing channel.
User Roles: Agent
Method: POST /callControl/agent/chat/channel
Parameters:
None
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
agentId | Integer | Yes | The ID of the agent with whom you want to chat. |
message | String | Yes | The message to post. |
Response Code: 200
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
channelId | String | Yes | The ID of the chat channel. |
Create a Channel with an Initial Post
#Request (JSON)
POST /callControl/agent/chat/channel
Host: localhost.com
Accept: application/json
{
"message": "Hi Doc1",
"id": 657105794
}
#Response
200 OK
Content-Type: application/json
{
"channelId": "d5328ca6-10eb-4e95-80d9-f99baf9a64ed"
}
Send Post
Description: Send a post to an existing channel.
User Roles: Agent
Method: POST /callControl/agent/chat/channel/{id}/post
Parameters:
id | id | String | Yes | The ID of the channel where you want to post a message. |
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
message | String | Yes | The message to post. |
Response Code: 204 No Content
Body:
None
Send a Post to the Existing Channel
#Request (JSON)
POST /callControl/agent/chat/channel/fee19625-ad14-4c3a-a17b-ea7d6c91b479/post
Host: localhost.com
Accept: application/json
{
"message": "Hello Agent3"
}
#Response
204 No Content
Send a Post to a non-Existing Channel
#Request (JSON)
POST /callControl/agent/chat/channel/fee19625-ad14-4c3a-a17b-ea7d6c91b419/post
Host: localhost.com
Accept: application/json
{
"message": "Please come to desk"
}
#Response
500 Internal Server Error
Content-Type: application/json
{
"code": 500,
"message": "Please contact Livevox with this locator: ea9a4ed0-c2cc-440b-9fb3-d705da847662"
}
List Posts
Description: List posts in a channel.
User Roles: Agent
Method: GET /callControl/agent/chat/channel/{id}?page={n}
Parameters:
id | id | String | Yes | Channel ID. |
page | n | Integer | Yes | The page number. Your first request for posts must have a page number of 0 and subsequent requests must proceed in ascending order. That is, your second request must have a page of 1, 3rd request a page of 2 and so on. Alternatively, you can make your first request and then use the '
|
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
next | URI | Yes | A URI for the next page of entries. If next is not present, or blank, then there are no pages after this one. | ||||||||||||||||||||||||||||
posts | Array | Yes | An array of posts
|
List of Posts in a Channel
#Request (JSON)
GET /callControl/agent/chat/channel/fee19625-ad14-4c3a-a17b-ea7d6c91b479?page=0
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"posts": [
{
"postId": "1ece099f-8f0f-47a2-a0ab-3cb4566aa141",
"fromName": "Agent1 Doc1",
"fromId": 1783267,
"content": "I am ok.",
"read": false,
"timestamp": 1647337651
},
{
"postId": "2b9da884-cae7-459c-9ca2-c79ea9eeff7b",
"fromName": "Agent3 Doc3",
"fromId": 1783268,
"content": "How are you doing?",
"read": false,
"timestamp": 1647337632
},
{
"postId": "61483dc8-3a7c-4522-943d-623e4b336a33",
"fromName": "Agent3 Doc3",
"fromId": 1783268,
"content": "Thank you!",
"read": false,
"timestamp": 1647337624
},
{
"postId": "a5b36f4d-eaef-433d-ba69-eac522087acc",
"fromName": "Agent3 Doc3",
"fromId": 1783268,
"content": "I am good",
"read": false,
"timestamp": 1647337619
},
{
"postId": "6786f229-e92e-4353-a330-a2a6ac09a50b",
"fromName": "Agent3 Doc3",
"fromId": 1783268,
"content": "Hey Agent1",
"read": false,
"timestamp": 1647337613
},
{
"postId": "16fcc2a0-073c-4039-bc71-c5d8be116ad3",
"fromName": "Agent1 Doc1",
"fromId": 1783267,
"content": "Hi Agent3, How are you? ",
"read": false,
"timestamp": 1647335438
},
{
"postId": "b7bf1883-2a24-43b2-90ca-b339751d5861",
"fromName": "Agent1 Doc1",
"fromId": 1783267,
"content": "Hi Agent3",
"read": false,
"timestamp": 1647335116
},
{
"postId": "97120d7d-51b2-441e-b994-8659853abea7",
"fromName": "Agent1 Doc1",
"fromId": 1783267,
"content": "Hi Agent3",
"read": false,
"timestamp": 1647335006
},
{
"postId": "51e95843-6627-4419-b3f2-830a2e33fefa",
"fromName": "Agent3 Doc3",
"fromId": 1783268,
"content": "Hi Agent1",
"read": false,
"timestamp": 1647334956
}
]
}
List Posts in a non-Existing Channel
#Request (JSON)
GET /callControl/agent/chat/channel/d5328ca6-10eb-4e95-80d9-f99baf9a64ed?page=0
Host: localhost.com
Accept: application/json
#Response
400 Bad Request
Content-Type: application/json
{
"code": 202,
"message": "Post is not found"
}
List Recent Channels
Description: List the most recent chats between the requesting agent and other agents.
The method displays information about 10 most recent channels.
User Roles: Agent
Method: GET /callControl/agent/chat/channel/recent
Parameters:
None
Body:
None
Response Code: 200 OK
Body:
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
channels | Array | Yes | An array of channels
|
Get Channel Details
#Request (JSON)
GET /callControl/agent/chat/channel/recent
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"channels": [
{
"channelId": "3c016551-6db9-411c-8e4e-31b98f6039a3",
"channelName": "Agent1 Doc1-Agent Bbendale",
"unreadCount": 1,
"type": "AgentToAgent",
"userId": 1197006,
"userName": "Agent Bbendale",
"lastPostTimestamp": 1647334571
},
{
"channelId": "fee19625-ad14-4c3a-a17b-ea7d6c91b479",
"channelName": "Agent3 Doc3-Agent1 Doc1",
"unreadCount": 8,
"type": "AgentToAgent",
"userId": 1783268,
"userName": "Agent3 Doc3",
"lastPostTimestamp": 1647337632
}
]
}
Find Channel
Description: Search the details of an existing channel by Agent ID.
User Roles: Agent
Method: POST /callControl/agent/chat/channel/search
Parameters:
None
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
agentId | Integer | Yes | The ID of the other agent in the channel. |
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
channelId | String | No | The ID of the Channel. |
channelName | String | No | Name of the channel that contains the first and last name of the agent who created the channel and the first and last name of the agent who received the channel. The channel name does not update if the agent names are updated after they have created the channel. |
unreadCount | Integer | Yes | Number of unread dialogue entries. |
type | String | No | Type of channel. |
userId | Integer | Yes | The ID of the other user (agent) if the agent is a single party. |
userName | String | No | Full name of the other user (agent) if the agent is a single party. |
lastPostTimestamp | Datetime | Yes | When the last post was posted. |
Get Channel Details
#Request (JSON)
POST /callControl/agent/chat/channel/search
Host: localhost.com
Accept: application/json
{
"agentId": 1783268
}
#Response
200 OK
Content-Type: application/json
{
"channelId": "fee19625-ad14-4c3a-a17b-ea7d6c91b479",
"channelName": "Agent3 Doc3-Agent1 Doc1",
"unreadCount": 8,
"type": "AgentToAgent",
"userId": 1783268,
"userName": "Agent3 Doc3",
"lastPostTimestamp": 1647337632
}
Mark as Read
Description: Mark a post as read.
User Roles: Agent
Method: GET /callControl/agent/chat/post/{id}
Parameters:
id | id | String | Yes | The ID of the post. |
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|
Body:
None
Response Code: 204 No Content
Body:
None
Mark a Post as Read
#Request (JSON)
GET /callControl/agent/chat/post/41f19864-edda-48a9-83d9-7c268fa1ff39
Host: localhost.com
Accept: application/json
#Response
204 No Content
Delete Post
Description: Delete a post.
User Roles: Agent
Method: DELETE /callControl/agent/chat/post/{id}
Parameters:
id | id | String | Yes | The ID of the post. |
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|
Body:
None
Response Code: 204 No Content
Body:
None
Delete a Chat
#Request (JSON)
DELETE /callControl/agent/chat/post/e2c3794a-1142-47f5-88c7-a246e615f890
Host: localhost.com
Accept: application/json
#Response
204 No Content
Message
The Message APIs provide access to the pre-recorded messages configured for an agent.
Get Message
Description: Gets messages for an Agent.
User Roles: Agent
Method: GET /callControl/agent/messages
Parameters:
None
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
agentMessageId | Integer | No | Agent Message ID. | ||||||||||||||||||||||||||
description | String | No | Description. | ||||||||||||||||||||||||||
messages | Array | Yes | Array of phrase
|
Get Agent Messages
#Request (JSON)
GET /callControl/agent/messages
Accept: application/json
Host: localhost.com
#Response
{
"messages": [
{
"messageId": 100,
"phrase": "Greeting",
"prompt": "Hi dear customer, please be welcome to our company",
"language": 1
},
{
"messageId": 104,
"phrase": "Company goal",
"prompt": "Dear customer, our main goal is to communicate people with their beloved beings",
"language": 1
}
],
"agentMessageId": 12345,
"description": "Test messages"
}
Play Message
Description: Play a message to the caller.
User Roles: Agent
Method: POST /callControl/agent/message/play?agentMessageId={agentMessageId}&messageId={messageId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
agentMessageId | agentMessageId | Integer | Yes | Agent Message ID. |
messageId | messageId | Integer | Yes | Message ID. |
Body:
None
Response Code: 204 No Content
Body:
None
Play Message
#Request (JSON)
POST /callControl/agent/message/play?agentMessageId=12345&messageId=100
Host: localhost.com
#Response
204 No Content
Stop Message
Description: Stops playing a message.
User Roles: Agent
Method: POST /callControl/agent/message/stop
Parameters:
None
Body:
None
Response Code: 204 No Content
Body:
None
Stop Message
#Request
POST /callControl/agent/message/stop
Host: localhost.com
#Response
204 No Content
Preview Dial
The Preview Dial APIs allow Agents to dial or skip preview dial calls.
Dial Preview Dial
Description: Dials a preview call.
In some cases, you might receive a 204 response but the call was not launched. In that case, you can check the previewDialingFailedErrorCode
and previewDialingFailedReason
for the reason why it was unsuccessful. These fields are available in the Get Agent Status API method. For more information, see the Get Agent Status API method on this page.
User Roles: Agent
Method: POST /callControl/agent/customer/call/preview/dial
Parameters:
None
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
transactionId | String | Yes | Transaction ID. |
numberToDial | String | Yes | Number to dial. |
Response Code: 204 No Content
Body:
None
Enqueue Preview Dial
#Request (JSON)
POST /callControl/agent/customer/call/preview/dial
Host: localhost.com
Content-Type: application/json
{ "numberToDial":"8565215238","transactionId":"31415762030" }
#Response
204 No Content
Skip Preview Dial
Description: Used to skip a preview dial call.
User Roles: Agent
Method: POST /callControl/agent/customer/call/preview/skip?transactionId={transactionId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
transactionId | transactionId | String | Yes | Transaction ID. |
Body:
None
Response Code: 204 No Content
Body:
None
Skip Preview Call
#Request
POST /callControl/agent/customer/call/preview/skip?transactionId=8565215238
Host: localhost.com
#Response
204 No Content
Service
The Service APIs provide the ability to join and leave Services as well as get information about Services.
Get Agent Desktop Stats
Description: Provides the desktop stats for an HCI Service.
User Roles: Agent
Method: GET /callControl/agent/service/stats
Parameters:
None
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
availableAgents | Integer | Yes | Available agents. | ||||||||||||||||
callsOnHold | Integer | Yes | Calls on hold. | ||||||||||||||||
remaining | Integer | Yes | Calls remaining. | ||||||||||||||||
cip | Integer | Yes | Calls In Progress. | ||||||||||||||||
totalAgents | Integer | Yes | Total Agents. | ||||||||||||||||
maxCallsOnHold | Integer | Yes | Maximum calls on hold. | ||||||||||||||||
maxCallsInProgress | Integer | Yes | Maximum calls in progress. | ||||||||||||||||
loaded | Integer | Yes | Records loaded. | ||||||||||||||||
hciQueueSize | Integer | Yes | Size of HCI queue. | ||||||||||||||||
holdGraphData | Object | Yes | Hold graph data
| ||||||||||||||||
agentAverageGraphData | Object | Yes | Agent average graph data
|
Get Agent Desktop Stats
#Request (JSON)
GET /callControl/agent/service/stats
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"holdGraphData":{
"startTime":"06:52",
"endTime":"07:51",
"data":"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
},
"agentAverageGraphData":{
"startTime":"07:22",
"endTime":"07:51",
"data":"0,0,0,23,0,0,0,0,0,0,0,0,792,0,111,0,0,0,0,0,0,0,0,0,0,0,1253,39,0,0"
},
"availableAgents":1,
"callsOnHold":0,
"remaining":4,
"cip":0,
"totalAgents":1,
"maxCallsOnHold":150,
"maxCallsInProgress":111,
"loaded":6,
"hciQueueSize":0
}
Get Details
Description: Provides feature configuration and availability for a Service.
User Roles: Agent
Method: GET /callControl/agent/service/features?serviceId={serviceId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
serviceId | serviceId | Integer (ID) | Yes | ID of the Service which you want to retrieve the details for. |
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
callInPhoneNumber | String | No | For Agent At Ready In Services, the number on which agent has to dial. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features | Object | Yes | Details of the features currently available to the Agent
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
callInPinNumber | String | No | For Agent At Ready In Services, the pin the Agent has to provide to login. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
provideInstructions | Boolean | No | Indicates whether an agent should be provided with login instructions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId | String | No | The Client ID. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientCode | String | No | The Client code. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
serviceId | String | No | The Service ID. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
serviceDescription | String | No | The description of the Service. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
callCenterId | Integer | No | Call Center ID. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
callCenterName | String | No | Call Center Name. |
Get Details for a Service
#Request (JSON)
GET /callControl/agent/service/features?serviceId=22340
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"features": {
"notReadyReasonCodes": null,
"agentNotesEnabled"="true",
"agentToAgentTransferEnabled": true,
"callRecordingControlEnabled": true,
"reasonCodesEnabled": false,
"featureCode": 2,
"manualOptionEnabled": true,
"manualPreview": null,
"manualPreviewButtonEnabled": false,
"manualTransferEnabled": true,
"phoneBookTransferEnabled": true,
"confirmOnPreviewDial": false,
"previewDefaultAction": "DIAL",
"previewTimeout": 30,
"scheduledCallback": 2,
"scheduledCallbackPhoneReadOnly": false,
"scheduledCallbackPreview": false,
"previewSkipEnabled": true,
"termCodeEnabled": true,
"transferOptionEnabled": true,
"volumeControlEnabled": true,
"lvzEnabled": true,
"lvScreenPopurl": "JSONScreenPop_ACDDev.jsp",
"strictAccountNumberEnabled",:true
},
"callInPhoneNumber": null,
"callInPinNumber": null,
"provideInstructions": null,
"clientId":"1234",
"clientCode":"ACD210",
"serviceId":"22340",
"serviceDescription":"DIRECT-CALL"
"callCenterId"=1623,
"callCenterName"="Test Call Center"
}
Get Service Details
Description: This method is used by the Agent to get the list of services for which the Agent has access to. This method will return different results depending on whether or not the Agent is logged in and if they are, what type of Service they're logged into.
- If an Agent has not joined a service, the system will return the full list of Services the agent can access.
- If an Agent is logged into an HCI Service, they are returned only HCI Services they have access to. This is due to the fact that when you are logged into an HCI Service you are only allowed to switch to other HCI Services.
- If an Agent is logged into a non-HCI Service, they are returned only non-HCI Services they have access to.
User Roles: Agent
Method: GET /callControl/agent/service/access
Parameters:
None
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
homeAgent | Boolean | Yes | Indicator if the Agent is a home agent. | ||||||||||||
phoneNumber | String | No | Phone number of the Agent. | ||||||||||||
services | Array | Yes | Array of Services the Agent has access to.
| ||||||||||||
sipId | String | No | SIP ID for Agent |
Get Service Details
#Request (JSON)
GET /callControl/agent/service/access
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"services": [
{
"serviceId": 46014,
"serviceName": "Omega_Manual_RT"
},
{
"serviceId": 22131,
"serviceName": "AgentReg (Agent Call Out 7)"
},
{
"serviceId": 22132,
"serviceName": "Quick_Connect (Agent At Ready Out 2)"
},
{
"serviceId": 23068,
"serviceName": "Preview_All"
},
{
"serviceId": 52811,
"serviceName": "HCI 2"
},
{
"serviceId": 46797,
"serviceName": "Omega_QC"
}
],
"homeAgent": true,
"phoneNumber": "6503517524"
}
Join Service
Description: This method is used by an Agent to join a Service on the LiveVox ACD.
User Roles: Agent
Method: POST /callControl/agent/service/join?serviceId={serviceId}[&phoneNumber={phoneNumber}][&sipId={sipId}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
serviceId | serviceId | Integer (ID) | Yes | ID of the Service which the Agent wants to join. |
phoneNumber | phoneNumber | String | No | Phone number on which the Agent receives a call. If the value is not provided Agent receives call for his configured number in LVP. |
sipId | sipId | String | No | SIP ID for Agent. |
Body:
None
Response Code: 204 No Content
Body:
None
Join a Service
#Request
POST /callControl/agent/service/join?serviceId=24322&phoneNumber=4155555555
Host: localhost.com
#Response
204 No Content
Leave Service
Description: Used by an Agent to leave a Service on the LiveVox ACD.
User Roles: Agent
Method: POST /callControl/agent/service/leave
Parameters:
None
Body:
None
Response Code: 204 No Content
Body:
None
Leave a Service
#Request
POST /callControl/agent/service/leave
Host: localhost.com
#Response
204 No Content
Switch Service
Description: Used by an Agent to switch the Service they are logged into.
User Roles: Agent
Method: POST /callControl/agent/service/switch?serviceId={serviceId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
serviceId | serviceId | Integer (ID) | Yes | ID of the Service the Agent wants to switch to. |
Body:
None
Response Code: 204 No Content
Body:
None
Move an Agent from one Service to Another
#Request
POST /callControl/agent/service/switch?serviceId={56746}
Host: localhost.com
#Response
204 No Content
Status
The Status APIs contain methods that allow for changing of an agents' status (i.e. going from ready to not ready).
Change To Not Ready
Description: Allows an Agent to change their current state to Not Ready on the ACD platform, Agent can also optionally select a reason code.
User Roles: Agent
Method: POST /callControl/agent/status/notReady[?reasonCode={reasonCode}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
reasonCode | reasonCode | String | No | The reason why an Agent was in Not Ready, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Change Agent State to Not Ready
#Request
POST /callControl/agent/notReady?reasonCode=LUNCH
Host: localhost.com
#Response
204 No Content
Change To Manual Dial
Description: Allows an Agent to change their current state to Manual Dial on the ACD platform.
User Roles: Agent
Method: POST /callControl/agent/status/manualDial
Parameters:
None
Body:
None
Response Code: 204 No Content
Body:
None
Change Agent State to Manual Dial
#Request
POST /callControl/agent/status/manualDial
Host: localhost.com
#Response
204 No Content
Change to Ready
Description: Allows an Agent to change their current state to Ready on the ACD platform.
User Roles: Agent
Method: POST /callControl/agent/status/ready
Parameters:
None
Body:
None
Response Code: 204 No Content
Body:
None
Change Agent State to Ready
#Request
POST /callControl/agent/status/ready
Host: localhost.com
#Response
204 No Content
Get Agent Status
Description: Gets the status of an Agent.
User Roles: Agent
Method: POST /callControl/agent/status
Parameters:
None
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
stateChangedAfter | dateTime | No | Timestamp to filter the 'agentStatus' objects. |
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
agentStatus | Array | Yes | Object containing agent status
|
Get Agent Status for an Agent
#Request (JSON)
POST /callControl/agent/status
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"stateChangedAfter": "1426164521"
}
#Response
200 OK
Content-Type: application/json
{"agentStatus": [{
"service": {
"callsInProgress": 1,
"callsRemaining": 0,
"callsOnHold": 0
},
"voicemail": {},
"chat": {},
"lines": [
{
"lineNumber": "ACD",
"displayName": "Line 1 - ACD",
"active": true,
"callControl": false,
"state": "READY"
"stateChangedTime": 1428381379986
},
{
"lineNumber": "DIRECT",
"displayName": "Line 1 - Direct",
"active": false,
"callControl": false,
"state": "READY"
"stateChangedTime": 1428381388323
}
],
"agentCallConnected": true,
}]}
Switch Line
Description: Switches the current active line when there is more than one active call for an Agent.
User Roles: Agent
Method: POST /callControl/agent/line?lineNumber={lineNumber}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | Yes | The line to switch to. Only lines with active calls are valid, ACD line is valid to switch to only if there are no active calls on other lines. Valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Switch Line
#Request
POST /callControl/agent/line?lineNumber=DIRECT
Host: localhost.com
#Response
204 No Content
Transfer/Conference
The Transfer/Conference APIs provides functionality related to transferring or conferencing calls. This includes but is not limited to initiating a transfer, getting phonebook details, ending a transfer, etc.
When using the Transfer/Conference APIs there is a set flow needed to achieve the proper functionality. Below is a flow chart that lists what methods should follow others and in parenthesis which parties are on the line after the connection is made. In the chart 'Agent' is the Agent who is on the call to begin with, 'Caller' is the person who called in or was called by LiveVox, and 'Supervisor' is the Agent or Supervisor who is receiving the call transfer. When a party is not listed it usually means they are on hold, or in the case of leave conference and reconnect the third party has been dropped from the call.
Agent to Agent Transfer
Description: Initiates a transfer of a call from one Agent to another.
User Roles: Agent
Method: POST /callControl/agent/conference/agent[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line that the Agent wants to transfer, valid values are:
|
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
secondAgentLoginId | String | Yes | Target Agent logon ID. |
callCenterId | Integer | No | Call center ID (blank would be all call centers). |
Response Code: 204 No Content
Body:
None
Agent to Agent Transfer
#Request (JSON)
POST /callControl/agent/conference/agent
Content-Type: application/json
Host: localhost.com
{
"secondAgentLoginId":"lv_rt",
"callCenterId":"1623"
}
#Response
204 No Content
Cold Transfer
Description: Allows agents to perform cold transfers.
User Roles: Agent
Method: POST /callControl/agent/phonebook/cold?lineNumber={lineNumber}
Parameters
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | Yes | The line that the Agent wants to cold transfer, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Cold Transfer a Call
#Request (JSON)
POST /callControl/agent/phonebook/cold?lineNumber=ACD
Content-Type: application/json
Accept: application/json
#Response
204 No Content
Complete Conference
Description: Used by an Agent to complete the conference, i.e., all three parties (Agent, caller, Supervisor) are on the same call.
User Roles: Agent
Method: POST /callControl/agent/conference/customer[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent wants to end the conference, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Complete Conference
#Request
POST /callControl/agent/conference/customer
Host: localhost.com
#Response
204 No Content
Get Available Agent List
Description: Used to get a list of Agents who are available to accept a transfer, only Agents in 'Ready' will be returned.
User Roles: Agent
Method: POST /callControl/agent/available
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
callCenter | Object | Yes | Array of Call Centers in which to search for available Agents.
|
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
agentDetails | Array | Yes | Array of Agent details
|
Get Available Agent List
#Request (JSON)
POST /callControl/agent/available
Host: localhost.com
Accept: application/json
Content-Type: application/json
{
"callCenter": [{"id": "38049"}]
}
#Response
200 OK
Content-Type: application/json
{
"agentDetails": [{
"phone": "6503517539",
"wrapup": "-1",
"loginId": "LV_SUP",
"active": "true",
"lastName": "MAT",
"firstName": "LV",
"homeAgent": "true",
"agentId": "344413",
"callCenterId": 1623,
"serviceId": 38049
}]
}
Get Call Center List
Description: Used to get a list of Call Centers.
User Roles: Agent
Method: GET /callControl/agent/callCenters
Parameters:
None
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
callCenterList | Array | Yes | Array of call centers
|
Get a List of Call Centers
#Request (JSON)
GET /callControl/agent/callCenters
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"callCenterList": [{
"id": 1718,
"name": "Call Center 2"
},
{
"id": 1623,
"name": "Call Center"
},
{
"id": 3086,
"name": "TEST Call Center"
}]
}
Get Phonebook Details
Description: Used to get information about the phonebooks available to the Agent.
User Roles: Agent
Method: GET /callControl/agent/phonebook[?serviceId={serviceId}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
serviceId | serviceId | Integer (ID) | No | Limits the phonebooks to only ones available for this particular Service. |
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
phoneContact | Array | Yes | Array of phonebook contacts
| ||||||||||||||||||||||||||||
description | String | No | Description of the phonebook. | ||||||||||||||||||||||||||||
phoneBookId | String | No | ID of the phonebook. |
Get Phonebook Details
#Request (JSON)
GET /callControl/agent/phonebook
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"GetPhoneBookDetailsResponse": {
"description": "Amby test1",
"phoneBookId": "1386",
"phoneContact": [
{
"phoneBookContactId": "6853",
"phoneBookId": "1386",
"contactName": "Amby test1",
"phoneNumber": "4159395722",
"internalQueue": false,
"extension": 8976
},
{
"phoneBookContactId": "6855",
"phoneBookId": "1386",
"contactName": "Amby test_Warm transfer [H:0/R:0/T:1]",
"internalQueue": true,
"extension": 1234
},
...
{
"phoneBookContactId": "9412",
"phoneBookId": "1386",
"contactName": "Invalid Queue - On Hold [H:0/R:0/T:0]",
"internalQueue": true,
"extension": 3456
}
]
}
}
Get Phonebook Details Ext
Description: A newer version of the Get Phonebook Details method used to get information about the phonebooks available to the Agent.
User Roles: Agent
Method: GET /callControl/agent/phonebook/ext?serviceId={serviceId}
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description |
---|---|---|---|---|
serviceId | serviceId | Integer (ID) | Yes | Limits the phonebooks to only ones available for this particular Service. |
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
phoneContact | Array | Yes | Array of phonebook contacts
| ||||||||||||||||||||||||||||||||
description | String | No | Description of the phonebook. | ||||||||||||||||||||||||||||||||
phoneBookId | String | No | ID of the phonebook. |
Get Phonebook Details Ext
#Request (JSON)
GET /callControl/agent/phonebook/ext?serviceId=12345
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"phoneContact": [
{
"phoneBookContactId": 11532,
"phoneBookId": 1710,
"contactName": "k1",
"phoneNumber": "6503517528",
"extension": "",
"internalQueue": false,
"coldTransfer": false
},
{
"phoneBookContactId": 11533,
"phoneBookId": 1245,
"contactName": "K2_hold",
"phoneNumber": "6503517528",
"extension": "",
"internalQueue": false,
"coldTransfer": false
},
...
{
"phoneBookContactId": 11537,
"phoneBookId": 1710,
"contactName": "k6_skill_hold [H:0/R:0/T:0]",
"extension": "",
"internalQueue": true,
"coldTransfer": true
}
],
"description": "kavya",
"phoneBookId": "1710"
}
Hold Supervisor Call
Description: Used by an Agent to hold a supervisor call, i.e., the Supervisor is put on hold while the Agent and caller are connected.
User Roles: Agent
Method: POST /callControl/agent/conference/supervisor/hold[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call that the Supervisor is on which the Agent wants to put on hold, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
#Request POST /callControl/agent/conference/supervisor/hold?lineNumber={ACD} Host: localhost.com #Response 204 No Content
Leave Conference
Description: Used by an Agent to leave a conference, i.e., the Supervisor and caller are left on the call while the Agent is disconnected.
User Roles: Agent
Method: POST /callControl/conference/leave[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call that the Agent wants to leave, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Leave Conference
#Request
POST /callControl/agent/conference/leave
Host: localhost.com
#Response
204 No Content
Manual Transfer
Description: Used to transfer a call to an Agent entered 10 digit number.
User Roles: Agent
Method: POST /callControl/agent/conference/manual[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call that the Agent wants to manual transfer, valid values are:
|
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
supervisorNumber | String | Yes | Supervisor phone number. |
extension | String | No | The extension of the person who will accept the transfer. |
delayBeforeExtension | Integer | No | The delay between the 10 digit number being dialed and the extension being entered. |
putCallOnHold | Boolean | Yes | If true , caller is put on hold while the transfer is completed. |
secureTransfer | Boolean | Yes | Indicates if transfer is secure. |
Response Code: 204 No Content
Body:
None
Manual Transfer
#Request (JSON)
POST /callControl/agent/conference/manual
Content-Type: application/json
Host: localhost.com
{
"supervisorNumber":"4158395494",
"putCallOnHold":"true",
"secureTransfer":"false"
}
#Response
204 No Content
Phonebook Transfer
Description: Used to transfer a call via a phonebook entry.
User Roles: Agent
In most cases after a phonebook transfer is initiated the caller is put on hold and the Agent is connected to the 3rd party, however, there is a setting available that allows the caller to stay on the line with the Agent the entire time. This is set at the phonebook level, to check which phonebooks have this setting enabled please contact LiveVox support.
Method: POST /callControl/agent/conference/phonebook[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call that the Agent wants to transfer via the phonebook, valid values are:
|
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
phoneBookId | Integer | Yes | Phonebook ID. |
phoneBookContactId | Integer | Yes | Phonebook contact ID. |
Response Code: 204 No Content
Body:
None
Transfer Call via Phonebook
#Request (JSON)
POST /callControl/agent/conference/phonebook
Content-Type: application/json
Accept: application/json
Host: localhost.com
{
"phoneBookId":"1386",
"phoneBookContactId":"6853"
}
#Response
204 No Content
Reconnect
Description: Used by an Agent to reconnect to a caller. The call is essentially returned to the point before the Agent tried to transfer the call.
User Roles: Agent
Method: POST /callControl/agent/conference/reconnect[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call which the Agent wants to reconnect to, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Reconnect to a Conference
#Request
POST /callControl/agent/conference/reconnect
Host: localhost.com
#Response
204 No Content
Reconnect Call
Description: Used by an Agent to reconnect the Agents audio path.
User Roles: Agent
Method: POST /callControl/agent/call/reconnect
Parameters:
None
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description |
---|---|---|---|
result | Boolean | Yes | Returns 'true' if the reconnect was successful. |
Reconnect a Call
#Request
POST /callControl/agent/call/reconnect
Host: localhost.com
#Response
200 OK
{"result":true}
Resume Supervisor Call
Description: Used by an Agent to resume a supervisor call, i.e., the Agent and Supervisor are on a call together while the caller is placed on hold.
User Roles: Agent
Method: POST /callControl/agent/conference/supervisor/resume[?lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
lineNumber | lineNumber | Enum | No | The line of the call that the Agent wants to resume the supervisor call, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Resume Supervisor Call
#Request
POST /callControl/agent/conference/supervisor/resume
Host: localhost.com
#Response
204 No Content
Voicemail
The Voicemail APIs provide Agents with the ability check their voicemail messages.
Check Voicemail
Description: Used to check the Agents' voicemail box(es) for messages.
User Roles: Agent
Method: GET /callControl/agent/voicemail
Parameters:
None
Body:
None
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
voiceMails | Array | No | Array of Voicemails
|
Checks Voicemail
#Request (JSON)
GET /callControl/agent/voicemail
Host: localhost.com
Accept: application/json
#Response
200 OK
Content-Type: application/json
{
"voiceMails":[
{
"id":4156599164,
"name":"Group VM for 22359",
"numberOfVoicemails":2,
"type":"agent",
"storageLimitReached":false
},
{
"id":8992213101,"name":
"Group VM for Agent",
"numberOfVoicemails":22,
"type":"agent",
"storageLimitReached":false
},
{
"id":8992213102,
"name":"Group VM for Customer",
"numberOfVoicemails":23,
"type":"agent",
"storageLimitReached":false
}
]
}
Dial Voicemail
Description: Used by an Agent to dial their voicemail box.
User Roles: Agent
Method: POST /callControl/agent/voicemail/dial[?id={id}]
Parameters:
Path/Query Parameter Name | Type | Mandatory? | Description |
---|---|---|---|
id | String | Yes | ID of the Voicemail box. |
Body:
None
Response Code: 204 No Content
Body:
None
Dial Voicemail
#Request
POST /callControl/agent/voicemail/dial?id=1234
Host: localhost.com
#Response
204 No Content
Hangup Voicemail
Description: Used by an Agent to end the call to the voicemail box.
User Roles: Agent
Method: POST /callControl/agent/voicemail/hangup
Parameters:
None
Body:
None
Response Code: 204 No Content
Body:
None
Hangup Voicemail
#Request
POST /callControl/agent/voicemail/hangup
Host: localhost.com
#Response
204 No Content
Volume Controls
The Volume Controls APIs provide the ability to change the volume on the Agent or customer leg, as well as muting and unmuting the Agent.
Set Agent Call Volume
Description: Used by an Agent to set the volume of the Agent side.
User Roles: Agent
Method: PUT /callControl/agent/call/volume?outGain={n}[&lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
outGain | n | Integer | Yes | Value (Min = 0 and Max = 24). | ||||||||
lineNumber | lineNumber | Enum | No | The line of the call that the Agent wants to adjust the volume for, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Set Agent Side Call Volume
#Request
PUT /callControl/agent/call/volume?outGain=18&lineNumber=ACD
Host: localhost.com
#Response
204 No Content
Set Agent Mute
Description: Used by an Agent to mute the Agent side of a call.
User Roles: Agent
Method: PUT /callControl/agent/call/mute
Parameters:
None
Body:
None
Response Code: 204 No Content
Body:
None
Mute the Agent Side of the Call
#Request
PUT /callControl/agent/call/mute
Host: localhost.com
#Response
204 No Content
Set Agent Unmute
Description: Used by an Agent to unmute the Agent side of the call.
User Roles: Agent
Method: PUT /callControl/agent/call/unmute
Parameters:
None
Body:
None
Response Code: 204 No Content
Body:
None
Unmute the Agent Side of the Call
#Request
PUT /callControl/agent/call/unmute
Host: localhost.com
#Response
204 No Content
Set Customer Call Volume
Description: Used by an Agent to set the volume of the customer side of the call.
User Roles: Agent
Method: PUT /callControl/agent/customer/call/volume?outGain={n}[&lineNumber={lineNumber}]
Parameters:
Path/Query Parameter Name | Variable Name | Type | Mandatory? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
outGain | n | Integer | Yes | Value (Min = 0 and Max = 24). | ||||||||
lineNumber | lineNumber | Enum | No | The line of the call that the Agent wants to adjust the volume for, valid values are:
|
Body:
None
Response Code: 204 No Content
Body:
None
Set Customer Side Volume
#Request
PUT /callControl/customer/call/volume?outGain=18&lineNumber=ACD
Host: localhost.com
#Response
204 No Content