To transfer additional data from the PBX to Salesforce and save the values in the task of the phone call, the IVR Lookup Web Service can be used.
Service Parameters for the IVR look up service are -
•Parameters (IVR Input value, Field to search)
•PBX Id
•Caller Id/Called Id
•PBX Token
Example -
Customer calls the phone system number. We collect IVR information like first name, last name, phone number, address , pin code and save that information in Salesforce on Task object IVR ID field.
1. Need to enable config - Save IVR ID on ACD - IVR Lookup record related to ACD - Setup.
2. Need to create "IVR Id" field from CTI Configuration Page
3. We collect IVR information during call and for saving data via phone system call the PUT api to save data in the cache server
HTTP Method = PUT
API URL = https://acd1.miragecloud.com/acd/api/IVRParams/PBX-ID/ContactNumberInOrg?token=pbx_token
Eg url: https://acd1.miragecloud.com/acd/api/IVRParams/47EC1B-B70D69-818AE6/%2B4975253099803?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBQ0RQdCIsImF1ZCI6IjQ3RUMxQi1CNzBENjktODE4QUU2In0.XF3qV9f1x8A0zVE_ecBzUjcKNVUPfdADi31YELaqPVY
Body
{
"Param1": "00001002",
"Param2": "12C153-CD55ED-2CB7C5",
"Param3": "babu",
"Param4": "singh",
"Param5": "+4975253099798",
"Param6": "22",
"Param7": "Jaipur Rajasthan",
"Param8": "301001",
"Param9": "",
"Param10": null,
"Param11": null,
"Param12": null,
"Param13": null,
"Param14": null,
"Param15": null,
"Param16": null,
"Param17": null,
"Param18": null,
"Param19": null,
"Param20": null
}
NOTE: Param1 is the case number and Param2 is the ivr lookup id, these should not be changed.
Param 3 to 20 can be used for multiple data.
4. When call reaches agent in the Salesforce, for fetching IVR data , we call the get API from Salesforce and save all the data on task object.
HTTP Method = GET
API URL = https://acd1.miragecloud.com/acd/api/IVRParams/org id/callerid or called id/
Eg url: https://acd1.miragecloud.com/acd/api/IVRParams/00DA0000000BhM2MAK/%2B4975259399803/
Authorization = Bearer <token>
6. The data is save on “IVR ID” field on Task. This field can be created from config page inside cti package.
Online help - Create PBX Token
General IVR Service Structure:
verb: PUT
/api/IVRParams/PBXid/id1
Body:
IVRItem
{
"Param1": "0003564",
"Param2": "22",
"Param3": "333",
"Param4": "4444",
"Param5": "55555",
"Param6": "666666",
"Param20": "2020202020"
}
Notice: Param1 up to Param20 exist and can be used. Not every Param has to be used, so this is also possible and valid:
{
"Param3": "+49-12345-67898"
}
To provide the Data a PBX-Token has to be used. The PBX-Token can be requested inside ACDPortal and has to match the PBX it has been issued for.
The Token has to be delivered in the call either as a URL-Param in the form ?token=<theToken> or in the HTTP Header as Bearer Authorization:
Authorization: Bearer <theToken>
Salesforce reads the Data from ACD:
verb: GET
/api/IVRParams/PBXid/id1
On success the structure is returned:
IVRItem
{
"Param1": "1",
"Param2": "22",
"Param3": "333",
"Param4": "4444",
"Param5": "55555",
"Param6": "666666",
"Param20": "2020202020"
}
To get the Data a SF-Access-Token has to be used.
Notice: PBX-Token and SF-Access-Token are different and can not be substituted.
Every call from the PBX-side required a PBX-Token (issued in ACDPortal) and every call from the SF side requires a time-limited SF-Access-Togen via Login-call.
The SF-Access-Token should be reused and only requested with the Login call once per Session (if possible).