Documentation API

Introduction

API REST pour l'envoi de SMS depuis vos applications

L'API SMS BOOST vous permet d'intégrer l'envoi de SMS directement dans vos applications, sites web ou logiciels. Tous les endpoints utilisent la méthode HTTP POST et sont accessibles à l'URL de base :

https://www.smsboost.com
3
Endpoints disponibles
POST
Méthode HTTP
Token API
Authentification

Authentification

Toutes les requêtes nécessitent une authentification par token API

Chaque appel API doit inclure votre token API. Vous pouvez le générer depuis votre espace client dans Mon compte > Token API.

Méthode 1 : Header Authorization (recommandé)
Authorization: Bearer smb_votre_token_ici
Méthode 2 : Paramètre POST
api_key=smb_votre_token_ici

En cas de token invalide, l'API retourne :

Mauvais Parametres

Envoyer un SMS Pro

POST /ApiSmsPro.php

Envoie un SMS Pro avec en-tête personnalisé. Le SMS est mis en file d'attente puis expédié immédiatement (ou à la date programmée). Débite 1 crédit SMS Pro.

Paramètres
Paramètre Type Description
api_key string requis Votre token API (ou utilisez le header Authorization: Bearer). Voir Authentification
texte string requis Contenu du SMS (160 caractères max)
numero string requis Numéro de téléphone mobile du destinataire (format français)
signature string optionnel Nom de l'expéditeur. Si absent, utilise l'en-tête par défaut de votre compte.
date string optionnel Date d'envoi programmé au format YYYY-MM-DD HH:MM:SS
route string optionnel Type de route : m = Marketing, sinon Transactionnel (par défaut). En mode Marketing, STOP #SMS# est ajouté automatiquement.
pression_marketing integer optionnel Mettre à 1 pour activer le contrôle de pression marketing. Si le numéro a déjà reçu un SMS de votre compte récemment, l'envoi est refusé (aucun crédit débité).
pression_jours integer optionnel Nombre de jours de recul pour la pression marketing (défaut : 30, min 1, max 365). Utilisé uniquement si pression_marketing=1.
Réponses
Réponse Signification
Envoi OK ID:12345 SMS envoyé avec succès. L'identifiant du message (ID) est retourné pour suivre ensuite son statut de livraison.
Mauvais Paramètres Identifiants invalides
Message vide Le paramètre texte est vide
Credit insuffisant Pas assez de crédits SMS Pro
Format de date invalide Le format de date ne correspond pas à YYYY-MM-DD HH:MM:SS
Erreur sur le numéro Le numéro de téléphone est invalide
EXCLUDED Numéro exclu par pression marketing (déjà contacté récemment). Réponse JSON. Aucun crédit débité.
Exemple cURL
curl -X POST https://www.smsboost.com/ApiSmsPro.php \ -H "Authorization: Bearer smb_votre_token_ici" \ -d texte=Bonjour, votre commande est prête ! \ -d numero=0612345678 \ -d signature=MaBoutique

Statut de livraison d'un SMS

POST /ApiSmsProStatut.php

Retourne le statut de livraison d'un SMS à partir de son identifiant (ID). Cet ID est retourné par l'endpoint d'envoi (réponse « Envoi OK ID:12345 »). Vous ne pouvez consulter que les messages envoyés depuis votre propre compte.

Paramètres
Paramètre Type Description
api_key string requis Votre token API (ou utilisez le header Authorization: Bearer). Voir Authentification
id_message integer requis Identifiant du message (ID) retourné lors de l'envoi
Valeurs possibles du champ statut
statut Signification
delivre Le SMS a été délivré au destinataire
non_delivre Le SMS n'a pas pu être délivré (échec opérateur)
envoye SMS envoyé, en attente de l'accusé de réception de l'opérateur
en_attente SMS en file d'attente, pas encore envoyé
programme Envoi programmé à une date ultérieure
en_attente_validation SMS bloqué en attente de validation par notre équipe
Réponse JSON — Succès
{ "status": "ok", "id_message": 12345, "numero": "33612345678", "statut": "delivre", "libelle": "Message delivre", "date": "2026-06-20 10:00:00", "date_envoi": "2026-06-20 10:00:03", "date_statut": "2026-06-20 10:00:07" }
Réponse JSON — Erreur
{ "status": "error", "message": "Message introuvable" }
Exemple cURL
curl -X POST https://www.smsboost.com/ApiSmsProStatut.php \ -H "Authorization: Bearer smb_votre_token_ici" \ -d id_message=12345

