API Summary
The SMSINDIAHUB India HTTP API provides lightweight REST interfaces for pushing programmatic messages, checking real-time carrier delivery status, triggering scheduled jobs, and capturing inbound two-way SMS / missed calls.
Check Delivery Status
Check delivery status of message by providing your username/APIKey, password, and the unique jobid received from the SendSMS response.
Query Parameters
| Name | Type | Requirement | Description |
|---|---|---|---|
user* |
String | Required | Registered account username or API Key. |
password* |
String | Required | Registered account password (omitted if using APIKey). |
jobid* |
String | Required | The Job ID returned by the API during message submission. |
Code Samples & SDKs
curl -X GET \
-H "Accept: application/json" \
"http://cloud.smsindiahub.in/api/mt/GetDelivery?user=YOUR_USER&password=YOUR_PASS&jobid=JOB12345"
Responses & Schemas
{
"ErrorCode": "string",
"ErrorMessage": "string",
"JobId": "string",
"MessageData": [
{
"Number": "string",
"MessageId": "string"
}
]
}
{
"ErrorCode": "002",
"ErrorMessage": "Invalid Credentials or JobID"
}
Send Promotional SMS
Send promotional SMS campaigns with parameter channel=Promo. Ideal for marketing offers, discount alerts, and customer engagement broadcasts delivered between 10:00 AM to 9:00 PM as per TRAI guidelines.
Query Parameters
| Name | Type | Requirement | Description |
|---|---|---|---|
user* |
String | Required | Account username or API Key. |
password* |
String | Required | Account password. |
senderid* |
String | Required | Approved 6-digit numeric promo sender header. |
channel* |
String | Required | Set to Promo. |
DCS* |
Number | Required | Data Coding Scheme: 0 for GSM English, 8 for Unicode. |
flashsms* |
Number | Required | 0 for regular SMS, 1 for Flash SMS. |
number* |
String | Required | Destination 10-digit mobile number(s), comma-separated. |
text* |
String | Required | URL-encoded message content matching DLT template. |
route* |
String | Required | Specific routing priority / route identifier assigned to your account. |
cURL Request
curl -X GET \
-H "Accept: application/json" \
"http://cloud.smsindiahub.in/api/mt/SendSMS?user=demo&password=demo123&senderid=612345&channel=Promo&DCS=0&flashsms=0&number=91989xxxxxxx&text=Festive%20Offer%20Get%2020%20Off&route=1"
{
"ErrorCode": "000",
"ErrorMessage": "Success",
"JobId": "JOB992812",
"MessageData": [
{
"Number": "91989xxxxxxx",
"MessageId": "MSG1002"
}
]
}
Send Transactional SMS
Send transactional alerts, OTPs, booking confirmations, and critical service updates with parameter channel=Trans. Delivered 24/7 round-the-clock without DND restrictions to verified opt-in recipients.
Route-Specific Parameters
Inherits Base SendSMS| Parameter | Value / Format | Requirement | Behavior & Compliance |
|---|---|---|---|
channel* |
Trans | Required | High-priority transactional route. Dispatched 24/7 round-the-clock; bypasses TRAI promo delivery hours (10 AM - 9 PM) and DND filters. |
senderid* |
6 Alpha (e.g. WEBSMS) | Required | Must be a verified, DLT-approved 6-letter alphabetic Header ID representing your registered entity. |
Base Parameters: All standard parameters (user, password, DCS, flashsms, number, text, route) behave identically to the Promotional SMS endpoint specification.
cURL Request
curl -X GET \
-H "Accept: application/json" \
"http://cloud.smsindiahub.in/api/mt/SendSMS?user=demo&password=demo123&senderid=WEBSMS&channel=Trans&DCS=0&flashsms=0&number=91989xxxxxxx&text=Your%20verification%20OTP%20is%20492019&route=1"
{
"ErrorCode": "000",
"ErrorMessage": "Success",
"JobId": "JOB992813",
"MessageData": [{ "Number": "91989xxxxxxx", "MessageId": "MSG1003" }]
}
Schedule SMS
Schedule SMS to be sent at specific date & time. Add the parameter schedtime=YYYY-MM-DD HH:MM:SS to submit messages for automated future delivery.
Query Parameters
| Name | Type | Requirement | Description |
|---|---|---|---|
user*, password* |
String | Required | Account credentials. |
senderid*, channel* |
String | Required | DLT Sender ID and channel (Trans or Promo). |
number*, text*, route* |
String | Required | Destination mobile, message content, and route ID. |
schedtime* |
String | Required | Format: YYYY-MM-DD HH:MM:SS (e.g. 2026-09-10 10:30:00). |
curl -X GET \
-H "Accept: application/json" \
"http://cloud.smsindiahub.in/api/mt/SendSMS?user=demo&password=demo123&senderid=WEBSMS&channel=Trans&DCS=0&flashsms=0&number=91989xxxxxxx&text=test%20message&schedtime=2026-09-10%2010:30:00&route=1"
Group SMS
Broadcast SMS to pre-configured contact group. Provide the groupid created in your portal to blast messages to all contacts in that group.
Query Parameters
| Name | Type | Requirement | Description |
|---|---|---|---|
user*, password* |
String | Required | Account credentials. |
senderid*, channel* |
String | Required | DLT Sender ID and routing channel. |
text*, route* |
String | Required | Message content and route ID. |
groupid* |
String | Required | ID of the pre-configured contact group. |
curl -X GET \
-H "Accept: application/json" \
"http://cloud.smsindiahub.in/api/mt/SendSMS?user=demo&password=demo123&senderid=WEBSMS&channel=Promo&DCS=0&flashsms=0&text=Exclusive%20Offer&groupid=1024&route=1"
POST METHOD
Send SMS via HTTP POST method. Construct a JSON body representing your account credentials and an array of target recipients and messages.
{
"Account": {
"User": "demo",
"Password": "demo123",
"SenderId": "WEBSMS",
"Channel": "Trans",
"DCS": "0",
"FlashSms": "0",
"Route": 1
},
"Messages": [
{
"Number": "91989xxxxxxx",
"Text": "Your order #8291 is confirmed and out for delivery."
}
]
}
PHP Implementation Example
<?php
$postData = json_encode([
'Account' => [
'User' => 'demo',
'Password' => 'demo123',
'SenderId' => 'WEBSMS',
'Channel' => 'Trans',
'DCS' => '0',
'FlashSms' => '0',
'Route' => 1
],
'Messages' => [
[
'Number' => '91989xxxxxxx',
'Text' => 'Your verification OTP is 482019'
]
]
]);
$ch = curl_init('http://cloud.smsindiahub.in/api/mt/SendSMS');
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
CURLOPT_POSTFIELDS => $postData
));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Shortcode
Receive inbound SMS on shared short code (e.g. 57333 or 56161). Incoming messages matching your registered keyword are instantly forwarded to your application webhook URL in real time.
| Parameter Name | Requirement | Description |
|---|---|---|
sender* |
Required | Message sender's mobile phone number. |
message* |
Required | Text message sent by the user (first word represents keyword). Format: Keyword SubKeyword Message. |
channel* |
Required | Short code number (e.g. 56161) on which the message was received. |
operatorname |
Optional | Telecom operator name (e.g. Airtel, Jio, Vi). |
circlename |
Optional | State / Telecom circle (e.g. Gujarat, Delhi, Mumbai). |
Longcode
Receive inbound SMS on dedicated 10-digit virtual number (919898989898). Incoming messages and customer replies are forwarded directly to your application webhook URL in real time.
| Parameter Name | Requirement | Description |
|---|---|---|
sender* |
Required | Mobile number of the sender. |
message* |
Required | Message text sent by the user. |
channel* |
Required | Dedicated virtual 10-digit long code mobile number. |
operatorname |
Optional | Telecom operator name. |
circlename |
Optional | Telecom circle of the sender. |
Missed Call
Capture customer missed calls for verification & leads. When a caller dials your dedicated missed call virtual number, the call automatically disconnects after 1-2 rings and caller metadata is forwarded to your webhook URL.
| Parameter Name | Requirement | Description |
|---|---|---|
caller* |
Required | Caller's mobile phone number. |
called* |
Required | Dedicated virtual missed call number on account. |
operatorname |
Optional | Operator originating the call. |
circlename |
Optional | Telecom circle of the caller. |
time |
Optional | Timestamp when the call event occurred. |
Support, Contact & Licensing
For high-concurrency binds, custom throughput throttling, dedicated routes, or production troubleshooting, contact our 24/7 technical engineering team.
Technical assistance with API binds, webhook integrations, and route optimization.
Ticketing desk, account onboarding, and carrier escalations.