Toutes les routes de messagerie sont préfixées parDocumentation Index
Fetch the complete documentation index at: https://docs.waaconnect.com/llms.txt
Use this file to discover all available pages before exploring further.
/sessions/:sessionId/ et nécessitent le header x-api-key.
Envoyer un texte
POST /v1/sessions/:sessionId/send
Envoie un message texte à un contact individuel.
UUID de la session
Numéro de téléphone (sans
+) ou JID complet (22997000000@s.whatsapp.net)Texte du message
Réponse 200
Envoyer (sessionId en body)
POST /v1/sessions/api/send
Envoie un message avec le sessionId dans le corps — utile pour les intégrations sans paramètre URL dynamique.
UUID de la session
Numéro ou JID du destinataire
Texte du message
cURL
Envoyer un média
POST /v1/sessions/:sessionId/send-media
Envoie un média : image, vidéo, audio ou document.
Numéro ou JID du destinataire
Type de média :
image, video, audio, documentURL publique du fichier média
Type MIME du fichier
Légende affichée sous le média
Nom du fichier (pour
document)true pour envoyer en note vocale (audio uniquement)cURL
Message interactif
POST /v1/sessions/:sessionId/send-interactive
Envoie un message interactif avec boutons ou liste de sélection.
Numéro ou JID du destinataire
Texte principal du message
Titre affiché en haut du message
Texte affiché en bas du message
Boutons d’action (types :
reply, url, phone, copy)Sections de liste de sélection
type | Champs supplémentaires |
|---|---|
reply | text |
url | text, url |
phone | text, phoneNumber |
copy | text, copyCode |
Réponse 200
Document / Contact / Localisation
POST /v1/sessions/:sessionId/messages/rich
Envoie un document, un contact ou une localisation.
Numéro ou JID du destinataire
true si le destinataire est un groupeURL du document à envoyer
Nom du fichier
Nom du contact à partager
Téléphone du contact à partager
Latitude de la localisation
Longitude de la localisation
Nom du lieu
Adresse du lieu
Campagne
POST /v1/sessions/:sessionId/messages/campaign
Envoi en masse personnalisé avec template et délai anti-ban.
Liste des contacts — chaque entrée doit avoir
jid (requis) et
optionnellement nameTemplate du message. Utilisez
{name} pour personnaliser par contact.Délai en millisecondes entre chaque envoi (défaut :
0)cURL
Réponse 200
Envoi massif
POST /v1/sessions/:sessionId/messages/bulk-send
Alias de /v1/sessions/:sessionId/messages/campaign. Même corps et même réponse.
Variations
POST /v1/sessions/:sessionId/messages/variations
Envoie une variation aléatoire parmi plusieurs messages vers un même destinataire.
Numéro ou JID du destinataire
Liste des variantes du message à envoyer aléatoirement
true si le destinataire est un groupeDélai entre les envois en millisecondes
cURL
Réponse 200
Message programmé
POST /v1/sessions/:sessionId/messages/schedule
Programme un message texte en one-shot, envoyé après un délai.
Numéro ou JID du destinataire
Texte du message
Délai avant envoi en millisecondes
true si le destinataire est un groupecURL
Réponse 200
Message récurrent
POST /v1/sessions/:sessionId/messages/recurring
Programme un message récurrent envoyé à intervalles réguliers.
Numéro ou JID du destinataire
Texte du message
Intervalle de répétition en millisecondes (ex :
86400000 pour 24h)true si le destinataire est un groupecURL
Réponse 200
Simulation de saisie
POST /v1/sessions/:sessionId/messages/typing
Simule la saisie en cours puis envoie le message.
Numéro ou JID du destinataire
Texte à envoyer après la simulation de saisie
Durée de la simulation de saisie en millisecondes
true si le destinataire est un groupecURL
Réponse 200
Historique
GET /v1/sessions/:sessionId/messages
Historique des messages sortants enregistrés en base.
Nombre max de résultats (défaut :
50, max : 200)Filtre par statut :
PENDING, SENT, FAILEDFiltre par destinataire exact (JID)
cURL
Réponse 200
Messages reçus
GET /v1/sessions/:sessionId/incoming
Lit les messages reçus en temps réel (buffer en mémoire, sans base de données). Supporte le long-polling.
Nombre max de messages (défaut :
50, max : 200)Long-poll : attendre jusqu’à X ms un nouveau message (0–30000)
true = vide le buffer après lecture (défaut : true)cURL
Réponse 200

