Skip to content

Latest commit

 

History

History
327 lines (198 loc) · 22.5 KB

File metadata and controls

327 lines (198 loc) · 22.5 KB

Чат-боты Битрикс24

{% note warning "Мы еще обновляем эту страницу" %}

Тут может не хватать некоторых данных — дополним в ближайшее время

{% endnote %}

{% if build == 'dev' %}

{% note alert "TO-DO не выгружается на prod" %}

  • нужны правки под стандарт написания
  • не прописаны ссылки на ещё не созданные страницы
  • из файла Сергея: это работает во внутреннем мессенджере, поддерживает открытые линии, вот такие полезные сценарии

{% endnote %}

{% endif %}

{% note tip " " %}

Бот-платформа Битрикс24 — новый формат приложений, основанных на чатах в веб-мессенджере.

{% endnote %}

Быстрый переход: все методы и события

Что такое чат-боты и что они могут делать?

Что такое чат-боты, зачем они нужны и зачем вообще заниматься их разработкой?

{% note tip " " %}

Чат-бот — это виртуальный собеседник, программа, которая создана для имитации поведения человека при общении с одним или несколькими собеседниками.

{% endnote %}

В большей степени, этот тренд формируется сейчас за рубежом — существует огромное количество ботов для Slack или Telegram, решающих самые разные задачи — от поиска авиабилетов до управления небольшими командами разработчиков. И чтобы получить все это богатство, пользователям даже не нужно выходить из предпочитаемого мессенджера.

Что могут делать чат-боты?

  • Замена рутины — позволяет выполнять определенные функции, не привлекая людей, а работа будет выполнена моментально и безупречно;
  • Поиск и агрегация новостей, аналитики, данных (Data-Driven Collaboration), данные доступны в месте принятия решений — мессенджерах и всем участникам, которым они нужны;
  • E-commerce — для спонтанных покупок без долгого поиска, mobile ecommerce + visual search + chatbots, для общения с клиентами;
  • Первая линия работы с клиентами, помощники, консультанты, типовые вопросы, телефония;
  • Just for Fun — просто для развлечения.

Бот-платформа Битрикс24

А в Битрикс24 чаты (как индивидуальные, так и групповые) — это часть намного более сложной экосистемы, один из основных каналов коммуникации пользователей, полностью интегрированный с другими бизнес-инструментами. И в этом контексте использование чат-ботов открывает значительно более интересные перспективы для бизнес-пользователей, поскольку Битрикс24 (в браузере, десктоп- и мобильном приложениях) уже сейчас — основное рабочее место для большого количества компаний.

Очень просто написать чат-бота, который, например, будет сообщать в чат нужным пользователям срочную информацию о показателях внутренней учетной системы, интегрированной с Битрикс24. Можно написать чат-бота, который будет помогать курьерам удобно обрабатывать заказы на основании сделок CRM Битрикс24 на мобильном устройстве прямо в мессенджере — и не придется писать для них отдельное мобильное приложение.

Разработка чат-бота в Битрикс24 — это очень перспективный вариант быстрой и удобной автоматизации специфических бизнес-процессов. Удобной, поскольку, как мы уже выяснили, получение информации и управление через мессенджер — это то, что сейчас предпочитает массовый пользователь. А быстрой — потому что разработка чат-бота для Битрикс24 это довольно простой процесс.

{% note info %}

Для более четкого понимания, что могут делать чат-боты на платформе Битрикс24, можно посмотреть видео-примеры возможностей уже готовых чат-ботов тут.

{% endnote %}

{% note warning %}

Существует ограничение на создание чат-ботов в рамках rest-приложений: не более 5 на одно приложение.

{% endnote %}

Возможности чат-бота

Чат-бот:

  • это специальный пользователь в системе, с которым можно коммуницировать в чате, но под ним никто не может авторизоваться;
  • поддерживает обработку slash-команд;
  • позволяет использовать свои клавиатуры для ответов, превратив простой чат в терминал.

Slash-команды

Slash-команды позволяют быстро создавать запросы для вывода или получения какой-либо информации, форматировать сообщения.

Пример команды

{% note info %}

Подробнее о работе с командами можно прочитать здесь.

{% endnote %}

Клавиатуры

