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.
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.
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.
/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"]}'
/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"}'
/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"]}'