Call Center API
The Call Center Recipient API enables you to configure recipients or users of the Call Center app and get information on the user status.
API calls
Click on each call to view the endpoint, method, and request example.
- List recipients
- Get recipient status
- Login recipient
- Logout recipient
- Set recipient status
- Extend wrap-up time
- Cancel wrap-up time
Parameters
The table shows the possible parameters and actions available for call center recipients API calls.
Key | Description | Type | Min/Max/Default/Values |
---|---|---|---|
account_id |
Required. Hosted PBX VoIP account ID. | string | N/A |
auth_token |
Required. Unique authentication string. | string | N/A |
page_size |
Indicates the number of pages in the results. | number | N/A |
status |
Indicates the status of the request. | string | N/A |
request_id |
The request ID for this API call. | string | N/A |
available |
Indicates if recipient is available. | boolean | N/A |
avg-call-time |
The average amount of time the recipient has spent on a call (in seconds). | integer | N/A |
login-time |
The unix timestamp of when the recipient logged in. | timestamp | N/A |
total-calls |
Total number of calls that the recipient has handled. | integer | N/A |
missed-calls |
Total number of calls that the recipient failed to handle for any reason | integer | N/A |
availability-state |
The state of the recipient. | string | Ready, Away, Wrapup-Time, Call-Offer, On-A-Call, Not-Logged-In |
queue-availability |
If a per-queue availability flag(s) have been set, they will be reported here as a list of queue-ID's. | boolean values | N/A |
last-action-time |
The timestamp of the last time the recipient changed state. | timestamp | N/A |
last-handled-time |
The timestamp of the last time the recipient was delivered a call. | timestamp | N/A |
offered-call |
If there is a call currently being offered, this contains the Queue-ID, Session-ID, Caller-ID-Name, Caller-ID-Number, Queue-Enter-Time of the call | string | N/A |
handling-call |
If there is a call currently being handled, this will contain the Queue-ID, Session-ID, Caller-ID-Name, Caller-ID-Number, Queue-Enter-Time of the call. | N/A | N/A |
wrapup-time-seconds |
The time left, in seconds, until the recipient is out of wrapup (0 if they are not on wrap up). | integer | N/A |
wrapup-cancel |
Ends the users current wrap-up time. | N/A | N/A |
wrapup-extend |
Resets the recepients wrap-up time to the full amount. | N/A | N/A |
node |
The node on which the process for this recipient is running. | string | N/A |
List recipients
Returns a list of all configured recipients for an account.
Method and endpoint
GET /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/
Request
curl -v -X GET -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients
Response
{
"page_size":2,
"data":[
{"id":"{RECIPIENT_ID1}","name":"{RECIPIENT_NAME1}"},
{"id":"{RECIPIENT_ID2}","name":"{RECIPIENT_NAME2}"}
],
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}
Get recipient status
Returns the current status of the recipient.
Method and endpoint
GET /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{USER_ID}/status
Request
curl -v -X GET -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{USER_ID}/status
Response
{
"data":{
"available": {AVAILABLE},
"availability_state": {AVAIL_STATE},
"queue_availability": {QUEUE_AVAILABILITY},
"offered_call": {OFFERED_CALL_INFO},
"handling_call": {HANDLING_CALL_INFO},
"wiretapping_recipient": {WIRETAPPING_RECIPIENT_ID},
"wiretap_mode": {WIRETAP_MODE},
"wrapup_time_seconds": {WRAPUP_TIME_SECONDS},
"stats": {
"total_calls": {TOTAL_CALLS},
"missed_calls": {MISSED_CALLS},
"avg_call_time": {AVG_CALL_TIME},
"login_time": {LOGIN_TIME},
"last_action_time": {LAST_ACTION_TIME},
"last_handled_time": {LAST_HANDLED_TIME}
},
"node": {RUNNING_ON_NODE}
},
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}
Get recipient list status
Returns the current status of a list of recipients.
Method and endpoint
POST /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/status
Request
curl -v -X POST -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients/status -d '{"data":{"recipient_ids":[{RECIP_ID_1},{RECIP_ID_2},{RECIP_ID_3}]}}'
Response
{
"data":{
{RECIP_ID_1}: {
"available": {AVAILABLE},
"availability_state": {AVAIL_STATE},
"offered_call": {OFFERED_CALL_INFO},
"handling_call": {HANDLING_CALL_INFO},
"wrapup_time_seconds": {WRAPUP_TIME_SECONDS},
"stats": {
"total_calls": {TOTAL_CALLS},
"missed_calls": {MISSED_CALLS},
"avg_call_time": {AVG_CALL_TIME},
"login_time": {LOGIN_TIME},
"last_action_time": {LAST_ACTION_TIME},
"last_handled_time": {LAST_HANDLED_TIME}
},
"node": {RUNNING_ON_NODE}
},
{RECIP_ID_2}: {
"available": {AVAILABLE},
"availability_state": {AVAIL_STATE},
"offered_call": {OFFERED_CALL_INFO},
"handling_call": {HANDLING_CALL_INFO},
"wrapup_time_seconds": {WRAPUP_TIME_SECONDS},
"stats": (
"total_calls": {TOTAL_CALLS},
"missed_calls": {MISSED_CALLS},
"avg_call_time": {AVG_CALL_TIME},
"login_time": {LOGIN_TIME},
"last_action_time": {LAST_ACTION_TIME},
"last_handled_time": {LAST_HANDLED_TIME}
},
"node": {RUNNING_ON_NODE}
},
{RECIP_ID_3}: "not_logged_in"
},
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}
NOTE: This will either return the same object as the
/status
API for a single recipient, or the valuenot_logged_in
.
Login recipient
Logs a recipient into Call Center and starts the recipient session.
Method and endpoint
POST /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID}/
Request
curl -v -X POST -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID} -d '{"data":{"action":"login"}}'
Response
{
"data":{
"action":"login"
},
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}
Logout recipient
Terminates the recipient session, and logs the recipient out of Call Center.
Method and endpoint
POST /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID}/
Request
curl -v -X POST -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID} -d '{"data":{"action":"logout"}}':
Response
{
"data":{
"action":"logout"
},
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}
Set recipient status
Sets the recipient's status. The possible status values are login
/ logout
/ ready
/ away
. The recipient must have a status of login
before they can have a status of ready
or away
. The queue_id
is OPTIONAL; if it is present, it sets the availability for that queue only.
Method and endpoint
POST /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID}/status
Request
curl -v -X POST -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{USER_ID}/status -d '{"data":{"status":"{STATUS}"}}'
Response
{
"data":{
"status":"{STATUS}",
"queue_id":{QUEUE_ID <OPTIONAL>}
},
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}
Extend wrap-up time
The wrapup_extend
action will reset the recipient's wrap up time to the full amount. The amount varies based on the configuration of the queue that the previous call was handled from.
Method and endpoint
POST /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID}/
Request
curl -v -X POST -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID} -d '{"data":{"action":"wrapup_extend"}}'
Response
{
"data":{
"action":"wrapup_extend"
},
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}
Cancel wrap-up time
The wrapup_cancel
action will end the recipients current wrapup time.
Method and endpoint
POST /v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID}/
Request
curl -v -X POST -H "X-Auth-Token: {AUTH_TOKEN}" -H "Content-Type: application/json" http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/qubicle_recipients/{RECIPIENT_ID} -d '{"data":{"action":"wrapup_cancel"}}'
Response
{
"data":{
"action":"wrapup_cancel"
},
"status":"success",
"request_id":"{REQUEST_ID}",
"auth_token":"{AUTH_TOKEN}"
}