API Reference
The ECM REST APIs allow to configure campaigns, strategies and insert contacts to a campaign. It currently supports the following functions:
- Manage Campaigns
- Upload Contacts to campaigns
- Insert DNC callers
- Manage campaign strategies
On this page:
Login
This API is used to get an access token that will be used as a bearer token in the rest of the APIs for authentication/authorization. This API also returns license and user details
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/api/login |
Content-Type | Application/JSON |
HTTP Method | GET |
Input/Output Format | JSON |
Request Body |
|
Example Request | Example Request { "username":"admin", "password":"admin" } |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Example Response { "license":"valid", "licStatus":"trial", "licensedTo":"KPMG", "creationDate":"2019-09-16T19:00:00Z", "expiryDate":"2022-10-16T19:00:00Z", "supportExpiryDate":null, "numberOfAgents":5, "valid":true, "userDetails":{ "id":1, "username":"admin", "userId":null, "email":null, "fullName":"Administrator", "type":"DB", "isActive":true, "profileExists":false, "lastLogin":"Fri Jun 11 13:40:55 PKT 2021", "lastUpdated":"1623400855424", "dateCreated":"1615193443313", "createdBy":null, "updatedBy":null, "profilePicture":null, "roles":[{ "id":1, "name":"Administrator", "description":"Administrator Role", "permissions":null}]}, "token_type":"Bearer", "token":"JWT-TOKEN", "expires_in":36000, "refresh_token":"JWT-REFRESH-TOKEN" } |
Campaign
Get Cisco Campaigns
This API fetches the Cisco campaigns from UCCE/UCCX. A campaign from this list can be choosen to associated with ECM campaign in campaign create API
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign/fetchCiscoCampaigns |
Authorization | Bearer token retrieved from login API |
Content-Type | Application/JSON |
HTTP Method | GET |
Input/Output Format | JSON |
Request Parameters | |
HTTP Request | - |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | In case of CCE: Example Response [ { "ciscoCampaignId": "5001", "ciscoCampaignName": "IVR_based", "ciscoTableName": "DL_5002_5002", "ciscoFileName": "test.txt", "ciscoFilePath": "//Sprawler/import/", "campaignType": "0" } ] In case of CCX response: Example Response [ { "ciscoCampaignId": "5001", "ciscoCampaignName": "IVR_based" "campaignType": "0" } ] |
Create campaign
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign/createCampaign |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
Request Body |
|
HTTP Request | Example Request { "startTime": "22:10", "endTime": "22:23", "name": "sample_campaign", "description": "details", "strategyId": "22", "status": "1", "type": "0", "crmCampaignId": "crm_campaign_1", "ciscoCampaignId": "5001", "weekDays": "0,1,2", "enabled": true, "description": "details", "smsTemplate": "sms-template" } |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Example Response {"id": "2", "crmCampaignId": "crm_campaign_1", "ciscoCampaignId": "5001", "ciscoCampaignName": "IVR_based", "smsTemplate": "sms template", "description": "details", "enabled": true, "endTime": "22:23", "strategyId": "22", "name": "sample_campaign", "startTIme": "22:10", "status": "1", "type": "0", "lastUpdated": "2018-11-14T11:01:42Z", "dateCreated": "2018-11-14T11:01:42Z", "weekdays": "0,1,2" } |
Create Campaign by Skill Group
This API is used for creating a campaign in ECM using a UCCE skill group. The skill group name passed is JSON is used to associated UCCE campaign with ECM campaign
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign/createCampaignBySkilllGroup |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
Request Body |
|
HTTP Request | Example Request { "crmCampaignId":"1122", "name": "Agent_Camp", "description": null, "dialerType":"PREDICTIVE", "skillGroup": "skillGroupName", "enabled": true, "endTime": "23:30", "startTime": "00:00", "strategyId": 2, "type": 0, "weekDays": "0,1,2,3,6", } |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Example Response {"id": "2", "crmCampaignId": "1122", "ciscoCampaignId": "5001", "ciscoCampaignName": "IVR_based", "dialerType":"PREDICTIVE", "skillGroup": "skillGroupName", "smsTemplate": "sms template", "description": null, "enabled": true, "endTime": "23:30", "strategyId": "2", "name": "Agent_Camp", "startTime": "00:00", "status": "1", "type": "0", "lastUpdated": "2018-11-14T11:01:42Z", "dateCreated": "2018-11-14T11:01:42Z", "weekdays": "0,1,2,3,6" } |
Update Campaign
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign/update |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | PUT |
Input/Output Format | JSON |
Request Body |
|
HTTP Request | Example Request { "id":1 "name":"updated name" } |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Complete Campaign object with the updated values |
Get Campaigns List
This will return the complete list of campaigns
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | GET |
Input/Output Format | JSON |
Request Body | |
HTTP Request | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Example Response [ {"id": "2", "crmCampaignId": "crm_campaign_1", "ciscoCampaignId": "5001", "ciscoCampaignName": "IVR_based", "smsTemplate": "sms template", "description": "details", "enabled": true, "endTime": "22:23", "strategyId": "22", "name": "sample_campaign", "startTIme": "22:10", "status": "1", "type": "0", "lastUpdated": "2018-11-14T11:01:42Z", "dateCreated": "2018-11-14T11:01:42Z", "weekdays": "0,1,2" }, ... ] |
Delete campaign
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign/delete?id=1 |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | DELETE |
Input/Output Format | JSON |
Request Parameters |
|
HTTP Request | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response |
Pause Campaign
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign/pause?id=1 |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
Request Parameters |
|
HTTP Request | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Campaign with id 1 successfully paused |
Resume Campaign
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/campaign/resume?id=1 |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
Request Parameters |
|
HTTP Request | - |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Campaign with id 1 successfully resumed |
DNC (Do Not Call)
This resource is used to update the DNC list in ECM so that the system does not dial contacts that are present in the DNC list.
Get DNC Contacts
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/contact |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | GET |
Input/Output Format | JSON |
Request Parameters | |
HTTP Request | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Example Response [ { "id": 1, "name": "David", "updateById": 1, "primaryNumber": "03062558180", "dataCreated": "2019-07-31T12:02:09Z", "lastUpdated": "2019-07-31T12:02:09Z" }, ... ] |
Upload Single Contact to DNC
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/contact/save |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
Request Body |
|
HTTP Request | Example Request { "name": "David", "primaryNumber": "03062558180" } |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response |
Delete Contact from DNC
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/contact/delete?id=1 |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | DELETE |
Input/Output Format | JSON |
Request Parameters | id: This is the id of the DNC contact in the DNC list |
HTTP Request | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response |
Bulk Upload Contacts to DNC
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/contact/uploadCsv |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
Request Body | File: A CSV file as an attachment, multipart file The File format should be the following: contact-number,optional-name |
HTTP Request | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response |
Upload Contacts in a campaign
This API is used to push contacts to an ECM campaign for making calls or sending messages.
Upload Single contact
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/callback/insertCallback |
Bearer token-from-login-API | |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
HTTP Request | { "crmCampaignId": 1232Dce, "campaignId": 1, "phone1": "string", "phone2": "string", "phone3": "string", "phone4": "string", "phone5": "string", "duplicateCallbacks": "allow", "dialTime": "2019-11-12 15:10:20", "businessParam1": "string", "businessParam2": "string", "businessParam3": "string", "businessParam4": "string", "businessParam5": "string", "businessParam6": "string", "businessParam7": "string", "businessParam8": "string", "businessParam9": "string", "businessParam10": "string", "businessParam11": "string", "businessParam12": "string" } |
Request Body |
|
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | callback data saved |
Bulk upload contacts to a campaign
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/callback/uploadBulkCaller |
Bearer token-from-login-API | |
Content-Type | Application/JSON |
HTTP Method | GET |
Input/Output Format | JSON |
Request Body |
phone1,phone2,phone3,phone4,phone5,businessParam1,businessParam2..... businessParam12, dialTime If an attribute is not required then it should be left empty and then a comma. For example, the user wants to upload contacts with phone1 and businessParam1. The file entries will look like below, 0300948984,,,,,businessParam1
|
HTTP Request | - |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | File is uploaded |
Get campaign contacts
This API is used to get the status of the campaign contacts in the ECM database.
Protocol | HTTP or HTTPS | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
URL | https://<UMM-FQDN>/umm/ecm/callback/getList | ||||||||||||||||||||||
Authorization | Bearer token-from-login-API | ||||||||||||||||||||||
Content-Type | Application/JSON | ||||||||||||||||||||||
HTTP Method | GET | ||||||||||||||||||||||
Input/Output Format | JSON | ||||||||||||||||||||||
Request Body |
| ||||||||||||||||||||||
HTTP Request | - | ||||||||||||||||||||||
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable | ||||||||||||||||||||||
Example Response | Example Response { "callbackData": [ { "id": 2, "attemptId": 3, "attemptNumber": 3, "dialTime": "2019-11-12 15:10:20", "businessParam1": "string", "businessParam2": "string", "businessParam3": "string", "businessParam4": "string", "businessParam5": "string", "businessParam6": "string", "businessParam7": "string", "businessParam8": "string", "businessParam9": "string", "businessParam10": "string", "businessParam11": "string", "businessParam12": "string", "campaignId": 0, "phone1": "string", "phone2": "string", "phone3": "string", "phone4": "string", "phone5": "string", "callResult": 0, "channel": 0, "ciscoCampaignId": 123412, "lastStatusUpdateTime": null, "numberToCall": 1393, "requestState": 1, "requestTime": "2019-07-31T12:53:34Z", "responseTimeout": null } ], "total": 1 } |
Call Strategies
Create strategy
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/callStrategy/save |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | POST |
Input/Output Format | JSON |
HTTP Request | Example Response { "name":"TestStrategy" } |
Request Parameters | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Example Response { "id":1, "name":"TestStrategy" } |
Create Attempt
Protocol | HTTP or HTTPS | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
URL | https://<UMM-FQDN>/umm/ecm/callStrategyAttempt/save | ||||||||||||
Authorizaitoion | Bearer token-from-login-API | ||||||||||||
Content-Type | Application/JSON | ||||||||||||
HTTP Method | POST | ||||||||||||
Input/Output Format | JSON | ||||||||||||
Request Body |
If the call result is one of the above, it allows to define which attempt should be made and after how much time. Example: This means if call_result = BUSY then go for attempt 2 and execute it after 30 minutes. In the case of an SMS attempt, it allows defining what to do if there's no reply from the customer; i.e. whether the system should make another attempt or close the contact. Example: | ||||||||||||
HTTP Request | Example Request { "csId": 2, "name": "Default", "phone": "1", "channel": 0, "attemptNumber": 1, "retryMap": [ { "attempt_number": 2, "delay": 10, "call_result": 2 } ] } | ||||||||||||
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable | ||||||||||||
Example Response | Example Response { "id": 1, "csId": 2, "name": "Default", "phone": "1", "channel": 0, "attemptNumber": 1, "retryMap": [ { "attempt_number": 2, "delay": 10, "call_result": 2 } ] } |
Get Strategies
Protocol | HTTP or HTTPS |
---|---|
URL | https://<UMM-FQDN>/umm/ecm/callStrategy |
Authorization | Bearer token-from-login-API |
Content-Type | Application/JSON |
HTTP Method | GET |
Input/Output Format | JSON |
HTTP Request | - |
Request Parameters | |
HTTP Response | 200: Success 404: Not found 500: Internal Server Error 503: Service Unavailable |
Example Response | Example Response [ { "id": 1, "name": "default", "maxAttempts": 3, "callAttempts": [ { "id": 2, "name": "Default", "phone": "1", "channel": 0, "attemptNumber": 1, "retryMap": [ { "attempt_number": 2, "delay": 10, "expiry": 10, "call_result": 2 } ] } ] } ] |