Documentation API

Intégrez notre plateforme de marketing dans vos applications avec notre API REST.

Authentification

Toutes les requêtes API nécessitent une clé API que vous pouvez générer depuis votre espace développeur. Incluez votre clé dans le header Authorization de chaque requête.

Authorization: Bearer YOUR_API_KEY

Consulter le solde

GET /balance

Réponse :

{
  "success": true,
  "data": {
    "balance": 150000,
    "currency": "XOF",
    "company": "Votre Entreprise"
  }
}

Envoyer des messages

Envoyer un SMS

POST /sms/messages

Paramètres :

from*Nom de l'expéditeur (11 caractères max)
to*Numéro du destinataire (format international)
content*Contenu du message (160 caractères max)
notifyUrlURL de callback (optionnel)
{
  "from": "YourBrand",
  "to": "2250700000000",
  "content": "Bonjour, votre code de vérification est 123456",
  "notifyUrl": "https://yourapp.com/webhook",
  "messageId": "msg_001"
}

Envoyer un Email

POST /email/messages

Paramètres :

from*Adresse email expéditeur
to*Adresse email destinataire
subject*Objet de l'email
content*Contenu de l'email (HTML supporté)
notifyUrlURL de callback (optionnel)
{
  "from": "contact@votredomaine.com",
  "to": "client@email.com",
  "subject": "Bienvenue !",
  "content": "<h1>Bonjour</h1><p>Merci de votre inscription.</p>",
  "notifyUrl": "https://yourapp.com/webhook"
}

Envoyer un message WhatsApp

POST /whatsapp/messages

Paramètres :

from*Nom de l'expéditeur WhatsApp Business
to*Numéro du destinataire (format international)
templateName*Nom du modèle WhatsApp approuvé
parametersTableau des valeurs pour les variables du template
codeCode OTP (pour les templates d'authentification)
pathChemin de la page (pour les templates utilitaires) si vous avez spécifié un lien dynamique
mediaUrlURL du média (image, vidéo, document)
notifyUrlURL de callback (optionnel)
{
  "from": "2250700000000",
  "to": "2250711111111",
  "templateName": "promo_ete_2024",
  "parameters": [
    "Jean",
    "20%"
  ],
  "path": "/promo/ete/2024",
  "notifyUrl": "https://yourapp.com/webhook"
}

Réponse (commune à tous les canaux) :

{
  "success": true,
  "data": {
    "id": "msg_001",
    "status": "SUBMITTED",
    "submittedAt": "2025-11-20T12:00:00.000Z"
  }
}

Consulter le statut d'un message

GET /sms/messages/:id/status

Remplacez sms par email ou whatsapp selon le canal.

Réponse :

{
  "success": true,
  "data": {
    "id": "msg_001",
    "status": "DELIVERED",
    "sentAt": "2025-11-20T12:00:05.000Z",
    "submittedAt": "2025-11-20T12:00:10.000Z"
  }
}

Codes d'erreur

400Paramètres invalides
401Clé API invalide ou manquante
402Solde insuffisant
404Expéditeur non trouvé ou non approuvé
429Trop de requêtes (rate limit)
500Erreur serveur

Exemple de réponse d'erreur :

{
  "success": false,
  "error": "Insufficient balance. Required: 25 XOF, Available: 10 XOF"
}