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
| Origen | Descripción |
|---|---|
| Nativo DigiAnt | Creado manualmente en DigiAnt. Sin referencia externa. |
| Sincronizado desde ERP | Importado 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).
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:
- El ERP envía su catálogo de productos a DigiAnt.
- DigiAnt crea o actualiza cada producto usando el
external_idcomo clave de upsert. - 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ón | Efecto |
|---|---|
| Crear | Nuevo registro en el catálogo. |
| Sincronizar desde ERP | Upsert por external_id: crea si no existe, actualiza el nombre si ya existe. |
| Eliminar | Borrado suave — deleted: true, deleted_at registrado. |