Errores
Toda respuesta de error de la API programática de Rekurra sigue la misma forma:
{
"error": {
"type": "invalid_request",
"code": "missing_field",
"message": "El campo 'email' es obligatorio.",
"param": "email",
"request_id": "req_01HZXK7QJ5M8Z9X2R3TVQ7A1B2"
}
}| Campo | Descripción |
|---|---|
type | Categoría del error (ver tabla abajo) |
code | Código específico y estable, útil para manejar el error programáticamente |
message | Mensaje legible en español (es-CO) — no lo muestres crudo al usuario final sin traducir tu propio copy si necesitas otro tono |
param | Campo del request que causó el error, si aplica |
request_id | Identificador único de la request — inclúyelo si escribes a soporte |
Tipos de error (error.type)
type | Significado |
|---|---|
invalid_request | El request está mal formado o referencia un recurso inexistente |
authentication_error | Falta la API key, es inválida o fue revocada |
rate_limit | Se superó el límite de requests por llave |
api_error | Error interno de Rekurra — reintenta con backoff |
wompi_error | Wompi rechazó o falló al procesar la operación |
insufficient_balance | Tu saldo prepago no alcanza para cubrir el fee proyectado |
Status codes
| Status | Significado |
|---|---|
200 | OK |
201 | Creado |
400 | Request inválido (campos faltantes o mal formados) |
401 | Autenticación fallida (API key faltante, inválida o revocada) |
403 | La API key no tiene el scope necesario |
404 | El recurso no existe o no pertenece a tu cuenta |
409 | Conflicto (por ejemplo, Idempotency-Key reusada con un body distinto, o code duplicado) |
422 | Regla de negocio violada (por ejemplo, saldo insuficiente o rechazo de Wompi) |
429 | Límite de tasa superado |
5xx | Error interno de Rekurra |
Buenas prácticas
- Reintenta
429y5xxcon backoff exponencial. - No reintentes
400,401,403,404ni422sin corregir el request — el resultado será el mismo. - Usa
Idempotency-Keyen operaciones de creación (POSTde suscripciones, cobros manuales) para que un reintento de red no cree un recurso duplicado. - Registra siempre
request_iden tus logs para poder correlacionar con soporte de Rekurra.