Aller au contenu

Types d'envoi

Le même endpoint POST /send gère trois modes d’envoi. Le champ sending_type bascule entre eux ; selon la valeur passée vous fournissez soit scheduled_dates, soit recurring_schedule, soit aucun des deux.

sending_typeQuand le SMS partChamps supplémentaires requis
immediate (défaut)Maintenant — en quelques secondesAucun
scheduledÀ chaque entrée de scheduled_datesscheduled_dates: [{date, time}, …]
recurringSuivant recurring_schedulerecurring_schedule: {start_date, end_date, frequency, interval, times}

Si vous omettez sending_type, la passerelle utilise immediate par défaut.

Le cas le plus simple — envoyer maintenant, à un ou plusieurs destinataires.

{
"to": ["+243998857000"],
"message": "Bonjour de Lisoloo !",
"sender_id": "MYAPP",
"sending_type": "immediate"
}

scheduled_dates et recurring_schedule ne doivent pas être présents (la passerelle rejettera avec 1110 INVALID_FIELD_FORMAT si immediate et scheduled_dates arrivent ensemble).

Voir le guide Envoyer un SMS instantané pour les patterns un-vers-plusieurs complets.

Mettez le même message en file pour un ou plusieurs moments futurs. Chaque entrée scheduled_dates devient une expédition séparée.

{
"to": ["+243998857000", "+243998857001"],
"message": "Votre rendez-vous est demain à 09:00.",
"sender_id": "MYAPP",
"sending_type": "scheduled",
"scheduled_dates": [
{ "date": "2026-06-01", "time": "08:00" },
{ "date": "2026-06-01", "time": "18:00" }
]
}

Chaque entrée scheduled_dates est sa propre expédition — l’exemple ci-dessus génère 2 dates × 2 destinataires = 4 SMS, facturés en conséquence. Le message_id retourné couvre l’ensemble du lot ; le polling du statut reflète l’état agrégé.

Schéma — scheduled_date :

ChampTypeDescription
datestringDate calendaire ISO 8601 (YYYY-MM-DD), dans le fuseau horaire marchand configuré.
timestring24 heures HH:mm, même fuseau.

Les paires (date, time) passées sont rejetées. La passerelle évalue la paire dans le fuseau marchand configuré sur votre compte (défaut : Africa/Kinshasa).

Voir le guide Planifier un SMS pour les cas limites d’heure d’été et comment annuler un envoi en file.

Envoyez le même message à une cadence fixe entre start_date et end_date. Utile pour les rappels quotidiens, résumés hebdomadaires, notifications mensuelles.

{
"to": ["+243998857000"],
"message": "Votre résumé hebdomadaire est prêt.",
"sender_id": "MYAPP",
"sending_type": "recurring",
"recurring_schedule": {
"start_date": "2026-06-01",
"end_date": "2026-12-31",
"frequency": "weekly",
"interval": 1,
"times": ["09:00", "18:00"]
}
}

Schéma — recurring_schedule :

ChampTypeDescription
start_datestringPremier jour éligible (YYYY-MM-DD).
end_datestring | nullDernier jour éligible (YYYY-MM-DD). Optionnel — laissez vide pour un planning à durée indéterminée.
frequencyenumdaily, weekly, monthly ou yearly.
intervalintTous les N unités de frequency. 1 = chaque jour/semaine/mois/année ; 2 = un sur deux ; minimum 1.
timesarray[string]Une ou plusieurs heures d’envoi HH:mm par jour d’occurrence.

Voir SMS récurrents pour les patterns d’utilisation.

La passerelle applique les règles suivantes à la soumission :

  • sending_type doit valoir immediate, scheduled ou recurring.
  • sending_type: "scheduled" doit fournir un scheduled_dates non-vide.
  • sending_type: "recurring" doit fournir recurring_schedule.
  • to doit être non-vide et chaque entrée doit faire ≥ 8 caractères après suppression des espaces et tirets.
  • message doit faire 1–1600 caractères.
  • sender_id est optionnel, max 11 caractères.