Categorías de limpieza
Las categorías de limpieza clasifican los productos por tipo de carga. DigiAnt las usa como los dos extremos de una regla de incompatibilidad: "si el conductor transportó un producto de la categoría A y ahora va a cargar uno de la categoría B, ¿qué ocurre?".
Ejemplos típicos: "Cereales", "Fertilizantes", "Pienso Porcino", "Semillas".
Campos
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
protocolId | uuid | ✅ | Protocolo al que pertenece la categoría. |
name | string | ✅ | Nombre de la categoría (no puede estar vacío para categorías nativas). |
imageIndex | integer | ✅ | Índice del icono que representa la categoría en la app. |
productExternalId | string | ❌ | externalId del producto en el catálogo DigiAnt. DigiAnt lo resuelve y vincula el producto a la categoría. |
Vínculo con producto del catálogo
Una categoría puede vincularse opcionalmente a un producto del catálogo usando productExternalId. Cuando se proporciona, DigiAnt busca el producto por su externalId y lo vincula. Si el producto no existe, devuelve 422.
El vínculo no es obligatorio — una categoría puede existir sin producto asociado.
Origen y campos de solo lectura
| Valor | Descripción |
|---|---|
native | Creada directamente en DigiAnt vía Partner API. |
erp | Importada desde el ERP. |
Para categorías de origen erp, el campo name es de solo lectura desde DigiAnt — el ERP es el propietario del nombre. El imageIndex puede actualizarse independientemente del origen.
Gestión vía Partner API
Listar
GET /partner/cleaning-categories?protocolId={id}
X-Partner-API-Key: dpk_live_...
Crear
POST /partner/cleaning-categories
X-Partner-API-Key: dpk_live_...
Content-Type: application/json
{
"protocolId": "uuid-del-protocolo",
"name": "Cereales",
"imageIndex": 3,
"productExternalId": "ERP-PROD-001"
}
Actualizar
PATCH /partner/cleaning-categories/{id}
X-Partner-API-Key: dpk_live_...
Content-Type: application/json
{
"imageIndex": 5
}
Todos los campos son opcionales en el PATCH. Intentar cambiar name en una categoría de origen erp devuelve 400.