Integración con un ERP

Orden recomendado para integrar un ERP: acceso, datos maestros, documentos y confirmaciones.

En esta página

Una integración con un ERP intercambia tres tipos de información: datos maestros (productos, socios, almacenes), documentos (lo que se debe recibir y surtir) y confirmaciones (lo que el almacén ejecutó). Esta guía describe el orden recomendado.

1. Acceso

  • Cree un cliente de integración para el ERP y solicite un token con los alcances que usará.
  • Si la empresa tiene una instancia de pruebas, desarrolle y valide la integración ahí antes de apuntar a producción.
  • Registre en las bitácoras cada X-Request-Id y cada error.code.
Token con los alcances de una integración de ERP
curl -X POST "https://empresa.chainlink.mx/oauth/token" \
  -H "Accept: application/json" \
  -d grant_type=client_credentials \
  -d client_id=$CHAINLINK_CLIENT_ID \
  -d client_secret=$CHAINLINK_CLIENT_SECRET \
  -d "scope=products:read products:write receipts:read receipts:write pickings:read pickings:write stocks:read warehouses:read clients:write providers:write webhooks:manage"

2. Datos maestros

  1. Almacenes: se configuran en la web. Consulte GET /warehouses y relacione cada whs_code con el almacén del ERP.
  2. Productos: carga inicial con carga masiva; después, sincronización de cambios.
  3. Clientes y proveedores: POST /clients y POST /providers para mostrarlos con nombre en Chainlink. Los documentos se aceptan aunque el socio no exista; su código viaja en partner_code.
Almacenes de la instancia
curl "https://empresa.chainlink.mx/api/v1/warehouses" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json"

3. Documentos

  • Al autorizar una orden de compra en el ERP, cree su documento de entrada con el folio en external_ref.
  • Al liberar un pedido, cree su documento de salida.
  • Para mover mercancía entre almacenes, cree una orden de transferencia.

4. Confirmaciones hacia el ERP

EventoRegistro en el ERP
receipt.completedEntrada de mercancía con cantidades, lotes y series recibidos
picking.completedSalida o remisión con lo surtido
shipment.dispatchedPedido enviado, con transportista y sellos
transfer.dispatched, transfer.receivedTraslado y su recepción en destino
return.receivedInicio de la nota de crédito o del reemplazo
stock.updatedActualización de la existencia publicada

Configure los eventos con webhooks y agregue un ciclo de respaldo cada hora con updated_since sobre /receipts, /pickings y /stock-levels.

5. Lista de verificación para producción

  • Reintentos con espera exponencial ante 429, 5xx y errores de red, siempre con la misma Idempotency-Key.
  • Alertas cuando un documento responda 422; la causa habitual es un producto o un almacén inexistente en Chainlink.
  • Un tablero de documentos enviados contra documentos confirmados.
  • Un contacto técnico registrado con soporte.

SAP Business One y Odoo

Para SAP Business One y Odoo, Chainlink ofrece conectores propios (complemento de Professional y Enterprise). Consulte Integraciones antes de desarrollar una integración a la medida.