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
5
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 en UTF-8. Pas de longueur maximale : 160 caractères par segment, chaque segment décompté comme un SMS. Avec lien_court=1, les URL sont raccourcies avant ce décompte. Le symbole € est accepté mais compte pour 2 caractères, comme ~ [ ] { } | et le saut de ligne. Le caractère & est supprimé, les balises HTML retirées.
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.
lien_court integer optionnel Mettre à 1 pour remplacer les URL du message par des liens courts go6.fr, avec un code unique par destinataire et suivi des clics. Voir le détail plus bas.
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é.
FORBIDDEN_WORDS Le message contient des mots interdits (vulgarité, contenu adulte, haine, drogue), listés dans le champ words. 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
Raccourcir les liens du message

Avec lien_court=1, chaque URL http:// ou https:// présente dans le texte est remplacée par un lien court go6.fr. Chaque destinataire reçoit un code différent : les clics sont donc attribuables au numéro, et pas seulement comptés globalement.

curl -X POST https://www.smsboost.com/ApiSmsPro.php \ -H "Authorization: Bearer smb_votre_token_ici" \ -d texte="Promo -20% : https://boutique.fr/promo-ete?utm_source=sms" \ -d numero=0612345678 \ -d lien_court=1

Le SMS effectivement envoyé devient : Promo -20% : go6.fr/aB3xY9

  • Le lien est créé automatiquement dans votre espace Liens courts, où vous retrouvez ses statistiques. Si un lien actif de votre compte pointe déjà sur la même URL, il est réutilisé plutôt que dupliqué.
  • 3 URL au maximum sont raccourcies par message ; les suivantes sont laissées telles quelles.
  • Seuls http:// et https:// sont pris en charge. Les autres schémas et les URL de plus de 2 048 caractères sont ignorés, sans erreur.
  • Le raccourcissement ne bloque jamais l'envoi : s'il échoue, le SMS part avec l'URL d'origine.
  • Un lien go6.fr occupe 13 caractères : le message raccourci est généralement plus court qu'avec l'URL d'origine.

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 }
Plusieurs webhooks par compte

Un compte peut avoir jusqu'a 20 webhooks (par exemple un par magasin). Chaque statut est envoye a tous les webhooks actifs, chacun signe avec son propre secret. Un webhook qui recoit le statut d'un SMS qu'il ne connait pas doit simplement repondre 200.

Installer un webhook par l'API — POST /ApiSmsProWebhook.php

Votre application installe son webhook elle-meme quand le client saisit son token API : plus besoin de copier l'URL et le secret a la main. Parametres : api_key (ou en-tete Authorization: Bearer), action (installer par defaut, supprimer, lister), url (HTTPS), nom (optionnel, ex. le nom du magasin). installer est idempotent : la meme URL renvoie le meme webhook et le meme secret. lister ne renvoie jamais les secrets.

// installer { "status": "ok", "id_webhook": 42, "secret": "whsec_3f1c...", "cree": true }

Erreurs : AUTH_FAILED, RATE_LIMITED, INVALID_PARAMS (URL refusee ou action inconnue), LIMIT_REACHED (20 webhooks deja configures), NOT_FOUND (supprimer : aucun webhook sur cette URL).

Envoyer un mailing marketing

POST /ApiSmsProMailing.php

Soumet une campagne complète en un seul appel, au lieu de boucler sur /ApiSmsPro.php. La campagne est créée dans votre espace client et reste consultable dans Statistiques > Campagnes. Route marketing : la mention STOP est ajoutée automatiquement. Maximum 20 000 destinataires par appel.

