Skip to content

qrsgen

WhatsApp ↔ HTTP API bridge en Go. Mantiene una sesión WhatsApp Web por instancia (vía whatsmeow) y la expone como una API HTTP REST estándar lista para producción.

Tu sistema (n8n / CRM / app custom)
    │ HTTP REST + Bearer auth (+ HMAC opcional)
qrsgen ────► WebSocket TLS ────► Meta servers
    │ HTTP POST con incoming msgs + lifecycle events
Tu webhook endpoint

⚠️ Antes de usar, lee el Disclaimer — riesgos WhatsApp ToS, GDPR, limitación de responsabilidad. No afiliado con WhatsApp / Meta.

Sub-apartados de esta sección

  • Características destacadas — outbox, BanWatcher, audit log, usage tracking, HMAC, hardening, avatar sync, formato adaptativo del prefijo de grupo, sincronización de reacciones, typing indicators, read receipts y mark-as-read bidireccional, observabilidad de features real-time, soporte para location, polls, media polish, retroactive name update con persistencia Postgres (v0.40-v0.43) — reescritura de headers + rename del contact en Chatwoot cuando añades un contacto a la agenda WhatsApp, y quote/reply context bidireccional (v0.42 + v0.44) — citas WhatsApp como blockquote sobre los mensajes en Chatwoot, y reply nativo cuando el agente quote-replea desde Chatwoot.
  • Por dónde empezar — caminos para integrar, entender, desplegar u operar.
  • Estado del proyecto — telemetría en vivo (QRs conectados / escaneados, instalaciones, mensajes).
  • Licencia y avisos legales — MIT, disclaimer, notice + riesgos importantes.

Otras secciones

  • Arquitectura — flujos internos, tablas Postgres, composición del binario.
  • API — endpoints, payloads, lifecycle webhooks, recetas curl.
  • Deployment — stack swarm, env vars, telemetría pública, multi-VPS.
  • Security — siete capas (Bearer / HMAC / firewall / TLS / hardening / audit / backups).
  • Operations — runbook diario, troubleshooting, alerting.
  • Integrations — recetas para n8n, Python, etc.

Glosario

Bridge: programa intermediario que traduce entre dos protocolos. qrsgen hace de bridge entre el protocolo binario de WhatsApp y HTTP REST.

WhatsApp Web / Multi-Device: API no oficial de WhatsApp que permite a clientes externos (no oficial app) mantener una sesión vinculada a un número escaneando un QR. Multi-Device permite hasta 4 dispositivos simultáneos por número.

whatsmeow: librería Go open-source que implementa el protocolo WhatsApp Web. Es lo que qrsgen usa para hablar con Meta.

Instancia: una sesión WhatsApp dentro del proceso qrsgen. Una instancia = un número de teléfono. Un solo binario gestiona N instancias en paralelo.

Lifecycle event: notificación HTTP que qrsgen POSTea cuando ocurre algo relevante en una instancia (conexión, desconexión, QR generado, strike, etc.).