curl --request POST \
--url https://api.waaconnect.com/v1/sessions/{sessionId}/messages/schedule \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"to": "22997000000",
"message": "Rappel : votre rendez-vous est dans 1h.",
"sendAt": "2026-05-21T18:00:00Z"
}
'{
"ok": true,
"scheduledInMs": 3600000,
"sendAt": "2026-05-21T18:00:00.000Z",
"messageId": "uuid-du-message-en-base",
"jobId": "42"
}Campagnes & envois groupés
Message programmé
Programme un message texte en one-shot, persisté dans Redis (survit aux redémarrages)
POST
/
sessions
/
{sessionId}
/
messages
/
schedule
curl --request POST \
--url https://api.waaconnect.com/v1/sessions/{sessionId}/messages/schedule \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"to": "22997000000",
"message": "Rappel : votre rendez-vous est dans 1h.",
"sendAt": "2026-05-21T18:00:00Z"
}
'{
"ok": true,
"scheduledInMs": 3600000,
"sendAt": "2026-05-21T18:00:00.000Z",
"messageId": "uuid-du-message-en-base",
"jobId": "42"
}Le quota journalier est consommé au moment de la programmation, pas à
l’envoi. Si
sendAt est dans le passé, le message est envoyé immédiatement.?status=PENDING. Une fois traité, le statut passe à SENT ou FAILED.
