Get started
API Endpoint https://api.ithsmspro.com/api/
ITHSMSPRO PRO est une solution d'envoi de message court (sms) en temps réel et différé qu'il faut pour vos activités. C'est une solution simple, rapide et légère. L'api de ITHSMSPRO PRO est un RESTFUL API qui vous permet d'envoyer des sms via votre application (web, mobile, etc.). Après chaque envoi, vous avez la possibilité d'accéder à l'historique des rapports d'envoi et à vos données de facturation soit directement sur la plateforme ou via l'API.
Création de compte: Pour commencer, vous devez d'abord créer un compte sur ITHSMSPRO PRO si vous ne l'avez pas déjà fait. Rendez-vous ici pour créer votre compte. Une fois le compte créé, un email vous est automatiquement envoyé contenant le lien de validation de votre compte. Dès que vous valider votre compte, vous pouvez vous connecter sur ITHSMSPRO PRO avec vos identifiants créés. Vous disposez d'un solde initial à la création pour faire vos premiers tests d'envois de sms soit sur la plateforme ou via l'API.
Création d'une clé d'API: Avant de commencer à faire vos envois via l'api, vous devez d'abord générer votre clé d'envoi. Pour ce faire, connectez-vous sur ITHSMSPRO PRO avec les identifiants de votre compte. Aller dans la rubrique développeur. Vous y trouverez la clé de l'api associée à votre compte ITHSMSPRO PRO. C'est cette clé que vous utiliserez pour l'envoi des sms plus tard.
Intégration de l'API
function MessageSend($from, $to, $message, $type, $dlr){
$url = "https://api.ithsmspro.com/api/v1/sms/send"; //url du serveur
$apiKey = 'GxAtSMBzwMIlWQMr3QFYTPmx3aGfdUSP'; //remplacez par votre api key
$clientId = "1"; //Remplacez par votre client Id
$curl = curl_init();
$smsData = array(
'from' => $from, //l'expediteur
'to' =>''.$to.'', //destination au format international sans "+" ni "00". Ex: 22890000000
'type' => $type, //type de message text et flash
'message' => $message, //le contenu de votre sms
'dlr' => $dlr // 1 pour un retour par contre 0
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("APIKEY: " . $apiKey, "CLIENTID:" . $clientId));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $smsData);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Vous pouvez utiliser curl ou la librairie guzzle pour vos envois à l'aide d'une requête http post.
https://api.ithsmspro.com/api/v1/sms/send
Result example :
result:
{
"messageId": "587854667",
"sender": "ITHSMSPRO",
"to": "23562481369",
"message": 'hello!',
"route": "TD(AIRTEL)",
"type": "0",
"drl": "1",
"sms_count": 1,
"amount": 10,
"Currency": "XOF",
"status": "ACT"
}
QUERY PARAMETERS
Field | Type | Description |
---|---|---|
APIKEY | String | Your API key. (Headers) |
CLIENTID | String | Your client id (HEADERS) |
From (parameters) | String(max caracters 11) | sender/expediteur (parameters) |
to (parameters) | Phone number | recipient/destinataire (format internationnal Ex: 22890000000) |
type (parameters) | integer | Type d'sms(plain/text, flash... voir rubrique type sms) |
message (parameters) | string | Le contenu de votre sms |
dlr (parameters) | string | (yes ou no) |
url (parameters) | url | Url de votre dlr |
type sms
Value | description |
---|---|
0 | Plain Text (GSM 3.38 Character encoding) |
1 | Flash Message (GSM 3.38 Character encoding) |
Appendix A: message statuses
Code | Description |
---|---|
ABS | Absent Suscriber |
ACT | Message accepted into ITHSMSPRO PRO server |
BLO | Destination mobile number blocked by Telecom or by ITHSMSPRO PRO on Client request |
BUF | Message has been queued at the gateway for delivery at a later time (delayed delivery) |
DLA | Delivered by Alert App |
DLG | Message received by gateway |
DLV | Confirmation of receipt on the handset of the recipiend |
DUP | Duplicate Message received from client |
ERD | An error occurred delivering the message to the handset |
EXP | Message has expired, could not be delivered |
INF | Affiliate is not configured in the client's profile |
INV | Network is unknown or can not be reached |
IPR | In process at ITHSMSPRO PRO |
IPV | Remote IP is not registered |
ITM | Intermediate |
LEN | Message too long |
MAP | Daily maximum reached at Provider |
MAX | Daily maximum reached |
NCR | The client did not subscribe to this network |
NPZ | Network Price not configured |
NRC | No Receipt Confirmation from Telecom |
NSF | The message cannot be delivered due to a lack of funds in your account. Please re-purchase credits |
PACT | Notification Accepted into the system |
PAPP | Delivered to the KingAlert mobile notification system |
Vérifier son solde
Vous pouvez vérifier solde à partir d'une requête http post:
Endpoint: https://api.ithsmspro.com/api/v1/account/details
Field | type |
---|---|
APIKEY | Headers |
CLIENTID | Headers |
SMS TRACE
function smsTrace($messageId){
$url = "https://api.ithsmspro.com/api/v1/sms/trace"; //url du serveur
$apiKey = 'GxAtSMBzwMIlWQMr3QFYTPmx3aGfdUSP'; //remplacez par votre api key
$clientId = "1"; //Remplacez par votre client Id
$curl = curl_init();
$smsData = array(
'messageId' => $messageId, // id du message
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("APIKEY: " . $apiKey, "CLIENTID:" . $clientId));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $smsData);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Vous pouvez vérifier le statut d'un sms à partir d'une requête http post et l'id du message:
Endpoint: https://api.ithsmspro.com/api/v1/sms/trace
Result example :
result:
{
"messageId": "587854667",
"sender": "ITHSMSPRO",
"destination": "23562481369",
"route": "TD(AIRTEL)",
"status": "ACT"
}
Field | type |
---|---|
APIKEY | Headers |
CLIENTID | Headers |
messageId | parameter |
SMS REPORTS
function smsReport($date_start, $date_end, $type){
$url = "https://api.ithsmspro.com/api/v1/sms/reports"; //url du serveur
$apiKey = 'GxAtSMBzwMIlWQMr3QFYTPmx3aGfdUSP'; //remplacez par votre api key
$clientId = "1"; //Remplacez par votre client Id
$curl = curl_init();
$smsData = array(
'date_start' => $date_start,
'date_end' => $date_end,
'type' => $type
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("APIKEY: " . $apiKey, "CLIENTID:" . $clientId));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $smsData);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Vous pouvez demander des rapports à partir d'une requête http post:
Endpoint: https://api.ithsmspro.com/api/v1/sms/reports
Field | type |
---|---|
APIKEY | Headers |
CLIENTID | Headers |
date_start | parameter(format: YYYY-mm-dd) |
date_end | parameter(format: YYYY-mm-dd) |
type | parameter(integer: 1- platform reports, 2-Api reports) |