SMS API for developers
Add SMS alerts and OTPs to your product with one HTTP request. The same account, wallet and reports as the web panel – no extra setup.
Send SMS
Single or bulk numbers (comma separated) in one call, plain text or Unicode.
Delivery status
Look up the status of any message by its id, or get delivery reports pushed to your URL.
Balance
Check your wallet balance from your own system and alert your team before it runs out.
Quick start
Send an SMS
Endpoint: https://panel.digitalsms4u.com/api/dsu/SendSms (GET or POST)
| Parameter | Required | Description |
|---|---|---|
APIKey | Yes | Your API key from the panel. |
senderid | Yes | Your approved 6-character DLT sender ID (header). |
channel | Yes | TRANS (transactional / OTP) or PROMO (promotional). |
DCS | Yes | 0 = normal text, 8 = Unicode (Hindi and other languages). |
flashsms | Yes | 0 = normal SMS, 1 = flash SMS. |
number | Yes | Mobile number(s) with country code, comma separated: 9198XXXXXXXX. |
text | Yes | Message text – must match your DLT template. |
dlttemplateid | Yes | DLT template id of the message. |
entityid | Optional | Your DLT principal entity id. |
route | Optional | Route id given by your account manager. |
curl -G "https://panel.digitalsms4u.com/api/dsu/SendSms" \
--data-urlencode "APIKey=YOUR_API_KEY" \
--data-urlencode "senderid=DSFORU" \
--data-urlencode "channel=TRANS" \
--data-urlencode "DCS=0" \
--data-urlencode "flashsms=0" \
--data-urlencode "number=9198XXXXXXXX" \
--data-urlencode "text=Your OTP is 482913. Do not share it with anyone." \
--data-urlencode "dlttemplateid=1207XXXXXXXXXXXXX"<?php
$params = http_build_query([
'APIKey' => 'YOUR_API_KEY',
'senderid' => 'DSFORU',
'channel' => 'TRANS',
'DCS' => 0,
'flashsms' => 0,
'number' => '9198XXXXXXXX',
'text' => 'Your OTP is 482913. Do not share it with anyone.',
'dlttemplateid' => '1207XXXXXXXXXXXXX',
]);
$response = file_get_contents('https://panel.digitalsms4u.com/api/dsu/SendSms?' . $params);
echo $response;const params = new URLSearchParams({
APIKey: 'YOUR_API_KEY',
senderid: 'DSFORU',
channel: 'TRANS',
DCS: '0',
flashsms: '0',
number: '9198XXXXXXXX',
text: 'Your OTP is 482913. Do not share it with anyone.',
dlttemplateid: '1207XXXXXXXXXXXXX'
});
const res = await fetch('https://panel.digitalsms4u.com/api/dsu/SendSms?' + params);
console.log(await res.json());import requests
params = {
"APIKey": "YOUR_API_KEY",
"senderid": "DSFORU",
"channel": "TRANS",
"DCS": 0,
"flashsms": 0,
"number": "9198XXXXXXXX",
"text": "Your OTP is 482913. Do not share it with anyone.",
"dlttemplateid": "1207XXXXXXXXXXXXX",
}
r = requests.get("https://panel.digitalsms4u.com/api/dsu/SendSms", params=params, timeout=15)
print(r.json())using var http = new HttpClient();
var q = new Dictionary<string, string>
{
["APIKey"] = "YOUR_API_KEY", ["senderid"] = "DSFORU", ["channel"] = "TRANS",
["DCS"] = "0", ["flashsms"] = "0", ["number"] = "9198XXXXXXXX",
["text"] = "Your OTP is 482913. Do not share it with anyone.",
["dlttemplateid"] = "1207XXXXXXXXXXXXX"
};
string url = "https://panel.digitalsms4u.com/api/dsu/SendSms?" + string.Join("&",
q.Select(p => p.Key + "=" + Uri.EscapeDataString(p.Value)));
Console.WriteLine(await http.GetStringAsync(url));The full API reference (delivery status, balance, sender ID and template APIs) is available inside your panel after login.
Need help with the integration?
Our technical team helps you connect your website, app or CRM and test your DLT templates before you go live.
Get API access
Tell us about your website, app or CRM. We will set up your account and help you integrate.
Book free demoFAQ
SMS API questions
How do I get an API key?
Log in to your DigitalSMS4U panel and open the API section to create your API key. New customers receive the key after the demo and account setup.
Which programming languages are supported?
Any language that can make an HTTPS request: PHP, Java, C# / .NET, Node.js, Python, Go, Ruby and also no-code tools and CRMs.
Can I send Unicode (Hindi) SMS by API?
Yes. Set DCS=8 to send Unicode text in Hindi or other Indian languages.
How do I know if an SMS was delivered?
Every send returns a job / message id. Use the delivery status API or the reports in your panel to see the final status of each number.
Is there a test or sandbox mode?
Yes. Ask for a demo account and our team gives you test credits, so you can integrate and check the API before going live.
Can I restrict the API to my server IP?
Yes. Add your server IP addresses in the panel - requests from any other IP are refused, even with the right API key.
