Documentation API SMS
Référence complète des flux et des structures de données pour intégrer l'envoi de SMS dans vos applications.
Concepts Clés
Authentification
Toutes les requêtes vers notre API doivent être authentifiées. Pour ce faire, incluez l'en-tête HTTP X-API-Key
avec votre clé d'API personnelle à chaque appel.
X-API-Key: VOTRE_CLE_API_PERSONNELLE
Le paramètre customer_campaign_id
Ce paramètre est un identifiant de chaîne de caractères que vous définissez. Il est extrêmement utile pour le suivi et le regroupement de vos envois. Il peut servir à la fois d'ID unique pour une campagne marketing (ex: promo_noel_2025
) ou de tag pour regrouper des envois transactionnels (ex: otp_validation
).
Envoyer un SMS Unitaire
Cet endpoint permet d'envoyer un message unique à un seul destinataire.
POST
/apiCall/send_sms
En-têtes HTTP
Clé
Description
X-API-Key
Votre clé d'API personnelle.
Corps de la requête (application/x-www-form-urlencoded
)
ParamètreTypeObligatoireDescription
msisdn
stringOuiNuméro du destinataire au format international (ex: +33612345678).
message
stringOuiContenu du message à envoyer.
sender
stringOuiNom de l'expéditeur (max 11 caractères).
customer_campaign_id
stringNonTag optionnel pour le suivi.
Exemple de Réponse Favorable
{
"success": true,
"message": "SMS envoyé avec succès",
"data": {
"ticket_sms": "TICKET-FROM-PROVIDER-123",
"sms_count": 1,
"cost": 0.045,
"unicode": false,
"credits_remaining": 123.45
}
}
Exemple de Réponse d'Erreur
{
"success": false,
"message": "Crédits insuffisants. Il vous manque 0.05 €."
}
Paramètre
Type
Obligatoire
Description
msisdn
string
Oui
Numéro du destinataire au format international (ex: +33612345678).
message
string
Oui
Contenu du message à envoyer.
sender
string
Oui
Nom de l'expéditeur (max 11 caractères).
customer_campaign_id
string
Non
Tag optionnel pour le suivi.
{
"success": true,
"message": "SMS envoyé avec succès",
"data": {
"ticket_sms": "TICKET-FROM-PROVIDER-123",
"sms_count": 1,
"cost": 0.045,
"unicode": false,
"credits_remaining": 123.45
}
}
{
"success": false,
"message": "Crédits insuffisants. Il vous manque 0.05 €."
}
Soumettre une Campagne
Cet endpoint permet de soumettre un envoi en masse à plusieurs destinataires.
POST
/apiCall/campaign
Exemple de Réponse Favorable
{
"success": true,
"message": "Campagne enregistrée pour traitement.",
"data": {
"valid_recipients": 9998,
"invalid_recipients": 2,
"total_cost_estimated": 449.91
}
}
Endpoints de Consultation
Vérifier le solde
GET
/apiCall/check_credit
{
"success": true,
"message": "",
"data": {
"credit_balance_euros": 123.45
}
}
Statistiques par ID (Campagne ou Tag)
GET
/apiCall/stats_by_id?customer_campaign_id=...
{
"success": true,
"message": "",
"data": {
"id_campaign_customer": "promo_noel_2025",
"total_sent": 5000,
"delivered": 4850,
"pending": 50,
"failed": 100
}
}
Statut d'un SMS par Ticket
GET
/apiCall/sms_status?id=...
{
"success": true,
"message": "",
"data": {
"remote_ticket": "TICKET-FROM-PROVIDER-123",
"status": "delivered",
"delivered_at": "2025-06-21T10:05:30Z"
}
}