Démarrer
Envoyer
Chaque envoi porte votre clé anti-doublon. En nombre, mettez en file.
idempotencyKey
Chaque envoi exige idempotencyKey, de 8 à 200 caractères, choisie par vous et unique par message — un numéro de commande et une étape, par exemple. Deux envois avec la même clé n'envoient qu'une fois : le second rend le premier message avec duplicate: true, même si la fenêtre s'est fermée entre-temps. Après un délai dépassé, renvoyez sans crainte.
queue: true
Par défaut, un envoi attend que WhatsApp accepte le message et rend son état. Avec queue: true, il rend tout de suite un HTTP 202 et status: "queued" ; le message part dans la minute. Suivez-le avec les webhooks message.sent, message.delivered, message.read et message.failed.
curl https://nodium.io/api/v1/inbox/conversations/<id>/template \ -H "Authorization: Bearer $NODIUM_KEY" \ -H "Content-Type: application/json" \ -d '{ "templateId": "<id>", "variables": { "1": "Karim" }, "idempotencyKey": "campaign-42-contact-981", "queue": true }'# → 202 Accepted, "status": "queued". It leaves within a minute;# message.sent or message.failed tells you how it went.Les états
queued— en attente de départ (queue: true).sending— en cours de remise à WhatsApp.sent— accepté par WhatsApp.delivered,read— remontés par WhatsApp. Un état ne recule jamais.failed— refusé, tout de suite ou plus tard ;errordit pourquoi.
Boutons et listes
Sur WhatsApp, POST /inbox/conversations/{id}/messages accepte un form : jusqu'à 3 boutons, une liste de 10 lignes au plus, ou une demande de position. Le choix du client revient dans message.received avec reply: { id, title } — l'id que vous avez posé.