Respuestas
En esta guía, hablaremos sobre qué sucede cuando algo sale mal mientras trabajas con el API.
Puedes saber si tu solicitud fue exitosa verificando el código de estado al recibir una respuesta del API. Si la respuesta no fue exitosa, puedes utilizar el tipo de error y el mensaje de error para entender qué salió mal y realizar algunas depuraciones básicas (antes de contactar al soporte).
Esquema de Respuesta
Todas las respuestas de nuestros APIs poseen la siguiente estructura:
- Name
type
- Type
- Description
Indica el tipo de respuesta. Los valores para los tipos se detallean en la sección tipos de respuesta.
- Name
status
- Type
- Description
El código de estado corresponde al código de la respuesta de la solicitud. Los valores para los códigos de estaddo se detallean en la sección códigos de respuesta
- Name
message
- Type
- Description
Es el mensaje que resume el resultado de la solicitud realizada.
- Name
errors
- Type
- opcional | nullable
- Description
En este atributo se consignará, de existir y se necesario, un arreglo con los errores correspondientes a la solicitud, caso contrario el valor puede ser nulo. Este atributo estará presente en todas las respuestas de error.
- Name
data
- Type
- opcional | nullable
- Description
Este atributo consignará, de existir y ser necesario, un objeto o arreglo que corresponda a los datos retornados en respuesta a la solicitud procesada, caso contrario el valor puede ser nulo. Este atributo estará presente en todas las respuesta exitosas.
Objeto respuesta
{
"type": "...",
"status": XXX,
"message": "...",
"errors": [...],
"data": {...},
}
Códigos de Respuesta
Aquí tienes una lista de los diferentes códigos de respuesta devueltos por el API de VerificaID. Utilízalos para entender si una solicitud fue exitosa.
- Name
200
- Type
- Description
Indica que la solicitud se la procesado con éxito.
- Name
401
- Type
- Description
Indica que la solicitud fue rechazada por caracer de autenticación.
- Name
402
- Type
- Description
Indica que la solicitud fue rechazada porque la solicitud autenticada carece de tokens disponibles para procesar la solicitud.
- Name
404
- Type
- Description
Indica que el endpoint solicitado es inexistente.
- Name
405
- Type
- Description
Indica que el método solicitado por el endpoint no está soportado.
- Name
422
- Type
- Description
Indica que la solicitud fue rechazada porque contiene errores.
- Name
429
- Type
- Description
Indica que se ha alcanzado el límite de solicitudes por rango de tiempo.
- Name
500
- Type
- Description
Indica que ha ocurrido un problema interno en el servidor.
- Name
503
- Type
- Description
Indica que la solicitud no puede ser procesada en este momento.
Tipos de Respuesta
Ahora hablaremos sobre qué sucede cuando algo sale mal mientras trabajas con el API. Veamos algunos códigos de estado y tipos de errores que podrías encontrar.
- Name
result
- Type
- Description
Indica que la solicitud se resolvió de manera exitosa.
- Name
unauthorized
- Type
- Description
La solicitud fue rechazada por caracer de autorización. Esto quiere decir que el API key usado para la solicitud es inválido.
- Name
payment_required
- Type
- Description
Este tipo de respuesta indica que la solicitud fue rechazada por falta de una condición de pago.
- Name
invalid_request
- Type
- Description
La solicitud fue rechazada porque contiene datos inválido o en formatos incorrectos.
- Name
too_many_requests
- Type
- Description
Se ha superado el límite permitido de solicitudes por rango de tiempo. Los diferentes endpoints puede tener diferentes límites.
- Name
api_error
- Type
- Description
Significa que ha ocurrido un error al procesar la solicitud del lado del servidor.
result
{
"type": "result",
"status": 200,
"message": "Se ha validado la información correctamente.",
"data": { ... }
}
result (datos inexistentes)
{
"type": "result",
"status": 200,
"message": "El DNI no existe o pertenece a un menor de edad.",
"data": null
}
unauthorized
{
"type": "invalid_request",
"status": 401,
"message": "Sin autenticar. Necesitas una API Key válida para realizar una solicitud correctamente.",
"errors": null
}
payment_required
{
"type": "payment_required",
"status": 402,
"message": "No tienes tokens disponibles para realizar la solicitud.",
"errors": null
}
unauthorized
{
"type": "invalid_request",
"status": 404,
"message": "La ruta /v2/consulta/empresasx es inexistente.",
"errors": null
}
invalid_request
{
"type": "invalid_request",
"status": 405,
"message": "El método GET no esta soportado para esta ruta.",
"errors": null
}
invalid_request
{
"type": "invalid_request",
"status": 422,
"message": "El campo ruc debe tener 11 dígitos.",
"errors": {
"ruc": [
"El campo ruc debe tener 11 dígitos."
]
}
}
too_many_requests
{
"type": "too_many_requests",
"status": 429,
"message": "Has alcanzado el limite de solicitudes, intenta nuevamente en: 48 segundos",
"errors": null
}
api_error
{
"type": "api_error",
"status": 500,
"message": "Ha ocurrido un error al procesar tu solicitud. Intentalo nuevamente en unos minutos.",
"errors": null
}
api_error
{
"type": "api_error",
"status": 503,
"message": "La solicitud no puede ser atendida en este momento. Por favor intenta nuevamente en algunos segundos.",
"errors": null
}