Incompatibilidades
Las incompatibilidades son las reglas del protocolo: definen qué ocurre cuando el conductor declara haber transportado un producto de una determinada categoría y la autorización actual corresponde a un producto de otra.
Naturaleza direccional
Una incompatibilidad conecta dos categorías con una dirección:
category1Id— categoría del último transporte (lo que el camión llevó antes de llegar).category2Id— categoría de la operación actual (lo que va a cargar o descargar ahora).
A → B y B → A son reglas independientes. Que transportar A antes de B requiera limpieza no implica que B antes de A también la requiera — deben crearse como dos incompatibilidades separadas si es necesario.
Acciones
| Valor | Descripción |
|---|---|
cleaning | El vehículo debe limpiarse con el tipo definido en cleaningTypeId antes de operar. El conductor ve el procedimiento y debe confirmarlo. |
prohibition | La combinación está terminantemente prohibida. No existe ningún proceso de limpieza que permita esta carga. |
Campos
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
protocolId | uuid | ✅ | Protocolo al que pertenece la regla. |
category1Id | uuid | ✅ | Categoría del último transporte. Debe ser distinta de category2Id. |
category2Id | uuid | ✅ | Categoría de la operación actual. |
action | "cleaning" / "prohibition" | ✅ | Acción a aplicar. |
cleaningTypeId | uuid | Condicional | Obligatorio cuando action es "cleaning". |
specificProtocolImageUrl | string | ❌ | URL de imagen de procedimiento específico. Solo válido para action: "cleaning". |
precaución
Si action es "prohibition", specificProtocolImageUrl se ignora automáticamente y se almacena como null.
Gestión vía Partner API
Listar
GET /partner/cleaning-incompatibilities?protocolId={id}
X-Partner-API-Key: dpk_live_...
Crear
POST /partner/cleaning-incompatibilities
X-Partner-API-Key: dpk_live_...
Content-Type: application/json
{
"protocolId": "uuid-del-protocolo",
"category1Id": "uuid-cereales",
"category2Id": "uuid-fertilizantes",
"action": "cleaning",
"cleaningTypeId": "uuid-del-tipo",
"specificProtocolImageUrl": "https://mi-erp.com/protocolo-limpieza.jpg"
}
Actualizar
PATCH /partner/cleaning-incompatibilities/{id}
X-Partner-API-Key: dpk_live_...
Content-Type: application/json
{
"action": "prohibition"
}
Al cambiar action a "prohibition", specificProtocolImageUrl se borra automáticamente.
Eliminar
DELETE /partner/cleaning-incompatibilities/{id}
X-Partner-API-Key: dpk_live_...
Devuelve 204 si tiene éxito.