Endpoint
x-api-key: <api_key>
La différence avec /messages/send est le champ scheduledAt.
Paramètres
Body
| Champ | Type | Requis | Description |
|---|---|---|---|
instanceId | UUID | oui | Instance WhatsApp |
to | string | oui | Numéro destinataire |
scheduledAt | ISO 8601 | oui | Date future d’envoi |
type | enum | oui si pas de templateId | Type du message libre |
templateId | UUID | oui si pas de type | Template à rendre |
variables | object | non | Valeurs custom.* |
Exemple
Les autres champs suivent les mêmes règles que Envoyer un message.
Réponse
queued jusqu’au traitement effectif.
Erreurs courantes
| Code | HTTP | Quand |
|---|---|---|
VALIDATION_ERROR | 400 | Body invalide |
TEMPLATE_INVALID | 400 | Template invalide |
TEMPLATE_VARIABLES_MISSING | 400 | Variables template manquantes |
NOT_FOUND | 404 | Instance, contact ou template introuvable |
MONTHLY_OUTBOUND_QUOTA_EXCEEDED | 429 | Quota déjà épuisé au moment de la planification |
Règles importantes
scheduledAtest attendu en UTC- une date passée est acceptée et conduit à un envoi immédiat
- le quota mensuel est vérifié à la planification puis au moment de l’envoi effectif
- si l’instance est déconnectée lors du traitement, le message passe en
failed - les messages planifiés survivent à un redémarrage grâce à BullMQ + Redis