See API Menu

We are leading Bulk SMS provider in India offering best business deals on API Codes.

This technical document is intended for API developers who wish to use the Infodreamz Technologies N Pvt. Ltd. HTTP API for sending messages, receiving delivery reports and checking account balances.

The document describes the various programming models and commands used by developers when using this API.

The HTTP API could be used for both low and high end messaging services. HTTP is a means for relaying information; the HTTP API can be used with practically any web service application. This is particularly useful for high volume message sending. The HTTP API offers various methods of sending and receiving SMS messages. The document contains specifications for the following methods.

Send messages using HTTP GET.
Receive responses using HTTP GET.

Host: https://app.indiasms.com
Port: 8080
Protocol: HTTP (We also provide SMPP protocol)
Functions: Send SMS, Group SMS, Flash SMS, Unicode SMS, Balance Check, Delivery
Reports and Time Scheduling

Single SMS

https://indiasms.com is a decade old firm in the business

TEXT Formathttps://app.indiasms.com/sendsms/sendsms.php?username=your-api-username&password=your-api-password&type=TEXT&sender=My%20SenderId&mobile=9000000000&message=Testing%20HTTP%20API

UNICODE Formathttps://app.indiasms.com/sendsms/sendsms.php?username=your-api-username&password=your-api-password&type=UNICODE&sender=My%20SenderId&mobile=9000000000&message=Testing%20HTTP%20API

FLASH Formathttps://app.indiasms.com/sendsms/sendsms.php?username=your-api-username&password=your-api-password&type=FLASH&sender=My%20SenderId&mobile=9000000000&message=Testing%20HTTP%20API

Query Params
  • username Value (your-api-username)
  • password Value (your-api-password)
  • type TEXT : text format, UNICODE : unicode format, FLASH : flash format
  • sender Value (your-sender-id)
  • mobile Value
  • message Value
