Learn how to use our serverless platform to create voice, video and messaging applications and services by reading our getting started guide. It's the best way to become familiar with the platform architecture and capabilities.
This document covers the api structure of newly launched ENGAGE SOULTION which provides the customers multiple options for consuming the bulk messaging services, message capacity(can handle upto 100k sms at a time), lightweight UI, comprehensive reporting and useful insights in the dashboard.
This api allows to send messages to multiple users at a time (upto 1 lakh users). All the messages are pushed to our queuing system and is dispatched with constant rate to our suppliers. This api better fits for use cases where delivery time is not the prime issue and some amount of delay is acceptable. For instance, sending bulk campaigns and promotional messages in a given time period.
Given below is the Full URL for notify service:
https://engage-api.digo.link/notify
Query parameters details
Name | Description | Type |
---|---|---|
page_number | page number of the report to be fetched. By default its set to 0 I.e. first page. | Optional |
page_size | Limit of total records in one page at a time. By default, its set to 100 | Optional |
This api allows users to send transactional and promotional messages with 1 message at a time ensuring minimum latency. It better fits for use cases like OTP transactions and likewise which needs to be delivered in shortest time.
It can also automatically convert the long URL present in the message into shortend form when tiny parameter is set to 1.
Given below is the Full URL for push message service:
https://engage-api.digo.link/v1/messaging/sms
Following format needs will be available in both the request and responses:
Name | Type |
---|---|
Response Formats | JSON |
Request Formats | JSON |
Content-Type | Application/json |
Requires Authentication? | Yes (user should be active in system) |
Rate Limted? | No |
Headers:
Name | Description | Type |
---|---|---|
Authorization | Bearer token with no expire time | Mandatory |
X-Authorization | Basic Authorization token for inv internal api’s | Mandatory |
Below is the sample request format for the api body in json format:
copy
{
"from": "652322XXX",
"to": "9181309XXXX",
"msg": "hiii ..This is a test for transactional message!!",
"dlr":{
"mask":1,
"url":"https://client-url.com"
},
“tiny”:”0”,
“type”:”transactional”
}
Note : If tiny flag is set to 1 in the request, then the URL present in the message field will be converted to tiny URL and actual URL in the message will be replaced by it. This will help in reducing the message size. Following is the sample of tiny URL
https://su.digo.link/XXXXXXX
If you have a custom tiny URL domain with yourself and want it to be embedded in message instead of
https://su.digo.link/XXXXXX
, then you need to follow below 2 steps:
1. Point Your domain URL to su.digo.link so that whenever your domain URL is clicked, it is automatically redirected to su.digo.link.
Client domain -> su.digo.link
2. Provide the domain details to our technical support team so that necessary changes can be done in backend.
The following table lists the parameters associated with the request and shows whether the parameter is Mandatory (M), in which case the message will be discarded if the parameter is omitted, or Optional (O), in which case the parameter is not essential and conditional (C) depending upon some condition.
M – Must – parameter is mandatory
C – Depends – parameter is conditional
Optional – parameter is optional and if absent default values are used
Request parameter details
Tag Name | Tag Value | Type | Length |
---|---|---|---|
type | “promotional” or “transactional” | M | 100 |
from | Registered senderid/ long code to be used for sending message | M | 50 |
transactionID | Id to be passed for tracking purpose at client’s end | M | 200 |
dlr.url | URL to which asynchronous response and DLR will be sent. Enterprise user should manag e a system to receive or accept the response. Note: it will receive tiny url callback details as well. | C | 200 |
dlr.mask | Enable both success/failure DLR by puting it 1 and 0 for only success ones. | M | 10 |
tiny | Enable tiny url feature with ‘1’ and disable with ‘0’ | M | 1 |
msg | Content of message | M | 1000 |
to | Mobile Number to which transactional/promotional message will be sent(always include country code) | M | Depends on destination |
A unique message id in uid format will be generated on successful submission of the message.
Below are the descriptions for the fields present in api response:
Field Name | Description | Type | Length |
---|---|---|---|
type | Unique id generated on successful generation of message. In case of promotional message, id corresponds to default generated transactionID. | M | 50 |
➢When Request successfully sent to Rest API platform
copy
{
‘id’:’10f3c521-94ed-4191-87c7-46f7XXXXXXXX’
}
➢When input validation error is found
copy
{
"status": 0,
"message": "Validation Error.",
"data: [
{
"msg": "maximum charcter length allowed is 50",
"param": "from",
"location": "body"
}
]
}
The platform provides API to fetch the transactional/promotional delivery report on the basis of end date , start date , transactionID and mobile number. Below section describes the Report API in detail:
Full URL for fetching reports.
https://engage-api.digo.link/v1/reports/dlr/transactional
Note: The Above URL is invoked in order to fetch transactional messages report. For fetching promotional messages report, hit the below URL :-
https://engage-api.digo.link/v1/reports/dlr/promotional
Note: The Above URL is invoked in order to fetch transactional messages report. For fetching promotional messages report, hit the below URL :-
https://engage-api.digo.link/v1/reports/dlr/promotional
Name | Description | Type |
---|---|---|
Authorization | Nonexpirable token | Mandatory |
Name | Description | Type |
---|---|---|
transactionID | Unique id given during creating campaign | Optional |
page_number | Page number of the report to be fetched. By default, its set to 0 i.e. first page. | Optional |
page_size | Limit of total records in one page at a time. By default, its set to 100. | Optional |
msisdn | Destination number to which messages are sent | Optional |
start_date | start date of campaign. Put format as YYYY-MM-DD. By default, it will set as last 2 weeks date | Optional |
end_date | end date of campaign. Put format as YYYY-MM-DD. By default, it will set as today’s date. | Optional |
Find below the sample response for the api with different query filters:
1. Filter by msisdn for transactional messages
Sample URL:
https://engage-api.digo.link/v1/reports/dlr/transactional?msisdn=918130XXXXX&page_size=2&page_nu mber=0
Sample response:
copy
{
"status": 1,
"message": "Operation success",
"data": [
{
"submit_ids": "4851a30f-158a-44b9-bc18-933fcXXXXXX",
"message": "hii..we are testing for transactional message",
"createdAt": "2022-04-26T08:25:01.754Z",
"mobile_number": "918130XXXXX",
"country": "India",
"delivery_status": "DELIVERED",
"submit_date": "2022-04-26T08:25:02.575Z",
"from": "TCLSMS",
"transactionID": "45f57h8679b57n68-4v6b5v-wtXXXXXXXXX",
"done_date": "2022-04-26T08:25:02.577Z"
},
{
"submit_ids": "3de685ab-16de-4ff7-b3XXXXXXXXXXXXX",
"message": "hii..we are testing for transactional message",
"createdAt": "2022-04-26T08:19:34.192Z",
"mobile_number": "918130XXXXXX",
"country": "India",
"delivery_status": "DELIVERED",
"submit_date": "2022-04-26T08:19:34.747Z",
"from": "TCLSMS",
"transactionID": "45f57h8679b57n68-4vXXXXXXXXXXXX",
"done_date": "2022-04-26T08:19:34.951Z"
}
],
“count”: 132
}
2. Filter by msisdn for promotional messages
Sample URL:
https://engage-api.digo.link/v1/reports/dlr/promotional?msisdn=918130XXXXX&page_size=2&page_nu mber=0
Sample response:
copy
{
"status": 1,
"message": "Operation success",
"data": [
{
"submit_ids": "4851a30f-158a-44b9-bc18-933fcXXXXXX",
"message": "hii..we are testing for transactional message",
"createdAt": "2022-04-26T08:25:01.754Z",
"mobile_number": "918130XXXXX",
"country": "India",
"delivery_status": "DELIVERED",
"submit_date": "2022-04-26T08:25:02.575Z",
"from": "TCLSMS",
"transactionID": "45f57h8679b57n68-4v6b5v-wtXXXXXXXXX",
"done_date": "2022-04-26T08:25:02.577Z"
},
{
"submit_ids": "3de685ab-16de-4ff7-b3XXXXXXXXXXXXX",
"message": "hii..we are testing for transactional message",
"createdAt": "2022-04-26T08:19:34.192Z",
"mobile_number": "918130XXXXXX",
"country": "India",
"delivery_status": "DELIVERED",
"submit_date": "2022-04-26T08:19:34.747Z",
"from": "TCLSMS",
"transactionID": "45f57h8679b57n68-4vXXXXXXXXXXXX",
"done_date": "2022-04-26T08:19:34.951Z"
} ],
“count”: 132
}
Sample URL: https://engage-api.digo.link/v1/reports/dlr/transactional?start_date=202203-09&end_date=2022-03-10
NOTE : By default start date will be 2 weeks before the current date and end date will be current date. This condition applies when both start_date and end_date field is left empty.
Sample response:
copy
{
"status": 1,
"message": "Operation success",
"data": [
{
"submit_ids": "4851a30f-158a-44b9-bc18-933fcXXXXXX",
"message": "hii..we are testing for transactional message",
"createdAt": "2022-03-10T08:25:01.754Z",
"mobile_number": "918130XXXXX",
"country": "India",
"delivery_status": "DELIVERED",
"submit_date": "2022-03-10T08:25:02.575Z",
"from": "TCLSMS",
"transactionID": "45f57h8679b57n68-4v6b5v-wtXXXXXXXXX",
"done_date": "2022-04-26T08:25:02.577Z"
},
{
"submit_ids": "3de685ab-16de-4ff7-b3XXXXXXXXXXXXX",
"message": "hii..we are testing for transactional message",
"createdAt": "2022-03-10T08:19:34.192Z",
"mobile_number": "918130XXXXXX",
"country": "India",
"delivery_status": "DELIVERED",
"submit_date": "2022-03-10T08:19:34.747Z",
"from": "TCLSMS",
"transactionID": "45f57h8679b57n68-4vXXXXXXXXXXXX",
"done_date": "2022-04-26T08:19:34.951Z"
}
],
"count": 132
}
copy
{
"status" :0,
"message": "Validation Error",
"data": [
{
"value": "42b1500f-c5eXXXXXXXXXXXXXXXX>",
"msg": "Plase enter valid characters.",
"param": "transactionID",
"location": "query"
}
]
}
copy
{
"status" :0,
"message": "No authentication token was found"
}
copy
{
"status" :0,
"message": "No report found with the given transactionID",
"data": {}
}
Following section describes the details of attributes in response.
Tag Name | Tag Value | Type |
---|---|---|
createdAt | Time of api hit | M |
transactionID | transactionID Unique request ID which is received in | M |
delivery_status | Delivery status | M |
done_date | Delivery time | M |
from | Registered senderId/long code. | |
submit_date | Submit date for message | M |
mobile_number | Mobile_number | M |
message | Message content | M |
country | Country of destination number | M |
submit_ids | Unique ID generated during message submission | M |
count | Total messages in inventory | M |
Following are the status code which system can return for the API call
Code Error | Message | Error Description |
---|---|---|
1 | Fetch Report Success | SUCCESS |
0 | Validation Error. | Mandatory parameter is missing |
0 | No authorization token found | Authentication Failed |
0 | No user found under this organization | User not found |
Platform have capability to submit the delivery report via POST REST service to the customer endpoint given in dlr.url passed during pushing message.
Sample URL:
Error! Hyperlink reference not valid.
DLR Report Description
Below are the attribute details for DLR report. The DLR report will be submitted once the message is processed.
Tag Name | Tag Value | Type |
---|---|---|
from | Registered senderid/longcode from which message will be sent | M |
status | Delivery status | M |
doneDate | Delivery time | M |
submitDate | Submit date | M |
doneDate | Delivery time | M |
submitDate | Submit date | M |
to | Mobile number | M |
message | Message content | M |
country | Country of destination number | M |
Id | Unique ID generated during message submission | M |
transactionID | Id for tracking purpose at client’s end | M |
Engage Platform have the capability to submit the tiny URL callback report via POST REST service to the customer endpoint once the URL is clicked. The webhook URL will receive the above information which is mentioned in dlr.url field passed during pushing message.
Sample URL:
Error! Hyperlink reference not valid.
Tiny URL Callback Report Description
Find below the attribute details for Callback report. The Callback report will be submitted once the tiny URL is clicked on mobile handset.
Tag Name | Tag Value | Type |
---|---|---|
msisdn | Mobile number | M |
message | Message content | M |
country | Country of destination number | M |
submitId | Unique ID generated during message submission | M |
OS | Operating system of mobile handset | M |
title | Title of URL page | M |
IP | IP address from where url is clicked | M |
click_time | click timestamp | M |
long_url | Original URL | M |
short_url | shortend url | M |
Anonymize, Authenticate, Programmable SMS
Please fill in your details below and we will get in touch with you shortly
One of our team members will be in contact soon.
Please fill in your details below and we will get in touch with you shortly
One of our team members will be in contact soon.
Please fill in your details below
One of our team members will be in contact soon.
You will need auth token to access our APIs. Please fill in your details below and we will get in touch with you.
One of our team members will be in contact soon.