Возможности клавиатур довольно широкие.

  1. EchoBot

    Постраничная навигация, кнопки при вызове команды «Помощь»

    @youtube

  2. Марта

    Просто напишите марте «Поиграй со мной!». Клавиатура используется как игровое поле:

    @youtube

  3. Giphy

    Кнопка Еще позволяет без повторного введения поискового слова просматривать другие картинки на эту же тему:

    Еще картинки

{% note info %}

Подробнее о работе с клавиатурами можно прочитать здесь.

{% endnote %}

Чаты

Чат-боты могут общаться в чате почти как живые люди. Также они могут напоминать о различных событиях (о текущих задачах, встречах) или давать справочную информацию. Кроме того, что чат-боты могут писать в чаты, они могут еще создавать такие чаты и автоматически приглашать туда людей, например для обсуждения какой либо задачи.

Чаты

{% note info %}

Подробнее о работе с чатами можно прочитать здесь.

{% endnote %}

Уведомления

Уведомления от чат-бота могут быть полезны и информативны. Они могут состоять из нескольких блоков различной информации из внешних систем.

Уведомления

{% note info %}

Подробнее о работе с уведомлениями можно прочитать здесь.

{% endnote %}

Жизненный цикл чат-бота

Чат-бот публикует свои сообщения в чат через Rest API, получает ответы и команды пользователя через События Rest API (POST запрос).

Схема жизни чат-бота выглядит так:

Схема жизни чат-бота

Создание своего приложения

Основное, что нам надо понимать про чат-боты — это то, что их логика обычно строится на реагировании на некие действия пользователя и системы.

И у нас есть 6 событий, которые полностью покрывают необходимый спектр реакций:

  • ONAPPINSTALL — событие на установку приложения с чат-ботом.
  • ONAPPUPDATE — событие на обновление приложения.
  • ONIMJOINCHAT — событие после приглашения чат-бота «к разговору», т.е. либо при вызове его пользователем в индивидуальном чате, либо при подключении его к групповому чату.
  • ONIMBOTMESSAGEADD — событие после отправки сообщения от пользователя к чат-боту (в групповом чате, при явном упоминании бота).
  • ONIMCOMMANDADD — событие после отправки команды от пользователя к чат-боту (в персональной переписке с ним, или в групповом чате (если команда глобальная, то он может не участвовать в чате)).
  • ONIMBOTDELETE — событие после удаления приложения. Событие вызывается параллельно с OnAppUninstall.

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

  1. Зарегистрировать чат-бота на портале пользователя при установке.
  2. Вывести приветствие-справку от имени чат-бота в момент приглашения его в чат.
  3. Научиться анализировать текст сообщения от пользователя и что-то отправлять в ответ, причем под анализом подразумевается простой «разбор командной строки», а не лексический разбор естественного языка.

И для этого у нас есть набор простых методов, добавленных в REST API. Нам для старта потребуются только два:

Очевидно, что в обработчике события ONAPPINSTALL мы вызовем метод imbot.register для того, чтобы добавить чат-бота на текущий портал, а затем в событии ONIMJOINCHAT воспользуемся методом imbot.message.add для вывода справки о функционале чат-бота, и в обработчике ONIMBOTMESSAGEADD будем отвечать пользователю при помощи того же imbot.message.add. Ничего сложного, согласитесь?

А также вам не придется реализовывать в приложении полноценный OAuth 2.0, поскольку параметры, необходимые для авторизации, приходят в обработчики в массиве $_REQUEST.

{% note info %}

Полный список методов и событий Bot API можно посмотреть здесь.

{% endnote %}

Возможные типы чат-ботов Битрикс24

Для более четкого понимания, что могут делать чат-боты на платформе Битрикс24, приведем видео-примеры возможностей уже готовых чат-ботов. Типы чат-ботов приведены условно, вы можете создать чат-бота, который может сочетать 2 или 3 типа.

@youtube

Личный помощник

  • Марта («1С-Битрикс») — ваш личный помощник. Она помогает искать ответы на вопросы, напоминает о встречах, с ней можно поиграть в «Крестики-нолики», и она готова просто поговорить.

Справочная система

  • Реквизиты контрагента («1С-Битрикс») — ищет по базе ФНС и выдает необходимую информацию.
  • Поиск24 (студия «G-Tech») — ваш личный поисковый робот. Ищет в Яндексе и выводит 5 самых точных ответов.

