# Островок — ETG API (RateHawk): Загрузить описание и фото отеля

Сценарий из mcp-everything. Актуально на 2026-10-24.

Карточка отеля для своей витрины: описание, адрес, удобства и фотографии.

1. Запроси контент: POST /api/b2b/v3/hotel/info/ с hid и language.
2. Лимит — не больше 30 запросов за 60 секунд, поэтому кэшируй карточки у себя, а не запрашивай их при каждом показе.
3. Передавай собственный User-Agent с названием своего приложения — без него запросы могут отклоняться.
4. Для полной базы отелей используй дампы статического контента, а hotel/info — для точечного обновления.

```bash
curl --user '<KEY_ID>:<API_KEY>' 'https://api.ratehawk.com/api/b2b/v3/hotel/info/' \
  -H 'Content-Type: application/json' -H 'User-Agent: MyTravelApp/1.0' \
  -d '{"hid": 8473727, "language": "ru"}'
```

## Базовые URL

- Боевой и тестовый: `https://api.ratehawk.com`
- Песочница: `https://api-sandbox.ratehawk.com`
- Старые хосты  и  устарели.: `api.worldota.net`

## Авторизация

Тип: Basic Auth

HTTP Basic Authentication ключом API вида `<KEY_ID>:<API_KEY>`: `KEY_ID` — имя пользователя, `API_KEY` — пароль. Ключи бывают трёх типов: sandbox, test (только тестовый отель `hid = 8473727`, брони реальные) и production. Ключи видны в разделе API настроек договора (доступ — у Master-аккаунта).

```
curl --user '<KEY_ID>:<KEY>' --data '{"id":"city_hotel_berlin_east","language":"en"}' "https://api.ratehawk.com/api/b2b/v3/hotel/info/"
```

## Методы сценария

### POST /api/b2b/v3/hotel/info/ — Контент отеля

Не больше 30 запросов за 60 секунд; передавайте собственный `User-Agent`, например `RatehawkPartner/1.0 (python-requests/2.18.4)`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `hid` | body | integer | нет | Числовой ID отеля (нужен он или устаревший id) |
| `id` | body | string | нет | Устаревший строковый ID отеля |
| `language` | body | string | нет | Язык |

## Нюансы

- GET — для получения данных (параметры в `data` строки запроса), POST — для создания, изменения и удаления; тело — JSON-объект.
- Рекомендуемый поток: поиск → `search/hp` → `hotel/prebook` → `booking/form` → `booking/finish` → `booking/finish/status` (или вебхук).
- `partner_order_id` уникален в рамках договора и используется во всех вызовах после создания брони.
- Брони тестового отеля `hid = 8473727` реальные — их нужно отменять.
- В песочнице язык всегда `en`, валюта обычно USD/EUR, число тарифов ограничено 5, 3D Secure не поддерживается.
- Лимиты и доступные эндпоинты ключа — метод Retrieve endpoints; лимиты повышают только после сертификации.

## Другие сценарии

- [Найти отели и цены в городе](https://mcp-everything.ru/integrations/ostrovok-etg/scenarios/nayti-oteli-i-tseny-v-gorode.md)
- [Забронировать номер](https://mcp-everything.ru/integrations/ostrovok-etg/scenarios/zabronirovat-nomer.md)
- [Отменить бронирование](https://mcp-everything.ru/integrations/ostrovok-etg/scenarios/otmenit-bronirovanie.md)

---

Если этого недостаточно — официальная документация: https://docs.emergingtravel.com/docs/overview/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/ostrovok-etg.md
