Errores
Todas las respuestas de error incluyen success: false y un campo message descriptivo. Los errores de validación (422) incluyen además un campo errors con detalles por campo.
Códigos HTTP
200OKPetición exitosa.
201CreatedRecurso creado correctamente (empresa, establecimiento).
401UnauthorizedToken ausente, inválido o del tipo equivocado para este endpoint.
404Not FoundRecurso no encontrado.
422UnprocessableDatos de entrada inválidos. Revisa el campo errors.
500Server ErrorError interno. Reintenta con backoff exponencial.
Error de validación (422)
Respuesta 422json
{
"success": false,
"message": "Los datos enviados no son válidos.",
"errors": {
"documento.cliente.numeroDocumento": [
"El número de documento debe tener 11 dígitos para tipo RUC."
],
"documento.items": [
"El campo items es requerido."
]
}
}Error de autenticación (401)
Respuesta 401json
{
"success": false,
"message": "Token inválido o expirado."
}Errores SUNAT
Cuando SUNAT rechaza un comprobante, la respuesta HTTP es 200 (la petición a la API fue exitosa), pero el campo estado será RECHAZADA y el campo sunat.codigo contendrá el código de error de SUNAT.
Rechazo SUNAT (HTTP 200, estado RECHAZADA)json
{
"success": true,
"message": "El comprobante fue rechazado por SUNAT.",
"data": {
"estado": "RECHAZADA",
"entorno": "demo",
"documento": {
"id": "9c948140-674e-11f1-85b5-d764057e10c4",
"serie": "F001",
"correlativo": "00000001",
"tipo": "FACTURA"
},
"sunat": {
"codigo": "2800",
"mensaje": "El número de RUC del receptor no existe en el padrón de contribuyentes de la SUNAT",
"notas": []
}
}
}