
Parámetros de cabecera
Para consumir los diferentes métodos REST que aparecen en la definición de la API debe contar con los permisos necesarios.
Además, el funcionamiento correcto de las llamadas al servicio depende del envío en la cabecera de los siguientes parámetros:
- Authorization: Token de operación generado en el proceso de login. Debe ir precedido del literal "JWE" (ejemplo, JWE <hash del token de operación>).
- version: Versión del recurso a ejecutar con el formato siguiente: v1.0
- rol: Rol del usuario que está ejecutando el recurso.
- contexto: Contexto sobre el que se está ejecutando el recurso.
- sistema: Sistema en el que se está ejecutando el recurso.
- delegado: Usuario DMSAS del técnico que realiza la consulta o acción. Este parámetro es requerido.
Formatos y valores tabulados
Las interfaces habilitadas reciben parámetros que pueden ser:
- Textos libres, números o booleanos.
- Cadenas o valores establecidos (Ej. Códigos de estado: “OP”, “FIX”, “DEL”)
- Valores en formatos específicos (Ej. Fechas en formato date-time)
- Identificadores de otras entidades, en cuyo caso tendrá que especificarse un valor extraído de otra interfaz (Ej. Parámetro id de /cges/tablas/nodos)
Estos parámetros podrán ser enviados en el cuerpo de la petición (body) o bien en la url de invocación (query), según se especifique en la definición de la API.
Formato de fechas
El formato de fecha con el que trabaja la API es el formato date-time: 2019-02-04T11:56:24.143Z
Este formato recoge la fecha en horario GMT, por lo que el usuario de la API deberá convertir el formato de fecha de forma acorde para el correcto funcionamiento de las consultas y modificaciones que se realicen sobre las entidades. Es decir, el usuario deberá convertir la fecha actual (GMT+1 o +2 en verano) a horario GMT antes de enviarla como parámetro en una llamada; del mismo modo, en la consulta de información, los valores se mostrarán en horario GMT, por lo que habrá que realizar la conversión de forma inversa.
Formato HATEOAS
Algunas respuestas contendrán un atributo links, que hace referencia a un elemento de la respuesta que puede consultarse de forma más extensa mediante un enlace específico. Este atributo contendrá un array de objetos con los mismos dos valores:
- rel: Tipo de relación que guarda el enlace respecto a la entidad en la que está contenido en atributo links. Cuando se indica el valor self, el enlace hace referencia a la propia entidad.
- href: Enlace parcial a la información extendida. Este enlace habrá que completarlo con la URL del servicio en función del entorno en el que se encuentre.
Ejemplo de HATEOAS |
---|
"links": [{ "rel": "self", "href": "/cges/links/contactos/0A5FF55955DA01DE8A3D001CC416E56E" },{ "rel": "responsableProducto", "href": "/cges/links/contactos/0A5FF55955DA01DE8A3D001CC416E56E" }] |
Objeto | Atributo | Relación (rel) | Concepto |
---|
Solicitud | usuarioAfectado.links | self | Más información acerca del usuario afectado de la solicitud | Solicitud | usuarioAsignado.links | self | Más información acerca del usuario asignado de la solicitud | Solicitud | usuarioCreador.links | self | Más información acerca del usuario creador de la solicitud | Solicitud | ubicacionSolicitud.links | self | Más información acerca de la ubicación de la solicitud | Solicitud | recurso.links | self | Más información acerca del recurso de la solicitud | Solicitud | links | problema | Más información acerca del problema asociado a la solicitud consultada | Solicitud | links | actividades | Listado de actividades de la solicitud consultada | Solicitud | links | actuaciones | Listado de actuaciones de la solicitud consultada | Solicitud | links | adjuntos | Listado de adjuntos de la solicitud consultada | Solicitud | links | etiquetas | Listado de etiquetas de la solicitud consultada | Solicitud | links | relacionadas | Listado de solicitudes relacionadas a la solicitud consultada | Solicitud | links | propiedades | Listado de propiedades asociadas a la solicitud consultada | Solicitud | links | padre | Más información acerca de la solicitud padre de la solicitud consultada | Solicitud | links | encuestas | Encuestas realizadas sobre una solicitud | Solicitud | links | knowledgeitems | KIs vinculados a una solicitud como solución | Solicitud | llamadas.links | llamada | Enlace a la llamada telefónica que ha dado origen a la solicitud | Solicitud | relGrpLogEntPlat.links | self | Relación GL-E-P asociada a la solicitud consultada | Solicitud | instanciaBBDD.links | self | Instancia de BBDD asociada a la solicitud consultada | Contacto | links | self | Más información acerca del contacto consultado | Contacto | links | dispositivos | Información sobre los dispositivos de un contacto registrados en CGES | Contacto | links | tratamientosespeciales | Tratamientos especiales para un contacto | Contacto | links | datossgi | Información del contacto en SGI | Ubicación | links | self | Información extendida de la ubicación | Ubicación | links | edificios | Edificios asociados a una ubicación | Ubicación | almacen.links | self | Más información acerca del almacén asociado a la ubicación consultada | Edificio | links | plantas | Plantas asociadas a un edificio | Recurso / Entidad CMS | links | self | Información esencial del recurso consultado | Recurso / Entidad CMS | links | extended | Más información acerca del recurso consultado | Recurso / Entidad CMS | ubicacionRecurso.links | self | Más información acerca de la ubicación de un recurso | Recurso / Entidad CMS | links | aplicacion | Más información sobre la aplicación (en caso de que el recurso sea una aplicación) | Recurso / Entidad CMS | links | plataforma | Más información sobre la plataforma (en caso de que el recurso sea una plataforma) | CMS - Recurso Infraestructura | links | redes | Información extendida del recurso si pertenece a una familia de "Redes". | CMS - Recurso Infraestructura | links | puestotrabajo | Información extendida del recurso si pertenece a la familia "Hardware.Puesto de Trabajo" | CMS - Recurso Infraestructura | links | maquinavirtual | Información extendida del recurso si pertenece a la familia "Hardware.Maquina Virtual" | CMS - Recurso Infraestructura | links | servidor | Información extendida del recurso si pertenece a la familia "Hardware.Servidor" | CMS - Recurso Infraestructura | links | contratos | Contratos asociados al recurso consultado | CMS - Recurso Infraestructura | links | mdr | MDRs asociados al recurso consultado | CMS - Ámbito TIC | links | responsable | Datos del responsable asociado a un ámbito TIC de CMS | CMS - Agrupación de Plataformas | links | plataformas | Datos de las plataformas asociadas a una agrupación de plataformas | CMS - Aplicación | links | suites | Suite de aplicaciones asociado a una aplicación | CMS - Aplicación | links | versiones | Versiones asociadas a una aplicación | CMS - Aplicación | links | contratos | Contrato asociado a una aplicación | CMS - Aplicación | links | responsableProducto | Datos del responsable de producto de una aplicación | CMS - Aplicación | links | responsableSistemas | Datos del responsable de sistemas de una aplicación | CMS - Aplicación | links | responsableFuncional | Datos del responsable funcional de una aplicación | CMS - Aplicación | links | relvergrplogentplats | Enlace al visor de versiones y relaciones grupo lógico-entorno-plataforma de una aplicación | CMS - Aplicación | links | areasfuncionales | Áreas funcionales asociadas a la aplicación | CMS - Área funcional | links | aplicaciones | Aplicaciones asociadas al área funcional consultada | CMS - Catálogo software | links | self | Más información acerca del catálogo software | CMS - Catálogo software | links | instanciasbbdd | Instancias de base de datos asociadas al catálogo software | CMS - Catálogo software | links | relinstanciassoftware | Instancias software asociadas al catálogo software | CMS - Clasificación tecnológica | links | tecnologias | Tecnologías asociadas a la clasificación tecnológica | CMS - Instancia BBDD | links | self | Más información acerca de la instancia de base de datos | CMS - Instancia BBDD | esquemas | self | Esquemas asociados a la instancia de base de datos | CMS - Instancia BBDD | servidores | self | Servidores asociados a la instancia de base de datos | CMS - Instancia BBDD | relgrplogentplats | self | Relaciones grupo lógico-entorno-plataforma asociadas a la instancia de base de datos | CMS - Grupo lógico | links | self | Más información acerca del grupo lógico | CMS - Plataforma | links | self | Más información acerca de la plataforma | CMS - Plataforma | links | aplicaciones | Aplicaciones asociadas a la plataforma | CMS - Plataforma | links | relgrplogentplats | Relaciones grupo lógico-entorno-plataforma asociadas a la plataforma | CMS - Recursos de infraestructura | links | self | Más información acerca del recurso de infraestructura | CMS - Rel. Grupo Lógico-Entorno-Plataforma | links | self | Más información acerca de la relación grupo lógico-entorno-plataforma | CMS - Rel. Grupo Lógico-Entorno-Plataforma | links | aplicaciones | Aplicaciones asociadas a la relación grupo lógico-entorno-plataforma | CMS - Rel. Grupo Lógico-Entorno-Plataforma | links | relinstanciassoftware | Instancias software asociadas a la relación grupo lógico-entorno-plataforma | CMS - Rel. Grupo Lógico-Entorno-Plataforma | links | enlaces | Enlaces asociados a la relación grupo lógico-entorno-plataforma | CMS - Rel. Instancia software | links | self | Más información acerca de la instancia software | CMS - Suite de aplicaciones | links | aplicaciones | Aplicaciones asociadas al suite de aplicaciones | Tiempos de asignación | asignado.links | self | Más información acerca del usuario asignado en la entrada de tiempos | Actividades | tecnico.links | self | Más información acerca del técnico que realizó la actividad | Actuaciones | recurso.links | self | Más información acerca del recurso asociado a la actuación | Actuaciones | asignado.links | self | Ms información acerca del usuario asignado en el momento de la actuación | Actuaciones | tecnico.links | self | Más información acerca del técnico que realizó la actuación | Ticket de PortaFirmas | links | adjuntos | Ficheros adjuntos al ticket de PortaFirmas | Ticket de PortaFirmas | links | actividades | Actividades registradas sobre el ticket de PortaFirmas | Listado de ficheros de PortaFirmas | links | adjunto | Enlace a la descarga del fichero de PortaFirmas | Agendas | links | grupoAgenda | Grupo de agenda asociado a la agenda | Agendas | links | configuraciones | Configuraciones de periodos de validez asociados a la agenda | Grupo de agenda | links | self | Información detallada del grupo de la agenda | Periodo de validez de agenda | links | self | Información detallada de la configuración del periodo de validez de una agenda | Periodo de validez de agenda | links | tramos | Tramos horarios vinculados a cada periodo de validez | Tramo horario de agenda | links | self | Información detallada del tramo horario de una agenda | KIs | links | self | Información detallada del KI | KIs | links | categorias | Categorías asociadas a un KI | KIs | recurso.links | self | Más información del recurso asociado a un KI |
Los enlaces HATEOAS pueden requerir permisos de acceso adicionales en función de la información consultada |
|
|
Formato de identificadores
Por la naturaleza de la aplicación sobre la que se sustenta CGES, los identificadores de las entidades pueden tomar tres formatos diferentes:
- UUID: Los identificadores de tipo UUID representan un valor de 32 caracteres en formato hexadecimal. (Ejemplo: 544DAD9A2D8901F2A523001CC416E56E)
- ID: Los identificadores de tipo ID representan un valor de entero. (Ejemplo: 400012)
- PERSID: Los identificadores de tipo PERSID suelen ir precedidos de un literal y separados por ":". (Ejemplos: rc:400258, pcat:400002)
Los identificadores no tienen por qué coincidir entre entornos, por lo que recomendamos el uso de los métodos GET de la API previos a una creación o modificación para tener datos reales y válidos. |
Paginación y filtrado de respuestas
Paginación de listados
La API cuenta con una funcionalidad de paginación para los métodos que devuelvan un listado con alta cantidad de elementos.
El método recibe los siguientes parámetros de consulta:
- pagina: Número de página que se desea consultar. Si no se envía, se consulta por defecto la página 1.
- registros: Número de registros por página a consultar. Si no se envía, se extraen por defecto 50 registros, el valor máximo disponible.
Además de estos parámetros, la consulta de la primera página devuelve el total de registros actuales en el parámetro total de la respuesta, por lo que a partir de ese valor puede calcular las páginas disponibles en función de los registros por página consultados en la llamada.
Ejemplo: Queremos consultar el REST de obtención de un listado de solicitudes de 20 en 20 registros y consultar la página 3.
Para consultar el listado de solicitudes tendremos que consumir el siguiente método de la API:
<div style="margin: 0 0 15px;margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;border: 1px solid #000;border-radius: 4px;-webkit-box-shadow: 0 0 3px rgba(0,0,0,.19);box-shadow: 0 0 3px rgba(0,0,0,.19);border-color: #61affe;background: rgba(97,175,254,.1);">
<div style="border-color: #61affe;display: flex;-webkit-box-align: center;align-items: center;padding: 5px;">
<span style="background: #61affe;font-size: 14px;font-weight: 700;min-width: 80px;padding: 6px 15px;text-align: center;border-radius: 3px;text-shadow: 0 1px 0 rgba(0,0,0,.1);font-family: sans-serif;color: #fff;">GET</span>
<span style="font-size: 16px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-flex: 0;-ms-flex: 0 3 auto;flex: 0 3 auto;-webkit-box-align: center;-ms-flex-align: center;align-items: center;word-break: break-all;padding: 0 10px;font-family: monospace;font-weight: 600;color: #3b4151;">/cges/solicitudes</span>
<div style="font-size: 13px;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;font-family: sans-serif;color: #3b4151;">Obtener listado de solicitudes</div>
</div>
</div> |
Para conseguir la respuesta filtrada que necesitamos, habría que realizar la llamada con la siguiente URL:
URL parcial |
---|
/cges/tablas/solicitudes?registros=20&pagina=3 |
Filtrado de la respuesta
Si sólo necesita que la respuesta incluya un conjunto limitado de la información devuelta por consumo de datos o claridad en la información, puede hacer uso del parámetro _incluir. Este parámetro permite enviar varias cadenas de texto haciendo referencia a la estructura de la respuesta para obtener los datos filtrados.
Ejemplo: Queremos consultar el REST de obtención de un listado de solicitudes y obtener el número de la solicitud, el recurso afectado y la fecha de apertura.
Para consultar el listado de solicitudes tendremos que consumir el siguiente método de la API:
<div style="margin: 0 0 15px;margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;border: 1px solid #000;border-radius: 4px;-webkit-box-shadow: 0 0 3px rgba(0,0,0,.19);box-shadow: 0 0 3px rgba(0,0,0,.19);border-color: #61affe;background: rgba(97,175,254,.1);">
<div style="border-color: #61affe;display: flex;-webkit-box-align: center;align-items: center;padding: 5px;">
<span style="background: #61affe;font-size: 14px;font-weight: 700;min-width: 80px;padding: 6px 15px;text-align: center;border-radius: 3px;text-shadow: 0 1px 0 rgba(0,0,0,.1);font-family: sans-serif;color: #fff;">GET</span>
<span style="font-size: 16px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-flex: 0;-ms-flex: 0 3 auto;flex: 0 3 auto;-webkit-box-align: center;-ms-flex-align: center;align-items: center;word-break: break-all;padding: 0 10px;font-family: monospace;font-weight: 600;color: #3b4151;">/cges/solicitudes</span>
<div style="font-size: 13px;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;font-family: sans-serif;color: #3b4151;">Obtener listado de solicitudes</div>
</div>
</div> |
Para conseguir la respuesta filtrada que necesitamos, habría que realizar la llamada con la siguiente URL:
URL parcial |
---|
/cges/tablas/solicitudes?_incluir=total&_incluir=solicitudes.recurso.recurso&_incluir=solicitudes.idSolicitud&_incluir=solicitudes.fechas.fechaApertura |
Respuesta filtrada obtenida |
---|
{ "total": 36, "solicitudes": [{ "recurso": { "recurso": "NUEVA WEB TECNICA" }, "idSolicitud": "4429937", "fechas": { "fechaApertura": "2017-09-13T10:44:46.000Z" } },{ "recurso": { "recurso": "UNIFICA" }, "idSolicitud": "4665952", "fechas": { "fechaApertura": "2018-07-25T10:48:06.000Z" } }] } |
Ordenación de listados
Esta sección contiene información acerca del formato necesario para solicitar la ordenación de listados.
Formatos de atributos
Actualmente, la ordenación de listados sólo está disponible para los siguientes métodos de la API:
<div style="margin: 0 0 15px;margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;border: 1px solid #000;border-radius: 4px;-webkit-box-shadow: 0 0 3px rgba(0,0,0,.19);box-shadow: 0 0 3px rgba(0,0,0,.19);border-color: #61affe;background: rgba(97,175,254,.1);">
<div style="border-color: #61affe;display: flex;-webkit-box-align: center;align-items: center;padding: 5px;">
<span style="background: #61affe;font-size: 14px;font-weight: 700;min-width: 80px;padding: 6px 15px;text-align: center;border-radius: 3px;text-shadow: 0 1px 0 rgba(0,0,0,.1);font-family: sans-serif;color: #fff;">GET</span>
<span style="font-size: 16px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-flex: 0;-ms-flex: 0 3 auto;flex: 0 3 auto;-webkit-box-align: center;-ms-flex-align: center;align-items: center;word-break: break-all;padding: 0 10px;font-family: monospace;font-weight: 600;color: #3b4151;">/cges/solicitudes</span>
<div style="font-size: 13px;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;font-family: sans-serif;color: #3b4151;">Obtener listado de solicitudes</div>
</div>
</div>
<div style="margin: 0 0 15px;margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;border: 1px solid #000;border-radius: 4px;-webkit-box-shadow: 0 0 3px rgba(0,0,0,.19);box-shadow: 0 0 3px rgba(0,0,0,.19);border-color: #61affe;background: rgba(97,175,254,.1);">
<div style="border-color: #61affe;display: flex;-webkit-box-align: center;align-items: center;padding: 5px;">
<span style="background: #61affe;font-size: 14px;font-weight: 700;min-width: 80px;padding: 6px 15px;text-align: center;border-radius: 3px;text-shadow: 0 1px 0 rgba(0,0,0,.1);font-family: sans-serif;color: #fff;">GET</span>
<span style="font-size: 16px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-flex: 0;-ms-flex: 0 3 auto;flex: 0 3 auto;-webkit-box-align: center;-ms-flex-align: center;align-items: center;word-break: break-all;padding: 0 10px;font-family: monospace;font-weight: 600;color: #3b4151;">/faro/solicitudes</span>
<div style="font-size: 13px;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;font-family: sans-serif;color: #3b4151;">Obtener listado de solicitudes de FARO</div>
</div>
</div> |
La ordenación se realiza sobre los atributos de la respuesta que comprenden cada uno de los elementos del array JSON.
Para ordenar, es necesario enviar un parámetro de consulta _ordenar con el nombre del campo por el que se pretender ordenar seguido del modificador :asc o :desc para la ordenación ascendente o descendente respectivamente. Si no se envía un modificador, la ordenación es ascendente. Sólo se puede enviar un máximo de tres parámetros de ordenación.
Ejemplo: Ordenar la consulta por el nombre del recurso de forma ascendente, la fecha de apertura de forma descendente y el usuario asignado de forma ascendente.
Para conseguir la respuesta ordenada que necesitamos, habría que realizar la llamada con la siguiente URL:
URL parcial |
---|
/cges/tablas/solicitudes?_ordenar=recurso.recurso&_ordenar=fechas.fechaApertura:desc&_ordenar=usuarioAsignado.usuarioAsignado:asc |
Operaciones por lotes
Para consumir los recursos REST de Servicios CGES, en ocasiones será necesario la utilización de operaciones por lotes u operaciones de batch para mantener la integridad de una operación en la que intervienen diferentes recursos para alcanzar un mismo fin. Esta forma de operar asegura la coherencia del proceso y obliga a la persona que consume el servicio a realizar las operaciones en un conjunto y orden determinados.
Para ello, habrá que consumir el servicio a través del siguiente método REST:
<div style="margin: 0 0 15px;margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;border: 1px solid #000;border-radius: 4px;-webkit-box-shadow: 0 0 3px rgba(0,0,0,.19);box-shadow: 0 0 3px rgba(0,0,0,.19);border-color: #49cc90;background: rgba(73,204,144,.1);">
<div style="border-color: #49cc90;display: flex;-webkit-box-align: center;align-items: center;padding: 5px;">
<span style="background: #49cc90;font-size: 14px;font-weight: 700;min-width: 80px;padding: 6px 15px;text-align: center;border-radius: 3px;text-shadow: 0 1px 0 rgba(0,0,0,.1);font-family: sans-serif;color: #fff;">POST</span>
<span style="font-size: 16px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-flex: 0;-ms-flex: 0 3 auto;flex: 0 3 auto;-webkit-box-align: center;-ms-flex-align: center;align-items: center;word-break: break-all;padding: 0 10px;font-family: monospace;font-weight: 600;color: #3b4151;">/cges/_batch</span>
<div style="font-size: 13px;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;font-family: sans-serif;color: #3b4151;">Operación por lotes</div>
</div>
</div> |
Estructura de la petición de batch
Todas las operaciones por lotes deberán realizarse sobre una misma solicitud.
Tendremos que incluir la cabecera (header) para la llamada.
La estructura del cuerpo de la petición (body) comprende un array con tantos elementos como métodos de REST quieran ejecutarse. En dichos elementos se incluirá toda la información necesaria para ejecutar independientemente un método REST, siendo todos obligatorios:
- El atributo metodo contendrá el tipo de recurso: GET, POST, PUT o DELETE.
- El atributo uri contendrá la URI parcial del método REST a ejecutar, ya construida con todos los parámetros de path necesarios. (Ejemplo: /cges/solicitudes/4664334/actuaciones)
- El atributo headers debe contener los mismos parámetros que para un método normal, pero estructurados con otro formato.
- El atributo body contendrá un objeto con todos los parámetros que deban ir en el cuerpo de la petición REST.
[{
"metodo": "POST",
"uri": "/cges/solicitudes/4664331/actuaciones",
"headers": [{
"nombre": "version",
"valor": "v1.0"
}, {
"nombre": "delegado",
"valor": "apellidonombre11A"
}, {
"nombre": "rol",
"valor": "PROVEEDOR"
}, {
"nombre": "contexto",
"valor": "DEFAULT"
}, {
"nombre": "sistema",
"valor": "ESB"
}, {
"nombre": "delegado",
"valor": "apellidonombre11a"
}
],
"body": {
"horas": 1.00,
"factorTiempo": 400001,
"perfil": 400001,
"causa": 1,
"tipoActuacion": 401038,
"fecha": "2018-02-06T09:17:32.000Z",
"comentario": "Incurriendo horas...",
"visibleUsuario": false,
"tecnicoDmsas": "apellidonombre11A"
}
}, {
"metodo": "PUT",
"uri": "/cges/solicitudes/4664331/estado",
"headers": [{
"nombre": "version",
"valor": "v2.0"
}, {
"nombre": "delegado",
"valor": "apellidonombre11A"
}, {
"nombre": "rol",
"valor": "PROVEEDOR"
}, {
"nombre": "contexto",
"valor": "DEFAULT"
}, {
"nombre": "sistema",
"valor": "ESB"
}, {
"nombre": "delegado",
"valor": "apellidonombre11a"
}
],
"body": {
"estado": "400001",
"comentario": "Resolviendo solicitud...",
"tecnicoDmsas": "apellidonombre11a
}
}]
|
|
Respuesta
La respuesta, tanto en caso de éxito como de error, vendrá ordenada por el orden lógico de ejecución en el sistema y no necesariamente debe coincidir con el orden de los métodos enviados en el cuerpo de la petición. Podrían obtenerse, además, mensajes adicionales que hagan referencia a operaciones intermedias ejecutadas por el sistema y que no dependen de elementos enviados en la petición. |
El método de batch puede devolver dos tipos de estructura de error: Si el error ocurre en una validación previa a la ejecución del batch (por ejemplo, en la validación de campos) y no se ha iniciado el procesamiento de las operaciones unitarias.
{
"descripcion": "000029",
"errores": [{
"campo": "error",
"mensaje": "Acción no permitida en el estado actual de la solicitud.",
"codigo": "000029",
"visible": true
}
]
} |
|
Si el error ocurre durante la ejecución del batch (por ejemplo, un error inesperado en una de las operaciones unitarias), en cuyo caso puede devolverse en un estado HTTP incorrecto en cualquier nivel de la respuesta en caso de error bloqueante.
[{
"status": 200,
"body": {
"idActuacion": "1453493",
"descripcion": "Actuacion generada correctamente.",
"visible": true
}
}, {
"status": 200,
"body": {
"idSolicitud": "6018778",
"descripcion": "Solicitud modificada correctamente.",
"visible": true
}
}, {
"status": 409,
"body": {
"descripcion": "000054",
"errores": [{
"campo": "error",
"mensaje": "El registro que intenta modificar se encuentra bloqueado temporalmente.",
"codigo": "000054",
"visible": false
}
]
}
}, {
"status": 409,
"body": {
"descripcion": "Ha ocurrido un error en una operación de batch bloqueante, no se ejecutará el resto de operaciones.",
"errores": [{
"campo": "ex",
"mensaje": "Ha ocurrido un error en una operación de batch bloqueante, no se ejecutará el resto de operaciones.",
"codigo": "409",
"visible": false
}
]
}
}
] |
|
|
Ficheros adjuntos
En la interacción con la API, la descarga de ficheros se realizará codificada en Base64 y en formato GZIP , por lo que será necesario descomprimirlo antes de su utilización.
Respecto al tamaño máximo para trabajar con ficheros, los límites establecidos en la API son los siguientes:
Operación | Tamaño máximo de fichero |
---|
Descarga de ficheros | 50 MB |
Subida de ficheros a solicitudes | 20 MB |
Subida de imágenes | 20 MB |
Subida de ficheros a Consigna | 500 MB |
Subida de fichero a eventos de calendario | 10 MB |