Download PDF
Download page Reporting API.
Reporting API
Introduction
The LiveVox Reporting API provides methods that allow you to retrieve historical data from the LiveVox platform, such as agent statistics and call history. Historical data for the Reporting API is defined as any data that was propagated before the current day. For any data pertaining to the current day, see the Real-Time Reporting API page.
For a general overview of the LiveVox APIs, include security aspects, see the LiveVox API OverView.
Prerequisites
- The user must have successfully logged into the LiveVox platform to obtain a valid Session ID. See Session Management for more information.
- The user must have an active subscription to the Configuration API, in order to obtain an Access Token for use in all API requests. See Access Tokens for details.
- All messages in this API may be subject to rate limits and other restrictions.
Reporting API WADL/Swagger
The Session API WADL/Swagger is publicly available; to obtain the WADL/Swagger for any other API category a user will need to include the LV-Session header with a valid session ID in the WADL/Swagger request.
The Reporting API v17.0 WADL/Swagger is available at the following URL:
The URLs listed below are for the LiveVox NA3 environment and will change slightly if your portal is in a different environment. To know how the URL changes per environment, see the LiveVox Environments and APIs section.
Reporting API Resource | Link |
---|---|
Standard WADL | |
Standard Swagger |
User Roles
Unless otherwise specified in this documentation, for a user to be able to access any data through the Reporting API, the user must belong to either the Sysadmin, Superuser, Manager, Auditor, or Report Admin role. These roles are defined in the LiveVox Configuration Manager and correspond to users who can access LiveVox configuration data through the LiveVox user interfaces.
Reporting methods that include a filter for services cannot include more than 150 services in any one request. There are two scenarios where this applies, when services are explicitly included in a request and when they are not.
How it works
- If you do not include any service in the request and the user has access to 150 services or less, the request will be successful and the system will return data for all services you have access to.
- If you do not include any service in the request and the user has access to over 150 services, the request will fail with a 202 error.
- If you include 150 services or less in the request, the system will return data for the specified services.
- If you include over 150 services in the request, it will fail with a 202 error.
If you have over 150 services and would like to pull a report for all those services in a single API call, you can include all the call centers in the filter and it will work.
API Methods
Standard
The Standard category contains methods that allow a user to retrieve the standard reports available on LVP. Currently, this is limited to the Agent Summary, Account Lookup, Call Recording, and Service Efficiency Report; future versions will continue to expand on the available reports.
Account Lookup Report
Description: Retrieves the Account Lookup Report, the returned information will be exactly the same as if the User had pulled the report via LVP.
User Roles: Sysadmin, Superuser, Manager, Report Admin, or Auditor
Method: POST /reporting/standard/account/lookup
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. The duration between the startDate and endDate should not exceed either the configured date range in config or the default value of 365 days. | ||||||||||||||||||||||||||||
account | String | Yes* | Only include data for the specified account number and/or original account number. *Indicates that | ||||||||||||||||||||||||||||
originalAccountNumber | String | ||||||||||||||||||||||||||||||
filter | Object | No | Filter criteria for the account lookup report
|
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
results | Array | No | An array of calls associated to the account.
|
Retrieve Agent Lookup Report
#Request (JSON)
POST /reporting/standard/account/lookup
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": 1438417219000,
"endDate": 1454365219000,
"account": "12345",
"filter": {"callCenter":[{"id":3234}]}
}
#Response
200 OK
Content-Type: application/json
{"results": [
{
"callCenter": "Call Center_1",
"service": "All Preview",
"customerName": "",
"originalAccountNumber": "",
"phone": "6178498812",
"agent": "",
"start": 1443538320000,
"end": 1443538327000,
"campaign": "47420_SCHEDULED_CALLBACK_CALLS_09-29-2015",
"callerId": "2094359265",
"termCode": "Operator Transfer (Caller Abandoned)",
"serviceId": 47420,
"callCenterId": 3234
},
{
"callCenter": "Call Center_1",
"service": "All Preview",
"customerName": "",
"originalAccountNumber": "",
"phone": "6503517507",
"agent": "LV_K1",
"start": 1444039136000,
"end": 1444039255000,
"campaign": "47420_MANUAL_CALLS_10-05-2015",
"callerId": "6503517513",
"termCode": "AGENT - Customer Hung Up",
"serviceId": 47420,
"callCenterId": 3234
},
{
"callCenter": "Call Center_1",
"service": "All Preview",
"customerName": "",
"originalAccountNumber": "",
"phone": "7329275411",
"agent": "",
"start": 1444820732000,
"end": 1444820782000,
"campaign": "47420_MANUAL_CALLS_10-14-2015",
"callerId": "6503517513",
"termCode": "Operator Transfer (Agent Terminated Call)",
"serviceId": 47420,
"callCenterId": 3234
}
]
}
Agent Activity Report
Description: Retrieves the Agent Activity Report, the returned information will be exactly the same as if the User had pulled the report via LVP.
User Roles: Sysadmin, Superuser, Manager, Report Admin, or Auditor
Method: POST /reporting/standard/agent/activity
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. | ||||||||||||||||||||||||||||||||||||||||
showTermCodes | Boolean | False | If set to
| ||||||||||||||||||||||||||||||||||||||||
filter | Object | No | Filter criteria for the agent activity report
|
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
agentActivity | Array | No | An array of Agents' activity data.
|
AgentActivityDetails
Key | Type | Mandatory? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
onlineTime | Time | Yes | Time the agent was logged into LiveVox in seconds. | ||||||||||||
successfulOperatorTransfers | Integer | Yes | Number of operator transfers that successfully connected to an agent. | ||||||||||||
averageTalkTime | Time | Yes | Time the agent was in the “In Call” state (in seconds) divided by the number of call handled by the agent. | ||||||||||||
averageWrapTime | Time | Yes | Time the agent was in the “Wrap Up” state (in seconds) divided by the number of call handled by the agent. | ||||||||||||
averageAvailableTime | Time | Yes | Time the agent was in the “Ready” state (in seconds) divided by the number of call handled by the agent. | ||||||||||||
averageNotReadyTime | Time | Yes | Time the agent was in the “Not Ready” state (in seconds) divided by the number of call handled by the agent. | ||||||||||||
connectsPerHour | Decimal | Yes | Total Calls handled by the agent divided by Total Agent Time in hours. | ||||||||||||
rpcPaymentPtp | Integer | Yes | Calls with a result code of RPC with Payment Arranged. | ||||||||||||
rpcNoPaymentPtp | Integer | Yes | Calls with a result code of RPC with No Payment Arranged. | ||||||||||||
totalRpcs | Integer | Yes | Sum of calls with RPC with Payment Arranged and RPC with No Payment Arranged result codes. | ||||||||||||
totalRpcsPerAgentSystemHour | Decimal | Yes | RPCs divided by Total Agent Productive Time in hours | ||||||||||||
rpcRateInPercent | Decimal | Yes | RPCs divided successfulOperatorTransfers . | ||||||||||||
conversionRateInPercent | Decimal | Yes | Calls coded as a PTP divided by totalRpcs . | ||||||||||||
wpc | Integer | Yes | Calls coded as a Wrong Party Connect | ||||||||||||
nonContacts | Integer | Yes | Calls coded as a Non-Contact. | ||||||||||||
termCodes | Array | No | List of termcode names and count.
Only shown if |
Retrieve Agent Activity Report
#Request (JSON)
POST /reporting/standard/agent/activity
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": "1467077202000",
"endDate": "1467077202000",
"showTermCodes": "true",
"filter": {
"callCenter": [
{
"id": "5082"
}
],
"service": [
{
"id": "66068"
}
]
}
}
#Response
200 OK
Content-Type: application/json
{"agentActivity": {"results": [{
"agent": [
{
"dayActivity": [
{
"activity": [ {
"agentActivityDetails": [ {
"termCodes": null,
"onlineTime": 39000,
"successfulOperatorTransfers": 0,
"averageTalkTime": 0,
"averageWrapTime": 0,
"averageAvailableTime": 36000,
"averageNotReadyTime": 2000,
"connectsPerHour": 0,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 0,
"totalRpcs": 0,
"totalRpcsPerAgentSystemHour": 0,
"rpcRateInPercent": 0,
"conversionRateInPercent": 0,
"wpc": 0,
"nonContacts": 0
}],
"loginTime": 1467053215000,
"logoutTime": 1467053255000
}],
"dayTotals": {
"termCodes": null,
"onlineTime": 39000,
"successfulOperatorTransfers": 0,
"averageTalkTime": 0,
"averageWrapTime": 0,
"averageAvailableTime": 36000,
"averageNotReadyTime": 3000,
"connectsPerHour": 0,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 0,
"totalRpcs": 0,
"totalRpcsPerAgentSystemHour": 0,
"rpcRateInPercent": 0,
"conversionRateInPercent": 0,
"wpc": 0,
"nonContacts": 0
}
},
{
"activity": [ {
"agentActivityDetails": [ {
"termCodes": null,
"onlineTime": 23000,
"successfulOperatorTransfers": 0,
"averageTalkTime": 0,
"averageWrapTime": 0,
"averageAvailableTime": 16000,
"averageNotReadyTime": 6000,
"connectsPerHour": 0,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 0,
"totalRpcs": 0,
"totalRpcsPerAgentSystemHour": 0,
"rpcRateInPercent": 0,
"conversionRateInPercent": 0,
"wpc": 0,
"nonContacts": 0
}],
"loginTime": 1467100334000,
"logoutTime": 1467100357000
}],
"dayTotals": {
"termCodes": null,
"onlineTime": 23000,
"successfulOperatorTransfers": 0,
"averageTalkTime": 0,
"averageWrapTime": 0,
"averageAvailableTime": 16000,
"averageNotReadyTime": 6000,
"connectsPerHour": 0,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 0,
"totalRpcs": 0,
"totalRpcsPerAgentSystemHour": 0,
"rpcRateInPercent": 0,
"conversionRateInPercent": 0,
"wpc": 0,
"nonContacts": 0
}
}
],
"agentTotals": {
"termCodes": null,
"onlineTime": 62000,
"successfulOperatorTransfers": 0,
"averageTalkTime": 0,
"averageWrapTime": 0,
"averageAvailableTime": 53000,
"averageNotReadyTime": 9000,
"connectsPerHour": 0,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 0,
"totalRpcs": 0,
"totalRpcsPerAgentSystemHour": 0,
"rpcRateInPercent": 0,
"conversionRateInPercent": 0,
"wpc": 0,
"nonContacts": 0
},
"name": "DIRECTVM LIVEVOX,PASS1234567"
},
...
],
"serviceTotals": {
"termCodes": null,
"onlineTime": 169000,
"successfulOperatorTransfers": 0,
"averageTalkTime": 0,
"averageWrapTime": 0,
"averageAvailableTime": 148000,
"averageNotReadyTime": 21000,
"connectsPerHour": 0,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 0,
"totalRpcs": 0,
"totalRpcsPerAgentSystemHour": 0,
"rpcRateInPercent": 0,
"conversionRateInPercent": 0,
"wpc": 0,
"nonContacts": 0
},
"serviceName": "ACD_QA_QC ( 66068 )",
"serviceId": 66068,
"callCenterId": 5082
}]}}
Agent Summary Report
Description: Retrieves the Agent Summary Report, the returned information will be exactly the same as if the User had pulled the report via LVP.
User Roles: Sysadmin, Superuser, Manager, Report Admin, or Auditor
Method: POST /reporting/standard/agent/summary
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. | ||||||||||||||||||||||||||||||||||||||||
filter | Object | No | Filter criteria for the report
| ||||||||||||||||||||||||||||||||||||||||
options | Object | Yes | Optional information to include in the report
*Indicates that one or more options can be selected. |
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
results | Array | Yes | An array of details broken out by Agent
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total | Object | Yes | The combined total for all Agents.
|
Retrieve Agent Summary Report
#Request (JSON)
POST /reporting/standard/agent/summary
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": "1451727557000",
"endDate": "1454319557000",
"filter": {
"callCenter": [
{"id": 5082},
{"id": 4348},
{"id": 3234},
{"id": 3235},
{"id": 3799},
{"id": 3236},
{"id": 4325},
{"id": 4419},
{"id": 3773},
{"id": 4580}
]
},
"options": {
"showTermCodes": "false",
"showPtpAmount": "false",
"showDetailed": "false"
}
}
#Response
200 OK
Content-Type: application/json
{
"results": [
{
"details": {
"termcodes": null,
"successfulOpTransfer": 0,
"inCallTimeInMinutes": 0,
"inCallTimeInPercent": 0,
"readyTimeInMinutes": 2.5,
"readyTimeInPercent": 6.58,
"wrapupTimeInMinutes": 0,
"wrapupTimeInPercent": 0,
"notReadyTimeInMinutes": 35.52,
"notReadyTimeInPercent": 93.42,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 0,
"wpc": 0,
"nonConnects": 0,
"totalRpcs": 0,
"ptpAmount": null,
"agentSystemTimeInMinutes": null,
"agentProductiveTimeInMinutes": null,
"avgCallsHandleInHours": null,
"avgCallsHandledTimeInHours": null,
"avgCallLengthInMinutes": null,
"rpcsPerHour": null,
"rpcRateInPercent": null,
"conversionRateInPercent": null
},
"loginId": "ACONDE",
"firstName": "AGUSTIN",
"lastName": "CONDE"
},
...
{
"details": {
"termcodes": null,
"successfulOpTransfer": 6,
"inCallTimeInMinutes": 162.68,
"inCallTimeInPercent": 95.22,
"readyTimeInMinutes": 7.17,
"readyTimeInPercent": 4.19,
"wrapupTimeInMinutes": 0.02,
"wrapupTimeInPercent": 0.01,
"notReadyTimeInMinutes": 0.98,
"notReadyTimeInPercent": 0.58,
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 6,
"wpc": 0,
"nonConnects": 0,
"totalRpcs": 6,
"ptpAmount": null,
"agentSystemTimeInMinutes": null,
"agentProductiveTimeInMinutes": null,
"avgCallsHandleInHours": null,
"avgCallsHandledTimeInHours": null,
"avgCallLengthInMinutes": null,
"rpcsPerHour": null,
"rpcRateInPercent": null,
"conversionRateInPercent": null
},
"loginId": "UNAOR",
"firstName": "URI",
"lastName": "NAOR"
}
],
"total": {"details": {
"termcodes": null,
"successfulOpTransfer": 159,
"inCallTimeInMinutes": 445.12,
"inCallTimeInPercent": 22.59,
"readyTimeInMinutes": 998.5,
"readyTimeInPercent": 50.68,
"wrapupTimeInMinutes": 29.1,
"wrapupTimeInPercent": 1.48,
"notReadyTimeInMinutes": 497.62,
"notReadyTimeInPercent": 25.26,
"rpcPaymentPtp": 1,
"rpcNoPaymentPtp": 129,
"wpc": 0,
"nonConnects": 20,
"totalRpcs": 130,
"ptpAmount": null,
"agentSystemTimeInMinutes": null,
"agentProductiveTimeInMinutes": null,
"avgCallsHandleInHours": null,
"avgCallsHandledTimeInHours": null,
"avgCallLengthInMinutes": null,
"rpcsPerHour": null,
"rpcRateInPercent": null,
"conversionRateInPercent": null
}
}
}
Call Event Recovery Report
Description: This method provides a CSV file that contains the same information that can be obtained through the Call Event Feed; it is intended to be used as a recovery method for events older than 24 hours, as the Call Event Feed only provides events that are less than 24 hours old.
User Roles: Sysadmin, Superuser, Manager, Report Admin, or Auditor
Method: POST /reporting/standard/callDetails
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. The start and end date cannot be more than 3 days. | ||||||||||||||||||||||||||||
filter | Object | No | Filter details for the report
|
Response Code: 200 OK
Body:
The body of this response is a CSV file with a first line header.
If the optional Accept-Encoding header with valid value 'gzip' is provided, the served content is compressed.
Call Event Recovery Report
#Request (JSON)
POST /reporting/standard/callDetails
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": 1634111516000,
"endDate": 1634118716000
}
#Response
200 OK
Content-Type: application/json
account,agentId,agentLoginId,callerId,campaignId,clientId,duration,start,end,lvResult,operatorPhone,phoneDialed,roundedIvrDuration,serviceId,sessionId,transactionId,transferHoldDuration,zipCode,lvResultId,callCenterId,phonePosition,campaignType,areaCodeState,zipCodeState
123,1197006,AGENT,0,111734064,1000540,34,20211013 05:12:08,20211013 05:12:43,AGENT - PTP Arranged,0,9176754178,2,1076538,U668DAT6166A2E8@10.101.21.165,126035363681,0,850001,731,1000189,1,MANUAL,NY,
345,1197006,AGENT,0,111734064,1000540,39,20211013 05:13:06,20211013 05:13:46,AGENT - Call Back,0,9176754178,3,1076538,U66929T6166A322@10.101.21.221,126035363690,0,,739,1000189,1,MANUAL,NY,
23,1197006,AGENT,0,111734064,1000540,38,20211013 05:14:14,20211013 05:14:53,AGENT - Fax,0,9176754178,4,1076538,U66AC0T6166A366@10.101.21.216,126035363707,0,,741,1000189,1,MANUAL,NY,
1234567,1197006,AGENT,0,111734472,1000540,13,20211013 05:50:32,20211013 05:50:45,AGENT - CUST 30,0,9176754178,5,1095827,U6697ET6166ABE8@10.101.19.247,126035364113,0,,1308,1028677,1,MANUAL,NY,
abc,1197006,AGENT,0,111734472,1000540,22,20211013 05:51:06,20211013 05:51:29,AGENT - Agent Hung Up,0,6505153873,2,1095827,U66916T6166AC0A@10.101.21.135,126035364126,0,,743,1028677,1,MANUAL,CA,
Call Event Recovery Report with Call Center Filter
#Request (JSON)
POST /reporting/standard/callDetails
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"filter": {
"callCenter": [
{
"id": 1000189
}
]
},
"startDate": 1634111516000,
"endDate": 1634118716000
}
#Response
200 OK
Content-Type: application/json
account,agentId,agentLoginId,callerId,campaignId,clientId,duration,start,end,lvResult,operatorPhone,phoneDialed,roundedIvrDuration,serviceId,sessionId,transactionId,transferHoldDuration,zipCode,lvResultId,callCenterId,phonePosition,campaignType,areaCodeState,zipCodeState
123,1197006,AGENT,0,111734064,1000540,34,20211013 05:12:08,20211013 05:12:43,AGENT - PTP Arranged,0,9176754178,2,1076538,U668DAT6166A2E8@10.101.21.165,126035363681,0,850001,731,1000189,1,MANUAL,NY,
345,1197006,AGENT,0,111734064,1000540,39,20211013 05:13:06,20211013 05:13:46,AGENT - Call Back,0,9176754178,3,1076538,U66929T6166A322@10.101.21.221,126035363690,0,,739,1000189,1,MANUAL,NY,
23,1197006,AGENT,0,111734064,1000540,38,20211013 05:14:14,20211013 05:14:53,AGENT - Fax,0,9176754178,4,1076538,U66AC0T6166A366@10.101.21.216,126035363707,0,,741,1000189,1,MANUAL,NY,
Call Event Recovery Report with Service Filter
#Request (JSON)
POST /reporting/standard/callDetails
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"filter": {
"service": [
{
"id": 1076538
},
{
"id": 1000543
}
]
},
"startDate": 1634030170000,
"endDate": 1634116570000
}
#Response
200 OK
Content-Type: application/json
account,agentId,agentLoginId,callerId,campaignId,clientId,duration,start,end,lvResult,operatorPhone,phoneDialed,roundedIvrDuration,serviceId,sessionId,transactionId,transferHoldDuration,zipCode,lvResultId,callCenterId,phonePosition,campaignType,areaCodeState,zipCodeState
123,,,0,111733267,1000540,27,20211013 03:50:14,20211013 03:50:42,Operator Transfer (Agent Terminated Call),0,9176754178,3,1000543,U6696FT61668FB6@10.101.19.219,126035042939,0,850001,661,1000189,1,MANUAL,NY,
123,1197006,AGENT,0,111734064,1000540,34,20211013 05:12:08,20211013 05:12:43,AGENT - PTP Arranged,0,9176754178,2,1076538,U668DAT6166A2E8@10.101.21.165,126035363681,0,850001,731,1000189,1,MANUAL,NY,
345,1197006,AGENT,0,111734064,1000540,39,20211013 05:13:06,20211013 05:13:46,AGENT - Call Back,0,9176754178,3,1076538,U66929T6166A322@10.101.21.221,126035363690,0,,739,1000189,1,MANUAL,NY,
23,1197006,AGENT,0,111734064,1000540,38,20211013 05:14:14,20211013 05:14:53,AGENT - Fax,0,9176754178,4,1076538,U66AC0T6166A366@10.101.21.216,126035363707,0,,741,1000189,1,MANUAL,NY,
Call Recording Report
Description: Retrieves the Call Recording Report, the returned information will be exactly the same as if the User had pulled the report via LVP. The only difference is that the actual call recording file is not available, to obtain this you will need to use the sessionId
property in the Compliance APIs Get Call Recording By Id method to get the sound file.
When specifying a date range be aware that it is possible to be returned a call recording outside the date range, this is because the LiveVox reporting day goes from 4 am to 3:59 am the next day. For example if you have a start date of 6/12/2016 and an end date of 6/13/2016 you will be returned all the call recordings from 6/12/2016 4:00 am to 6/14/2016 3:59 am.
User Roles: Sysadmin, Superuser, Manager, Report Admin, Auditor, or Client Auditor
Manager, Report Admin, Auditor, and Client Auditor users will need to have the "Access to Call Recording Report" optional power enabled to access this report.
Method: POST /reporting/standard/callRecording
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. The start and end date cannot be more than 31 days apart. Start date cannot be beyond the days of call recording. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sortBy | Enum | No | How to sort the results, possible values include:
If no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
filter | Object | No | Filter criteria for the call recordings, be aware that these are AND conditions so if you include a service and a
|
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
callRecording | Array | No | Information about each call recording.
|
Retrieve Call Recording Report
#Request (JSON)
POST /reporting/standard/callRecording
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": "1453109957000",
"endDate": "1453361957000",
"sortBy": "AGENT",
"filter": {
"callCenter": [
{"id": 5082},
{"id": 4348},
{"id": 3234},
{"id": 3235}
]
}
}
#Response
200 OK
Content-Type: application/json
{"callRecording": [
{
"account": "2323",
"originalAccountNumber": "",
"service": "Quick_Connect",
"name": "",
"phone": "6503517528",
"agent": "AP5",
"session": "U1E51T56A1C128@10.40.88.65",
"transferConnect": 1453441321000,
"transferEnd": 1453441367000,
"transferDuration": 46,
"campaign": "47416_MANUAL_CALLS_01-21-2016",
"termCode": "Operator Transfer (Agent Terminated Call)",
"serviceId": 47416,
"callCenterId": 3235,
"recordingId": "55555555-1467-b82b-1caa-016a73f43fb8"
},
{
"account": "@12345",
"originalAccountNumber": "",
"service": "Manual",
"name": "",
"phone": "",
"agent": "JULIANJ_LV",
"session": "U16B1T56A00A5F@10.40.88.65",
"transferConnect": null,
"transferEnd": null,
"transferDuration": null,
"campaign": "",
"termCode": "AGENT - Attorney Handling",
"serviceId": 47419,
"callCenterId": 3235,
"recordingId": "66655567-5544-b82b-1caa-016a73f43fb8"
},
...
{
"account": "hgfhgfh",
"originalAccountNumber": "",
"service": "Manual2",
"name": "",
"phone": "4156926963",
"agent": "UNAOR",
"session": "U15D9T569FBDCF@10.40.88.65",
"transferConnect": 1453309394000,
"transferEnd": 1453309412000,
"transferDuration": 18,
"campaign": "47419_MANUAL_CALLS_01-20-2016",
"termCode": "AGENT - Attorney Handling",
"serviceId": 47419,
"callCenterId": 4348,
"recordingId": "6765ft54-5544-b82b-1caa-016a73f43fb8"
}
]
}
Phone Lookup Report
Description: Retrieves the Phone Lookup Report, the returned information will be exactly the same as if the User had pulled the report via LVP.
User Roles: Sysadmin, Superuser, Manager, Report Admin, or Auditor
Method: POST /reporting/standard/phone/lookup
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. The duration between the startDate and endDate should not exceed 365 days. | ||||||||||||||||||||||||||||
phoneDialed | Object | Yes | An array of phone numbers to lookup.
| ||||||||||||||||||||||||||||
filter | Object | No | Filter criteria for the phone lookup report
|
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
results | Array | No | An array of calls associated with the account.
|
Retrieve Phone Lookup Report
#Request (JSON)
POST /reporting/standard/phone/lookup
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": "2017-07-17T08:29:45",
"endDate": "2017-07-18T16:18:33",
"filter": {
"callCenter": [
{
"id": "2829"
},
{
"id": "428"
}
]
},
"phoneDialed": [
{
"phone": "4155557121"
},
{
"phone": "4155559723"
}
]
}
#Response
200 OK
Content-Type: application/json
{"results": [
{
"callCenter": "Call Center_1",
"service": "All Preview",
"customerName": "",
"originalAccountNumber": "",
"phone": "4155557121",
"agent": "",
"start": 1443538320000,
"end": 1443538327000,
"campaign": "47420_SCHEDULED_CALLBACK_CALLS_09-29-2015",
"callerId": "2094359265",
"termCode": "Operator Transfer (Caller Abandoned)",
"serviceId": 47420,
"callCenterId": 2829
},
{
"callCenter": "Call Center_1",
"service": "All Preview",
"customerName": "",
"originalAccountNumber": "",
"phone": "4155557121",
"agent": "LV_K1",
"start": 1444039136000,
"end": 1444039255000,
"campaign": "47420_MANUAL_CALLS_10-05-2015",
"callerId": "6503517513",
"termCode": "AGENT - Customer Hung Up",
"serviceId": 47420,
"callCenterId": 2829
},
{
"callCenter": "Call Center_2",
"service": "All Preview",
"customerName": "",
"originalAccountNumber": "",
"phone": "4155559723",
"agent": "",
"start": 1444820732000,
"end": 1444820782000,
"campaign": "47420_MANUAL_CALLS_10-14-2015",
"callerId": "6503517513",
"termCode": "Operator Transfer (Agent Terminated Call)",
"serviceId": 47420,
"callCenterId": 428
}
]
}
Real Time Report
Description: Retrieves the Real Time Report (RTR), the returned information will be exactly the same as if the User had pulled the report via LVP.
User Roles: Sysadmin, Superuser, Manager, Report Admin, Auditor, or Client Auditor
Method: POST /reporting/standard/realTimeReport
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. The start and end date cannot be more than 90 days apart. | ||||||||||||||||||||||||||||||||||||||||||||
filter | Object | No | Filter criteria for the RTR.
|
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
summary | Object | No | Information about the calls that have been completed.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outcomes | Array | Yes | List of outcomes
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
charges | Object | Yes | The cost of calls, separated by type.
|
Retrieve RTR Report
#Request (JSON)
POST /reporting/standard/realTimeReport
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": "1455512400000",
"endDate": "1455771600000",
"filter": {
"callCenter": [
{
"id": "3234"
}
]
}
}
#Response
200 OK
Content-Type: application/json
{
"summary": {
"totalCalls": {
"connected": {
"liveAnswer": 65,
"automatedAnswer": 14,
"total": 79
},
"notConnected": 0,
"successfulOperatorTransfer": 53
},
"totalCallsInLast15Mins": {
"connected": {
"liveAnswer": 0,
"automatedAnswer": 0,
"total": 0
},
"notConnected": 0,
"successfulOperatorTransfer": 0
},
"clientId": 47415
},
"outcomes": [
{
"totals": {
"totalCallsInCategoryInPercent": "100%",
"totalCalls": "61",
"totalCallsInPercent": "77.2%",
"avgCallLength": "49.9 Seconds"
},
"termcodes": [
{
"name": "Operator Transfer",
"totalCallsInCategoryInPercent": "1.6%",
"totalCalls": "1",
"totalCallsInPercent": "1.3%",
"avgCallLength": "36 Seconds"
},
...
{
"name": "Operator Transfer (Caller Abandoned)",
"totalCallsInCategoryInPercent": "8.2%",
"totalCalls": "5",
"totalCallsInPercent": "6.3%",
"avgCallLength": "25.2 Seconds"
}
],
"name": "Operator Transfer"
},
{
"totals": {
"totalCallsInCategoryInPercent": "100%",
"totalCalls": "17",
"totalCallsInPercent": "21.5%",
"avgCallLength": "22.2 Seconds"
},
"termcodes": [
{
"name": "Partial Message Left",
"totalCallsInCategoryInPercent": "76.5%",
"totalCalls": "13",
"totalCallsInPercent": "16.5%",
"avgCallLength": "18.9 Seconds"
},
{
"name": "Listened",
"totalCallsInCategoryInPercent": "26.0%",
"totalCalls": "4",
"totalCallsInPercent": "5.1%",
"avgCallLength": "33 Seconds"
}
],
"name": "Left Message"
},
{
"totals": {
"totalCallsInCategoryInPercent": "100%",
"totalCalls": "1",
"totalCallsInPercent": "1.3%",
"avgCallLength": "12 Seconds"
},
"termcodes": [ {
"name": "Answering Machine (Hung Up)",
"totalCallsInCategoryInPercent": "100%",
"totalCalls": "1",
"totalCallsInPercent": "1.3%",
"avgCallLength": "12 Seconds"
}],
"name": "LiveVox Hang-Up"
},
{
"totals": {
"totalCallsInCategoryInPercent": "100%",
"totalCalls": "81",
"totalCallsInPercent": "102.5%",
"avgCallLength": "0 Seconds"
},
"termcodes": [
{
"name": "Duplicate Call (Not Made)",
"totalCallsInCategoryInPercent": "11.1%",
"totalCalls": "9",
"totalCallsInPercent": "",
"avgCallLength": ""
},
...
{
"name": "Preview Dial - Agent Skipped (Not Made)",
"totalCallsInCategoryInPercent": "1.2%",
"totalCalls": "1",
"totalCallsInPercent": "",
"avgCallLength": ""
}
],
"name": "Not Made"
}
],
"charges": {
"connectedCalls": {
"duration": "10min 7sec",
"charges": "$.50"
},
"operatorTransfer": {
"duration": "47min 5sec",
"charges": "$2.31"
},
"total": {
"duration": "57min 12sec",
"charges": "$2.80"
}
}
}
Service Efficiency Report
Description: Retrieves the Service Efficiency Report, the returned information will be exactly the same as if the User had pulled the report via LVP.
User Roles: Sysadmin, Superuser, Manager, Report Admin, Auditor, or Client Auditor.
Client Auditor users will need to have the "Access to Service Efficiency Report" optional power enabled.
Method: POST /reporting/standard/service/efficiency
Parameters:
None
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | dateTime | Yes | Start date of the report. | ||||||||||||||||||||||||||||||||
endDate | dateTime | Yes | End date of the report. The start and end date cannot be more than 31 days apart. Start date cannot be beyond the days of call recording. | ||||||||||||||||||||||||||||||||
chart | Boolean | No | Creates a link to the chart. | ||||||||||||||||||||||||||||||||
groupBy | Object | No | Separates data by specified criteria:
*Indicates that there are some conditions when grouping results:
| ||||||||||||||||||||||||||||||||
filter | Object | No | Filter criteria for the report.
*Indicates that there are some conditions when filtering results:
|
Response Code: 200 OK
Body:
Key | Type | Mandatory? | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
results | Array | Yes | Service efficiency data broken out by Call Center and Service.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
callCenterTotals | Array | No | Service efficiency data totaled by Call Center.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
grandTotal | Object | Yes | Total service efficiency data.
|
Retrieve Service Efficiency Report
#Request (JSON)
POST /reporting/standard/service/efficiency
Host: localhost.com
Content-Type: application/json
Accept: application/json
{
"startDate": "1454319557000",
"endDate": "1454319557000",
"chart": "true",
"filter": {
"callCenter": [
{"id": 5082},
{"id": 4348},
{"id": 3234},
{"id": 3235},
{"id": 3799},
{"id": 3236},
{"id": 4325},
{"id": 4419},
{"id": 3773},
{"id": 4580}
]
}
}
#Response
200 OK
Content-Type: application/json
{
"results": [ {
"details": {
"agentProductivityTimeBreakDown": {
"agentProductiveTimeInMinutes": 220.65,
"inCallTimeInMinutes": 189.2,
"wrapupTimeInMinutes": 0.12,
"readyTimeInMinutes": 31.33,
"notReadyTimeInMinutes": 14.37
},
"agentProductivityPercentageBreakDown": {
"inCall": 85.75,
"wrapup": 0.05,
"ready": 14.2
},
"connectRate": {
"dials": 14,
"connects": 14,
"liveConnects": 13,
"automatedConnects": 1,
"nonConnects": 0,
"liveConnectRateInPercent": 92.86,
"automatedAnsweringMachineLeftMessage": 0,
"attemptedOperatorTransfers": 13,
"successfulOperatorTransfers": 13,
"failedOperatorTransfers": 0,
"failedOperatorTransferRateInPercent": 0
},
"connects": {
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 11,
"totalRpcs": 11,
"wpc": 0,
"nonContacts": 1,
"ptpAmount": 0
},
"productivityStats": {
"avgHandleTime": 14.56,
"outboundDialsPerHour": 3.81,
"agentConnectsPerHour": 3.54,
"rpcsPerHour": 2.99,
"rpcRateInPercent": 84.62,
"conversionRateInPercent": 0
},
"billing": {
"connectionCall": 0.73,
"operatorTransfer": 34.47,
"totalMinutes": 35.2,
"totalCharges": 1.72,
"costPerRpc": 0.16
}
},
"callCenter": null,
"service": null,
"date": 1454302800000,
"serviceId": null,
"callCenterId": null
}],
"callCenterTotals": null,
"grandTotal": {"details": {
"agentProductivityTimeBreakDown": {
"agentProductiveTimeInMinutes": 220.65,
"inCallTimeInMinutes": 189.2,
"wrapupTimeInMinutes": 0.12,
"readyTimeInMinutes": 31.33,
"notReadyTimeInMinutes": 14.37
},
"agentProductivityPercentageBreakDown": {
"inCall": 85.75,
"wrapup": 0.05,
"ready": 14.2
},
"connectRate": {
"dials": 14,
"connects": 14,
"liveConnects": 13,
"automatedConnects": 1,
"nonConnects": 0,
"liveConnectRateInPercent": 92.86,
"automatedAnsweringMachineLeftMessage": 0,
"attemptedOperatorTransfers": 13,
"successfulOperatorTransfers": 13,
"failedOperatorTransfers": 0,
"failedOperatorTransferRateInPercent": 0
},
"connects": {
"rpcPaymentPtp": 0,
"rpcNoPaymentPtp": 11,
"totalRpcs": 11,
"wpc": 0,
"nonContacts": 1,
"ptpAmount": 0
},
"productivityStats": {
"avgHandleTime": 14.56,
"outboundDialsPerHour": 3.81,
"agentConnectsPerHour": 3.54,
"rpcsPerHour": 2.99,
"rpcRateInPercent": 84.62,
"conversionRateInPercent": 0
},
"billing": {
"connectionCall": 0.73,
"operatorTransfer": 34.47,
"totalMinutes": 35.2,
"totalCharges": 1.72,
"costPerRpc": 0.16
}
}},
"chart": "http://dev.livevox.net:8028903/reporting/chart?operation=get&client_id=47415&chart_id=716574_243sd212_Skill-Efficiency"
}
Errors
For more information, see the Errors section on the REST APIs page.