Démarrage rapide
Introduction
Comme il est de nature dans l'usage de tout API, il faut obtenir vos identifiants de connexion afin de pourvoir exploiter une API quelconque.
Dans notre cas, vous avez également besoin de ces identifiants afin de suivre et exécuter le reste du tutoriel.
Si vous avez oublié ou vous ne maitrisez pas par coeur, nous vous suggerons cette page afin de les récupérer.
Les paramètres dont vous avez besoin sont: authKey=rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
, apiKey=rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Ensuite, encodez ces paramètres en base64 en suivant cet exemple en php: <?php $token = base64_encode($authKey.':'.$apiKey) ?>
Assurez-vous d'utiliser les paramètres dans l'ordre. Sans celà, votre code ne marchera pas.
L'URL de base à utiliser est: https://react-sms.com/messages
Les points de terminaison sont:
/get_balance
requête GET pour recupérer le solde |response_code:200
/get_contacts
requête GET pour recupérer les contacts |response_code:200
/get_services
requête GET pour recupérer les services |response_code:200
/send
requête POST pour envoyer un nouveau message |response_code:201
/create_service
requête POST pour créer un service |response_code:201
Pour envoyer des SMS, il faut aussi la clé du service concerné appelé service key
.
C'est-à-dire le service au compte duquel vous souhaitez envoyer le SMS.
Cette clé, vous pouvez la retrouver dans la liste de vos services.
Elle est constituée de 06 chiffres
.
Exemple: <?php $serviceKey="0OOOOO" ?>
Les codes d'erreur utiles sont:
400:unauthorize
500:server error
404:resource not found
201:created
200:OK
PHP Source Code
Les paramètres pour envoyer un message sont:message
|string
| obligatoirenumbers
|array
| obligatoire | Ex:[(object)['zip_code'=>"+225","number"=>"07XXXXXXXX"],...]
serviceKey
|string
| obligatoirecallback_url
|string
| facultatifintervalle
|string
| facultatif | Ex:'2022/12/21-2022/12/22'
heure
|string
| facultatif | Ex:'19:20'
frequence
|integer
| facultatifis_group
|boolean
| facultatif
/send
POST
//POST Request
//Envoi de SMS massifs
<?php
// Authentification ID
$authKey = "rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$apiKey = "rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = base64_encode($authKey.":".$apiKey);
$serviceKey = "000000";
// Payload
$base_url = "https://react-sms.com/messages";
$endpoint = "send";
$numbers = [
(object) ["zip_code":"+225", "number":"07XXXXXXXX"],
(object) ["zip_code":"+225", "number":"01XXXXXXXX"]
];
$message = "Bonjour, c'est juste un test !";
public function send_sms() {
$payload = [
"message" => $this->message,
"numbers" => $this->numbers,
"serviceKey" => $this->serviceKey
];
$headers = array(
"Accept: application/json",
"Authorization: Bearer ".$this->token,
);
try {
$ch = curl_init($this->base_url."/".$this->endpoint);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if($err) {
return $err;
} else {
return $response;
}
} catch(\Exception $e) {
return $e->getMessage();
}
}
// Execute code
echo $this->send_sms();
Exemple de reponse JSON
// Response code 201
// Send SMS result data:
{
"message_body": {
"message": "Bonjour, c'est juste un test !",
"segment": 1,
"callback_url": null,
"adresse_ip": "127.0.0.1",
"smsid": "SMS1671658179",
"intervalle_date_envoi": null,
"heure_envoi": null,
"frequence_envoi": 1,
"frequence_envoi_restant": 1,
"created_at": "2022-12-21T21:29:39.000000Z",
"updated_at": "2022-12-21T21:29:39.000000Z"
},
"serviceKey": "000000",
"apiKey": "rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"sms_status": "attente",
"to": "[{\"zip_code\":\"+225\",\"number\":\"07XXXXXXXX\"},{\"zip_code\":\"+225\",\"number\":\"01XXXXXXXX\"}]"
}
PHP Source Code
Les paramètres pour recupérer la balance sont:- Aucun paramètre à soumettre
/get_balance
GET
GET
. Il suffit de modifier le endpoint
//GET Request
//Get balance
<?php
// Authentification ID
$authKey = "rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$apiKey = "rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = base64_encode($authKey.":".$apiKey);
// Payload
$base_url = "https://react-sms.com/messages";
$endpoint = "get_balance";
public function get_balance() {
$headers = array(
"Accept: application/json",
"Authorization: Bearer ".$this->token,
);
try {
$ch = curl_init($this->base_url."/".$this->endpoint);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if($err) {
return $err;
} else {
return $response;
}
} catch(\Exception $e) {
return $e->getMessage();
}
}
// Execute code
echo $this->get_balance();
Exemple de reponse JSON
// Response code 200
// Get SMS balance result data:
{
"balance": 199,
"request_date": "2022-12-21 23:10:20"
}
PHP Source Code
Les paramètres pour créer un service sont:service_name
|string
| obligatoirequota_sms
|integer
| obligatoire | Default:0
active_quota
|boolean
| obligatoiredescription
|string
| obligatoire
/create_service
POST
//POST Request
//Create service
<?php
// Authentification ID
$authKey = "rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$apiKey = "rs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = base64_encode($authKey.":".$apiKey);
// Payload
$base_url = "https://react-sms.com/messages";
$endpoint = "create_service";
$service_name = "service test";
$quota_sms = 0;
$active_quota = false;
$description = "juste un test";
public function create_service() {
$payload = [
"service_name" => $this->service_name,
"quota_sms" => $this->quota_sms,
"active_quota" => $this->active_quota,
"description" => $this->description
];
$headers = array(
"Accept: application/json",
"Authorization: Bearer ".$this->token,
);
try {
$ch = curl_init($this->base_url."/".$this->endpoint);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if($err) {
return $err;
} else {
return $response;
}
} catch(\Exception $e) {
return $e->getMessage();
}
}
// Execute code
echo $this->create_service();
Exemple de reponse JSON
// Response code 201
// Create service result data:
{
"service_name": "service test",
"quota_sms": 0,
"active_quota": false,
"description": "juste un test",
"serviceKey": "041853",
"already_exists": false
}