Documentation and APIs

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.

Number Management
SMS
Anonymize
Authenticate – OTP
Authenticate – One Tap Authentication
Engage
WhatsApp
Programmable Voice(India)
Email
Programmable Voice (USA)

Engage

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.

Engage Messaging

Notify

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

NameDescriptionType
page_numberpage number of the report to be fetched. By default its set to 0 I.e. first page.Optional
page_sizeLimit of total recods in one page at a time. By default, its set to 100Optional

Push SMS

This api allows users to send transactional and promotional messages wth 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

2.1.1 Resource Information

Following format needs will be available in both the request and responses:

NameType
Response FormatsJSON
Request FormatsJSON
Content-TypeApplication/json
Requires Authentication?Yes (user should be active in system)
Rate Limted?No
2.1.2 Request parameter details

Headers:

NameDescriptionType
AuthorizationBearer token with no expire timeMandatory
X-AuthorizationBasic Autho rization token for inv internal api’sMandatory

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.

2.1.3 Parameter Description

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 NameTag ValueTypeLength
type“promotional” or “transactional”M100
fromRegistered senderid/ long code to be used for sending messageM50
transactionIDId to be passed for tracking purpose at client’s endM200
dlr.urlURL 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.C200
dlr.maskEnable both success/failure DLR by puting it 1 and 0 for only success ones.M10
tinyEnable tiny url feature with ‘1’ and disable with ‘0’M1
msgContent of messageM1000
toMobile Number to which transactional/promotional message will be sent(always include country code)MDepends on destination
2.1.4 Sample Response Details

A unique message id in uuid format will be generated on successful submission of the message.

2.1.4.1 Response Description

Below are the descriptions for the fields present in api response:

Field NameDescriptionTypeLength
typeUnique id generated on successful generation of message. In case of promotional message, id corresponds to default generated transactionID.M50
2.1.4.3 Sample Sync Response

➢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"
                }
            ]    
        }      
    

What’s New