Carga masiva

Carga de miles de productos o documentos en un archivo, con validación previa y confirmación.

En esta página

Para miles de registros, un archivo es más rápido y más seguro que miles de llamadas: Chainlink valida todo el archivo, informa qué filas tienen errores y solo aplica los cambios después de la confirmación.

Requisitos: carga masiva activa en Configuración › Operación; alcance products:write (cliente de integración) o permiso imports.run (token de usuario).

Tipos de carga

kindContenido
productsProductos (alta y actualización por código)
entry_documentsDocumentos de entrada, una fila por línea
exit_documentsDocumentos de salida, una fila por línea
transfer_ordersÓrdenes de transferencia
pick_facesUbicaciones de surtido por producto

La plantilla de cada tipo se descarga en la web, en Carga masiva. Se aceptan archivos .xlsx y .csv de hasta 5 MB. Filas por archivo: 2,000 en Essentials, 10,000 en Professional y 100,000 en Enterprise; hasta 500 documentos por archivo.

1. Subir y validar

La respuesta es 202 con el resultado de la validación: status (validated o invalid), filas válidas y con error, y error_report_url, un archivo de Excel con cada fila rechazada y su motivo. En este paso no se aplica ningún cambio.

Subir un archivo
curl -X POST "https://empresa.chainlink.mx/api/v1/imports" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F "kind=products" \
  -F "file=@catalogo.xlsx"

2. Confirmar

POST /imports/{id}/commit aplica las filas válidas y responde 202. Consulte GET /imports/{id} hasta que status sea committed.

  • Si el archivo trae documentos existentes, options[on_duplicate]=skip los omite y fail los marca como error.
  • Subir de nuevo el mismo archivo agrega un aviso en warning.
  • Una carga que ya se está confirmando o que no tiene filas válidas responde 409 import_refused.
Confirmar una carga
curl -X POST "https://empresa.chainlink.mx/api/v1/imports/101/commit" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)"