Purpose
The objective of this guide is to explain how IVR apps can push IVR aggregate activities into Expertflow CX.
Intended Audience
The guide is aimed for IVR developers who are familiar with REST APIs and want to integrate with Expertflow CX.
/*<![CDATA[*/ div.rbtoc1769167655430 {padding: 0px;} div.rbtoc1769167655430 ul {list-style: disc;margin-left: 0px;} div.rbtoc1769167655430 li {margin-left: 0px;padding-left: 0px;} /*]]>*/ Purpose Intended Audience Overview API Request URI Structure Sample Request body Possible Responses
Overview
The rest endpoint to push the IVR Aggregated Activity into Expertflow CX solution. This API uses standard verbs and return HTTP response codes.
Client must trigger this API when a call/dialog ends on an IVR.
API Request
URI Structure
POST <fqdn>/ccm/message/receive
Sample Request body
{
"id": "<messageId>", // required
"header": {
"channelData": {
"channelCustomerIdentifier": "<customer-number>", // required
"serviceIdentifier": "1218", // required and a voice channel must exists in unified-admin for this service identifier
"additionalAttributes": [ // Call variables
{
"key": "callVariable1",
"type": "String2000",
"value": "42225"
},
{
"key": "callVariable2",
"type": "String2000",
"value": ""
}
]
},
"language": {},
"timestamp": 1680692114700, // required
"securityInfo": {},
"stamps": [],
"intent": "IVR_AGGREGATED_ACTIVITY", // required and must pass same value in request
"entities": {},
"sender": { // required
"id": "f1370ff7-43fa-496e-9966-e64061d35f5c", // required
"senderName": "MY-IVR", // required
"type": "IVR", // required
"additionalDetail": {}
}
},
"body": {
"type": "IVR_AGGREGATED_ACTIVITY", required and must pass same value in request
"callId": "1234", // the id of finesse/CX-voice call id
"leg": "",
"startDirection": "INBOUND", //required
"endDirection": "DIALOG_ENDED | TRANSFER", // Set DIALOG_ENDED if call is dropped on IVR or TRANSFER if call is transferred to an agent
"startTime": 1680692114700, // unix timestamp (long)
"endTime": 1680692114700, // unix timestamp (long)
"activities": [{ // IVR menus customer has visited during this call.
"menu": "Main",
"selection": "Billing",
"timestamp": "1680692114700",
"metadata": {}
}],
"additionalAttr1": {},
"additionalAttr2": {}
}
}
Possible Responses
|
Response Code |
Description |
|---|---|
|
202 |
Code 202 means that the message has been accepted.
|
|
400
|
Code 400 is sent in case request payload is not valid.
|
|
500 |
Internal server error |