Welcome to Softeller API documentation!

The SMS API released by IWOMI TECHNOLOGIES is a service used in the SOFTELLER Platform for offering a safe, efficient and secure procedure of sending SMS to a variety of destinations throughout the world.

Our api provides 2 principal services :

1- Sending Single SMS (SINGLE SMS Service) for sending SMS to a single recipient .
2- Sending Bulk SMS ( BULK SMS Service) lets you send multiple SMS to multiple recipients.

Note:

If you dont have an Softeller account yet, please visit our Signup page and create your free account.

Access to services

Steps for sending sms

Before you can access this API on our platform , you must have a SOFTELLER account. This contains among others your identification and authentication information that is indeed a login and a password to identify you and give you access to our multiple services.

Sending SMS through our platform is divided mainly into 3 stages:

1- Identification and client authentication .
2- Send data ( telephone numbers, messages and identifiers) to be transmitted.
3- Reception of results

How to call our methods

Our SMS API offers several methods (functions) to process your requests depending on the desired service after the authentication process.

These methods are called directly via URL with query parameters .

Note :

• Data format supported for the query and results : JSON
• Base URL for all our API services: http://www.softeller.com/api_softeller_sms

Content-Type & Accept header

Softeller SMS API supports JSON and XML Content-Types and Accept criteria that should be specified in the header. If the Content-Type is not specified you will receive a General error. The Accept Hearder used for the request will be the same applied on the server response.

Content-Type: application/json or application/xml.

Accept header: application/json or application/xml.



Send your first SMS using Softeller SMS API !

In a few simple steps, we will explain how to send SMS using Softeller HTTP API.

First, you will need a valid Softeller account. Setup a username, a password and others corresponding information then sign up. While in the profile page, collect your user id

Next, your user id and your password have to be hashed using md5 and sha256 like this:

  • Hash the user id using md5 md5(user_id).
  • The hash of your user id is used as the sault for the password. Concatenate the md5 result of your user id (which is the sault in fact) and your password into a string md5(user_id)password
  • Hash the resulting string using the hash function (Sha256).

Example

User ID:109
Password:softmoney

MD5 : 2723d092b63885e0d7c260cc007e8b9d
String : 2723d092b63885e0d7c260cc007e8b9dsoftmoney
Sha256 hashed string : 248f2272cc5b67f934e71acd55d5b668f84c4245b6cc6ca2f60cb4e50f9f1d60

The message will be sent only to a valid phone number (numbers), written in international format e.g. 237677859147.

Now, you are ready to create a HTTP POST request to http://www.softeller.com/api_softeller_sms/single_sms

Parameters

PHP PHP
                

Body

Login: String, Represents the user name (phone number) you use to log into your Softeller account. Password: String, Represents the password of your account. Senderid: String Represents the ID or the Name of the sender. It should at most 10 characters. Recipient: String Represents message destination address. The destination address must be in the international format (Example: 237693026727). Message: String Message to send. Type: string Represents the type of message to send, sms or voice Now, you are ready to create a HTTP POST request to http://www.softeller.com/api_softeller_sms/single_sms"
Example In the following example , we will write a PHP client using the PHP CURL method.
Example
                $salt = md5(109); // 2723d092b63885e0d7c260cc007e8b9d
                $pass = hash("sha256", $salt."softmoney"); // hash("sha256", "2723d092b63885e0d7c260cc007e8b9dsoftmoney")
                $data  array(
                        "Login" => "2376XXXXXXX9",
                        "Password" => $pass,
                        "Sernderid" => "TEST_ID",
                        "Recipient" => "23769XXXXXX2",
                        "Message" => "Just for test purpose",
                        "Type" => "sms",
                );
                $table_json = json_encode($data);
                $ch = curl_init();
                curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
                curl_setopt( $ch, CURLOPT_URL, $url );
                curl_setopt( $ch, CURLOPT_POST, true );
                curl_setopt( $ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
                curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
                curl_setopt( $ch, CURLOPT_POSTFIELDS, $table_json);
                $result = curl_exec($ch);

                if (curl_errno($ch)) {
                        print curl_error($ch);
                } else {
                        curl_close($ch);
                }
                echo $result;
                
Result Result Depending on the parameters sent ( valid or not ) to the server and the processing status, many types of responses can be returned by the server. The following table summarizes the possible cases :

Parameter Type Description
SingleID String The ID that uniquely identifies the request. Single ID will be received only when you send a message to more than one destination address.
Message String Array of sent message objects, one object per every message.


Send your first bulk SMS using Softeller API !

In a few simple steps, we will explain how to send SMS using Softeller HTTP API.

First, you will need a valid Softeller account. Setup a username, a password and others corresponding information then sign up. While in the profile page, collect your user id

Next, your user id and your password have to be hashed using md5 and sha256 like this:

  • Hash the user id using md5 md5(user_id).
  • The hash of your user id is used as the sault for the password. Concatenate the md5 result of your user id (which is the sault in fact) and your password into a string md5(user_id)password
  • Hash the resulting string using the hash function (Sha256).

Example

User ID:109
Password:softmoney

MD5 : 2723d092b63885e0d7c260cc007e8b9d
String : 2723d092b63885e0d7c260cc007e8b9dsoftmoney
Sha256 hashed string : 248f2272cc5b67f934e71acd55d5b668f84c4245b6cc6ca2f60cb4e50f9f1d60

The message will be sent only to a valid phone number (numbers), written in international format e.g. 237677859147.

Now, you are ready to create a HTTP POST request to http://www.softeller.com/api_softeller_sms/single_sms

Parameters

PHP PHP
                

Body

Login: String, Represents the user name (phone number) you use to log into your Softeller account. Password: String, represents the password of your account. Senderid: Array of String, Represents an array of senders ids.If you want to send messages from one sender only, a single String is supported Recipient: array of strings Represents a list of message destination addresses. If you want to send a message to one destination, a single String is supported instead of an Array.Destination addresses must be in international format (Example: 237693026727). Message: array of strings Array of messages to send. Now, you are ready to create a HTTP POST request to http://www.softeller.com/api_softeller_sms/single_sms"
Example In the following example, we will write a PHP client using the PHP CURL method.
Example
                $salt = md5(109); // 2723d092b63885e0d7c260cc007e8b9d
                $pass = hash("sha256", $salt."softmoney"); // hash("sha256", "2723d092b63885e0d7c260cc007e8b9dsoftmoney")
                $data  array(
                        "Login" => "2376XXXXXXX9",
                        "Password" => $pass,
                        "Sernderid" => ["TEST_ID", "TEST_ID1", "TEST_ID2"],
                        "Recipient" => ["2376XXXXXXX8", "2376XXXXXXX5", "2376XXXXXXX2"],
                        "Message" => ["test", "test1", "test2"],
                 );
                $table_json = json_encode($data);
                $ch = curl_init();
                curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
                curl_setopt( $ch, CURLOPT_URL, $url );
                curl_setopt( $ch, CURLOPT_POST, true );
                curl_setopt( $ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
                curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
                curl_setopt( $ch, CURLOPT_POSTFIELDS, $table_json);
                $result = curl_exec($ch);

                if (curl_errno($ch)) {
                        print curl_error($ch);
                } else {
                        curl_close($ch);
                }
                echo $result;
                
Result Result

Depending on the parameters sent ( valid or not ) to the server and the processing status or sending SMS , many types of responses can be returned by the server.
The following table summarizes the possible cases :

Parameter Type Description
BulkID String The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to more than one destination address.
Message String Array of sent message objects, one object per every message.