WZAPI
gateway :18080
API REST para WhatsApp

WZAPI Gateway

Un gateway de WhatsApp en Go sobre whatsmeow: multi-sesión, webhooks en tiempo real y una API REST simple. Sin Puppeteer, sin emuladores, sin peso muerto.

13grupos de API
2modos de vinculación
1500webhooks concurrentes
18endpoints de envío
Funciones

Todo lo que necesita un gateway serio

Comunicación directa por websocket con los servidores de WhatsApp, con la infraestructura opcional que exige producción.

Multi-sesión

Múltiples números y usuarios en la misma instancia, cada uno con su token, su webhook y su ciclo de vida.

Webhooks + RabbitMQ

Eventos en tiempo real con firma HMAC, reintentos vía RabbitMQ, cola de salida y DLQ para no perder nada.

Anti-ban

Rate limit por usuario, cola smart-drip y guardas de broadcast para mantener una huella de cliente oficial.

Media S3 / Lambda

Descarga y subida de media con offload a Lambda y almacenamiento compatible con S3, con fallback local.

Vinculación y passkey

Vinculación por QR o por código de teléfono, más la ceremonia WebAuthn que algunas cuentas exigen — sin timeouts mudos.

Observabilidad

Diagnóstico por sesión, métricas Prometheus, historial de pareos y health checks listos para Kubernetes.

Quick start

Tres llamadas y estás dentro

Conecta la sesión, envía un mensaje y recibe eventos. Autentica con el header token en cada request.

01 POST /session/connect

Conecta la sesión

Abre la sesión de WhatsApp y escanea el QR desde el dashboard.

curl -X POST $GW/session/connect \
  -H "token: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"Subscribe":["Message"]}'
02 POST /chat/send/text

Envía un mensaje

Texto, media, ubicación, contactos, reacciones y más.

curl -X POST $GW/chat/send/text \
  -H "token: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"Phone":"5215512345678",
       "Body":"Hola desde WZAPI"}'
03 POST /webhook

Recibe eventos

Configura tu webhook y suscríbete a los eventos que te importan.

curl -X POST $GW/webhook \
  -H "token: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"webhookurl":"https://tu.app/hook",
       "events":["Message"]}'