Виджет веб-чата

Чат с гостями —
на вашем сайте.

Один тег script добавляет на сайт кнопку чата. Гости пишут вам оттуда, и каждый диалог попадает в те же входящие Prohost, что и переписки Airbnb и Vrbo, — а ваш AI отвечает первым.

Один тег script
Ответы в ваших входящих
vash-sait.ru
Напишите нам
Обычно отвечает за пару минут
Возможен ли поздний выезд в воскресенье?
Да, можем оставить жильё за вами до 14:00.

Что делает виджет

Это тот же гостевой чат, что работает на вашем сайте прямых бронирований Prohost, только упакованный для любого сайта, которым вы управляете.

Живёт на вашем сайте

Вставьте один тег script в подвал сайта или в блок пользовательского кода. Без плагина, без сборки, ничего не нужно размещать у себя.

Одни входящие на всё

Диалоги веб-чата приходят во входящие Prohost рядом с переписками OTA, так что команда отвечает на всё в одном месте.

Ваш AI отвечает первым

Тот же AI, что ведёт переписку с гостями, отвечает и здесь — со знанием ваших объектов и с передачей диалога человеку, когда это нужно.

Установка в три шага

Скопируйте сниппет в настройках виджета, вставьте на сайт, опубликуйте.

  1. Создайте виджет

    Откройте приложение AI-виджет чата в Prohost и задайте имя, приветствие и оформление кнопки, которую увидят посетители.

  2. Скопируйте сниппет

    В разделе Добавить на другой сайт скопируйте сниппет. В нём уже есть идентификатор виджета, ключ встраивания и настройки кнопки.

  3. Вставьте перед закрывающим тегом body

    Поместите его в общий подвал сайта или в блок пользовательского кода и опубликуйте. Кнопка появится в углу при следующей загрузке страницы.

html
<script
  src="https://app.prohost.ai/webchat.js"
  data-widget="WIDGET_ID"
  data-api-key="WIDGET_API_KEY"
  data-position="bottom-right"
  data-launcher-color="#4F46E5"
  data-launcher-icon="chat"
  data-sound="on"
  async></script>

Замените WIDGET_ID и WIDGET_API_KEY значениями из настроек виджета — или просто скопируйте готовый сниппет из приложения, оно подставит их за вас. Ключ встраивания публичный и действует только для этого виджета: доступа к аккаунту он не даёт. Prohost скрывает ключ после первого показа, поэтому используйте Обновить ключ, если нужен свежий сниппет для копирования.

Самая короткая рабочая версия

Обязательны только идентификатор виджета и ключ встраивания. Если опустить атрибуты кнопки, она возьмёт собственные значения по умолчанию — индиговый пузырь и значок чата — независимо от того, что вы выбрали в приложении. Само окно по-прежнему следует вашим настройкам.

html
<script
  src="https://app.prohost.ai/webchat.js"
  data-widget="WIDGET_ID"
  data-api-key="WIDGET_API_KEY"
  async></script>

Работает в большинстве конструкторов сайтов: у Webflow, WordPress, Squarespace и Wix есть место для пользовательского кода в подвале.

Справочник атрибутов

Все атрибуты data-*, которые читает загрузчик. Всё остальное на теге script игнорируется.

АтрибутЗначенияПо умолчаниюЧто делает
data-widgetИдентификатор вашего виджетаОбязательноК какому виджету относится диалог.
data-api-keyВаш публичный ключ встраиванияОбязательноПубличный ключ встраивания этого виджета. Он действует только для виджета и не даёт доступа к аккаунту.
data-positionbottom-right · bottom-leftbottom-rightВ каком углу находятся кнопка и окно чата.
data-launcher-colorЦвет в hex#4F46E5Цвет заливки кнопки чата.
data-accentЦвет в hexНетСтарое название data-launcher-color. Используется, только если data-launcher-color отсутствует.
data-launcher-iconchat · lettermarkchatЗначок на кнопке: пузырь чата или белая монограмма Prohost.
data-hide-mobileТолько наличиеВыключеноСкрывает кнопку при ширине меньше 768px. Окно по-прежнему можно открыть своей кнопкой — см. ниже.
data-soundonНастройка виджетаВключает звук ответа для этой вставки независимо от настройки виджета. См. ниже.

