APIs, webhooks y middleware: conectar sin crear un monstruo
Una mirada práctica a cómo diseñar integraciones entre CRM, ERP y aplicaciones propias sin terminar con sistemas frágiles y difíciles de mantener.

Toda integración empieza igual de simple: "solo necesitamos que cuando se cree un cliente aquí, aparezca allá". Dos años después hay catorce conexiones directas, nadie sabe cuál dispara cuál, y cambiar un campo obliga a revisar medio sistema.
El monstruo no aparece de golpe. Se construye una conexión rápida a la vez.
Las tres piezas y para qué sirve cada una
- API. Tú preguntas, el otro sistema responde. Sirve cuando necesitas un dato en el momento en que lo pides.
- Webhook. El otro sistema te avisa cuando algo cambió. Sirve para reaccionar sin estar preguntando cada minuto.
- Middleware. La capa propia que se sienta en medio: recibe, valida, traduce y decide. Sirve para que ninguno de los dos extremos tenga que saber cómo funciona el otro.
Las dos primeras casi todo el mundo las usa. La tercera es la que separa una integración que aguanta de una que se rompe cada vez que alguien toca algo.
Por qué conectar todo directo se paga caro
Conectar A con B directamente parece más rápido, y lo es —la primera vez. El problema aparece al escalar:
- Cada sistema termina conociendo el modelo de datos del otro, así que un cambio en uno rompe al otro.
- No hay un lugar donde mirar cuándo algo falla; la lógica está repartida en configuraciones de cinco plataformas.
- Cambiar de CRM deja de ser un proyecto y pasa a ser una reescritura.
Con una capa intermedia, cambiar un extremo es reescribir un adaptador, no la integración entera.
Cuatro decisiones que evitan el 80% del dolor
- Define la fuente de verdad por campo, no por sistema. El CRM puede mandar en el email y el ERP en el estado de la factura.
- Haz cada operación idempotente. Usa una clave estable —email, ID externo— para "crear o actualizar". Los eventos duplicados dejan de ser un problema.
- Asume que la red falla. Cola con reintentos y espera creciente. Un timeout no debería perder un dato.
- Registra todo evento con su resultado. El día que alguien pregunte por qué un contacto no se sincronizó, esa bitácora te ahorra horas.
Lo difícil no es enviar datos
Mover información de un sitio a otro es la parte fácil. La parte difícil es mantener el sistema sano cuando algo falla: eventos que llegan dos veces, fuera de orden o a medias.
Diseña para ese día, no para el camino feliz. La integración que sobrevive no es la más rápida de montar, es la que puedes entender seis meses después.


