Skip to Content
Votre documentation est en cours de développement.
BibliothèquesRESTfulCampagnes SMS 📨

Gestion des Campagnes SMS

Les campagnes SMS vous permettent d’envoyer des messages personnalisés à un groupe de destinataires. Notre API REST offre une solution complète pour créer et gérer vos campagnes, avec support pour les messages standards, programmés et répétés.

Fonctionnalités

  • Envoi de messages personnalisés
  • Support des messages programmés
  • Support des messages répétés
  • Gestion des groupes de destinataires
  • Personnalisation des expéditeurs
  • Suivi des campagnes

Types de campagnes

Notre API supporte plusieurs types de campagnes :

  1. Campagnes standards : Envoi immédiat de messages
  2. Campagnes programmées : Envoi à une date et heure précises
  3. Campagnes répétées : Envoi récurrent selon un planning défini

Limites des messages

Les SMS sont soumis à des limites de caractères selon l’encodage utilisé :

  • GSM-7 : 160 caractères par message
  • UCS-2 : 70 caractères par message (pour les caractères spéciaux)
  • Messages longs : Segmentation automatique (153 caractères par segment)
⚠️

Important : Incluez l’indicatif du pays sans le symbole (+) avant le numéro de téléphone. Exemple : “22500000000” pour un numéro ivoirien.

Utilisation

Après avoir initialisé votre API, vous pouvez utiliser les endpoints suivants pour gérer vos campagnes SMS.

Création d’une campagne

POST /v1/campaign/create Content-Type: application/json { "apiKey": "YOUR_API_KEY", "name": "Ma campagne", "contacts": [ { "id": "contact_1", "phone": "22500000000", "sex": "M" }, { "phone": "2250101010101" } ], "groupsIds": ["group_1", "group_2"], "text": "Bonjour !", "senderId": "My Sender", "type": "SMS" }

Création d’une campagne programmée

POST /v1/campaign/create Content-Type: application/json { "apiKey": "YOUR_API_KEY", "name": "Rappel rendez-vous", "contacts": [ { "id": "contact_1", "phone": "22500000000", "name": "John Doe" } ], "groupsIds": ["group_1"], "text": "Rappel : Votre rendez-vous est demain à 10h.", "senderId": "My Sender", "type": "SCHEDULED", "scheduledDate": "2024-03-20T10:00:00Z" // Date et heure d'envoi de la campagne }
⚠️

Important : Les dates programmées doivent être des multiples de 15 minutes. Par exemple : 10:00, 10:15, 10:30, 10:45.

Création d’une campagne répétée

POST /v1/campaign/create Content-Type: application/json { "apiKey": "YOUR_API_KEY", "name": "Rappel hebdomadaire", "contacts": [ { "id": "contact_1", "phone": "22500000000", } ], "groupsIds": ["group_1"], "text": "Rappel hebdomadaire : N'oubliez pas votre séance.", "senderId": "My Sender", "type": "RECURRING", "recurring": { "monday": "2024-03-18T09:00:00Z", // Jour et heure de l'envoi de la campagne "wednesday": "2024-03-20T09:00:00Z", // Jour et heure de l'envoi de la campagne "friday": "2024-03-22T09:00:00Z" // Jour et heure de l'envoi de la campagne } }
⚠️

Important : Les heures de répétition doivent être des multiples de 15 minutes. Par exemple : 09:00, 09:15, 09:30, 09:45. La date n’a pas d’importance, c’est la heure qui compte.

Documentation de l’API

POST /v1/campaign/create

Crée une nouvelle campagne SMS avec les paramètres spécifiés.

NomDescriptionTypeFacultatifValeur par défaut
apiKeyClé APIStringNon-
nameNom de la campagneStringOui
contactsListe des contacts destinatairesArray of Contact ObjectNon
groupsIdsListe des identifiants de groupesArray of StringOui[]
textContenu du messageStringNon
senderIdNom d’expéditeur complet (ex: “My Sender”)StringNon
typeType de campagne”SMS” | “SCHEDULED” | “RECURRING”OuiSMS

Structure des contacts

{ "id": "string", "phone": "string", "name": "string", "firstName": "string", "lastName": "string", "sex": "M" | "F" }

Seul le numéro de téléphone (phone) est obligatoire. Tous les autres champs sont optionnels. Si un contact n’existe pas, il sera automatiquement créé avec les informations fournies.

Liste des campagnes

Vous pouvez récupérer la liste de vos campagnes avec leurs détails de base.

POST /v1/campaign/list Content-Type: application/json { "apiKey": "YOUR_API_KEY", }

Réponse

{ "success": true, "data": [ { "id": "6826f4b75393b60866510ab9", "name": "[SMS du 16/4/2025 à 8:17]", "text": "test msg", "type": "SMS", "scheduledDate": null, "createdAt": "2025-05-16T08:17:59.608Z", "contactCount": 1, "senderIdId": null, "userId": "6825b3719d7998c64a253cc1" } ], "totalCount": 1, "count": 1, "page": 1, "totalPage": 1 }

Paramètres de la liste

NomDescriptionTypeFacultatifValeur par défaut
apiKeyClé APIStringNon-
orderByChamp de tri”firstName” | “lastName” | “phone” | “createdAt”OuicreatedAt
pageNuméro de pageNumberOui1
limitNombre d’éléments par pageNumberOui10

Bonnes pratiques

  1. Longueur des messages : Respectez les limites de caractères
  2. Personnalisation : Utilisez les variables disponibles (@nom_complet, etc.)
  3. Expéditeur : Choisissez un senderId reconnu
  4. Test : Vérifiez vos messages avant envoi
  5. Segmentation : Évitez les messages trop longs
  6. Programmation : Vérifiez les fuseaux horaires pour les campagnes programmées
  7. Répétitions : Testez les campagnes répétées sur un petit groupe
  8. Intervalles : Utilisez des intervalles de 15 minutes pour les campagnes programmées et répétées

Cas d’utilisation

  • Campagnes marketing
  • Notifications clients
  • Alertes et rappels
  • Communications internes
  • Service client
  • Rappels de rendez-vous
  • Alertes de sécurité

FAQ

Comment personnaliser mes messages ?

Utilisez les variables comme @name dans votre texte pour personnaliser automatiquement chaque message.

Comment gérer les messages longs ?

Les messages dépassant la limite de caractères sont automatiquement segmentés, chaque segment étant facturé séparément.

Puis-je envoyer à des groupes ?

Oui, utilisez le paramètre groupsIds pour envoyer à des groupes de contacts prédéfinis.

Comment programmer une campagne ?

Utilisez le type “SCHEDULED” avec le paramètre scheduledDate pour définir la date et l’heure d’envoi.

Comment créer une campagne répétée ?

Utilisez le type “RECURRING” avec le paramètre recurring pour définir les jours et heures de répétition.

Référence API Interactive

Chargement de la documentation API...
Last updated on