Ajoutez simulation=1 pour obtenir le nombre de destinataires retenus et le coût en crédits sans rien envoyer ni débiter. C'est le point d'entrée recommandé pour intégrer l'API.
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. Supporte le tag NomContact (remplacé par le nom du destinataire), {LIEN} (lien court unique par destinataire, nécessite lien_court_id) et vos balises de champs personnalisés {CLE} / {CLE|secours} (insensibles à la casse). Une balise sans champ correspondant sur votre compte refuse l'appel entier avec INVALID_PARAMS.
contacts JSON requis Tableau [{"numero":"0612345678","nom":"Dupont","champs":{"VILLE":"Lyon"}}, ...], 20 000 entrées maximum. champs est facultatif par contact : ses clés sont vos clés de balises, une valeur numérique accepte un nombre JSON ou une chaîne avec virgule ou point, une valeur de champ date ou date-heure accepte JJ/MM/AAAA, JJ-MM-AAAA ou AAAA-MM-JJ (avec une heure HH:MM ou HHhMM pour un champ Date et heure). Fournissez exactement un des deux paramètres contacts ou id_liste : les deux ensemble sont refusés.
id_liste integer requis Identifiant d'une liste existante de votre espace client, en alternative à contacts.
filtre JSON optionnel Ne s'utilise qu'avec id_liste. Sélectionne les contacts de la liste selon leurs champs personnalisés : {"mode":"et|ou","conditions":[{"champ":"VILLE","op":"egal","valeur":"Lyon"}]}, 10 conditions maximum. Opérateurs texte : egal, contient, commence_par, vide, non_vide. Opérateurs nombre : egal, different, inf, inf_egal, sup, sup_egal, entre, vide, non_vide. Opérateurs date et date-heure : egal, avant, apres, entre, prochains_jours, plus_de_jours, moins_de_jours, anniversaire, anniversaire_dans, anniversaire_prochains_jours, vide, non_vide ; valeur est une date AAAA-MM-JJ ou JJ/MM/AAAA (sans heure) pour egal/avant/apres/entre, un nombre de jours de 0 à 3650 pour prochains_jours/plus_de_jours/moins_de_jours/anniversaire_dans (un seul jour, exactement N jours après lx27envoi), de 0 à 365 pour anniversaire_prochains_jours (toute la période du jour dx27envoi au jour dx27envoi + N), absente pour anniversaire. Les opérateurs relatifs (prochains_jours, plus_de_jours, moins_de_jours, anniversaire, anniversaire_dans, anniversaire_prochains_jours) se calculent par rapport au jour où le mailing part réellement : le jour du paramètre date, sinon aujourd'hui. Les SMS différés ne partent que de 8h à 20h, du lundi au samedi hors jours fériés : une date à 20h ou plus compte pour le lendemain, puis un dimanche ou un jour férié pour le jour d'envoi suivant (un appel sans date un dimanche est reporté au lendemain à la même heure : il compte pour le lundi, ou pour le mardi si l'appel est fait à 20h ou plus ou si le lundi est férié). Exemple, cibler les anniversaires du jour d'envoi : {"conditions":[{"champ":"NAISSANCE","op":"anniversaire"}]}. Doit être une chaîne JSON valide avec la clé conditions ({"conditions":[]} = aucun filtre) ; fourni avec contacts, illisible ou sans clé conditions, l'appel est refusé (INVALID_PARAMS).
nom_campagne string optionnel Nom de la campagne (par défaut : Mailing du JJ/MM/AAAA HH:MM).
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
pression_jours integer optionnel Exclut les numéros déjà contactés depuis moins de N jours. 0, absent ou négatif désactivent ce filtre ; au-delà de 365, la valeur est ramenée à 365.
lien_court_id integer optionnel Identifiant d'un de vos liens courts, substitué au tag {LIEN} (un code go6.fr par destinataire).
lien_court integer optionnel Mettre à 1 pour remplacer les URL du message par des liens courts go6.fr.
creer_liste integer optionnel Ne s'applique qu'au mode contacts. 1 par défaut. Mettre à 0 pour ne pas enregistrer les contacts dans vos listes. Sans effet en mode id_liste : aucune liste n'est créée, la valeur fournie est renvoyée telle quelle.
simulation integer optionnel Mettre à 1 pour calculer le résultat sans rien envoyer ni débiter.
Réponses

Toutes les réponses sont en JSON avec un champ status.

{ "status": "ok", "id_campagne": 4821, "id_liste": 912, "nom_campagne": "Promo rentree", "nb_destinataires": 1843, "nb_invalides": 12, "nb_doublons": 47, "nb_blacklistes": 31, "nb_exclus_pression": 114, "credits_debites": 1843, "credits_restants": 8157, "differe": 0, "date_envoi": "2026-09-18 14:32:00" }

Conservez id_campagne : c'est la clé à passer à ApiSmsProCampagne.php pour suivre la délivrabilité. En mode simulation (simulation=1), la même structure est renvoyée avec "status": "simulation", id_campagne et id_liste à null, et credits_necessaires à la place de credits_debites : rien n'est envoyé, rien n'est débité. La réponse ajoute alors sans_valeur : un objet JSON {"CLE": nombre_de_contacts_sans_valeur, ...}, une entrée par balise de champ utilisée dans texte (toujours un objet, {} si aucune balise n'est utilisée).

