Todo lo que necesitas para mensajería en producción.
Stack completo de infraestructura WhatsApp. Sin caja negra. Sin costos sorpresa. Sin onboarding obligado por dashboard.
Core
Manejo multi-instancia
Cada instancia es una conexión WhatsApp lógica con su QR, ciclo de vida y webhook. Corre las que tu plan permita.
Cualquier tipo de mensaje
Texto, multimedia, reply, reaction, link preview. El wire format es el mismo que Baileys upstream.
Multimedia entrante y saliente
Envía imagen, audio, documento, video. La multimedia entrante queda en caché y se sirve por URL firmada.
Server-Sent Events
Suscríbete a /v1/events para recibir QRs y estado de instancia. Mismo auth que la REST.
Entrega
Webhooks firmados con retries
Sobre HMAC, retries con backoff exponencial, dead-letter para fallas permanentes. Inspeccionas cada entrega.
Concurrencia por host
Un endpoint lento de un cliente no asfixia a los demás. BullMQ con token-bucket por destino.
Métricas Prometheus
/metrics expone latencia, profundidad de cola, estado de instancias y resultados de entrega. Conéctalo a Grafana.
Audit log
Cada cambio de estado visible al cliente escribe una fila append-only. Alertas y forense usan la misma tabla.
Operación
Rate limit por cliente
Token-bucket por customerId. Un mal tenant no afecta al resto. Configurable por ruta.
Guardia SSRF en webhooks
IPs loopback, RFC1918, link-local y cloud-metadata son rechazadas en la capa del esquema.
Secretos cifrados en reposo
Los signing secrets de webhook usan envelope encryption con master key rotable. Rotación sin downtime.
Contratos y SDKs abiertos
@whatisup/contracts se publica como paquete. Genera tu propio cliente — o usa el nuestro.