Для специальных задач

  • Support Bot («1С-Битрикс») — внутренний чат-бот для быстрого доступа к тикет-системе «Битрикс24».

Работа с сервисами

  • OCR Bot (First Open Systems) — распознает сканы любых документов и сохраняет их в RTF.
  • Переводчик (PWEB) — помогает переводить тексты с одного языка на другой. Поддерживает перевод на 63 языка.
  • ЗаМКАДыш (ИА «Инсайд») — осуществляет поиск расстояния от МКАД до необходимого адреса. Поиск расстояния рассчитывается как по прямой, так и по автодорогам.

Работа с открытыми линиями

  • Чат-бот для Открытых линий («1С-Битрикс») сможет выступить помощником при первом контакте с пользователем или помогать вам посреди диалога.

Для развлечений

  • Андрейка (PWEB) — мастер на анекдоты. Поддерживает диалог анекдотами и смешными цитатами.
  • Giphy («1С-Битрикс») — поиск по большой библиотеке анимированных GIF-файлов, что позволяет легко найти необходимое изображение и поделиться им с коллегами.

Смотрите также

Полный список чат-ботов для платформы Битрикс24 можно увидеть в одноименном разделе Магазина приложений Битрикс24.

Обзор методов {#all-methods}

{% list tabs %}

  • Методы

    #| || Метод | Описание || || im.revision.get | Возвращает информацию о ревизиях API || || imbot.register | Регистрирует нового чат-бота || || imbot.unregister | Удаляет зарегистрированного бота || || imbot.update | Обновляет данные чат-бота || || imbot.bot.list | Возвращает список доступных чат-ботов || |#

  • События

    #| || Событие | Вызывается || || ONAPPINSTALL | При установке приложения || || ONAPPUPDATE | При обновлении приложения || |#

{% endlist %}

Чаты

{% list tabs %}

  • Методы

    #| || Метод | Описание || || imbot.chat.add | Создает новый чат || || imbot.chat.get | Возвращает информацию о чате || || imbot.chat.leave | Выполняет выход чат-бота из указанного чата || || imbot.chat.setOwner | Устанавливает нового владельца чата || || imbot.chat.updateAvatar | Обновляет аватар чата || || imbot.chat.updateColor | Обновляет цвет чата || || imbot.chat.updateTitle | Обновляет название чата || || imbot.chat.user.add | Добавляет пользователя в чат || || imbot.chat.user.list | Возвращает список пользователей в чате || || imbot.chat.user.delete | Удаляет пользователя из чата || || imbot.dialog.get | Возвращает информацию о диалоге || |#

  • События

    #| || Событие | Вызывается || || ONIMBOTDELETE | При удалении чат-бота || || ONIMBOTJOINCHAT | При получении информации чат-ботом о включении его в чат (или личную переписку) || |#

{% endlist %}

Команды

{% list tabs %}

  • Методы

    #| || Метод | Описание || || imbot.command.register | Регистрирует новую команду для чат-бота || || imbot.command.unregister | Удаляет зарегистрированную команду чат-бота || || imbot.command.update | Обновляет информацию о зарегистрированной команде чат-бота || || imbot.command.answer | Отправляет ответ на команду чат-бота || |#

  • События

    #| || Событие | Вызывается || || ONIMCOMMANDADD | При добавлении новой команды чат-ботом || |#

{% endlist %}

Сообщения

{% list tabs %}

  • Методы

    #| || Метод | Описание || || imbot.message.add | Добавляет новое сообщение от чат-бота || || imbot.message.update | Обновляет существующее сообщение от чат-бота || || imbot.message.delete | Удаляет сообщение от чат-бота || || imbot.message.like | Ставит "лайк" на сообщение от чат-бота || || imbot.chat.sendTyping | Отправляет индикатор набора текста в чат || |#

  • События

    #| || Событие | Вызывается || || ONIMBOTMESSAGEADD | При отправке сообщения|| || ONIMBOTMESSAGEUPDATE | При обновлении сообщения чат-бота || || ONIMBOTMESSAGEDELETE | При удалении сообщения чат-бота || |#

{% endlist %}

[*keyboard]: Клавиатура — это набор кнопок, каждая кнопка может состоять из определённых ключей.