Skip to main content
Skip table of contents

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

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

IVR_AGGREGATED_ACTIVITY

JS
{
    "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 CodeDescription

202

Code 202 means that the message has been accepted.

400

Code 400 is sent in case request payload is not valid.

500Internal server error
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.