status Signification
RATE_LIMITED Trop de tentatives depuis votre IP
AUTH_FAILED Token absent, inconnu ou révoqué
INVALID_PARAMS contacts et id_liste ensemble ou absents, JSON illisible, liste inconnue, date invalide, filtre fourni sans id_liste ou JSON illisible/invalide, balise de champ inconnue dans texte, clé de champ inconnue ou valeur invalide dans contacts[].champs
EMPTY_MESSAGE Le paramètre texte est vide
FORBIDDEN_WORDS Mot interdit détecté, y compris dans une valeur de champ insérée. La liste est renvoyée dans le champ words
TOO_MANY_RECIPIENTS Plus de 20 000 destinataires
NO_RECIPIENTS Plus aucun destinataire après exclusions, ou aucun contact ne correspond au filtre
INSUFFICIENT_CREDITS Crédits insuffisants. Renvoie credits_necessaires et credits_restants
DUPLICATE_CAMPAIGN Campagne identique soumise il y a moins de 10 minutes. Renvoie l'id_campagne existante
PENDING_VALIDATION Compte en attente de validation. Campagne créée mais bloquée. Renvoie l'id_campagne
SUBMISSION_FAILED Échec technique. La soumission est entièrement annulée : rien n'est envoyé, rien n'est débité
Exemple cURL
curl -X POST https://www.smsboost.com/ApiSmsProMailing.php \ -H "Authorization: Bearer smb_votre_token_ici" \ -d texte="Bonjour NomContact, -20% ce week-end !" \ -d nom_campagne="Promo rentree" \ -d contacts='[{"numero":"0612345678","nom":"Dupont"},{"numero":"0712345678","nom":"Martin"}]'
Exemple avec champs personnalisés par contact
curl -X POST https://www.smsboost.com/ApiSmsProMailing.php \ -H "Authorization: Bearer smb_votre_token_ici" \ -d texte="Bonjour {PRENOM|client}, vous avez {POINTS|0} points !" \ -d contacts='[{"numero":"0612345678","champs":{"PRENOM":"Marie","POINTS":120}}]'
Exemple avec un filtre sur une liste
curl -X POST https://www.smsboost.com/ApiSmsProMailing.php \ -H "Authorization: Bearer smb_votre_token_ici" \ -d texte="Bonjour NomContact, vous avez {POINTS} points !" \ -d id_liste=912 \ -d filtre='{"mode":"et","conditions":[{"champ":"POINTS","op":"sup_egal","valeur":100}]}'

Statut d'une campagne

POST /ApiSmsProCampagne.php

Renvoie les compteurs agrégés d'une campagne soumise via ApiSmsProMailing.php, sans avoir à interroger chaque message un par un.

Paramètres
Paramètre Type Description
api_key string requis Votre token API (ou utilisez le header Authorization: Bearer). Voir Authentification
id_campagne integer requis Identifiant renvoyé par ApiSmsProMailing.php
Réponse JSON — Succès
{ "status": "ok", "id_campagne": 4821, "nom": "Promo rentree", "route": "MARKETING", "signature": "MaMarque", "date_envoi": "2026-09-18 14:32:00", "differe": 0, "bloque": 0, "nb_destinataires": 1843, "nb_delivres": 1790, "nb_echecs": 24, "nb_en_attente": 29, "nb_stop": 3, "nb_clics": 212 }
Champ Description
bloque 1 si la campagne est en attente de validation par notre équipe
nb_destinataires Nombre de SMS de la campagne
nb_delivres SMS reçus par le destinataire
nb_echecs SMS non délivrés (numéro inexistant, hors service...)
nb_en_attente SMS pas encore partis ou dont l'accusé de réception n'est pas revenu
nb_stop Destinataires ayant répondu STOP (ajoutés automatiquement à votre blacklist)
nb_clics Clics sur les liens courts go6.fr de la campagne

Tant que tous les accusés de réception ne sont pas revenus, nb_delivres + nb_echecs + nb_en_attente = nb_destinataires. Seule exception connue : une campagne rejetée par la modération (premier mailing refusé) voit ses SMS supprimés sans que nb_destinataires soit recalculé — les trois compteurs renvoient alors 0 alors que nb_destinataires garde son volume d'origine.

Réponse JSON — Erreur
{ "status": "error", "message": "Campagne introuvable" }

Une campagne appartenant à un autre compte renvoie la même réponse qu'un identifiant inexistant.

Exemple cURL
curl -X POST https://www.smsboost.com/ApiSmsProCampagne.php \ -H "Authorization: Bearer smb_votre_token_ici" \ -d id_campagne=4821

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"

Alimenter une liste de contacts

POST /ApiSmsProContacts.php

Ajoute ou met à jour des contacts (et leurs champs personnalisés) dans une liste existante de votre compte, au fil de l'eau (après chaque passage en caisse, chaque commande...). Cet appel n'envoie aucun SMS, ne débite aucun crédit et ne passe pas par la modération : c'est uniquement de la donnée.

