Документация API
REST API + webhooks. Всё, что нужно, чтобы подключить ваши системы к MiEspacio за день.
Начало работы
Базовый URL
Все запросы к API выполняются по следующему базовому URL:
/api//v1Публичные эндпоинты доступны без аутентификации. Аутентифицированные эндпоинты требуют Bearer-токен, полученный через эндпоинт входа.
Эндпоинты
Публичные эндпоинты
Эти эндпоинты доступны без аутентификации.
| Метод | URL | Описание | Авт. |
|---|---|---|---|
| GET | /companies | Список компаний | Нет |
| GET | /companies/{slug} | Детали компании | Нет |
| GET | /companies/{slug}/services | Услуги компании | Нет |
| GET | /companies/{slug}/reviews | Отзывы о компании | Нет |
| GET | /companies/{uuid}/booking/availability | Доступность бронирования | Нет |
| POST | /companies/{uuid}/bookings | Создать бронирование | Нет |
| GET | /restaurants | Список ресторанов | Нет |
| GET | /events | Список событий | Нет |
| GET | /vacancies | Список вакансий | Нет |
| GET | /blog/posts | Публикации блога | Нет |
| GET | /business-types | Типы бизнеса | Нет |
| GET | /platform-stats | Статистика платформы | Нет |
Эндпоинты аутентификации
Используются для получения и управления токенами доступа.
| Метод | URL | Описание | Авт. |
|---|---|---|---|
| POST | /auth/login | Войти | Нет |
| POST | /auth/register | Зарегистрироваться | Нет |
| POST | /auth/refresh | Обновить токен | Так |
| GET | /auth/me | Текущий пользователь | Так |
Аутентификация
MiEspacio использует Bearer-токен аутентификацию на базе Laravel Sanctum. Для доступа к аутентифицированным эндпоинтам:
- Отправьте POST-запрос на /auth/login с вашими учетными данными.
- Добавьте полученный токен в заголовок Authorization последующих запросов.
- Обновите токен до истечения срока действия через эндпоинт обновления.
Пример заголовка:
Authorization: Bearer your-token-hereЛимиты запросов
Запросы к API ограничены по IP-адресу для обеспечения справедливого использования.
| Область | Лимит |
|---|---|
| Публичные эндпоинты | 2 000 запросов/мин |
| Эндпоинты бронирования | 300 запросов/мин |
| Эндпоинты аутентификации | 25 запросов/мин |
При превышении лимита вы получите ответ 429 Too Many Requests. Заголовок Retry-After указывает сколько секунд нужно ждать.
Формат ответа
Все ответы возвращаются в формате JSON. Успешные ответы обычно имеют следующую структуру:
{
"data": [
{
"id": 1,
"name": "La Maison Barcelona",
"slug": "la-maison-barcelona"
}
],
"meta": {
"current_page": 1,
"last_page": 4,
"per_page": 20,
"total": 78
}
}Пагинированные ответы содержат стандартные метаданные пагинации Laravel (current_page, last_page, per_page, total).
Коды ошибок
API использует стандартные HTTP-коды состояния для обозначения результата запроса.
| Код | Значение |
|---|---|
200 | OK — Запрос выполнен успешно |
201 | Created — Ресурс успешно создан |
400 | Bad Request — Некорректные параметры запроса |
401 | Unauthorized — Отсутствующая или недействительная аутентификация |
403 | Forbidden — Недостаточно прав доступа |
404 | Not Found — Ресурс не существует |
422 | Unprocessable Entity — Ошибки валидации |
429 | Too Many Requests — Лимит запросов превышен |
500 | Internal Server Error — Что-то пошло не так на сервере |
Ответы с ошибками содержат сообщение и, если применимо, структурированный код ошибки:
{
"message": "The selected time slot is no longer available.",
"errors": {
"slot": [
"Please choose another available time."
]
}
}Нужен ключ API?
Обратитесь к нашей команде для запроса доступа к API для вашего приложения.
Связаться