data-hide-mobile учитывается только по факту наличия: любое значение, включая пустую строку, включает его. Все остальные атрибуты читаются по значению, а data-sound реагирует исключительно на точное значение в нижнем регистре on.

Как работает звук ответа

Короткий тихий сигнал звучит в окне чата, когда приходит ответ, а посетитель смотрит в другую сторону.

Настройка

Проигрывать звук гостям

Переключатель в настройках виджета — главный источник правды. Он действует на этот виджет везде, где тот работает, включая ваш сайт прямых бронирований на Prohost. Меняйте когда угодно, править код не нужно.

Атрибут

data-sound="on"

Явное переопределение в теге script, который вы вставили. Оно может только включить звук: значения для выключения не существует. Атрибут нужен, чтобы сниппеты, вставленные до появления настройки, продолжали работать, и чтобы вы могли принудительно включить звук на конкретном сайте.

Достаточно одного из двух

Сигнал звучит, если включена настройка или если атрибут имеет ровно значение on. Сниппет, который генерирует приложение, держит их в согласии: он содержит атрибут, пока настройка включена, и опускает его, когда она выключена.

Чтобы отключить звук везде, выключите настройку и заново скопируйте сниппет на сайт. Уже вставленный атрибут продолжит переопределять настройку — так задумано.

  • Сначала посетитель должен как-то повзаимодействовать со страницей

    Браузеры блокируют звук, пока никто не кликнул, не коснулся и не набрал текст. Открытие кнопки засчитывается, ввод в окне чата тоже — так что тот, кто отправил сообщение, вызвавшее ответ, звук услышит. Если браузер всё же заблокирует воспроизведение, ничего не сломается: счётчик непрочитанных на кнопке остаётся основным сигналом, а звук — дополнением.

  • Никогда не звучит, пока читают

    Никакого сигнала, пока окно открыто, а вкладка на переднем плане: ответ и так на экране. Он звучит при закрытом окне или вкладке в фоне. Счётчик непрочитанных следует чуть более узкому правилу: он появляется только при закрытом окне.

  • Серия ответов — один сигнал

    Несколько сообщений, пришедших вместе, дают один сигнал, а не по одному на каждое.

Управляйте им со своей страницы

Загрузчик выкладывает небольшую шину событий в window.ProhostWebchat, чтобы ваш сайт мог открывать окно и реагировать на происходящее внутри.

javascript
function wireUpWebchat() {
  window.ProhostWebchat.on('webchat_host_message', (event) => {
    console.log(event.type);
  });

  document.querySelector('#my-chat-button')?.addEventListener('click', () => {
    window.ProhostWebchat.open();
    // window.ProhostWebchat.close() collapses it again.
  });
}

if (window.ProhostWebchat) {
  wireUpWebchat();
} else {
  // src*= rather than src$= — the tag may carry a cache-busting query string.
  document
    .querySelector('script[src*="/webchat.js"]')
    ?.addEventListener('load', wireUpWebchat);
}
webchat_session_startedДиалог создан: посетитель отправил первое сообщение. В payload приходит conversationId.
webchat_message_sentПосетитель отправил сообщение.
webchat_host_messageПришёл ответ от вашей команды или AI. Именно он питает счётчик непрочитанных и, если звук включён, сигнал.

Удобно вместе с data-hide-mobile: скройте стандартную кнопку на телефонах и открывайте окно своей собственной. События передаются только если пришли из встраивания Prohost, и никогда из другого источника.

Управляйте всем из приложения

Имя, приветствие, акцентный цвет окна и звук ответа живут в приложении AI-виджет чата, и каждый сайт с вашим виджетом подхватывает эти изменения сам. С цветом и значком кнопки иначе: они записаны в сниппете, поэтому после их изменения скопируйте его заново — как и после обновления ключа встраивания.