Mode « ajouter ou mettre à jour » uniquement : un contact absent de l'appel n'est pas touché. Un contact est identifié par son numéro mobile dans la liste, quelle que soit la forme sous laquelle il y a été enregistré (0612345678, 33612345678 ou 612345678) : il est alors mis à jour, pas créé en double. Un nouveau contact est enregistré au format 0612345678, comme depuis l'espace client. Un contact désabonné reste désabonné : ses champs et son nom sont mis à jour, mais il n'est jamais réabonné par cette API. Un numéro blacklisté est accepté et enregistré normalement, seulement signalé dans la réponse.

Paramètres
Paramètre Type Description
api_key string requis Votre token API (ou utilisez le header Authorization: Bearer). Voir Authentification
id_liste integer requis Identifiant de la liste à alimenter (existante, appartenant à votre compte)
contacts string (JSON) requis Tableau JSON de 1 à 5000 contacts : {numero, nom?, champs?}. La clé champs est un objet {"CLE": valeur} (voir ApiSmsProChamps.php)

numero : mobile français, 06/07, 6/7, 336/337, +33 ou 0033, espaces, points et tirets acceptés (06.12.34.56.78). nom : texte, 60 caractères maximum après nettoyage (balises HTML retirées, sauts de ligne remplacés par une espace) ; absent ou null, il reste inchangé pour un contact existant (vide pour un nouveau) ; "" l'efface.

Une clé de champ inconnue, ou une valeur invalide pour le type du champ, refuse l'appel entier (tout ou rien) : rien n'est écrit. null ou "" efface la valeur existante, une clé absente la laisse inchangée. Formats : texte 255 caractères maximum ; nombre JSON ou chaîne avec virgule ou point ; date JJ/MM/AAAA, JJ-MM-AAAA ou AAAA-MM-JJ ; date et heure, les mêmes suivis de HH:MM, ou AAAA-MM-JJTHH:MM. Une même clé écrite deux fois à la casse près ("prenom" et "PRENOM") est acceptée si les deux valeurs sont identiques, refusée sinon.

Réponse JSON — Succès
{ "status": "OK", "id_liste": 12, "recus": 345, "crees": 3, "mis_a_jour": 340, "desabonnes": 2, "blacklistes": 1 }
Réponses
status Signification
RATE_LIMITED Trop de tentatives depuis votre IP
AUTH_FAILED Token absent, inconnu ou révoqué
LIST_NOT_FOUND id_liste absent, invalide, ou appartenant à un autre compte
INVALID_PARAMS contacts absent, illisible, vide, de plus de 16 Mo ou de plus de 5000 éléments, ou au moins une erreur par contact (détail dans la clé erreurs, jusqu'à 50 messages)
SERVER_ERROR Écriture impossible, ou liste occupée plus de 10 s par un autre appel sur la même liste ; rien n'est enregistré, réessayez
Exemple cURL — création de 2 contacts avec PRENOM et DATE_DERNIERE_COMMANDE
curl -X POST https://www.smsboost.com/ApiSmsProContacts.php \ -H "Authorization: Bearer smb_votre_token_ici" \ --data-urlencode id_liste=12 \ --data-urlencode contacts='[{"numero":"0612345678","nom":"Dupont","champs":{"PRENOM":"Marie","DATE_DERNIERE_COMMANDE":"28/09/2026"}},{"numero":"0698765432","nom":"Martin","champs":{"PRENOM":"Paul","DATE_DERNIERE_COMMANDE":"27/09/2026"}}]'
Exemple cURL — mise à jour de DATE_DERNIERE_COMMANDE après une commande
curl -X POST https://www.smsboost.com/ApiSmsProContacts.php \ -H "Authorization: Bearer smb_votre_token_ici" \ --data-urlencode id_liste=12 \ --data-urlencode contacts='[{"numero":"0612345678","champs":{"DATE_DERNIERE_COMMANDE":"28/09/2026"}}]'

--data-urlencode encode le JSON : un & ou un + dans un nom ou une valeur arrive intact (avec -d, il couperait ou modifierait le paramètre).

Lister vos champs personnalisés

POST /ApiSmsProChamps.php

Renvoie la liste des champs personnalisés définis sur votre compte (clé de balise, nom, type). Utile pour construire dynamiquement un mapping dans une intégration tierce (Zapier, Make, CRM...) sans coder vos clés en dur.

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", "champs": [ { "cle": "PRENOM", "nom": "Prenom", "type": "texte" }, { "cle": "POINTS", "nom": "Points fidelite", "type": "nombre" }, { "cle": "NAISSANCE", "nom": "Date de naissance", "type": "date" } ] }
Réponses
status Signification
RATE_LIMITED Trop de tentatives depuis votre IP
AUTH_FAILED Token absent, inconnu ou révoqué
Exemple cURL
curl -X POST https://www.smsboost.com/ApiSmsProChamps.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