Beta Проект в бета-тестировании
ГлавнаяФункцииWikiПланыКонтактыВойти →
Главная / Wiki / Яндекс Путешествия

Яндекс Путешествия: подключение и работа

Экстранет travel.yandex.ru: брони через HTTP API, сообщения — через WebSocket push.yandex.ru с бинарным TLV-протоколом. Самая технически сложная интеграция — разберём по шагам.

1. Cookies, CSRF, chain_id и hotel ID

  • В профиле канала (yandex): вставьте cookies из браузера (важно: Session_id, sessionid2, yandexuid), csrf_token, chain_id, при желании user_agent и poll_interval_sec (по умолчанию 60).
  • В объекте впишите id_yandex = Hotel ID (число вроде 704608). Это НЕ UID из cookies! Если вписали UID — система отфильтрует его и предупредит в логе.
  • Привяжите профиль к объектам. В логе должно быть «объект N → id_yandex=…», иначе профиль «не готов».

2. Синхронизация броней (orderChat/list)

  • Опрос состояний ACTIVE + CLOSED, стадии CHECKED_OUT / IN_PROGRESS / NOT_CHECKED_IN_YET, сортировка BY_LAST_MESSAGE_DATE, лимит 50.
  • Внешний ID: yandex-order-{orderPrettyId}. Детали — orderChatDetails?orderChatId=…: даты, гость, сумма totalAmount, категория номера, комментарий.
  • Объект ищется по hotelId + internalName (если несколько объектов на один отель — по совпадению названия).
  • Глубина — channel_history_days; старые чаты пропускаются со счётчиком skipped_old.

3. WebSocket: messengerChatId и история

  • Числовой orderChatId — НЕ чат для сообщений! Настоящий ID — messengerChatId формата «2/65/…» (метод getMessengerChat v2→v1). Привязывается только он.
  • Сокет: wss://push.yandex.ru/v2/subscribe/…service=messenger-prod…travelExtranetWeb с cookies, Origin и UID. Реконнект 5 сек → 2 мин (+джиттер).
  • После подключения запрашивается история каждого чата (лимит 40, паузы 200–500 мс). Форматы: bootstrap {Chats[]}, прямой {ChatId, Messages[]}, одиночные realtime-сообщения.
  • Роль: IsRobot или системный Guid → user (гость), иначе bot. Фото — ссылка travel.yandex.ru/api/download/{id2} → маркер [Фото: …].

4. Отправка сообщений

Только при живом сокете и полученном XivaSubscriptionId: бинарный пакет «push» с RequestId, ChatId, PayloadId, MessageText, YandexUid. Без соединения — ошибка «сокет-соединение отсутствует», сообщение не уйдёт (проверяйте статус).

Проблемы: 401/403 → обновите cookies (они протухают); «Hotel IDs не заданы» → проверьте id_yandex и привязки; UID не извлекается → скопируйте cookies целиком, включая Session_id.
📷 Скриншот: Профиль Яндексassets/screenshots/yandex-profile.pngПоложите файл с этим именем в папку web-landing/assets/screenshots/ — он появится здесь автоматически
Профиль Яндекс: cookies, hotel ID

Контакты

Проект в бета-тестировании — пишите, поможем с подключением.

Emailinfo@gostvchat.ruОтветим в течение рабочего дня
Telegramt.me/gostvchatБыстрые вопросы
Панельgostvchat.ru/workspace/Вход через Яндекс OAuth