Une session représente une connexion WhatsApp liée à un numéro de téléphone. Chaque session dispose d’un sessionId (UUID) utilisé dans toutes les requêtes.

Lister

GET /v1/sessions Liste toutes les sessions du compte.
cURL
curl https://api.waaconnect.com/v1/sessions \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx"
Réponse 200
[
  {
    "id": "uuid-session-12",
    "sessionName": "Support Team Session",
    "status": "CONNECTED",
    "qrCode": null,
    "phone": "22997000000@s.whatsapp.net",
    "lastError": null,
    "lastSeen": "2026-03-26T15:20:26.000Z"
  }
]

Créer

POST /v1/sessions Crée une nouvelle session WhatsApp.
name
string
required
Nom de la session
cURL
curl -X POST https://api.waaconnect.com/v1/sessions \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"name": "Support Team Session"}'
Réponse 201
{
  "id": "uuid-session-12",
  "sessionName": "Support Team Session",
  "status": "DISCONNECTED",
  "qrCode": null,
  "phone": null,
  "lastError": null,
  "lastSeen": null
}

Détails

GET /v1/sessions/:sessionId Retourne les détails d’une session spécifique.
sessionId
string
required
UUID de la session
cURL
curl https://api.waaconnect.com/v1/sessions/uuid-session-12 \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx"

Modifier

PATCH /v1/sessions/:sessionId Modifie le nom d’une session.
sessionId
string
required
UUID de la session
sessionName
string
Nouveau nom de la session
cURL
curl -X PATCH https://api.waaconnect.com/v1/sessions/uuid-session-12 \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"sessionName": "Sales Session Benin"}'

Supprimer

DELETE /v1/sessions/:sessionId Supprime définitivement une session et ses données d’authentification.
sessionId
string
required
UUID de la session
cURL
curl -X DELETE https://api.waaconnect.com/v1/sessions/uuid-session-12 \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx"

Statut

GET /v1/sessions/:sessionId/status Récupère le statut de connexion en temps réel (non mis en cache). Valeurs possibles de status
ValeurDescription
DISCONNECTEDSession déconnectée
CONNECTINGConnexion en cours
QR_READYQR code disponible, en attente de scan
CONNECTEDSession connectée et active
PAUSEDSession en pause manuelle
cURL
curl https://api.waaconnect.com/v1/sessions/uuid-session-12/status \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx"
Réponse 200
{
  "id": "uuid-session-12",
  "sessionName": "Support Team Session",
  "status": "CONNECTED",
  "qrCode": null,
  "phone": "22997000000@s.whatsapp.net",
  "lastError": null,
  "lastSeen": "2026-03-26T15:20:26.000Z"
}

Changer le statut

PATCH /v1/sessions/:sessionId/status Change manuellement le statut d’une session.
status
string
required
Statut à appliquer : CONNECTED, DISCONNECTED, CONNECTING, PAUSED
cURL
curl -X PATCH https://api.waaconnect.com/v1/sessions/uuid-session-12/status \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"status": "PAUSED"}'

QR code

GET /v1/sessions/:sessionId/qrcode Récupère le QR code de connexion en base64.
Appelez d’abord POST /sessions/:sessionId/connect pour générer le QR code.
cURL
curl https://api.waaconnect.com/v1/sessions/uuid-session-12/qrcode \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx"
Réponse 200
{
  "sessionId": "uuid-session-12",
  "status": "QR_READY",
  "qrCode": "data:image/png;base64,iVBORw0KGgo...",
  "hasQrCode": true
}

Connecter

POST /v1/sessions/:sessionId/connect Lance la connexion WhatsApp de la session. Génère un QR code à scanner ou reconnecte automatiquement si des credentials existent.
cURL
curl -X POST https://api.waaconnect.com/v1/sessions/uuid-session-12/connect \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx"
Réponse 200
{
  "id": "uuid-session-12",
  "sessionName": "Support Team Session",
  "status": "CONNECTING",
  "qrCode": null,
  "phone": null,
  "lastError": null,
  "lastSeen": null
}

Déconnecter

POST /v1/sessions/:sessionId/disconnect Déconnecte proprement la session sans la supprimer.
cURL
curl -X POST https://api.waaconnect.com/v1/sessions/uuid-session-12/disconnect \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx"
Réponse 200
{
  "id": "uuid-session-12",
  "sessionName": "Support Team Session",
  "status": "DISCONNECTED",
  "qrCode": null,
  "phone": "22997000000@s.whatsapp.net",
  "lastError": "Manual disconnect",
  "lastSeen": "2026-05-09T09:56:56.058Z"
}

Code de pairing

POST /v1/sessions/:sessionId/pairing-code Génère un code de pairing à 8 chiffres (alternative au QR code).
phoneNumber
string
required
Numéro de téléphone sans + ni espaces
cURL
curl -X POST https://api.waaconnect.com/v1/sessions/uuid-session-12/pairing-code \
  -H "x-api-key: wac_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"phoneNumber": "22997000000"}'
Réponse 200
{
  "pairingCode": "ABCD-1234"
}