Aller au contenu
WbizTool

API v2 (bêta)

Numéros

Un numéro est un numéro WhatsApp ou un compte Telegram connecté à votre espace de travail. Son id est le from avec lequel vous envoyez des messages. Avec l'API v2, vous les listez, vous voyez si chacun est connecté, et vous connectez un numéro WhatsApp depuis votre propre application, par code QR ou code d'association.

OpérationEndpointScope
Lister les numérosGET /api/v2/numbersnumbers
Obtenir un numéroGET /api/v2/numbers/{id}numbers
Connecter un numéro WhatsAppPOST /api/v2/numbersnumbers

Une clé limitée à certains numéros ne voit et ne reconnecte que ceux-là, et ne peut pas ajouter de numéro.

Lister les numéros#

GEThttps://wbiztool.com/api/v2/numbers

Tous les numéros de l'espace de travail, les plus anciens d'abord, dans une seule liste data (sans pages).

curl https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{
  "data": [
    {
      "id": 101,
      "phone": "919800000000",
      "label": "Shop",
      "platform": "whatsapp",
      "status": "connected",
      "login_method": "qr",
      "connect": null
    },
    {
      "id": 102,
      "phone": null,
      "label": "",
      "platform": "whatsapp",
      "status": "disconnected",
      "login_method": "qr",
      "connect": null
    }
  ]
}

connect vaut toujours null dans la liste. Pour suivre une connexion, obtenez le numéro.

Obtenir un numéro#

GEThttps://wbiztool.com/api/v2/numbers/{id}

Un numéro. Pendant sa connexion, connect contient le code QR à scanner ou le code d'association à saisir.

curl https://wbiztool.com/api/v2/numbers/102 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{
  "id": 102,
  "phone": null,
  "label": "",
  "platform": "whatsapp",
  "status": "connecting",
  "login_method": "qr",
  "connect": {
    "qr_code_url": "https://…/qr_codes/…png?X-Amz-Signature=…",
    "pairing_code": null,
    "pairing_code_expires_at": null,
    "linking": false,
    "requested_at": "2026-10-18T11:02:15.402Z"
  }
}

Un numéro qui n'existe pas, ou que la clé ne peut pas utiliser, répond 404 number_not_found.

L'objet Numéro#

ChampTypeDescription
idintegerL'identifiant du numéro : le from d'un message ou d'un rappel.
phonestring or nullSes chiffres avec l'indicatif du pays, sans +, comme 919800000000. null pour un nouveau numéro connecté par code QR tant que le code QR n'a pas été scanné.
labelstringSon nom dans le tableau de bord ; "" s'il n'en a pas.
platformstringwhatsapp ou telegram.
statusstringconnected, connecting (une connexion a été demandée au cours des 10 dernières minutes et est toujours en cours) ou disconnected.
login_methodstringComment il se connecte : qr ou phone_code (un code d'association).
connectobject or nullPendant que status vaut connecting, et uniquement dans Obtenir un numéro ; null sinon.

connect contient :

ChampTypeDescription
qr_code_urlstring or nullUn lien vers l'image du code QR à scanner. Chaque appel donne un nouveau lien, valable 10 minutes ; null tant que le serveur n'a pas le code QR.
pairing_codestring or nullPour phone_code : le code à saisir sur le téléphone. null tant qu'il n'est pas prêt.
pairing_code_expires_atstring or nullQuand le code d'association cesse de fonctionner.
linkingbooleantrue une fois le code QR scanné ou le code accepté, pendant que WhatsApp termine l'association.
requested_atstring or nullQuand la connexion a été demandée.

Les messages envoyés avec un numéro disconnected comme from sont tout de même acceptés : ils attendent et partent quand il est de nouveau connecté. Les événements webhook pour les numéros viendront plus tard ; d'ici là, interrogez GET /numbers régulièrement pour repérer un numéro déconnecté.

Connecter un numéro WhatsApp#

POSThttps://wbiztool.com/api/v2/numbers

Corps: JSON (application/json)

Demande à un serveur WbizTool d'ouvrir WhatsApp pour un numéro, afin que vous puissiez l'associer depuis votre propre application ou site web, comme vous le feriez sur Numéros WhatsApp. La réponse est 202 avec le Numéro, au statut connecting. Ensuite, interrogez-le jusqu'à ce qu'il soit connected.

Il faut un forfait qui inclut l'API du code QR ; sinon, la réponse est 403 plan_required. Les comptes Telegram se connectent dans le tableau de bord, pas ici.

Corps

login_methodstringfacultatif

qr (par défaut) : scanner un code QR. phone_code : saisir plutôt un code d'association sur le téléphone, pratique lorsque le téléphone est le seul écran disponible.

phonestringObligatoire pour phone_code

Le numéro WhatsApp à associer, au format international avec +, comme +919876543210. Inutilisé avec qr : le numéro est lu dans WhatsApp après le scan.

number_idintegerfacultatif

Reconnecter ce numéro existant au lieu d'en ajouter un nouveau, par exemple après une déconnexion.

# By QR code
curl -X POST https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"login_method": "qr"}'

# By pairing code, reconnecting number 101
curl -X POST https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"login_method": "phone_code", "phone": "+919876543210", "number_id": 101}'

Le déroulement de la connexion#

  1. Demandez la connexion

    POST /numbers avec login_method (et phone pour un code d'association). Gardez l'id de la réponse. Envoyez une Idempotency-Key pour qu'une nouvelle tentative ne fasse pas la demande deux fois.

  2. Interrogez le numéro toutes les quelques secondes

    GET /numbers/{id} toutes les 2 à 5 secondes tant que status vaut connecting. Le code QR ou le code d'association apparaît dans connect en quelques instants ; d'ici là, ses champs valent null.

  3. Affichez le code QR ou le code d'association

    Code QR : affichez l'image de connect.qr_code_url ; sur le téléphone, ouvrez WhatsApp → Appareils connectés → Connecter un appareil et scannez-la. Chaque lien fonctionne 10 minutes et un nouveau arrive à chaque interrogation : affichez donc toujours le plus récent. Code d'association : sur le téléphone, ouvrez WhatsApp → Appareils connectés → Connecter un appareil → Associer avec le numéro de téléphone, et saisissez le connect.pairing_code de 8 caractères avant connect.pairing_code_expires_at (environ 3 minutes).

  4. Attendez l'état connecté

    Après le scan ou la saisie du code, connect.linking vaut true pendant que WhatsApp termine l'association. Ensuite, status devient connected et phone affiche le numéro. Arrêtez d'interroger.

Si rien ne se passe pendant 10 minutes, la tentative prend fin et status revient à disconnected. Faites une nouvelle demande avec POST /numbers et son number_id.

Pendant qu'un numéro est en cours de connexion, une autre demande pour lui répond 409 connect_in_progress avec son number_id : continuez plutôt d'interroger celui-là.

Erreurs à la connexion#

HTTPCodeQuand
400validation_failedlogin_method n'est ni qr ni phone_code, ou phone_code sans phone
403plan_requiredLe forfait n'inclut pas l'API du code QR
403number_limit_reachedLe forfait n'a plus de place pour un autre numéro
403number_not_allowedLa clé est limitée à certains numéros, et number_id n'en fait pas partie (ou manque)
409already_connectedCe numéro est déjà connecté
409connect_in_progressCe numéro est en cours de connexion ; number_id indique lequel
422invalid_phonephone n'est pas un numéro valide au format international avec +
422number_not_foundnumber_id n'est pas un numéro de cet espace de travail

Voir aussi#