Перейти к основному содержимому
Войти

Первый запрос

Это руководство поможет вам сделать первый запрос к Hotel Management API.

Подготовка

Убедитесь, что у вас есть:

Пример 1: Получение списка отелей

Самый простой запрос - получение списка доступных отелей:

curl -X GET \
'https://stage.arkhyz-club.ru/hotels' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Ответ:

{
"data": [
{
"id": "hotel-uuid",
"name": "Отель Архыз",
"description": "Комфортабельный отель в горах",
"address": "г. Архыз, ул. Горная 1",
"stars": 4,
"photos": ["url1", "url2"],
"amenities": ["wifi", "parking", "restaurant"],
"price_from": 5000,
"rating": 4.5,
"reviews_count": 128
}
],
"meta": {
"total": 15,
"page": 1,
"per_page": 20,
"pages": 1
}
}

Пример 2: Поиск отелей с фильтрами

Добавим параметры поиска:

curl -X GET \
'https://stage.arkhyz-club.ru/hotels?search=архыз&stars=4&price_from=3000&price_to=10000' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Доступные параметры:

  • search - поиск по названию
  • stars - количество звезд
  • price_from, price_to - диапазон цен
  • amenities - удобства (wifi,parking,restaurant)
  • page, limit - пагинация

Пример 3: Получение информации о пользователе

curl -X GET \
'https://stage.arkhyz-club.ru/auth/me' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Ответ:

{
"id": "user-uuid",
"email": "user@example.com",
"first_name": "Иван",
"last_name": "Петров",
"phone": "+79001234567",
"role": "tourist",
"email_verified": true,
"created_at": "2024-01-15T10:30:00Z"
}

Пример 4: Создание бронирования

Для создания бронирования (требуется роль tourist или выше):

curl -X POST \
'https://stage.arkhyz-club.ru/bookings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-d '{
"hotel_id": "hotel-uuid",
"room_type_id": "room-type-uuid",
"check_in": "2024-03-01",
"check_out": "2024-03-05",
"guests": 2,
"guest_name": "Иван Петров",
"guest_phone": "+79001234567",
"guest_email": "user@example.com"
}'

Обработка ошибок

API возвращает стандартные HTTP коды состояния:

Успешные ответы

  • 200 OK - Запрос выполнен успешно
  • 201 Created - Ресурс создан
  • 204 No Content - Запрос выполнен, содержимое отсутствует

Ошибки клиента

  • 400 Bad Request - Неверный запрос
  • 401 Unauthorized - Требуется аутентификация
  • 403 Forbidden - Недостаточно прав
  • 404 Not Found - Ресурс не найден
  • 422 Unprocessable Entity - Ошибки валидации

Пример ответа с ошибкой:

{
"error": "Validation failed",
"message": "Указанные данные некорректны",
"details": {
"check_in": ["Дата заезда не может быть в прошлом"],
"guests": ["Количество гостей должно быть больше 0"]
}
}

Полезные заголовки

Обязательные

  • Authorization: Bearer TOKEN - для аутентификации
  • Content-Type: application/json - для POST/PUT запросов

Рекомендуемые

  • Accept: application/json - указывает желаемый формат ответа
  • User-Agent: YourApp/1.0 - идентифицирует ваше приложение

Следующие шаги