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

Webim (Custom Channel API) как входящий канал

подсказка
Webim — платформа онлайн-консультирования. Общение возможно через различные каналы: чат на сайте, мессенджеры, социальные сети, чат-боты, мобильные приложения и другие. Платформа также интегрируется с CRM и HelpDesk системами.

Создание канала

Нажмите на панели управления Каналы → Входящие → Подключить канал. В разделе Другие выберите Webim (Custom Channel API).

Заполните поля:

  • Название — укажите название для канала или оставьте по умолчанию.
  • Токен — оставьте пустым.
  • Почтовый адрес — укажите почтовый адрес учетной записи администратора сервиса Webim.
  • Пароль — укажите пароль учетной записи администратора сервиса Webim.
  • Домен — введите домен, на который вы устанавливаете сервис Webim. Например, для учетной записи https://examplecom.webim.ru домен examplecom.
  • Ветка — укажите ветку проекта, которую вы хотите развернуть в канал, по умолчанию master. Вы также можете выбрать Git-тег или ввести хеш конкретного коммита.
  • Публикация — автоматически (после каждого сохранения внесенных в проект изменений) или вручную (с помощью кнопки Опубликовать в строке с описанием канала).
предупреждение
Публикацию сценария нужно выполнять перед запуском бота. На этом этапе происходит сборка бота, проверка синтаксиса сценариев и скриптов, а также проверка прохождения тестов.

Нажмите Создать. Дождитесь всплывающего окна с результатом публикации.

подсказка
Указание данных учетной записи администратора необходимо для сбора логов диалога с оператором. Если поля не заполнены, логи будут собираться только до момента перевода на оператора.
предупреждение
После создания канала формируется API Endpoint. Перейдите к редактированию канала, скопируйте API Endpoint и передайте его в Webim.

Тестирование бота

Перейдите в окно диалога с ботом в подключенном мессенджере и отправьте ему приветственную/активационную фразу, предусмотренную вашим сценарием. После этого должен начаться ваш диалог с ботом.

Сценарий

Варианты инициализации чата:

С сообщениями

Для инициализации чата Webim присылает в платформу запрос. При этом если клиент написал в чат до старта диалога, то все сообщения объединяются в одно, а затем направляется в сценарий для обработки.

Для определения новой сессии вы можете использовать обработчик preProcess, например:

init:
bind("preProcess", function($context){
if($context.session = {}){
// здесь считаем, что сессия новая
}
})

Без сообщений

При инициализации чата без сообщений от клиента в сценарий отправляется event: newChatStarted. При этом в eventData содержится запрос Webim.

Пример запроса:

eventData = {
"chat": {
"id":
},
"location": {
"address":
},
"visitor": {
"id":
}
}
предупреждение
В стейте, где вы отлавливаете реакцию event: newChatStarted исключено использование ответных реплик бота для пользователя. Данный стейт будет использоваться только для инициализации переменных.

Например, использование в сценарии локации клиента, которая была получена из eventData:

    state: ConversationStart || noContext = true
event: newChatStarted
script:
$session.startNewSession = true;
if ($session.startNewSession){
createNewSession($request)
}
$session.location = $request.rawRequest.location;