Table of Contents | ||||
---|---|---|---|---|
|
...
Background
The Central Outbound Multicast API allows you to send outbound communications to your customers on single or multiple channels including Calls, SMS and Email.
The API will log a request in one of the workflows created in your admin account. The request will be picked subsequently and executed.
Pre Requisites
IP Whitelisting: IP must be whitelisted in the admin account.
Checksum Check: Two request must have at-least one byte change in it. If two requests are same, you’ll get Checksum Repeated error.
Outbound Make Call API
Use this API to initiate an Outbound Flow request.
...
For Bulk Calling - Where you need high through-put or uploading a large data.
API End Point: https://central-api.phonon.io/kairos-apis/outbound/create
Rate Limit: 30k per minute
For Real Time Calling - Low through-put but instant connect and faster response.
API End Point: https://central.phonon.io/kairos-apis/outbound/create
Rate Limit: 3k per minute
Request Parameters:
URL | |||||||
---|---|---|---|---|---|---|---|
Method |
| ||||||
Body | JSON | ||||||
Headers | Content-Type: application/json | ||||||
Auth | None |
...
Code Block | ||
---|---|---|
| ||
{ "api-version": "<11.0", or TEST>",// Fixed "security-id": "<64 character alphanumeric>", "flow-id": "<8 character alphanumeric>", "calls": [ { "client-identifier": "<identifier, callback parameter>", "start-time": "<ISO-8601 Format YYYY-MM-DDTHH:MM:SS+05:30", "contact-numbers": [ "918000XXXXXX", "918100XXXXXX", "<Other Alternate Numbers>" ], "keys": [ { "name": "$flow.key.Name", "value": "Abhinandan" }, { "name": "$flow.key.Language", "value": "English" }, { // Other flow variables } ] }, { // 2nd Call to be place } ] } |
...
Request Parameters Explanation:
Parameter | Type | Var Type | Description | Sample Value |
---|---|---|---|---|
|
...
Mandatory | String | Use
| 1.0 | |||||||
|
...
Mandatory | String | 64 character alphanumeric. Get the security ID from the ‘Edit Flow’ page of any Outbound Flow |
| |
| Mandatory | String | Decides which Workflow the request needs to be logged. 8 character alphanumeric Flow ID. Get the Flow ID from the ‘Edit Flow’ page of any Outbound Flow |
|
| Mandatory | Array | Array of call object. Each object will add one request. Maximum 10,000 records in one API call. | [{…},{…}] |
| Mandatory | Any | Callback variable. You’ll get the same value back in response. | Any |
| Optional | Datetime | ISO-8601 Timestamp. The format is If you omit it, the request will be executed immediately when picked up. |
|
| Mandatory | Array | Array of comma separated contact number. Must have at least one. Contact number can be string or number. Mobile numbers of the customer. You can provide alternate numbers of a customer and calls will be initiated to each number until one is connected in one attempt. Prefer to keep mobile number as E.164 format. If 10 digits are provided, it defaults to India. | +916262772728 916262772728 6262772728 |
| Mandatory | Array | Array of Flow Variables. There’s no limit on how many flow variables can be provided. | [] |
| Optional | String | Name of flow variable. |
|
| Optional | String | Value of the above flow variable. |
|
As text:
api-version
: Use1.0
to use the
version of the outbound flowStatus colour YellowBlue title In Testing
. This is fixed value.production security-id
: Get the security ID from the ‘Edit Flow’ page of any Outbound Flowflow-id
: Get the 8 characters' alphanumeric Flow ID from the ‘Edit Flow’ page of any Outbound Flowcalls
: Array. Each element in the array represents one call. You can have up to 500 calls in one request.client-identifier
: Callback variable to uniquely represent this request.start-time
: ISO-8601 Timestamp. The format isYYYY-MM-DDTHH:MM:SS+05:30
. The date cannot be from the past. If the time is of past (and the date is today) the flow will be initiated immediately.contact-numbers
: Array. Mobile numbers of the customer. You can provide alternate numbers of a customer and calls will be initiated to each number until one is connected in one attempt.keys
: Array of Flow Variables. There’s no limit on how many flow variables can be provided."name": "$flow.key.<variable>"
: Name of flow variable."value": "Abhinandan"
: Value of the above flow variable.
...
IP Not Whitelisted
: Please whitelist your IP in the Whitelist section.Status colour Blue title 401 Checksum Repeated
: You can trigger the same API payload more than once. Please change at least one parameter. (Date-time, client-identifier, etc.)Status colour Yellow title 201 Invalid Security ID
: The security ID is invalid. Please check the endpoint and security ID.Status colour Yellow title 202 Invalid Flow ID
: Flow ID is invalid. Please check the endpoint and Flow ID.Status colour Yellow title 301 Failure
: Any Failure scenario.Status colour Red title 500
3. All Error Codes:
Status Code | Status Message | Status NameCodename | |
---|---|---|---|
1 | 400 | Invalid Format | INVALID_FORMAT |
2 | 201 | Checksum Repeated | CHECKSUM_REPEATED |
3 | 302 | Empty Call List | EMPTY_CALL_LIST |
4 | 500 | Failure | FAILURE |
5 | 301 | Invalid Flow ID | INVALID_FLOW_ID |
6 | 401 | IP Not Whitelisted | IP_NOT_WHITELISTED |
7 | 402 | Phone Not Whitelisted | PHONE_NOT_WHITELISTED |
8 | 202 | Invalid Security ID | INVALID_SECURITY_ID |
9 | 200 | Success | SUCCESS |
10 | 203 | API Version not Supported | INVALID_API_VERSION |
11 | 204 | Invalid SMS Gateway | INVALID_GATEWAY_ID |
12 | 205 | Invalid Contact Number | INVALID_CONTACT_NUMBER |
13 | 206 | Failure from Gateway | FAILURE_FROM_GATEWAY |
14 | 207 | DID Not Mapped | DID_NOT_MAPPED |
15 | 208 | No Mask Available | NO_MASK_AVAILABLE |
16 | 209 | Partial Success | PARTIAL_SUCCESS |
17 | 210 | Invalid Mandatory Parameters | INVALID_MANDATORY_PARAMETERS |
18 | 303 | Max Data List Size Exceeded | MAX_DATA_LIST_SIZE_EXCEEDED |
19 | 211 | Validity Expired | VALIDITY_EXPIRED |
20 | 212 | Insufficient Balance | INSUFFICIENT_BALANCE |
21 | 304 | Invalid Flow Version | INVALID_FLOW_VERSION |
22 | 213 | No Data Available | NO_DATA_AVAILABLE |
Other Docs:
Todo: https://docs.google.com/document/d/1A5UciLQYB6hS7VwKjazU204IxMwlfD_KwSnexlkaa8Y/edit#
Tech API Docs: /wiki/spaces/CB/pages/201752979
Todo, add Security: /wiki/spaces/CB/pages/209224413
P.S.: There’s an easter egg hidden here. Did you find it?
FAQs:
How to get the status of the request?
You can check the request for the API by:
Using the Pull API - Using Phonon UUID | API Documentation using Phonon UUID or Request ID to pull the status of the request.
Using End Call Webhook Push - which can push various details after every workflow (call / sms / email) execution to an external webhook end point.
Using EOD or On Demand Reports.
Using Summary Dashboards.