Además de las plantillas de salida para las respuestas exitosas, cada método puede tener plantillas de error: definen qué contenido y qué código HTTP recibe el cliente cuando algo falla.
Las plantillas de error se configuran por formato de salida. Cada formato que agregue en Plantillas de output (por ejemplo JSON o XML) tiene su pestaña en Plantillas de error, y en cada pestaña se definen todas las plantillas de error de ese formato. Así, un pedido en JSON recibe el error en JSON y uno en XML lo recibe en XML.
Cuando no hay ninguna plantilla de error que aplicar, ni del método ni de la cuenta, Vor-Tex responde con su mensaje estándar, que se puede pedir en inglés, español o portugués. Ver Idioma de las respuestas de error.
Al crear o editar un método, vaya a la sección Plantillas de error. Arriba hay dos opciones excluyentes:
Debajo de las opciones hay una pestaña por cada formato de salida del método. En cada pestaña configure las tarjetas de error. Cada tarjeta tiene:
Las tarjetas se agrupan así:
Si un error no tiene plantilla en el formato pedido, se usa la de ERROR GENÉRICO del método en ese formato. Si tampoco existe, se usa la plantilla de error de la cuenta.
Al elegir Nueva plantilla o Editar plantilla se abre el editor. La plantilla se escribe con Jinja y usa el objeto result como variable de contexto. Escriba un nombre en Nombre de la plantilla y haga clic en Listo.
A la derecha del editor hay dos pestañas:
Variables principales:
result.error_code, result.error_message y request.traceid (el identificador de la solicitud).result.fields.statusCode, result.fields.reason y result.fields.content, con la respuesta que devolvió el origen.result.error_message: el primer error de validación.result.error_messages: la lista con todos los errores de validación, en orden. El primero es el mismo que error_message.result.path: la URL invocada, sin comillas ni credenciales.result.method: el método HTTP de la solicitud, por ejemplo GET o POST.result.timestamp: el momento de la respuesta, en milisegundos.result.path y result.method.Ejemplo de plantilla JSON para el error de validación, que devuelve todos los errores juntos:
{
"message": "{{ result.error_message }}",
"errors": {{ result.error_messages | jsonify }},
"url": "{{ result.path }}",
"method": "{{ result.method }}",
"traceId": "{{ request.traceid }}"
}Si se envía una solicitud con dos parámetros inválidos, errors trae los dos mensajes y el cliente puede corregir todo de una vez.
Cuando falla una solicitud al método, el cliente recibe el error en el mismo formato que pidió (JSON, XML u otro), con el contenido de la plantilla y el código HTTP que usted configuró.
result.error_messages en lugar de result.error_message.