Get started

    API Endpoint

        http://edok-api.kingsmspro.org/api/
                

KING SMS 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 KING SMS 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 KING SMS 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 KING SMS 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 KING SMS 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 KING SMS 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 = "http://edok-api.kingsmspro.org/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: 22890443679 '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("API_KEY: " . $apiKey, "CLIENT_ID:" . $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.
http://edok-api.kingsmspro.org/api/v1/sms/send



Result example :
result: { "messageId": "587854667", "sender": "KING SMS", "to": "22890443679", "message": 'hello!', "route": "TG(TOGOCEL)", "type": "0", "drl": "1", "sms_count": 1, "amount": 10, "Currency": "XOF", "status": "ACT" }

QUERY PARAMETERS

Field Type Description
API_KEY String Your API key. (Headers)
CLIENT_ID String Your client id (HEADERS)
From (parameters) String(max caracters 11) sender/expediteur (parameters)
to (parameters) Phone number recipient/destinataire (format internationnal Ex: 22890443679)
type (parameters) integer Type d'sms(plain/text, flash... voir rubrique type sms)
message (parameters) string Le contenu de votre sms
dlr (parameters) Integer Pour les rapports d'envois (1 pour un retour 0 par contre)

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
ABSAbsent Suscriber
ACTMessage accepted into KING SMS PRO server
BLODestination mobile number blocked by Telecom or by KING SMS PRO on Client request
BUFMessage has been queued at the gateway for delivery at a later time (delayed delivery)
DLADelivered by Alert App
DLGMessage received by gateway
DLVConfirmation of receipt on the handset of the recipiend
DUPDuplicate Message received from client
ERDAn error occurred delivering the message to the handset
EXPMessage has expired, could not be delivered
INFAffiliate is not configured in the client's profile
INVNetwork is unknown or can not be reached
IPRIn process at KING SMS PRO
IPVRemote IP is not registered
ITMIntermediate
LENMessage too long
MAPDaily maximum reached at Provider
MAXDaily maximum reached
NCRThe client did not subscribe to this network
NPZNetwork Price not configured
NRCNo Receipt Confirmation from Telecom
NSFThe message cannot be delivered due to a lack of funds in your account. Please re-purchase credits
PACTNotification Accepted into the system
PAPPDelivered to the KingAlert mobile notification system

Vérifier son solde

Vous pouvez vérifier solde à partir d'une requête http post:
Endpoint: https://edok-api.kingsmspro.org/api/v1/account/details

Field type
API_KEY Headers
CLIENT_ID Headers

SMS TRACE


                                      function smsTrace($messageId){
$url = "http://edok-api.kingsmspro.org/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("API_KEY: " . $apiKey, "CLIENT_ID:" . $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: http://edok-api.kingsmspro.org/api/v1/sms/trace


Result example :
result: { "messageId": "587854667", "sender": "KING SMS", "destination": "22890443679", "route": "TG(TOGOCEL)", "status": "ACT" }
Field type
API_KEY Headers
CLIENT_ID Headers
messageId parameter

SMS REPORTS


                                      function smsReport($date_start, $date_end, $type){
$url = "http://edok-api.kingsmspro.org/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(
'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("API_KEY: " . $apiKey, "CLIENT_ID:" . $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://edok-api.kingsmspro.org/api/v1/sms/reports

Field type
API_KEY Headers
CLIENT_ID Headers
date_start parameter(format: YYYY-mm-dd)
date_end parameter(format: YYYY-mm-dd)
type parameter(integer: 1- platform reports, 2-Api reports)