Documentación de la API
REST API + webhooks. Todo lo necesario para conectar tus sistemas a MiEspacio en un día.
Primeros pasos
URL base
Todas las solicitudes de API se realizan a la siguiente URL base:
/api//v1Los endpoints públicos se pueden acceder sin autenticación. Los endpoints autenticados requieren un token Bearer obtenido a través del endpoint de login.
Endpoints
Endpoints públicos
Estos endpoints están disponibles sin autenticación.
| Método | URL | Descripción | Auth |
|---|---|---|---|
| GET | /companies | Listar empresas | No |
| GET | /companies/{slug} | Detalles de empresa | No |
| GET | /companies/{slug}/services | Servicios de empresa | No |
| GET | /companies/{slug}/reviews | Reseñas de empresa | No |
| GET | /companies/{uuid}/booking/availability | Disponibilidad de reservas | No |
| POST | /companies/{uuid}/bookings | Crear reserva | No |
| GET | /restaurants | Listar restaurantes | No |
| GET | /events | Listar eventos | No |
| GET | /vacancies | Listar ofertas de empleo | No |
| GET | /blog/posts | Publicaciones del blog | No |
| GET | /business-types | Tipos de negocio | No |
| GET | /platform-stats | Estadísticas de la plataforma | No |
Endpoints de autenticación
Usados para obtener y gestionar tokens de acceso.
| Método | URL | Descripción | Auth |
|---|---|---|---|
| POST | /auth/login | Iniciar sesión | No |
| POST | /auth/register | Registrarse | No |
| POST | /auth/refresh | Refrescar token | Sí |
| GET | /auth/me | Usuario actual | Sí |
Autenticación
MiEspacio usa autenticación Bearer token con Laravel Sanctum. Para acceder a endpoints autenticados:
- Envía una solicitud POST a /auth/login con tus credenciales.
- Incluye el token devuelto en la cabecera Authorization de las solicitudes posteriores.
- Refresca el token antes de que expire usando el endpoint de refresco.
Ejemplo de cabecera:
Authorization: Bearer your-token-hereLímites de velocidad
Las solicitudes de API están limitadas por IP para garantizar un uso justo.
| Ámbito | Límite |
|---|---|
| Endpoints públicos | 2.000 sol/min |
| Endpoints de reservas | 300 sol/min |
| Endpoints de autenticación | 25 sol/min |
Cuando se supera el límite, recibirás una respuesta 429 Too Many Requests. La cabecera Retry-After indica cuántos segundos esperar.
Formato de respuesta
Todas las respuestas se devuelven en formato JSON. Las respuestas exitosas suelen seguir esta estructura:
{
"data": [
{
"id": 1,
"name": "La Maison Barcelona",
"slug": "la-maison-barcelona"
}
],
"meta": {
"current_page": 1,
"last_page": 4,
"per_page": 20,
"total": 78
}
}Las respuestas paginadas incluyen metadatos de paginación estándar de Laravel (current_page, last_page, per_page, total).
Códigos de error
La API usa códigos de estado HTTP estándar para indicar el resultado de una solicitud.
| Código | Significado |
|---|---|
200 | OK — Solicitud exitosa |
201 | Created — Recurso creado correctamente |
400 | Bad Request — Parámetros de solicitud inválidos |
401 | Unauthorized — Autenticación faltante o inválida |
403 | Forbidden — Permisos insuficientes |
404 | Not Found — El recurso no existe |
422 | Unprocessable Entity — Errores de validación |
429 | Too Many Requests — Límite de velocidad excedido |
500 | Internal Server Error — Algo salió mal en nuestro servidor |
Las respuestas de error incluyen un mensaje y, cuando aplica, un código de error estructurado:
{
"message": "The selected time slot is no longer available.",
"errors": {
"slot": [
"Please choose another available time."
]
}
}¿Necesitas una clave de API?
Contacta con nuestro equipo para solicitar acceso a la API para tu aplicación.
Contactar