Conectar por QR
Es el método por defecto (pairingMethod: "qr", implícito si no mandás nada).
1. Crear o conectar la sesión
Sección titulada «1. Crear o conectar la sesión»curl -X POST https://api.tudominio.com/sessions \ -H "x-api-key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"mi-sesion"}'Si la sesión ya existe pero está desconectada, usá POST /sessions/:id/connect en su lugar.
2. Pedir el QR
Sección titulada «2. Pedir el QR»curl https://api.tudominio.com/sessions/<sessionId>/qr \ -H "x-api-key: $API_KEY"Respuesta mientras se genera:
{ "qr": null, "status": "connecting", "message": "Generando QR, espera unos segundos y vuelve a intentar" }Respuesta con QR listo:
{ "qr": "2@AbCdEf...", "status": "connecting" }El campo qr es el string crudo que espera WhatsApp Web — para mostrarlo como imagen, pasalo por una librería de generación de QR en tu frontend (por ejemplo qrcode en JS).
3. Escanear
Sección titulada «3. Escanear»En el teléfono que va a quedar vinculado: WhatsApp → Dispositivos vinculados → Vincular un dispositivo, y escaneá el QR renderizado.
4. Confirmar conexión
Sección titulada «4. Confirmar conexión»Seguí pidiendo GET /sessions/:id/qr (o GET /sessions/:id) hasta que status sea "connected". Si el QR expira antes de escanear, simplemente volvé a pedirlo — no hace falta recrear la sesión.
Si no funciona
Sección titulada «Si no funciona»Si el escaneo falla repetidamente o el QR nunca se genera, probá conectar por pairing code en su lugar — no depende de la cámara ni de que WhatsApp Web esté accesible desde el mismo lado de red.