SMSala API V 3.0
Documentation
- Version: 3.0
- Author: www.smsala.com
- Created: 10 December, 2021
- Update: 10 December, 2021
If you have any questions that are beyond the scope of this help file, Please feel free to email via Support Team.
Installation
Follow the steps below to setup your site API:
- Whereever YOUR_API_URL is written in this documentation please do not forget to change that with your website url, regardless of this whether you are using https:// or http:// use the same as per your domain url.
- In addition to this if you are using ASP.NET/ C# please use http web request / web client
- If you are using PHP, then ensure that curl is enabled on your hosting server.
- Then after succesful registration you will receive credentials [ app_id and app_password]in your registered email inbox, without these app_id and app_password credentials you will not be allowed to make any requests.
- You can use both GET and POST type of requests but we recommend you to make use of POST requests for security reasons.
- You are good to go for integrating our APIs with your project.
Sending SMS Through Web API
Send Single SMS to URL: https://api.smsala.com/api/SendSMS
To send single text to multiple numbers using a single submission use below link https://api.smsala.com/api/SendSMSMulti
Sending SMS through Web API [Parameters]
Parameter Name | Required | Description | Example |
---|---|---|---|
api_id | Yes | Your API ID Sent in Email | API43404236 |
api_password | Yes | Your API Password Sent in Email | password@123 |
sms_type | Yes | Message Type Promotional SMS / Transactional SMS | P for Promotional T for Transactional |
encoding | Yes | SMS Encoding Text, Unicode etc. | T for Text U for Unicode FS for Flash Message UFS for Unicode Flash Message |
sender_id | Yes | Your Sender ID | Your Registered Sender ID |
phonenumber | Yes | Recipient Phone Number | Phone Number Should No Contain + Sign Phone Number Format is Country Code + Phone Number Example: 919622333345 In case of bulk submit , separate each number with a comma like 911234567890,63344455678,971543213066 |
templateid | Optional | Required If You Want to Send Existing Template. Check Template ID in Customer Panel | Template ID from Customer Panel Example: 10 |
textmessage | Conditional | If Template ID is provided text message is not required | Text of SMS Message to Send |
V1 | Optional | Variable 1 To Replace in Template | Any Data for Variable 1 You Want to Replace |
V2 | Optional | Variable 2 To Replace in Template | Any Data for Variable 2 You Want to Replace |
V3 | Optional | Variable 3 To Replace in Template | Any Data for Variable 3 You Want to Replace |
V4 | Optional | Variable 4 To Replace in Template | Any Data for Variable 4 You Want to Replace |
V5 | Optional | Variable 5 To Replace in Template | Any Data for Variable 5 You Want to Replace |
ValidityPeriodInSeconds | Optional | Message validity period (Expiry time) | Default is 2 days, you can set it manually int value as second like 60 for 1 min. |
Uid | Optional | Message reference variable, this value will return as it is in quick response and delivery | xyz |
callback_url | Optional | The CallBack-URL where you wanna delivery report. We will post the json data of delivery. | https://xyz.com/ |
pe_id | Optional | DLT parameter | xyz |
template_id | Conditional | DLT parameter (if given pe_id then this field is required ) | xyz |
Note: uid and callback_url parameters is not supported with SendSMSMulti API. Only for SendSMS API.
Calling The API
Method-1: Using GET Request
https://api.smsala.com/api/SendSMS?api_id=API4623444906&api_password=password@123&sms_type=P&encoding=T&sender_id=SMSALA&phonenumber=91999020323&textmessage=test&uid=xyz&callback_url=https://xyz.com/
Method-2: Using POST Request
Post Request JSON Format
{
"api_id": yourapiid,
"api_password": yourapipassword,
"sms_type": T,
"encoding": T,
"sender_id": SMSALA,
"phonenumber": 919990123312,
"templateid": null,
"textmessage":test message,
"V1": null,
"V2": null,
"V3": null,
"V4": null,
"V5": null,
"ValidityPeriodInSeconds": 60,
"uid":"xyz",
"callback_url":"https://xyz.com/",
"pe_id":NULL,
"template_id":NULL
}
Response Format for Both GET AND POST
Post Request JSON Format
{
"message_id": 4125,
"status": "S",
"remarks": "Message Submitted Successfully" ,
“uid”: “xyz”
}
Response Parameter Description
Parameter Name | Description |
---|---|
message_id | System Generated Message ID |
status | S = Submitted F = Failed to Submit |
remarks | Description of the status |
uid | Reference Value as given |
CallBack URL Response Details
Post Request JSON Format
{
"message_id": 32,
"PhoneNumber": "9713254",
"SMSMessage": "Test Message",
"MessageType": "Default",
"MessageLength": 159,
"MessageParts": 1,
"ClientCost": 1,
"DLRStatus": "Delivered",
"SMSID": "9cbd20a1-0cd8-420e-b384-5767b7df7a87",
"ErrorCode": 0,
"ErrorDescription": "000",
"SentDateUTC": "2017-05-05T10:16:39.523",
"Remarks": "OK" ,
“uid” : “xyz”
}
Callback url Parameter Description
Parameter Name | Description |
---|---|
message_id | Message ID of the request |
PhoneNumber | Phone Number to which message was sent |
SMSMessage | Text of the SMS message |
MessageType | Message Encoding |
MessageLength | Length of Message |
MessageParts | No of Message parts |
ClientCost | Amount Deducted from account |
DLRStatus | Delivery Status Can Be One Of the following 1. Pending 2. Delivered 3. Undeliverable 4. Acknowledged 5. Expired 6. Accepted 7. Rejected 8. Unknown 9. Failed 10. DND |
SMSID | Carrier Generated SMS ID |
ErrorCode | Error Code If Any |
ErrorDescription | Error Description If Any |
SentDateUTC | SMS Sent Date Time in UTC (Universal Time Coordinate) |
Remarks | Remarks for the Request |
uid | Reference parameter as you submit with sms |
Query Delivery Report / Message Status
You can Add Number to Contact List, Get Contact List ID, and Delete Number from Contact List.
API URL for Getting Delivery Status
https://api.smsala.com/api/GetDeliveryStatus
Getting Delivery Status [Parameters]
Parameter Name | Required | Description | Example |
---|---|---|---|
message_id | Conditional | Message ID You Received at The Time of Submit (Not Required if your are using uid parameter) | 4134 |
Uid | Conditional | Reference value as you sent and received at the time of submit message | xyz |
api_id | Yes | Your API ID Sent in Email & you can get it from your customer panel too | API0896731286 |
api_password | Yes | Your API Password Received in the email or can change API password from customer panel | password@123 |
Calling Delivery Report API Using GET Request
https://api.smsala.com/api/GetDeliveryStatus?api_id=API123&api_password=123xyz&message_id=2323&uid=xyz
Calling Delivery Report API Using POST Request
Post Request JSON Format
{
“api_id” : “API123”,
“api_password” : “123”
" message_id ": 32423,
“uid” : “xyz”
}
API Response Format
Both GET AND POST
{
"message_id": 32,
"PhoneNumber": "9713254",
"SMSMessage": "Test Message",
"MessageType": "Default",
"MessageLength": 159,
"MessageParts": 1,
"ClientCost": 1,
"DLRStatus": "Delivered",
"SMSID": "9cbd20a1-0cd8-420e-b384-5767b7df7a87",
"ErrorCode": 0,
"ErrorDescription": "000",
"SentDateUTC": "2017-05-05T10:16:39.523",
"Remarks": "OK" ,
“uid” : “xyz”
}
Response Parameter Details
Parameter Name | Description |
---|---|
message_id | Message ID of the request |
PhoneNumber | Phone Number to which message was sent |
SMSMessage | Text of the SMS message |
MessageType | Message Encoding |
MessageLength | Length of Message |
MessageParts | No of Message parts |
ClientCost | Amount Deducted from account |
DLRStatus | Delivery Status Can Be One Of the following 1. Pending 2. Delivered 3. Undeliverable 4. Acknowledged 5. Expired 6. Accepted 7. Rejected 8. Unknown 9. Failed 10. DND |
SMSID | Carrier Generated SMS ID |
ErrorCode | Error Code If Any |
ErrorDescription | Error Description If Any |
SentDateUTC | SMS Sent Date Time in UTC (Universal Time Coordinate) |
Remarks | Remarks for the Request |
uid | Reference parameter as you submit with sms |
Managing Contact Lists through API
You can Add Number to Contact List, Get Contact List ID, and Delete Number from Contact List.
Add Number to Contact List through API [Parameters]
Parameter Name | Required | Description | Example |
---|---|---|---|
api_id | Yes | Your API ID Sent in Email & you can get it from your customer panel too | API0896731286 |
api_password | Yes | Your API Password Received in the email or can change API password from customer panel | password@123 |
contact_list_id | Yes | Create Contact List in Customer Panel and Get the ID from There See Image Below for Detailed Explanation | 1 |
contact_name | Yes | Name of the person you want to save | John |
contact_number | Yes | Contact Number of the person you want to save | 919990785632 |
How to Get Contact List ID
Step 1. Login in your Customer Panel At https://my.smsala.com.
Step 2. Go to Contact List in The Left Side Menu Bar.
Step 3. Click on Add New Contact List Button & Create a new Contact List
Step 4. Enter Contact List Name and Click Create New Contact List
Step 5 : Once Created You Will Find Contact List ID in the Grid Below
Yellow Color Highlighted Is Your Contact List ID
Calling Contact List API using GET REQUEST
https://api.smsala.com/api/AddContact?api_id=API3434144906&api_password=password&contact_list_id=1&contact_name=Test&contact_number=919990206824
Calling Contact List API using POST REQUEST
https://api.smsala.com/api/AddContact
Post Request JSON Format
{
"api_id": yourapiid,
"api_password": yourapipassword,
"contact_list_id": 1,
"contact_name": Test,
"contact_number": 91999020238,
}
Response Format for Both GET AND POST
{
"contact_id": 4,
"status": "S",
"remarks": "Contact Created Sucessfully"
}
Response Parameter Details
Parameter Name | Description |
---|---|
contact_id | System generated id of your contact save it for future deletion of this contact via api. |
status | S = Contact Created Successfully F = Failed to create contact |
remarks | Description of the status |
Deleting Number from Contact List using API [Parameters]
Parameter Name | Required | Description | Example |
---|---|---|---|
api_id | Yes | Your API ID Sent in Email & you can get it from your customer panel too | API0896731286 |
api_password | Yes | Your API Password Received in the email or can change API password from customer panel | password@123 |
contact_id | Yes | Contact ID You Have Get While Creating the contact from api | 123 |
Calling Delete Contact Using API Get Request
https://api.smsala.com/api/DeleteContact?api_id=API4das62144906&api_password=password&contact_id=4
Calling Delete Contact Using API POST Request
https://api.smsala.com/api/DeleteContact
Post Request JSON Format
{
"api_id": yourapiid,
"api_password": yourapipassword,
"contact_id ": 1,
}
Response Format for Both GET AND POST
{
"contact_id": 0,
"status": "S",
"remarks": "Contact Deleted Successfully"
}
Response Parameter Details
Parameter Name | Description |
---|---|
contact_id | Value Will Always Be Zero |
status | S = Contact Deleted Successfully F = Failed to delete contact |
remarks | Description of the status |
SMSala Verify API - Sending OTP Verification SMS
This API helps you to verify user phone number using OTP (One Time Password).
Calling the SMSala Verify API using Get Request
https://api.smsala.com/api/Verify?api_id=API651344002&api_password=password&brand=SMSALA&phonenumber=91340206824&sender_id=SMSALA
Calling the SMSala Verify API using POST Request
https://api.smsala.com/api/Verify
Post Request JSON Format
{
"api_id": yourapiid,
"api_password": yourapipassword,
"brand": SMSALA,
"phonenumber": 91999664445,
"sender_id": SMSALA,
}
Response Format for Both GET AND POST
{
"verfication_id": 0,
"status": "S",
"remarks": "Verification Code Sent Successfully"
}
Response Parameter Details
Parameter Name | Description |
---|---|
verfication_id | System generated id of your verification request save it to check the verification status |
status | S = Verification SMS Sent Successfully F = Failed to send verification SMS |
remarks | Description of the status |
Checking Verification Status
This API helps you to verify user phone number using OTP (One Time Password).
Checking the verification Status Using Get Request
https://api.smsala.com/api/VerifyStatus?verfication_id=2&verfication_code=4022
Checking the verification Status Using post Request
https://api.smsala.com/api/VerifyStatus
Post Request JSON Format
{
"verfication_id": 2,
"verfication_code": 4022,
}
Response Format for Both GET AND POST
{
"verfication_id": 2,
"status": "F",
"remarks": "Verification Code is Not Verified"
}
Response Parameter Details
Parameter Name | Description |
---|---|
verfication_id | Verification ID You Sent in the Request |
status | S = Verification Successfully F = verification Failed |
remarks | Description of the status |
Conversion Tracking for Retail Customer
Conversion Tracking for Retail Customer Using GET Request
https://api.smsala.com/api/CTrack?api_id=API23344444&api_password=Pass@123&status=true&message_id=452
Conversion Tracking for Retail Customer Using POST Request
https://api.smsala.com/api/CTrack
Post Request JSON Format
{
"api_id": "API537199541",
"api_password": "Aspl@123",
"status": "true",
"message_id": 452
}
Response Format for Both GET AND POST
ERROR Code:
ErrorCode = 1000; ErrorDescription = "OK"
ErrorCode = 1001; ErrorDescription = "api_id not specified";
ErrorCode = 1002; ErrorDescription = "api_password not specified";
ErrorCode = 1003; ErrorDescription = "Invalid api_id";
ErrorCode = 1004; ErrorDescription = "Invalid api_password";
ErrorCode = 1005; ErrorDescription = "status not specified";
ErrorCode = 1006; ErrorDescription = "Invalid status";
ErrorCode = 1007; ErrorDescription = "message_id not specified";
ErrorCode = 1008; ErrorDescription = "Invalid message_id";
ErrorCode = 1009; ErrorDescription = "message_id already updated";
}
Conversion Tracking for Retail Customer
Conversion Tracking for Retail Customer Using GET Request
https://api.smsala.com/api/CTrackWS?system_id=test_SM1&password=QWE#2314&status=true&message_id=452
Conversion Tracking for Retail Customer Using POST Request
https://api.smsala.com/api/CTrackWS
Post Request JSON Format
{
"system_id": "SMPPUSERNAME",
"password": " SMPPpassword",
"status": "true",
"message_id": 253428
}
Response Format for Both GET AND POST
ErrorCode = 1000; ErrorDescription = "OK"
ErrorCode = 1001; ErrorDescription = "system_id not specified";
ErrorCode = 1002; ErrorDescription = "password not specified";
ErrorCode = 1003; ErrorDescription = "Invalid system_id";
ErrorCode = 1004; ErrorDescription = "Invalid password";
ErrorCode = 1005; ErrorDescription = "status not specified";
ErrorCode = 1006; ErrorDescription = "Invalid status";
ErrorCode = 1007; ErrorDescription = "message_id not specified";
ErrorCode = 1008; ErrorDescription = "Invalid message_id";
ErrorCode = 1009; ErrorDescription = "message_id already updated";
}
Sender ID Request (API)
Sender ID Using GET Request
https://api.smsala.com/api/SenderIDRequest?api_id=youapiid&api_password=yourapipassword&sender_id=yoursenderid&country=yourcountryname&remarks=remarks
Sender ID Using POST Request
https://api.smsala.com/api/SenderIDRequest
{
"api_id" : "Your API ID",
"api_password" : "Your API Password",
"sender_id": "Desired Sender ID",
"country" : "Desired Country Name",
"remarks" : "Remarks Related To Sender ID"
}
Sender ID Reponse JSON for GET and POST Request
{
"status": "S",
"remarks": "Sender ID Request Created Sucessfully"
}
Response Parameter Details
Parameter Name | Description |
---|---|
status | S = S (Successful) F = F (Failed) |
Get Sender ID List (API)
Get Sender ID List Using GET Request
https://api.smsala.com/api/GetSenderIDList?api_id=youapiid&api_password=yourapipassword
Get Sender ID List Using POST Request
https://api.smsala.com/api/GetSenderIDList
{
"api_id" : "Your API ID",
"api_password" : "Your API Password",
}
Sender ID Reponse JSON for GET and POST Request
[
{
"sender_id": "SMS UPDATE",
"country": "United Arab Emirates"
},
{
"sender_id": "SMSALA",
"country": "United Arab Emirates"
}
]
Check Balance (API)
Check Balance Using GET Request
https://api.smsala.com/api/CheckBalance?api_id=yourapiid&api_password=yourapipassword
Check Balance Using POST Request
https://api.smsala.com/api/CheckBalance
{
"api_id" : "Your API ID",
"api_password" : "Your API Password",
}
Sender ID Reponse JSON for GET and POST Request
{
"BalanceAmount": "balance amount in decimal",
"CurrenceCode ": "amount currence code"
}
Receive Incoming (API) [Parameters]
Parameter Name | Required | Example |
---|---|---|
ChannelNumber | Yes | 2222222 |
MessageText | Yes | Text msg |
IncomingNumber | Yes | 91xxxxxx1234 |
Circle | No | xyz |
Operator | No | xyz |
Time | No | 0 |
Note: All parameters are dynamic , you have to set parameter name in incoming vendor in admin panel and use the same parameters name as you mention for the same.
Receive Incoming GET Request
https://api.smsala.com/api/ReceiveIncoming?ChannelNumber=22222&MessageText=testmsg&IncomingNumber=9123123211212
Receive Incoming POST Request
https://api.smsala.com/api/ReceiveIncoming
For SMSALA V2 : Post Json data
{
"ChannelNumber": 2222222,
"MessageText": “test” ,
"IncomingNumber": 12323123123
}
For SMSALA V3 : Post Form data
Receive Incoming Response for GET and POST Request
Response Details: Success / Bad Request
Auto Post: Receive data in Request Form Body
Content Type: application/json
Received Parameters: IncomingNumber, MessageText, ChannelNumber, Keyword
Sender ID Status (API) [Parameters]
Parameter Name | Required | Example |
---|---|---|
api_id | Yes | API123 |
api_password | Yes | 123xyz |
request_id | Yes | 1234 |
Sender ID Status GET Request
https://api.smsala.com/api/SenderIDStatus?api_id=API123&api_password=123&request_id=123
Sender ID Status POST Request
https://api.smsala.com/api/SenderIDStatus
Post Json data
{
"api_id": “API123”,
"api_password": “wd123” ,
"request_id": 123
}
Sender ID Status Response for GET and POST Request
Failed:
{
“request_id”:123,
“status”: ”F”,
“remarks”: “API Password Is Invalid”
}
Success:
{
“request_id”: 123,
“company_name”: ”acdsa”,
“country”: ”india”,
“sender_id”: ”TST”,
“status”: “Approved”,
“created_time”: ”2021-05-20 15:30:49.730”,
“approval_time” : ”2021-05-20 15:30:49.730”,
“request_deleted”: 0
}
Send Voice OTP (API) [Parameters]
Parameter Name | Required | Example |
---|---|---|
api_id | Yes | API123 |
api_password | Yes | 123xyz |
phonenumber | Yes | 91xxxxxx1234 |
otp_code | Yes | 1234 |
Send Voice OTP GET Request
https://api.smsala.com/api/SendVoiceOTP?api_id=API123&api_password=123&phonenumber=98123123123&otp_code=123
Send Voice OTP POST Request
https://api.smsala.com/api/SendVoiceOTP
Post Json data
{
"api_id": "API123",
"api_password": "wd123" ,
"phonenumber": "123234234123",
"otp_code" : "123"
}
Send Voice OTP Response for GET and POST Request
{
“message_id”:123,
“status”: ”S”,
“remarks”: “Submitted Successful”
}
Voice OTP Status (API) [Parameters]
Parameter Name | Required | Example |
---|---|---|
api_id | Yes | API123 |
api_password | Yes | 123xyz |
message_id | Yes | 12345 |
Voice OTP Status GET Request
https://api.smsala.com/api/VoiceOTPStatus?api_id=API123&api_password=123&message_id=123
Voice OTP Status POST Request
https://api.smsala.com/api/VoiceOTPStatus
Post Json data
{
"api_id": “API123”,
"api_password": “wd123” ,
"message_id": 123
}
Voice OTP Status Response for GET and POST Request
{
“PhoneNumber”:91******56,
“status”: ”Delivered”,
“OTP”: “123”,
“Remarks”:”OK”,
“JobDetailID”:123
}