Introduction
WhatsFlow expose une API REST complète (v1) permettant d'envoyer des messages, de gérer des sessions WhatsApp et d'écouter des événements en temps réel via des webhooks.
API RESTful
Endpoints simples pour le texte et les médias.
Webhooks
Réception instantanée des messages et statuts.
Sécurité HMAC
Payloads signés pour garantir l'intégrité.
Haute Disponibilité
Infrastructure scalable basée sur BullMQ.
Authentification
Toutes les requêtes vers l'API v1 doivent inclure votre clé API dans le header X-API-Key.
Vous pouvez générer vos clés API dans vos Paramètres Développeur.
curl -X GET "https://api.unlineservice.com/api/v1/sessions" \
-H "X-API-Key: wf_your_api_key_here"Endpoints API
Swagger UIEnvoyer un message
POST /api/v1/messages
curl -X POST "https://api.unlineservice.com/api/v1/messages" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "session_id",
"to": "2376XXXXXXXX@s.whatsapp.net",
"text": "Bonjour depuis l\'API WhatsFlow !"
}'Créer une session
POST /api/v1/sessions
curl -X POST "https://api.unlineservice.com/api/v1/sessions" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "label": "Mon Service Web" }'Webhooks
Les webhooks vous permettent de recevoir des notifications lorsque des événements surviennent sur votre compte WhatsApp.
Payload standard
{
"event": "message.received",
"payload": {
"sessionId": "...",
"messageId": "...",
"remoteJid": "237... @s.whatsapp.net",
"content": "Salut !",
"timestamp": 1716285600
},
"timestamp": "2026-05-21T13:45:00Z"
}Vérification de la signature
WhatsFlow signe chaque requête avec HMAC-SHA256. Le secret est unique à chaque webhook. La signature est envoyée dans le header X-WhatsFlow-Signature.
const crypto = require('crypto');
const signature = req.headers['x-whatsflow-signature'];
const body = JSON.stringify(req.body);
const expected = crypto.createHmac('sha256', WEBHOOK_SECRET)
.update(body).digest('hex');
if (signature === expected) { /* Authentique */ }