Saltar al contenido principal

El producto

Un producto es una entidad del catálogo de DigiAnt que representa una materia prima o pienso gestionado por una empresa logística. Ejemplos: "Pienso Porcino Blanco", "Maíz", "Cebada".

Los productos son entidades de catálogo — DigiAnt no valida cantidades ni unidades contra ellos. Su función es dar coherencia de nomenclatura a las autorizaciones y operaciones generadas.

Dos orígenes posibles

OrigenDescripción
Nativo DigiAntCreado manualmente en DigiAnt. Sin referencia externa.
Sincronizado desde ERPImportado desde el catálogo del ERP. Tiene un external_id que lo identifica unívocamente en el sistema de origen.

Cuando un ERP actualiza un producto (nombre), DigiAnt aplica los cambios sobre el registro existente sin crear uno nuevo — la identidad la mantiene el external_id.

El campo productExternalId en las autorizaciones

Al crear una autorización vía Partner API, el producto se referencia por su externalId en el campo productExternalId:

{
"productExternalId": "ERP-PROD-001"
}

El UUID se obtiene del catálogo con GET /partner/products. La respuesta de la autorización devuelve el nombre resuelto como product (texto).

tip

Crea los productos en el catálogo antes de empezar a enviar autorizaciones. Así garantizas que las referencias son válidas y evitas errores 422 por productos inexistentes.

Sincronización desde ERP

Si tu integración usa el modelo de sincronización de catálogo desde ERP, los productos se importan con su external_id del ERP. En ese flujo:

  1. El ERP envía su catálogo de productos a DigiAnt.
  2. DigiAnt crea o actualiza cada producto usando el external_id como clave de upsert.
  3. Las autorizaciones que llegan del ERP usan el nombre sincronizado para vincular el producto.

El external_id es opaco para DigiAnt — puede ser un código interno del ERP, un GUID, o cualquier cadena no vacía.

Ciclo de vida

Los productos soportan borrado suave: al eliminar un producto, no se borra físicamente sino que se marca como deleted. Las autorizaciones existentes que referenciaban ese producto no se ven afectadas.

OperaciónEfecto
CrearNuevo registro en el catálogo.
Sincronizar desde ERPUpsert por external_id: crea si no existe, actualiza el nombre si ya existe.
EliminarBorrado suave — deleted: true, deleted_at registrado.