Eliminar dependencias entre campos adicionales
Detalles de la petición
- URL Base: {host}/ASMSAPI/
- Uri: /api/v9/additionalsfields/dependents/delete
- Tipo: DELETE
- Encabezados requeridos:
- content-type: application/json
- X-Authorization: Bearer {token}
Descripción de la URL
- {host}: Representa el dominio del ambiente en el que se encuentra la API.
- ASMSAPI/: Prefijo fijo de la API.
- Uri: Endpoint específico para la petición.
⚐ EJEMPLO URL:
https://{host}/ASMSAPI/api/v9/additionalsfields/dependents/delete
Descripción
Este endpoint permite eliminar dependencias entre campos adicionales previamente configuradas mediante el endpoint LOAD. Cada dependencia se identifica por la combinación única de sourceFieldId + targetFieldId + triggerValueId. Se pueden eliminar múltiples dependencias en una sola petición.
Parámetros del cuerpo de la petición
| Nombre | Tipo de dato | Obligatorio | Descripción |
|---|---|---|---|
| dependencies | Lista | Sí | Array de objetos que define las dependencias a eliminar. Se pueden enviar múltiples dependencias en una sola petición. |
| sourceFieldId | Número | Sí | Identificador del campo padre de la dependencia a eliminar. |
| targetFieldId | Número | Sí | Identificador del campo hijo de la dependencia a eliminar. |
| triggerValueId | Número | Sí | Identificador del valor disparador de la dependencia a eliminar. Para campos tipo CheckBox este valor es siempre 1 (verdadero). |
⚐ NOTA:
- La eliminación es en cascada: el sistema elimina primero los
filteredValueIdsasociados a la dependencia y luego la dependencia en sí.- Si el campo padre queda sin ninguna dependencia configurada tras la eliminación, su flag
hasDependenciescambia automáticamente afalseen el endpoint LIST.- El procesamiento es independiente por ítem: si una dependencia no existe o falla, las demás se procesan correctamente.
Cuerpo de la petición
Eliminar una dependencia:
{
"dependencies": [
{
"sourceFieldId": 543,
"targetFieldId": 544,
"triggerValueId": 494
}
]
}
Eliminar múltiples dependencias en una sola petición:
{
"dependencies": [
{
"sourceFieldId": 543,
"targetFieldId": 544,
"triggerValueId": 494
},
{
"sourceFieldId": 543,
"targetFieldId": 544,
"triggerValueId": 495
},
{
"sourceFieldId": 552,
"targetFieldId": 543,
"triggerValueId": 1
}
]
}
Respuesta
Eliminación exitosa:
{
"content": [
{
"errorMessage": null,
"sourceFieldId": 543,
"success": true,
"targetFieldId": 544,
"triggerValueId": 494
}
],
"totalItems": 1
}
Procesamiento independiente — una dependencia válida y una inválida:
{
"content": [
{
"errorMessage": null,
"sourceFieldId": 543,
"success": true,
"targetFieldId": 544,
"triggerValueId": 494
},
{
"errorMessage": "Dependency not found for source 543, target 544, triggerValue 99999",
"sourceFieldId": 543,
"success": false,
"targetFieldId": 544,
"triggerValueId": 99999
}
],
"totalItems": 2
}
Parámetros Response
| Nombre | Tipo de dato | Descripción |
|---|---|---|
| totalItems | Número | Total de dependencias procesadas en la petición. |
| content | Lista | Listado con el resultado de cada dependencia enviada. |
| sourceFieldId | Número | Identificador del campo padre enviado en la petición. |
| targetFieldId | Número | Identificador del campo hijo enviado en la petición. |
| triggerValueId | Número | Identificador del valor disparador enviado en la petición. |
| success | Booleano | Indica si la dependencia fue eliminada exitosamente. Si es false, el campo errorMessage describe el motivo. |
| errorMessage | Texto | Descripción del error cuando success es false. Su valor es null cuando la operación es exitosa. |
Mensajes de error
| Código | Estado HTTP | Mensaje de error |
|---|---|---|
| 200 | OK | success: false — Dependency not found for source {id}, target {id}, triggerValue {id} |
| 401 | Unauthorized | Token no proporcionado o expirado. |