Sesiones

Una sesión representa una cuenta de WhatsApp (número de teléfono) conectada a Wazend, que puedes usar para enviar y recibir mensajes.

Ciclo de vida

Antes de poder enviar o recibir mensajes, debes iniciar una sesión y autenticarla mediante código QR o código de emparejamiento.

Estados de la sesión

  • STOPPED — la sesión está detenida.
  • STARTING — la sesión está iniciando.
  • SCAN_QR_CODE — se requiere escanear el QR o iniciar sesión mediante número de teléfono. Cada vez que se emite este estado, el QR cambia y debes volver a obtener el QR actualizado.
  • PASSKEY_REQUIRED — WhatsApp solicita una passkey (WebAuthn) para completar el emparejamiento.
  • PASSKEY_CONFIRMATION_REQUIRED — el usuario debe verificar un código antes de completar el emparejamiento.
  • WORKING — la sesión funciona y está lista para usarse.
  • FAILED — la sesión falló por un error. Suele significar que se requiere autorización de nuevo o que el dispositivo fue desconectado de la cuenta.

Actualizar sesión

Actualiza una sesión con una nueva configuración completa.

http
PUT /api/sessions/{session}
jsonBody
{
  "name": "S0001",
  "config": {
    "webhooks": [
      {
        "url": "https://tu-servidor.com/webhook",
        "events": ["message"]
      }
    ]
  }
}

Iniciar sesión

http
POST /api/sessions/{session}/start

Detener sesión

http
POST /api/sessions/{session}/stop

Reiniciar sesión

http
POST /api/sessions/{session}/restart

Cerrar sesión (Logout)

http
POST /api/sessions/{session}/logout

Listar sesiones

http
GET /api/sessions

Obtener sesión

http
GET /api/sessions/{session}

Obtener QR

Obtén el código QR para autenticar la sesión escaneando con la app de WhatsApp.

http
POST /api/{session}/auth/qr

Código de emparejamiento

Obtén un código numérico para vincular la sesión desde la app de WhatsApp.

http
POST /api/{session}/auth/request-code

Obtener información del perfil (Me)

http
GET /api/sessions/{session}/me
jsonResponse
{
  "id": "5215551234567@c.us",
  "pushName": "Mi Nombre",
  "reachoutTimelock": null,
  "messageCapping": null
}

Passkey

En algunos emparejamientos, WhatsApp solicita una passkey (WebAuthn). Los estados PASSKEY_REQUIRED y PASSKEY_CONFIRMATION_REQUIRED indican que el usuario debe completar este paso para terminar el emparejamiento.

Eventos

La sesión emite eventos que puedes recibir mediante Eventos o WebSockets. El evento principal es session.status; consulta el detalle del payload en la página de Eventos.