Parameter Type Description
username* string Your Indiasms account Username.
password* string Your Indiasms account Password.
type* string Message Type (TEXT : text format, UNICODE : unicode format, FLASH : falsh format
sender* string Valid Source Address (Alphabetic 6 characters are valid sender id.)
mobile* string Mobile Number / MSISDN / Destination Number (without country code), multiple numbers should be separated by comma (,)
message* text Message body to be send (Message body must be urlencoded )
Optional Params
Parameter Type Description
Schedule number Valid schedule parameters is 1 which indicates message is forced for Scheduling.
Date time Date/time Valid date time parameter indicates the timestamp when the message should be triggered on handset eg., 2010-03-14 09:30 Note: date time parameter must be urlencoded.
GMT text This specifies according to which gmt the datetime should act to Send sms to get delivered on the mobile.
Credits text Valid credits parameters is 1 which returns number of credits Deducted in response with the message id separated by "|".

IndiaSMS is a decade old firm in the business of online bulk SMS services, catering to all types of customers, big, medium and small sized organizations through our innovative solutions for sending group text messages all over India through different sms gateway networks.

Send Bulk SMS

https://indiasms.com is a decade old firm in the business

TEXT Format https://app.indiasms.com/sendsms/bulksms.php?username=your-api-username&password=your-api-password&type=TEXT&sender=My%20SenderId&mobile=9000000000&message=Testing%20HTTP%20API

UNICODE Formathttps://app.indiasms.com/sendsms/bulksms.php?username=your-api-username&password=your-api-password&type=UNICODE&sender=My%20SenderId&mobile=9000000000&message=Testing%20HTTP%20API

FLASH Formathttps://app.indiasms.com/sendsms/bulksms.php?username=your-api-username&password=your-api-password&type=FLASH&sender=My%20SenderId&mobile=9000000000&message=Testing%20HTTP%20API

Query Params
  • username Value (your-api-username)
  • password Value (your-api-password)
  • type TEXT : text format, UNICODE : unicode format, FLASH : flash format
  • sender Value (your-sender-id)
  • mobile Value
  • message Value
Parameter Type Description
username* string Your Indiasms account Username.
password* string Your Indiasms account Password.
type* string Message Type (TEXT : text format, UNICODE : unicode format, FLASH : falsh format
sender* string Valid Source Address (Alphabetic 6 characters are valid sender id.)
mobile* string Mobile Number / MSISDN / Destination Number (without country code), multiple numbers should be separated by comma (,)
message* text Message body to be send (Message body must be urlencoded )
Optional Params
Parameter Type Description
Schedule number Valid schedule parameters is 1 which indicates message is forced for Scheduling.
Date time Date/time Valid date time parameter indicates the timestamp when the message should be triggered on handset eg., 2010-03-14 09:30 Note: date time parameter must be urlencoded.
GMT text This specifies according to which gmt the datetime should act to Send sms to get delivered on the mobile.
Credits text Valid credits parameters is 1 which returns number of credits Deducted in response with the message id separated by "|".

IndiaSMS is a decade old firm in the business of online bulk SMS services, catering to all types of customers, big, medium and small sized organizations through our innovative solutions for sending group text messages all over India through different sms gateway networks.

Balance Check

https://indiasms.com is a decade old firm in the business

Check Available Balancehttps://app.indiasms.com/sendsms/checkbalance.php?username=your-api-username&password=your+password

Query Params
  • username Value (your-api-username)
  • password Value (your-api-password)
Parameter Type Description
username* string Your Indiasms account Username.
password* string Your Indiasms account Password.

IndiaSMS is a decade old firm in the business of online bulk SMS services, catering to all types of customers, big, medium and small sized organizations through our innovative solutions for sending group text messages all over India through different sms gateway networks.

DLR Status

https://indiasms.com is a decade old firm in the business

Delivery Check Statushttps://app.indiasms.com/sendsms/dlrstatus.php?username=your-api-username&password=your-api-password&messageid=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Query Params
  • username Value (your-api-username)
  • password Value (your-api-password)
  • messageid Value
Parameter Type Description
username* string Your Indiasms account Username.
password* string Your Indiasms account Password.
messageid* string Message Id of sent message

IndiaSMS is a decade old firm in the business of online bulk SMS services, catering to all types of customers, big, medium and small sized organizations through our innovative solutions for sending group text messages all over India through different sms gateway networks.

Status/Error Codes

Code Description
SUBMIT_SUCCESS | xxxxxxxx-xxxx-xxxxxxxx-xxxxxxxxxxxx If message is submitted successfully on sms gateway you will receive "SUBMIT_SUCCESS" message as an response code with 32 digit Message id separated by dash.
ERR_PARAMETER The status code is returned if there is some missing parameter or sendsms URL is malformed.
ERR_MOBILE The status code is returned for an invalid mobile number or if it is greater than 14 and less than 10.
ERR_SENDER The error code is returned for an invalid sender id or if sender id is Alphabetic and 6 characters long.
ERR_MESSAGE_TYPE The error code is returned in case if message type being submitted is Not valid.
Note: Valid Parameters accepted should be in format either [TEXT, UNICODE, FLASH, UNICODE-FLASH]
ERR_MESSAGE This is returned in case if message is malformed or is not valid.
ERR_MESSAGE_EMPTY If mobile number is DND
ERR_SPAM The response code is returned in case if message is recognized as spam.
ERR_DLR The response code is returned when dlr requisition is invalid.
ERR_USERNAME The response code is returned if username is not formed well that is for invalid characters other than [a-z, A-Z, 0-9, -]
ERR_PASSWORD This is returned if password is not formed well that is for invalid characters other than [a-z, A-Z, 0-9, -]
ERR_LOGIN The response code is returned in case if user is not a valid user within the system which could be due to incorrect login parameters for Username or password.
ERR_CREDIT The response code is returned in case if user has insufficient balance in His account for processing the message.
ERR_SCHEDULE Optional default is 0, but in case if schedule is passed so default value Should be either 0 or 1 where 1 is to force scheduling for the message.
ERR_DATETIME The error code is returned if you have specified invalid datetime format. Note: Valid Datetime accepted should be in format [YYYY-MM-DD HH:MM]
ERR_GMT This status code is returned in case you have specified invalid gmt.
Note: Valid GMT's are [-12:00 -11:00 -10:00 -09:00 -08:00 -07:00 -06:00 -05:00 -04:00 -03:30 -03:00 -02:00 -01:00 -00:00 01:00 02:00 03:00 03:30 04:00 04:30 05:00 05:30 05:45 06:00 06:30 07:00 08:00 09:00 09:30 10:00 11:00 12:00 13:00]
ERR_ROUTING The response code is returned in case you are sending on invalid routing Not specified for your account. To get avail for any targeted destinations You need to contact your customer’s relation officer.
ERR_INTERNAL The response code is returned in case of any internal issue or server
DND The response code is returned in case you are sending Message on DND numbers. Error code for this is100.
ERR_SENDER_ID_NOT_APPROVED The response code is returned in case when Sender Id is not approved.
ERR_LOGIN The response code is returned in case if user is not a valid user within the system which could be due to incorrect login Parameters for username or password.
ERR_USERNAME_PASSWORD The response code is returned if username or password is not formed well that is for invalid characters other than [a-z, A-Z, 0-9, -]
ERR_MSGID The response code is returned in case of wrong or invalid Message id.
DELIVRD Delivered to destination
ACCEPTD Accepted by network operator
UNDELIV Message is undeliverable
EXPIRED Validity period has expired
REJECTD Message is in rejected state
DELETED Message is deleted due to flood control mechanism.
UNKNOWN Message is in unknown state
NACK/DISCARDED Message discarded due to number being barred.
NACK/REJECTED Message is in rejected state.
NACK/MALFORMED SMS Message is malformed due to invalid message body or Spam.
NACK/69/Submit failed Message submission failed due to MSISDN not reachable.
NACK/10/Invalid Source Address Message submission failed due to source invalid.
NACK/11/Invalid Destination Address Message submission failed due to MSISDN invalid.
NACK/74/Unknown/Reserved Message is in unknown state or source is reserved.

Download Docs

PHP

<?php
  $mobile = "9213456780,8914325670";
  $message = "Test message";
  $api_username = "your-api-username";
  $api_password = "your-api-password";
  $sender = "your-6char-senderid";
  $type = "TEXT";
  $message = urlencode($message);

  $apiUrl ="https://app.indiasms.com/sendsms/bulksms.php";
  $url =$apiUrl."?username=".$api_username."&password=".$api_password."&type=".$type."&sender=".$sender."&mobile=".$mobile."&message=".$message;

  if( function_exists("curl_init")){
    $ch = curl_init();
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 );
    curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 0 );
    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    $response = curl_exec ( $ch );
    curl_close($ch);
  }else{
    $return_val = file($url);
    $response = $return_val[0];
  }

  list($send,$msgcode) = explode("|",$response);
  if (trim($send) == "SUBMIT_SUCCESS") {
    echo "Sent SMS successfully.";
  }else{
    echo "Unable to Send SMS successfully.";
}

