Breadcrumbs

IVR Aggregated Activites API Guide

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.


Quick Links

/*<![CDATA[*/ div.rbtoc1769167655489 {padding: 0px;} div.rbtoc1769167655489 ul {list-style: disc;margin-left: 0px;} div.rbtoc1769167655489 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

JavaScript
{
    "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