Перейти к основному содержимому
REST API v1

Документация 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. Для доступа к аутентифицированным эндпоинтам:

  1. Отправьте POST-запрос на /auth/login с вашими учетными данными.
  2. Добавьте полученный токен в заголовок Authorization последующих запросов.
  3. Обновите токен до истечения срока действия через эндпоинт обновления.

Пример заголовка:

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-коды состояния для обозначения результата запроса.

КодЗначение
200OK — Запрос выполнен успешно
201Created — Ресурс успешно создан
400Bad Request — Некорректные параметры запроса
401Unauthorized — Отсутствующая или недействительная аутентификация
403Forbidden — Недостаточно прав доступа
404Not Found — Ресурс не существует
422Unprocessable Entity — Ошибки валидации
429Too Many Requests — Лимит запросов превышен
500Internal Server Error — Что-то пошло не так на сервере

Ответы с ошибками содержат сообщение и, если применимо, структурированный код ошибки:

{
  "message": "The selected time slot is no longer available.",
  "errors": {
    "slot": [
      "Please choose another available time."
    ]
  }
}

Нужен ключ API?

Обратитесь к нашей команде для запроса доступа к API для вашего приложения.

Связаться