Consultar campos adicionales elegibles para dependencias
Detalles de la petición
- URL Base: {host}/ASMSAPI/
- Uri: /api/v9/additionalsfields/dependents/list/{itemType}/{modelId}
- Tipo: GET
- 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.
- {itemType}: Tipo de caso sobre el cual se consultan los campos adicionales. Valores aceptados:
Incidents,ServiceCall,Change,Problem,Release. - {modelId}: Identificador numérico del modelo del cual se quieren consultar los campos adicionales.
⚐ EJEMPLO URL:
https://{host}/ASMSAPI/api/v9/additionalsfields/dependents/list/ServiceCall/28
Parámetros de la URL
| Nombre | Tipo de dato | Obligatorio | Descripción |
|---|---|---|---|
| itemType | Texto | Sí | Tipo de caso. Valores aceptados: Incidents, ServiceCall, Change, Problem, Release. |
| modelId | Número | Sí | Identificador del modelo del cual se consultan los campos adicionales. |
Parámetros Query
| Nombre | Tipo de dato | Obligatorio | Descripción |
|---|---|---|---|
| onlySourceFields | Booleano | No | Indica si se retornan únicamente los campos que pueden actuar como campo padre en una dependencia (List, CatalogList, CheckBox). Si se omite, el valor por defecto es true. Si se envía false, retorna todos los campos adicionales del modelo incluyendo ShortText, Numeric, Decimal, Currency, entre otros, lo que permite identificar los campos disponibles como campo hijo. |
Ejemplo de petición
Retornar solo campos elegibles como padre (onlySourceFields=true):
GET https://{host}/ASMSAPI/api/v9/additionalsfields/dependents/list/ServiceCall/28
Retornar todos los campos del modelo (onlySourceFields=false):
GET https://{host}/ASMSAPI/api/v9/additionalsfields/dependents/list/ServiceCall/28?onlySourceFields=false
Respuesta
{
"content": [
{
"catalogId": null,
"fieldId": 543,
"fieldType": "List",
"hasDependencies": true,
"name": "País"
},
{
"catalogId": null,
"fieldId": 544,
"fieldType": "List",
"hasDependencies": false,
"name": "Ciudad"
},
{
"catalogId": 22,
"fieldId": 545,
"fieldType": "CatalogList",
"hasDependencies": false,
"name": "Sucursal"
},
{
"catalogId": null,
"fieldId": 552,
"fieldType": "CheckBox",
"hasDependencies": true,
"name": "¿Es sede principal?"
},
{
"catalogId": null,
"fieldId": 546,
"fieldType": "ShortText",
"hasDependencies": false,
"name": "Código Postal"
}
],
"totalItems": 5
}
Parámetros Response
| Nombre | Tipo de dato | Descripción |
|---|---|---|
| totalItems | Número | Total de campos adicionales encontrados para el modelo consultado. |
| content | Lista | Listado de campos adicionales del modelo. |
| catalogId | Número | Identificador del catálogo asociado al campo. Solo viene con valor para campos tipo CatalogList. Para campos tipo List y CheckBox su valor es null. |
| fieldId | Número | Identificador único del campo adicional. Este valor se utiliza como sourceFieldId o targetFieldId en los endpoints LOAD, RESOLVE y DELETE. |
| fieldType | Texto | Tipo de dato del campo adicional. Valores posibles: List, CatalogList, CheckBox, ShortText, Numeric, Decimal, Currency, Date, entre otros. |
| hasDependencies | Booleano | Indica si el campo tiene dependencias configuradas como campo padre. |
| name | Texto | Nombre del campo adicional tal como fue configurado en ASMS Administrator. |
Consultar valores del campo padre
Una vez obtenidos los fieldId de los campos elegibles, es necesario consultar los valores disponibles de cada campo padre para obtener los triggerValueId requeridos en los endpoints LOAD, RESOLVE y DELETE.
Para campos tipo List (fieldType: “List”):
GET https://{host}/ASMSAPI/api/v9/additionalsfields/{fieldId}/type/3/values?dataType=0
Para campos tipo CatalogList (fieldType: “CatalogList”):
GET https://{host}/ASMSAPI/api/v9/additionalsfields/{fieldId}/type/11/values?catalogId={catalogId}
⚐ NOTA: Para campos tipo CheckBox (Falso/Verdadero) no es necesario. El
triggerValueIdpara este tipo de campo es siempre 1 (verdadero). No existe un triggerValueId para el valor falso ya que las dependencias en campos CheckBox solo se configuran para el valor verdadero.
Ejemplo de respuesta para campo tipo List:
{
"content": [
{
"catalogId": 0,
"description": null,
"fieldId": 543,
"hasChild": false,
"id": 494,
"key": null,
"name": "Colombia",
"order": 0,
"parentId": null,
"restrictLevel": false,
"status": 0
},
{
"catalogId": 0,
"description": null,
"fieldId": 543,
"hasChild": false,
"id": 495,
"key": null,
"name": "Argentina",
"order": 0,
"parentId": null,
"restrictLevel": false,
"status": 0
}
],
"totalItems": 2
}
Ejemplo de respuesta para campo tipo CatalogList:
{
"content": [
{
"catalogId": 22,
"description": null,
"fieldId": null,
"hasChild": false,
"id": 81,
"key": "Sede Norte(SN-001)",
"name": "Sede Norte(SN-001)",
"order": 1,
"parentId": null,
"restrictLevel": null,
"status": 1
},
{
"catalogId": 22,
"description": null,
"fieldId": null,
"hasChild": false,
"id": 82,
"key": "Sede Sur(SS-002)",
"name": "Sede Sur(SS-002)",
"order": 2,
"parentId": null,
"restrictLevel": null,
"status": 1
}
],
"totalItems": 2
}
Parámetros Response
| Nombre | Tipo de dato | Descripción |
|---|---|---|
| id | Número | Identificador del valor. Este valor se usa como triggerValueId en los endpoints LOAD, RESOLVE y DELETE. |
| name | Texto | Nombre del valor tal como fue configurado en ASMS Administrator. |
| key | Texto | Clave del valor. Solo viene con valor para campos tipo CatalogList. Para campos tipo List su valor es null. Esta clave se puede usar como selectedValueKey en el endpoint RESOLVE. |
| catalogId | Número | Identificador del catálogo al que pertenece el valor. |
| fieldId | Número | Identificador del campo al que pertenece el valor. Para campos tipo CatalogList su valor es null. |
| order | Número | Orden de visualización del valor en las consolas. |
| status | Número | Estado del valor. 1 indica activo, 0 indica inactivo. |
Mensajes de error
| Código | Estado HTTP | Mensaje de error |
|---|---|---|
| 400 | BadRequest | InvalidItemType — El itemType proporcionado no es válido. |
| 401 | Unauthorized | Token no proporcionado o expirado. |