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-Idy cadaerror.code.
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
- Almacenes: se configuran en la web. Consulte
GET /warehousesy relacione cadawhs_codecon el almacén del ERP. - Productos: carga inicial con carga masiva; después, sincronización de cambios.
- Clientes y proveedores:
POST /clientsyPOST /providerspara mostrarlos con nombre en Chainlink. Los documentos se aceptan aunque el socio no exista; su código viaja enpartner_code.
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
| Evento | Registro en el ERP |
|---|---|
receipt.completed | Entrada de mercancía con cantidades, lotes y series recibidos |
picking.completed | Salida o remisión con lo surtido |
shipment.dispatched | Pedido enviado, con transportista y sellos |
transfer.dispatched, transfer.received | Traslado y su recepción en destino |
return.received | Inicio de la nota de crédito o del reemplazo |
stock.updated | Actualizació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,5xxy errores de red, siempre con la mismaIdempotency-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.