What's new, 21 October 2026: A customer who sends several messages before the bot's first reply no longer gets the opening sequence of a Chat Flow twice
WASync · Developers

Votre premier appel

Listez les connexions accessibles avec votre clé et vérifiez votre capacité avant d'en provisionner une nouvelle.

URL de base : https://developers.wasync.app/api/v1.

Lister les connexions que vous pouvez utiliser

GET /connections
curl https://developers.wasync.app/api/v1/connections \
  -H "Authorization: Bearer $WASYNC_API_KEY"

Seules les connexions disposant d'une licence active apparaissent. Chacune comporte un provider valant qr ou cloud_api, un id (un cuid — l'identifiant stable à conserver dans l'enregistrement de votre propre client) et un status. Utilise whatsapp.read.

Vous appelez déjà cloudapi.wasync.app/api/v1 ? Continuez ainsi.

developers.wasync.app est l'hôte canonique, mais cloudapi.wasync.app est un alias permanent de la même API — mêmes clés, mêmes chemins, mêmes réponses — et il reste valable indéfiniment. Aucune intégration existante n'a à changer quoi que ce soit. Les endpoints OAuth, les documents /.well-known/… et l'URL du serveur MCP sont des identifiants de protocole enregistrés par les clients : ils restent sur cloudapi.wasync.app volontairement.

Vérifier votre capacité avant de vous engager

GET /account
curl https://developers.wasync.app/api/v1/account \
  -H "Authorization: Bearer $WASYNC_API_KEY"
200 response
{
  "slots": {
    "total": 30,
    "used": 28,
    "available": 2,
    "nextExpiry": "2027-08-08T09:00:00.000Z"
  },
  "connections": {
    "total": 28,
    "connected": 27,
    "needsReconnect": 1
  }
}

slots.available indique si vous pouvez intégrer un nouveau numéro dès maintenant, et nextExpiry est la date avant laquelle vous devez facturer votre propre client — ainsi, un slot n'expire jamais sous les pieds de quelqu'un qui vous a déjà payé. connections.needsReconnect compte les numéros qui attendent actuellement que leur propriétaire scanne un QR ; abonnez-vous aux événements de connexion pour être prévenu dès que ce numéro change, au lieu de l'interroger en boucle. Utilise whatsapp.read.

Un slot est une capacité, pas un numéro de téléphone. Si vous supprimez une connexion, son slot retourne dans votre réserve avec le temps qu'il lui reste — le prochain numéro que vous connectez le récupère automatiquement. C'est ce qui vous permet de transférer un slot payé d'un client qui part à un nouveau client sans payer deux fois.

Connecter un numéro

Un seul appel crée la connexion et renvoie un code QR à scanner. Il fonctionne sur un espace de travail tout neuf, sans aucune connexion — avec une clé, il n'y a rien à cliquer d'abord dans un portail.

POST /connections
curl -X POST https://developers.wasync.app/api/v1/connections \
  -H "Authorization: Bearer $WASYNC_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"label":"Support line"}'
201 response
{
  "connection": {
    "id": "conn_8f3a21",
    "status": "connecting",
    "qr": "data:image/png;base64,iVBORw0KGgo…"
  }
}

Le QR obtenu ici ne reste pas valide

WhatsApp renouvelle le code d'appairage environ toutes les 20 secondes ; le qr de la réponse de création est donc périmé quelques secondes après son affichage. L'échec est silencieux : le téléphone ne s'appaire pas et rien à l'écran n'explique pourquoi. Interrogez GET /connections/{id} toutes les 3 à 5 s et réaffichez le qr de chaque réponse. Ne le mettez pas en cache, et ne cachez pas l'actualisation derrière un bouton que l'utilisateur doit presser. Code d'appairage et QR présente l'alternative sur un seul appareil.

Utilise whatsapp.manage. Les connexions créées de cette façon sont des numéros qr ; les numéros cloud_api sont intégrés via Meta Embedded Signup. Cet endpoint est réservé aux espaces de travail autonomes — un portail Bitrix24 reçoit 403 forbidden_portal_kind, car les connexions y sont créées par l'administrateur du portail dans WASync. Envoyez un Idempotency-Key — créer une connexion consomme un slot payant, et une nouvelle tentative après expiration, sans cette clé, vous en fait acheter deux. Erreurs et idempotence décrit les quatre cas à gérer.

Cette page vous a-t-elle été utile ?

On this page