Idioma de las respuestas de error

Idioma de las respuestas de error

Resumen

Cuando una solicitud a una API falla, Vor-Tex responde con un mensaje de error. Por defecto ese mensaje está en inglés. Para recibirlo en otro idioma, envíe la cabecera Accept-Language en la solicitud. Si el idioma pedido no está soportado, el mensaje llega en inglés.

Actualmente se soportan tres idiomas:

  • en: inglés (por defecto)
  • es: español
  • pt: portugués

Formato de la respuesta de error

La respuesta de error tiene esta estructura:

{
"description": "The value for parameter 'filterParams' is invalid. Please check the documentation or try another value.",
"status": 400,
"error": "ValidationError",
"type": "api-error"
}
  • description: el mensaje que explica el error. Es el único campo que cambia según el idioma.
  • status: el código HTTP de la respuesta, por ejemplo 400.
  • error: el tipo de error, por ejemplo ValidationError cuando un parámetro no es válido.
  • type: el origen del error, por ejemplo api-error.

Los campos status, error y type no se traducen: puede usarlos en su código para identificar el error sin depender del idioma.

Elegir el idioma con Accept-Language

Agregue la cabecera Accept-Language con el código del idioma:

Accept-Language: es

Ejemplo con un parámetro inválido en un método POST, según el valor de la cabecera:

  • Sin la cabecera o con Accept-Language: en:
    "description": "The value for parameter 'filterParams' is invalid. Please check the documentation or try another value."
  • Con Accept-Language: es:
    "description": "El valor del parámetro 'filterParams' no es válido. Revise la documentación o pruebe con otro valor."
  • Con Accept-Language: pt:
    "description": "O valor do parâmetro 'filterParams' não é válido. Verifique a documentação ou tente outro valor."

Variantes regionales e idiomas no soportados

  • Si envía una variante regional del idioma, Vor-Tex usa el idioma base. Por ejemplo, con Accept-Language: es-AR la respuesta llega en español.
  • Si envía un idioma que no está soportado, por ejemplo Accept-Language: fr, la respuesta llega en inglés.

Ejemplo con cURL:

curl --request POST \
--url https://<su-dominio>/<api>/v1/<metodo>.json \
--header "Authorization: Bearer <su-token>" \
--header "Content-Type: application/json" \
--header "Accept-Language: es" \
--data "{...}"

Errores con plantilla personalizada

El idioma solo se aplica a los mensajes que genera Vor-Tex. Si el método tiene una plantilla de error personalizada, la respuesta la define esa plantilla, en el idioma en que fue escrita. Ver Definir respuestas de error personalizadas.

Resultado esperado

Las respuestas de error de Vor-Tex llegan en el idioma indicado en Accept-Language, o en inglés si la solicitud no envía la cabecera o pide un idioma no soportado.

Artículos relacionados