ES
Español
English
Português
    Configurar dependencias entre campos adicionales

    Configurar dependencias entre campos adicionales

    Detalles de la petición

    • URL Base: {host}/ASMSAPI/
    • Uri: /api/v9/additionalsfields/dependents/load
    • Tipo: POST
    • 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/load
    


    Parámetros del cuerpo de la petición

    Nombre Tipo de dato Obligatorio Descripción
    dependencies Lista Array de objetos que define las dependencias a configurar. Se pueden enviar múltiples dependencias en una sola petición.
    sourceFieldId Número Identificador del campo padre. Solo se permiten campos tipo List, CatalogList y CheckBox.
    triggerValueId Número Identificador del valor del campo padre que activa la dependencia. Para campos tipo List y CatalogList se obtiene del endpoint de consulta de valores. Para campos tipo CheckBox el valor es siempre 1 (verdadero).
    targetFieldId Número Identificador del campo hijo que se activa cuando el campo padre tiene el valor definido en triggerValueId.
    visible Booleano Indica si el campo hijo es visible cuando se activa la dependencia.
    editable Booleano Indica si el campo hijo es editable cuando se activa la dependencia.
    mandatory Booleano Indica si el campo hijo es obligatorio cuando se activa la dependencia.
    inheritValues Booleano Indica si el campo hijo tipo ShortText hereda automáticamente la clave (key) del valor seleccionado en el campo padre tipo CatalogList. Solo aplica cuando el campo hijo es tipo ShortText.
    filteredValueIds Lista No Array de identificadores de los valores del campo hijo que se mostrarán cuando se active la dependencia. Si se envía vacío, el campo hijo muestra todos sus valores disponibles. Solo aplica para campos hijo tipo List y CatalogList.

    NOTA:

    • Un campo hijo solo puede tener un único campo padre. Si se intenta configurar un campo hijo que ya tiene otro padre asignado, la dependencia retornará success: false.
    • El campo padre y el campo hijo deben pertenecer al mismo modelo y al mismo tipo de caso. Z- El campo padre no puede ser el mismo que el campo hijo.
    • Solo los campos tipo List, CatalogList y CheckBox pueden actuar como campo padre.
    • Solo puede existir un campo ShortText con inheritValues=true por combinación de sourceFieldId + triggerValueId.
    • Si se reenvía una dependencia existente (mismo sourceFieldId + targetFieldId + triggerValueId), el sistema realiza un upsert: actualiza las propiedades y reemplaza los filteredValueIds existentes.
    • El procesamiento es independiente por ítem: si una dependencia falla, las demás se procesan correctamente.

    Auto-corrección de propiedades

    El sistema aplica las siguientes correcciones automáticas cuando se envían combinaciones incoherentes de visible, editable y mandatory:

    Combinación enviada Resultado persistido
    mandatory=true, visible=false, editable=false visible=true, editable=true, mandatory=true
    editable=true, visible=false visible=true, editable=true
    visible=false, editable=false, mandatory=false visible=false, editable=false, mandatory=false

    NOTA: Para campos tipo CheckBox como campo padre, el endpoint acepta el envío de filteredValueIds y las propiedades visible, editable y mandatory, sin embargo esta configuración no tiene repercusión en las consolas Specialist y Customer. Desde la consola Administrator no es posible configurar valores filtrados ni propiedades para dependencias de campos tipo CheckBox.

    Cuerpo de la petición

    Dependencia List → List con filteredValueIds:

    {
        "dependencies": [
            {
                "sourceFieldId": 543,
                "triggerValueId": 494,
                "targetFieldId": 544,
                "visible": true,
                "editable": true,
                "mandatory": true,
                "inheritValues": false,
                "filteredValueIds": [497, 498, 499]
            }
        ]
    }
    

    Dependencia CatalogList → ShortText con inheritValues:

    {
        "dependencies": [
            {
                "sourceFieldId": 545,
                "triggerValueId": 81,
                "targetFieldId": 546,
                "visible": true,
                "editable": true,
                "mandatory": false,
                "inheritValues": true,
                "filteredValueIds": []
            }
        ]
    }
    

    Dependencia CheckBox → List:

    {
        "dependencies": [
            {
                "sourceFieldId": 552,
                "triggerValueId": 1,
                "targetFieldId": 544,
                "visible": true,
                "editable": true,
                "mandatory": false,
                "inheritValues": false,
                "filteredValueIds": []
            }
        ]
    }
    

    Múltiples dependencias en una sola petición:

    {
        "dependencies": [
            {
                "sourceFieldId": 543,
                "triggerValueId": 494,
                "targetFieldId": 544,
                "visible": true,
                "editable": true,
                "mandatory": true,
                "inheritValues": false,
                "filteredValueIds": [497, 498]
            },
            {
                "sourceFieldId": 543,
                "triggerValueId": 495,
                "targetFieldId": 544,
                "visible": true,
                "editable": true,
                "mandatory": true,
                "inheritValues": false,
                "filteredValueIds": [500]
            }
        ]
    }
    

    Respuesta

    {
        "content": [
            {
                "errorMessage": null,
                "sourceFieldId": 543,
                "success": true,
                "targetFieldId": 544,
                "triggerValueId": 494
            }
        ],
        "totalItems": 1
    }
    

    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 configurada 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 — Source field {id} not found or deleted
    200 OK success: false — Source and target field cannot be the same
    200 OK success: false — Source field type '{tipo}' is not valid. Must be List, CatalogList or CheckBox
    200 OK success: false — Trigger value {id} does not exist in source field {id}
    200 OK success: false — inheritValues is only valid for target fields of type ShortText, but target is '{tipo}'
    200 OK success: false — Only one ShortText with inheritValues=true is allowed per source+triggerValue in a single request (source {id}, triggerValue {id})
    200 OK success: false — Source field model ({id}) does not match target field model ({id})
    401 Unauthorized Token no proporcionado o expirado.
    500 InternalServerError FailureLoadDependentFields