Skip to main content

Errores

Autoinspector usa las respuestas convencionales de HTTP para indicar si una solicitud fue procesada correctamente o no

Los códigos que se encuentren en el rango 4xx indican un error relacionado con la información proporcionada en la request (un parámetro requerido no fue enviado, un parámetro no cumple con el tipo especificado en el contrato, etc)

Los códigos que se encuentran en el rango 5xx indican un error en los servidores de Autoinspector (eston son mas raros)

Error Object

La respuesta de un error se encuentra en el formato JSON y tiene la siguiente estructura:

code

string


Código de error, una cadena corta con una explicación breve


description

string


Explicación detallada para brindar mayor contexto sobre el error


status

number


El status code de la request HTTP


errors

array


opcional

Una lista de errores sobre la validación de parámetros. La estructura de cada objeto de error es dinámica y varia en función de los parámetros enviados.

Validation Errors

Los errores de validación, o también llamados DTO Errors, tienen una respuesta con status 400 Bad Request, la cual es dinámica y no estructurada

Esto permite poder retornar un objeto mucho mas complejo y rico en información para brindar un mejor contexto sobre que parte del contrato no se esta cumpliendo

Es por ello que recomendamos que la validación de información se haga previo a la solicitud HTTP, principalmente para:

  1. Brindar un feedback rápido al usuario en caso de ingresar datos no validos
  2. Evitar realizar una solicitud que se sabe previamente que fallara
  3. Continuar manejando el mismo lenguaje de validación de objetos en tu sistema

Error Handling

Nuestra API puede retornar diferentes errores dependiendo del endpoint, acción a realizar, recurso a obtener y otras variables. Recomendamos ampliamente realizar el manejo de errores basándose en el código único más que en el HTTP status retornado por la API.

La implementación más normal y eficiente es a través de un switch. En caso de no poder usarlo debido a limitaciones del lenguaje, puedes optar por un "if else statement".

switch (err.code) {
case 'inspection_not_found':
//Hacer algo
break

case 'idempotency_key_in_use':
//Hacer algo
break

case 'internal_server_error':
//Hacer algo
break

default:
break
}

Errores Comunes

A continuación se presentan los errores comunes que pueden llegar a ocurrir dentro de Autoinspector API:

codedescriptionstatus
invalid_paramsLos parámetros proporcionados no cumplen con el contrato400
invalid_idempotency_keyLa clave de idempotencia no cumple con el formato preestablecido400
unauthorizedEl token enviado no es valido401
invalid_subscriptionLa compañía no cuenta con una suscripción activa403
company_not_have_certain_abilitiesLa compañía no cuenta con los permisos suficientes para realizar dicha acción en la API403
reached_base_planLa compañía llego al limite de inspecciones creadas para el plan base y no cuenta con inspecciones a demanda403
unpaid_invoiceLa compañía cuenta con una factura vencida sin pagar403
company_reached_monthly_quota_testing_inspectionsLa compañía esta intentando crear una inspección de tipo test pero llego al limite mensual403
wrong_api_key_providedLa api key enviada esta intentando solicitar un recurso que no fue creada usando el mismo tipo de api key403
inspection_not_foundEl id de inspección proporcionado no fue encontrado404
idempotency_key_in_useHay otra request de tu integración que esta usando la misma clave de idempotencia y se encuentra en progreso409
internal_server_errorHay un error en los servidores de Autoinspector500
service_not_availableHay un servicio fundamental en Autoinspector que no se encuentra disponible en este momento503