Webhooks de livraison (push)

Recevez les statuts en temps reel, sans polling

Plutot que d'interroger /ApiSmsProStatut.php, configurez une URL de callback dans Mon compte > Webhooks. Des qu'un accuse de reception (DLR) arrive, SMSBoost envoie une requete POST signee a votre URL (HTTPS obligatoire). En cas d'echec, la livraison est re-essayee automatiquement (backoff : 1 min, 5 min, 30 min, 2 h, 6 h).

Corps de la requete (JSON)
{ "event": "sms.status", "id_message": 12345, "numero": "33612345678", "statut": "delivre", "libelle": "Message delivre", "error_code": 0, "date_envoi": "2026-06-20 10:00:03", "date_statut": "2026-06-20 10:00:07", "timestamp": 1750413607 }

Le champ statut prend les memes valeurs que l'endpoint Statut de livraison (delivre, non_delivre, …). Votre endpoint doit repondre avec un code HTTP 2xx ; tout autre code declenche un re-essai.

En-tetes de signature
En-tete Description
X-SMSBoost-Event Type d'evenement (ex: sms.status)
X-SMSBoost-Timestamp Horodatage Unix de l'envoi (anti-rejeu)
X-SMSBoost-Signature sha256=<hex> — HMAC-SHA256 de timestamp + "." + corps avec votre secret
Verification de la signature (PHP)
<?php $secret = 'whsec_votre_secret'; $payload = file_get_contents('php://input'); $timestamp = $_SERVER['HTTP_X_SMSBOOST_TIMESTAMP'] ?? ''; $received = $_SERVER['HTTP_X_SMSBOOST_SIGNATURE'] ?? ''; $expected = 'sha256=' . hash_hmac('sha256', $timestamp . '.' . $payload, $secret); if (hash_equals($expected, $received)) { $data = json_decode($payload, true); // Traitez $data['id_message'], $data['statut'], ... http_response_code(200); } else { http_response_code(403); // signature invalide }

Consulter le solde SMS Pro

POST /ApiSmsProSolde.php

Retourne le nombre de crédits SMS Pro restants sur votre compte. C'est le seul endpoint qui retourne du JSON.

Paramètres
Paramètre Type Description
api_key string requis Votre token API (ou utilisez le header Authorization: Bearer). Voir Authentification
Réponse JSON — Succès
{ "status": "ok", "solde": 1500 }
Réponse JSON — Erreur
{ "status": "error", "message": "Mauvais Parametres" }
Exemple cURL
curl -X POST https://www.smsboost.com/ApiSmsProSolde.php \ -H "Authorization: Bearer smb_votre_token_ici"

Format des numéros de téléphone

Seuls les numéros mobiles français sont acceptés

Les numéros sont automatiquement normalisés au format international. Les caractères non numériques sont supprimés avant validation.

Format accepté Exemple Normalisé en
06XXXXXXXX 0612345678 33612345678
07XXXXXXXX 0712345678 33712345678
6XXXXXXXX 612345678 33612345678
336XXXXXXXX 33612345678 33612345678

Exemples de code

Intégrez l'API dans votre langage préféré

<?php // Envoi d'un SMS Pro via l'API SMSBOOST $token = 'smb_votre_token_ici'; $params = [ 'texte' => 'Bonjour, votre commande est prete !', 'numero' => '0612345678', 'signature' => 'MaBoutique', ]; $ch = curl_init('https://www.smsboost.com/ApiSmsPro.php'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $token]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; // "Envoi OK" en cas de succes
// Envoi d'un SMS Pro via l'API SMSBOOST (Node.js / fetch) const token = 'smb_votre_token_ici'; const params = new URLSearchParams({ texte: 'Bonjour, votre commande est prete !', numero: '0612345678', signature: 'MaBoutique', }); const response = await fetch('https://www.smsboost.com/ApiSmsPro.php', { method: 'POST', headers: { 'Authorization': `Bearer ${token}` }, body: params, }); const result = await response.text(); console.log(result); // "Envoi OK" en cas de succes
# Envoi d'un SMS Pro via l'API SMSBOOST import requests token = 'smb_votre_token_ici' response = requests.post('https://www.smsboost.com/ApiSmsPro.php', headers={'Authorization': f'Bearer {token}'}, data={ 'texte': 'Bonjour, votre commande est prete !', 'numero': '0612345678', 'signature': 'MaBoutique', }) print(response.text) # "Envoi OK" en cas de succes