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è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.

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 €."
}

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"
    }
}