Manejo de errores
Esta sección proporciona información de referencia sobre los errores de Verónica.
Cuando se produzca un error, la información del encabezado contendrá lo siguiente:
- Content-Type: application/json;charset=UTF-8
- Código de estado HTTP: 3xx, 4xx ó 5xx
El cuerpo de la respuesta también contendrá información sobre el error. La siguiente respuesta de error, muestra la estructura de los elementos de respuesta comunes a todas las respuestas de error de REST.
{
"success": false,
"result": {
"code": "Conflict",
"timestamp": "31/01/2023 22:19:00",
"resource": "/api/v2.0/comprobantes/facturas",
"messages": [
"Ya existe un comprobante con el secuencial 000000002 para el establecimiento 001 y punto de emisión 001"
]
}
}
La siguiente tabla explica los elementos de respuesta de error REST.
- code: El código de error es una cadena de texto que identifica de forma única una condición de error. Está destinado a ser leído y entendido por programas que detectan y manejan errores por tipo. Para obtener más información, consulte la Lista de códigos de error.
- timestamp: Indica la fecha y hora en que ocurrió el error.
- resource: Representa el recurso involucrado en el error
- requestId: ID de la solicitud asociada al error. Sólo está presente cuando son errores internos de la aplicación y permiten al equipo de soporte, dar seguimiento del fallo.
- messages: Los mensajes de error contienen una descripción genérica de la condición de error en español. Está destinado a una audiencia humana.
Muchos mensajes de error contienen datos estructurados adicionales destinados a ser leídos y entendidos por un desarrollador que diagnostica errores de programación.
- BadRequest: Representado por el código de estado HTTP 400, está asociado a un error por parte el usuario al enviar la información requerida hacia Verónica. Se recomienda revisar la documentación en línea para entender el formato y los valores requeridos en cada solicitud hacia la API.
- InvalidUser: Representado por el código de estado HTTP 401, indica que no se está adjuntando en la solicitud, la cabecera asociada ya sea a un token válido o a una API Key vigente.
- ExpiredSubscription: Representado por el código de estado HTTP 402, indica que se está intentando operar con una suscripción expirada o con pagos pendientes.
- AccessDenied: Representado por el código de estado HTTP 403, nos dice que apesar de ser un usuario válido, el recurso al que intentamos acceder no está permitido.
- NotFound: Representado por el código de estado HTTP 404, indica que el recurso al que se quiere acceder, no existe.
- Conflict: Representado por el código de estado HTTP 409, indica que ya existe un recurso con las restricciones propias del recurso que estamos intentado crear.
- InvalidReceipt: Representado por el código de estado HTTP 500, nos indica que nuestro comprobante fue rechazado por el servicio de validación del S.R.I.
- UnauthorizedReceipt: Representado por el código de estado HTTP 500, nos indica que nuestro comprobante fue rechazado por el servicio de autorización del S.R.I.
- InvalidInternalStatus: Representado por el código de estado HTTP 500, nos indica que nuestro comprobante posse un estado inválido para la operación que se está intentando ejecutar.
- InternalError: Representado por el código de estado HTTP 500, indica que ha sucedido un error interno de la aplicación.
- UnavailableService: Representado por el código de estado HTTP 503, nos indica que los servicios Web del S.R.I. no se encuentran disponibles.