Dashboard

Codigos de Error

Referencia completa de todos los codigos de error de la API.

Formato de respuesta de error

Cuando ocurre un error, la API devuelve una respuesta con el siguiente formato:

JSON
{
    "success": false,
    "error": {
        "code": "ERROR_CODE",
        "message": "Descripcion legible del error",
        "details": {
            // Informacion adicional (opcional)
        }
    }
}

Campos

Campo Tipo Descripcion
code string Codigo unico del error (para programar logica)
message string Mensaje descriptivo (puede mostrarse al usuario)
details object Detalles adicionales (campos invalidos, etc)

Errores de autenticacion (401, 403)

Codigo HTTP Descripcion
MISSING_API_KEY 401 No se incluyo el header X-API-Key
INVALID_API_KEY 401 API Key no valida o no encontrada
API_KEY_DISABLED 403 La API Key ha sido desactivada
API_KEY_EXPIRED 403 La API Key ha expirado
ORIGIN_NOT_ALLOWED 403 El dominio de origen no esta autorizado
TENANT_INACTIVE 403 La cuenta del negocio no esta activa
MISSING_TOKEN 401 Se requiere token JWT pero no se proporciono
INVALID_TOKEN 401 Token JWT invalido o malformado
TOKEN_EXPIRED 401 Token JWT expirado
INVALID_CREDENTIALS 401 Email o contraseƱa incorrectos (login)

Errores de rate limiting (429)

Codigo HTTP Descripcion
RATE_LIMIT_EXCEEDED 429 Demasiadas peticiones, espera antes de reintentar
LOGIN_ATTEMPTS_EXCEEDED 429 Demasiados intentos de login fallidos
REGISTRATION_LIMIT_EXCEEDED 429 Demasiados intentos de registro

Cuando recibes un error 429, revisa los headers de la respuesta:

Headers
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1704067260
Retry-After: 45

Errores de validacion (400)

Codigo HTTP Descripcion
VALIDATION_ERROR 400 Uno o mas campos tienen valores invalidos
MISSING_REQUIRED_FIELD 400 Falta un campo obligatorio
INVALID_EMAIL 400 Formato de email invalido
INVALID_PHONE 400 Formato de telefono invalido
INVALID_DATE 400 Formato de fecha invalido (debe ser YYYY-MM-DD)
INVALID_TIME 400 Formato de hora invalido (debe ser HH:MM)
DATE_IN_PAST 400 La fecha es anterior a hoy
DATE_TOO_FAR 400 La fecha excede el limite de reserva anticipada

Ejemplo con detalles

JSON
{
    "success": false,
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "Los datos enviados no son validos",
        "details": {
            "email": ["Formato de email invalido"],
            "telefono": ["Este campo es obligatorio"],
            "fecha": ["La fecha no puede ser anterior a hoy"]
        }
    }
}

Errores de recursos (404)

Codigo HTTP Descripcion
SERVICE_NOT_FOUND 404 Servicio no encontrado
PROFESSIONAL_NOT_FOUND 404 Profesional no encontrado
BOOKING_NOT_FOUND 404 Reserva no encontrada
CLIENT_NOT_FOUND 404 Cliente no encontrado
CATEGORY_NOT_FOUND 404 Categoria no encontrada

Errores de reservas

Codigo HTTP Descripcion
SLOT_UNAVAILABLE 400 El horario ya no esta disponible
PROFESSIONAL_NOT_WORKING 400 El profesional no trabaja ese dia/hora
SERVICE_NOT_OFFERED 400 El profesional no ofrece ese servicio
BUSINESS_CLOSED 400 El negocio esta cerrado en esa fecha
CANNOT_CANCEL 400 La reserva no puede cancelarse (ya paso o ya cancelada)
CANCELLATION_DEADLINE_PASSED 400 Paso el plazo de cancelacion
BOOKING_ALREADY_PAID 400 La reserva ya fue pagada

Errores de pagos

Codigo HTTP Descripcion
STRIPE_NOT_CONFIGURED 400 El negocio no tiene Stripe configurado
INVALID_AMOUNT 400 Monto invalido (debe ser positivo)
PAYMENT_FAILED 400 Error al procesar el pago
CARD_DECLINED 400 Tarjeta rechazada
INSUFFICIENT_FUNDS 400 Fondos insuficientes

Errores de puntos

Codigo HTTP Descripcion
INSUFFICIENT_POINTS 400 No tienes suficientes puntos
POINTS_NOT_ENABLED 400 El programa de puntos no esta activo
SERVICE_NOT_REDEEMABLE 400 Este servicio no es canjeable con puntos

Errores de servidor (500)

Codigo HTTP Descripcion
INTERNAL_ERROR 500 Error interno del servidor
SERVICE_UNAVAILABLE 503 Servicio temporalmente no disponible
Errores 500

Si recibes errores 500 de forma recurrente, contacta con soporte en developers@salonbookit.com