← Inicio

Outfield · 2023 – actualidad

Blueprints de integración

Conectores reutilizables para CRM y ERP, en TypeScript, que los clientes activan sin un ingeniero. Los usan más de 30 cuentas de clientes.

El problema

Los clientes de Outfield guardan sus negocios, contactos, facturas e inventario en otros sistemas, como CRM y ERP. También querían esos datos en Outfield. Cada nueva conexión necesitaba un ingeniero para construirla y configurarla.

Lo que construí

Diseñé y construí los blueprints de integración en TypeScript con Node.js. Un blueprint es un conector reutilizable y bidireccional. El cliente lo activa y empieza a sincronizar datos. No hace falta la ayuda de un ingeniero.

Publiqué blueprints para Distru, Acumatica, Motus, Airtable y Ekos. Sincronizan negocios, contactos, facturas e inventario. Para Acumatica también construí sincronizaciones a medida junto con los clientes y los account managers. Además, mantuve en marcha las integraciones con Salesforce y LeafLink.

Cómo sincroniza datos un blueprint de integraciónUn sistema externo, como Distru o Acumatica, envía los cambios al blueprint mediante webhooks. El blueprint gestiona la autenticación, los reintentos, el registro de errores y las sincronizaciones incrementales, y sincroniza datos en los dos sentidos con Outfield.Sistema externoDistru · Acumatica · Motus · Airtable · Ekoswebhooksdevuelve datosBlueprint de integraciónTypeScript · Node.js• Autenticación OAuth o por token• Reintentos para cada sistema• Un registro de cada error• Solo sincroniza lo que cambióen ambos sentidosOutfieldNegocios · contactos · facturas · inventarioUn indicador marca los registros sincronizados
Cómo un blueprint mueve datos entre un sistema externo y Outfield.

Decisiones

Blueprints reutilizables, no conectores únicos. Un blueprint sirve a todos los clientes que usan el mismo sistema. Los clientes lo activan ellos mismos, así que una cuenta nueva no necesita tiempo de ingeniería.

Webhooks en lugar de consultas periódicas. Las primeras sincronizaciones buscaban cambios cada 5 minutos. Las sustituí por webhooks, y ahora cada cambio se sincroniza al momento.

Prepararse para los fallos. Cada sistema tiene sus propias reglas de reintento, y cada error queda registrado. Las sincronizaciones solo traen los registros que cambiaron desde la última vez. Un indicador en la aplicación muestra qué registros están sincronizados.

Resultado

Más de 30 cuentas de clientes usan los blueprints, que ya han sincronizado miles de registros. Se convirtieron en una de las principales fuentes de nuevos ingresos de Outfield. Todos siguen en producción en planes de pago.

Tecnologías

  • TypeScript
  • Node.js
  • OAuth 2.0
  • Webhooks
  • APIs REST