Vamos CRM — API
Backend NestJS del CRM Vamos: arquitectura hexagonal que aísla el dominio de las fuentes externas (Meta, APIs de Vamos, el modelo de IA), y una cola en memoria serializada por número de teléfono para responder el webhook de WhatsApp al instante sin perder ni desordenar mensajes.
Infraestructura & Backend
El Reto
La atención por WhatsApp dependía de fuentes externas que la empresa no controla, como la API de Meta, las APIs propias de conductores y viajes, y el modelo de IA. Mezclar la lógica de negocio con los formatos de esas fuentes hacía que cualquier cambio externo pudiera romper el sistema, y además debía responder en tiempo real sin perder mensajes bajo carga.
La Solución
La lógica de negocio (Conversation, Message, Contact) vive aislada de las fuentes externas que la empresa no controla, detrás de una arquitectura hexagonal. El webhook responde 200 OK de inmediato y encola cada mensaje detrás de un puerto propio que lo serializa por número de teléfono, así ninguna conversación se procesa fuera de orden ni se pierde un mensaje bajo carga. Sobre esa misma base corren la deduplicación de reintentos de Meta y la clasificación de contacto contra una integración externa configurable desde el panel, cada una detrás de su propio puerto, reemplazable sin tocar el dominio.
Proyecto relacionado
Vamos CRM
Rol en el proyecto
Arquitecto de Soluciones y Dev Full Stack.