API - Configuración General
URL Base
Desarrollo: http://localhost:8000/
Producción: https://api.alojaplus.com/
Autenticación
Authorization: Bearer <jwt_token>
Content-Type: application/json
Formato de Respuesta
{
"success": boolean,
"message": string,
"data": object|array,
"errors": object (opcional),
"count": number (en listas)
}
Códigos de Error
Códigos HTTP Estándar
200: OK - Operación exitosa201: Created - Recurso creado exitosamente400: Bad Request - Datos inválidos401: Unauthorized - Token inválido o expirado403: Forbidden - Sin permisos404: Not Found - Recurso no encontrado409: Conflict - Conflicto de datos (ej: email duplicado)422: Unprocessable Entity - Validación fallida429: Too Many Requests - Rate limit excedido500: Internal Server Error - Error del servidor
Estructura de Error
{
"success": false,
"message": "Descripción del error",
"errors": {
"field_name": ["Error específico del campo"],
"general": ["Error general"]
},
"error_code": "VALIDATION_ERROR",
"timestamp": "2024-01-15T10:30:00Z"
}
Rate Limiting
Límites por Endpoint
/auth/login: 5 intentos por minuto por IP/auth/signup: 3 registros por hora por IP/auth/forgot-password: 3 intentos por hora por email- API general: 100 requests por minuto por usuario autenticado
- Uploads: 10 archivos por minuto por usuario
Headers de Rate Limit
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200
Versionado
Versión Actual
- API Version: v1
- Formato:
/api/v1/endpoint - Deprecation Policy: 6 meses de aviso previo
Headers de Versión
API-Version: v1
Accept: application/json; version=1