C#


using System.Net;
using System.IO;
WebClient httpclient = new WebClient ();
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
httpclient.QueryString.Add("username", "xxxx");
httpclient.QueryString.Add("password", "xxxx");
httpclient.QueryString.Add("type", "TEXT");
httpclient.QueryString.Add("sender", "xxxx");
httpclient.QueryString.Add("mobile", "xxxx");
httpclient.QueryString.Add("message", "This is an example message");
string baseurl ="https://app.indiasms.com/sendsms/sendsms.php";
Stream data = client.OpenRead(baseurl);
StreamReader reader = new StreamReader (data);
string s = reader.ReadToEnd ();
data.Close ();
reader.Close ();
return (s);

OR

var client = new RestClient("http://app.indiasms.com/sendsms/sendsms.php?username=your_api_username&password=your_api_password&type=text&sender=your_sender_id&mobile=9823456734&message=Hello!%20This%20is%20a%20test%20"); var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);

C

CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "http://app.indiasms.com/sendsms/sendsms.php?username=your_api_username&password=your_api_password&type=text&sender=your_sender_id&mobile=9823456734&message=Hello!%20This%20is%20a%20test%20");
CURLcode ret = curl_easy_perform(hnd);

VB.Net

Imports System.Net
Imports System.IO
Dim client As WebClient = New WebClient
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
client.QueryString.Add("username", "xxxx")
client.QueryString.Add("password", "xxxx")
client.QueryString.Add("type", "TEXT")
client.QueryString.Add("mobile", "xxxx")
client.QueryString.Add("sender", "xxxx")
client.QueryString.Add("message", "This is an example message")
Dim baseurl As String = "http://app.indiasms.com/sendsms/sendsms.php"
Dim data As Stream = client.OpenRead(baseurl)
Dim reader As StreamReader = New StreamReader(data)
Dim s As String = reader.ReadToEnd()
data.Close ();
reader.Close ();
return

Ruby

require 'uri'
require 'net/http'
url = URI("http://app.indiasms.com/sendsms/sendsms.php?username=your_api_username&password=your_api_password&type=text&sender=your_sender_id&mobile=9823456734&message=Hello!%20This%20is%20a%20test%20")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body

Java


HttpResponse response = Unirest.get("http://app.indiasms.com/sendsms/sendsms.php?username=your_api_username&password=your_api_password&type=text&sender=your_sender_id&mobile=9823456734&message=Hello!%20This%20is%20a%20test%20") .asString();

Shell

curl --request GET \
--url 'http://app.indiasms.com/sendsms/sendsms.php?username=your_api_username&password=your_api_password&type=text&sender=your_sender_id&mobile=9823456734&message=Hello!%20This%20is%20a%20test%20'