Преобразование дат

Бот преобразует фразы сегодня, завтра и так далее, к значению дата (сегодня) + N дней.

Преобразование дат

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Реакция на сообщение

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

Рассылка

(1) — переключатель сохранения сообщения. По умолчанию опция выключена.
Чтобы активировать сообщение, нажмите на переключатель. Цвет переключателя изменится на синий, а в правом верхнем углу блока загорится зеленая точка.
Это означает, что как только все условия выполняются, происходит отправка сообщения.
(2) в нашем примере — это количество пользователей, которым отправится сообщение (текущее значение подписчиков с заданными условиями рассылки по реакции).
(3) — реакция на сообщение. В списке есть 2 опции:

  • после первого взаимодействия;
  • после последнего взаимодействия.

Пример для опции после первого взаимодействия

Нам нужно, чтобы подписчик получил информационное сообщение о нашей компании через 3 дня после начала диалога с ботом.
Для этого устанавливаем реакцию на сообщение «после первого взаимодействия», время отправки ставим 3 дня.
Задаем настройки в фильтре пользователей, название, текст сообщения. Переключатель (1) переводим в положение включить и нажимаем кнопку «Сохранить».

Пример для опции после последнего взаимодействия

Нам нужно, чтобы подписчик получил сообщение об оценке качества ответа на его вопрос, после завершения диалога с ботом через 10 минут. Для этого устанавливаем реакцию на сообщение «после последнего взаимодействия» и время отправки ставим 10 минут. Задаем настройки в фильтре пользователей, название, текст сообщения. Переключатель (1) в положение включить и нажимаем кнопку «Сохранить».
Помним о том, что одно сообщение-реакция отправляется только один раз за весь диалог. Если нужно периодически давать обратную связь, то на каждое такое сообщение-реакцию нужно настраивать новую рассылку.
(4) — время отправки сообщения (задается в минутах, часах, днях).
(5) — кнопка «Сохранить». Сохраняет отправку сообщения по реакции.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Блок сообщений

Чтобы попасть в настройки блока сообщений кликаем на кнопку «Редактировать» в созданной группе сообщений.

Блок сообщений — это самый главный блок, без которого нельзя построить самого простого бота. Кликаем на кнопку «Добавить блок сообщений» и создаем блок сообщений.

Настройки блока сообщений.

Блок сообщений

Создали блок сообщений (1), название по умолчанию «Сообщение». Изменить имя по умолчанию — вводим название (2), которое нужно.

Стартовое сообщение — начало группы сообщений. Если поставите галочку, то группа начнет работать именно с этого блока сообщений. На скриншоте вверху, виден блок «Приветствие», с точкой в верхнем правом углу — обозначает стартовое сообщение.

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

Пример

tel — переменная для сохранения телефона.

ww2 — произвольная переменная.

Если не ставить галочку «Подождать ответа», то будет переход к другому сообщению, которое указано в ссылке по умолчанию. Когда не указана ссылка по умолчанию, то бот не будет далее реагировать на запросы.

Включить markdown — опция для подсвечивания текста в Telegram. При создании текста вставьте символы, которые указаны ниже в примере

Пример

*bold text* — жирный шрифт;
_italic text_ — курсивный шрифт;
[inline URL](http://www.example.com/) — активная ссылка. В [квадратных скобках] указывается текст ссылки.
В (круглых скобках) указывается ссылка на в формате http.
`inline fixed-width code` — моноширный шрифт.

Примеры отображения форматирования текста на картинке

Блок сообщений

Время ввода — выставление времени отклика блока сообщений. Время можно выставить от 0 до 10-ти секунд. Время отсчитывается от предыдущего блока сообщений.

Пример

Есть блок 1 и блок 2, без ссылки по умолчанию. У второго блока время ввода стоит в 5 секунд. После того, как блок 1 сработает, пройдет 5 секунд и появится блок 2.

Текст сообщения (3) — текст любой длины (смайлики поддерживаются, вставляются прямо в текст).

Вставить имя — вставляется шаблон имени в формате first_name — имя, last_name — фамилия. Если нужно персонализировать сообщение, то используйте шаблон имени.

Шаблоны имен для разных социальных сетей, мессенджеров.

Вконтакте:
first_name – имя;
last_name – фамилия.

Telegram:
first_name – имя;
last_name — фамилия.
Telegram.start — содержит параметр переданный вместе с последней (для определенного пользователя) командой /start боту.

Viber:
name – имя.

Facebook Messenger:
first_name – имя.
last_name – фамилия.

Одноклассники:
name – имя.

Skype:
name – имя.

Пример

В тексте сообщения пишем: «Привет, first_name! Как дела?»

У пользователя отображается в чате: «Привет, Сергей! Как дела?»

Вставить Context переменную — вставляется шаблон переменной, в формате Context.имя переменной, где имя переменной — сохраненные ранее данные.

Пример

У пользователя запрашиваем адрес и т.п. контактные данные.

Для адреса назначаем переменную address, для телефона phone.

В конце опроса, требуем подтвердить введенные ранее данные. Наше сообщение выглядит в сервисе так:

first_name, подтвердите введенные данные:
Context.address
Context.phone

Все верно?

Для этого и нужны переменные. Все что нужно подставить данные, которые вводились человеком ранее и к примеру, спросить подтверждение.

Ссылка по умолчанию — переход к другому блоку в любом месте чат-бота.

Пример

Есть блок 1 и блок 2. Если в блоке 1, не стоит галочка «Подождать ответа» и стоит ссылка по умолчанию на блок 2, то произойдет переход из блока 1 в блок 2 с учетом только времени ввода.

(4) Добавление контента и переходов — возможность прикрепления контента (видео, аудио, изображений) к сообщению или их отправка отдельно.

Технические ограничения для контента:
Видео — не более 30 Мб;
Аудио — не более 30 Мб;
Изображение — не более 10 Мб.

Переходы, включают в себя 2 кнопки — клавиатура и кнопки.

Клавиатура — быстрые ответы от пользователя. Использовать можно в нескольких вариациях.

Блок сообщений

Вариант 1: назначаем ответы, через условный блок переводим далее в нужный блок. Пользователь делает выбор и переходит дальше.

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

Кнопки — переход в другие блоки внутри бота или по URL ссылке. Выбираем, как будет работать переход, назначаем блок или вводим ссылку.

Блок сообщений

Текст кнопки (1). Для Telegram не более 20 символа вместе с пробелами. (2) — ссылка на сообщение.

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

Блок сообщений

(1) — текст кнопки (для Telegram ограничение не более 21 символа, включая пробелы)
(2) — URL ссылка.

Пример

Пользователю чата отправляют статью или ссылку скачать файл. Кнопка работает, как переход по ссылке.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Сообщение по расписанию

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

Рассылка

В подчеркнутой красным цветом строке задаются настройки:

  • Даты. Выбор происходит по клику на выбранный день календаря.
  • Времени. Время прописывается в 24-часовом формате. Пример: 18:45.
  • Часового пояса пользователя. Рассылка уходит в зависимости от часового пользователя подписчика.
  • Повторности. Задается периодичность отправки сообщения: каждый день, выходные дни, каждый месяц, рабочие дни, свой вариант (выбор дней недели). Сообщение отправляется каждый заданный период в одно и тоже время до тех пор, пока его не отключить.

Пример

Нужно отправить сообщение 05.02.2020 в 15:00 о начале акции.

Для этого устанавливаем дату 05.02.2020 и время 15:00.
Задаем настройки в фильтре пользователей, название, текст сообщения. Переключатель (1) в положение включить и нажимаем кнопку «Сохранить».
Сообщение уйдет точно по расписанию.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Условный блок

Работа условного блока — ветвление логики бота.

Пример

В процессе диалога нужно перевести подписчика на оператора. Как можно это сделать?

Шаг 1 из 3

Чтобы создать условие, нужно добавить условный блок (1) в группе сообщений.

Условный блок

Шаг 2 из 3

В блоке сообщений «Приветствие» сохраняем ответы в переменную и переводим в условный блок. Получаем такую схему, в условном блоке (1) срабатывает условие и далее переводит подписчика в блок сообщений (2) или (3) в зависимости от того, какой выбор он сделал.

Условный блок

В блоке сообщений «Приветствие» указываем ответы, которые должен выбрать подписчик. Ответы «Попасть бесплатно» и «Торт в подарок». Чтобы сохранить результат в Context переменную нужно поставить галочку «Подождать ответа». Более подробную информацию по опциям блока сообщений, читайте по ссылке.
Получаем действие от подписчика, нажатие на кнопки ответов «Попасть бесплатно» или «Торт в подарок» и переводим в условный блок, где и происходит переход.

Шаг 3 из 3

Переходим внутрь условного блока и смотрим, какое условие прописали.

Условный блок

В предыдущем блоке «Приветствие» сохранили ответ в переменную privet.
Прописываем условие с переходом к блоку сообщений «Имя». Выглядит оно так:

Context.privet == "Попасть бесплатно"

Где, Context.privet — переменная, в которую сохраняем ответ от подписчика. Далее ставим пробел, двойное равно, пробел и в кавычках указываем ответ, который указывали в блоке «Приветствие» Таким образом получаем выражение, по которому выполняется условие, и подписчик переходит в блок «Имя». Точно такой же порядок действий и с другим условием.


Выше рассмотрели легкий вариант. А что если нам нужно сделать двойное условие с выбором опции И / ИЛИ? Для этой задачи подойдет обычный режим условного блока

Пример. Вариант с «ИЛИ»

При условии такого выражения бот понимает, что переменные param или param2 равны соответствующим значениям. И переход пользователя бота будет в другой блок при соблюдении одного из условий.

Context.param == "Попасть бесплатно" || Context.param2 == "Хочу торт"

Пример. Вариант с «И»

При условии такого выражения бот понимает, что одна и вторая переменная param или param2 равна соответствующему значению. И переход пользователя бота будет в другой блок при соблюдении двух условий.

Context.param == "Попасть бесплатно" && Context.param2 == "Хочу торт"

Как это выглядит на практике?

Рассмотрим на примере Facebook Messenger. Подписчик начинает диалог с бизнес страницей и ему предлагается выбор в виде ответов «Попасть бесплатно» и «Торт в подарок».

На видео выбираем «Попасть бесплатно» и переходим к блоку сообщений «Имя».

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Блок API

API — (программный интерфейс приложения, интерфейс прикладного программирования) (англ. application programming interface) — описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой.

Блоку API задается имя, опции (стартовое сообщение, дождаться ответа удаленного сервиса). Настройки заголовков, параметров (переменных, постоянных).

Пример

Решаем задачу по отображению погоды в чате. Для этого нужно сделать запрос к сервису погоды и вывести данные в чат.

Самый простой для доступа к API — сервис погоды openweathermap.org.

Регистрируемся и получаем ключ приложения (APPID) по ссылке. Обычно ключ дублируется в email письме подтверждения.

Тестируем наш запрос в браузерной строке с городом Москва. Он выглядит так: http://api.openweathermap.org/data/2.5/weather?q=Москва&APPID=c12618e22638e74315c4cb17c85896d7

Ответ от сервера получаем такой

Блок API

Для удобства копируем код запроса в json валидатор, например https://jsonlint.com/ и смотрим структуру запроса. Она выглядит так:

Блок API 2

Температура находится в строке 14, параметр main.temp и равна 273,15 (Температура по Фаренгейту).
С запросами к сервису погоды разобрались. Переходим к настройке отправки запроса от бота и вывод в чат.
Создаем группу сообщений, добавляем 3 блока сообщений, 1 блок API, 1 условный блок. Цепочка выглядит так:

Блок API 3

Переходим в блок сообщения под именем «Название города» и смотрим, что внутри.

Блок API 4

Этот блок является стартовым сообщением, с опцией «подождать ответ». Cохраняем ответа от пользователя в контекстную переменную «city». Текстом сообщения: «Введите город» и ссылкой по умолчанию на блок «API».

В блоке «Название города» спрашиваем у подписчика бота, в каком городе он хочет узнать погоду. Ответ сохраняем в переменную и переходим в блок «API».

Блок API 5

Включена опция «Дождаться ответа удаленного сервиса». Означает что запросы будут отправляться до тех пор, пока не получится результат. Положительный или отрицательный.

В поле «Ссылка» копируем http запрос к API сервиса погоды. Ссылка выглядит так: http://api.openweathermap.org/data/2.5/weather

Тип запроса – get.

Заголовки

Добавляются в http запрос переменные и постоянные. Слева название заголовка, справа значение. В примере использовать не будем.

Параметры

Параметры можно передавать в http запрос, переменные и постоянные. Слева название параметра, справа значение. В нашем примере используем опцию.

Параметр «q» — передается в http запросе и соответствует контекстной переменной «city». Является переменным параметром, так как от каждого подписчика получаем запросы к разным городам. Полученная информация от подписчика подставляется в запрос к API погоды.

Параметр APPID соответствует полученному API ключу в сервисе погоды. Является постоянным параметром, так как каждый запрос обращается с конкретным ключом доступа.

Сохранение результатов

Данные которые получим при ответе на http запрос должны быть в json. Сохраняем в контекстную переменную. Слева имя контекстной переменной, справа путь к данным, которые сохраняем.

При ошибке, значение «cod» будет 404 и сохранится в переменную «error». Полученная температура имеет путь main.temp, значение сохраняем в переменную «temp».

Настройки блока API закончили и переходим в условный блок для сравнения ответа от сервера.

Блок API 6

Условие Context.error!=»404″ означает, что при коде ошибке НЕ РАВНОМ 404 происходит переход в блок «Успех».

Условие Context.error==»404″ означает, что при коде ошибке 404 происходит переход в блок «Повторный запрос».
Переходим в блок «Успех»

Блок API 7

Текст сообщения: «Погода в Context.city Context.temp градусов».
Вместо переменных подставляются полученные значения от сервера и финальный ответ выглядит так: Погода в Москве 274.72 градусов.

Блок API 8

Переходим в блок «Повторный запрос»

Блок API 9

Текст сообщения: «Не верно. Введите заново город». Ответ от пользователя сохраняем в переменную «city» и происходит переход в блок «API» для нового запроса к серверу.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Исходящее сообщение

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

Исходящие сообщения

1 — кнопка «Добавить правило». Добавляет правило, которое по тегу сохраняет запрос в переменную, вызывает группу сообщений или выбранный блок.
2 — тег на который реагирует бот и отправляет данные из блока обработки.
3 — кнопка «Добавить блок обработки». Добавляет блок обработки (5,6,7)
4 — удаление блока обработки.
5 — условие по которому сработает блок.
6 — сохранить тег в переменную, если необходимо.
7 — выбор перехода в блок.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Настройка таблицы CRM

CRM 7

Нажимаем на (2)

CRM 8

CRM 9

1 — Вносим имя таблицы;
2 — Добавляем переменную.
3 — Называем столбец таблицы;
4 — Выбираем переменные из выпадающего списка;
5 — Выбираем выбор типа данных. Строка — текстовые данные. Файл — преобразование картинки в ссылку.
После всех настроек, сохраняем информацию.
На этом настройка CRM таблицы завершена и рекомендуется проверить, чтобы данные вносились в таблицу.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Блок управления переменными

Блок, в котором изменяются переменные.

Пример

Нужно перемножить полученные от пользователя данные.

Шаг 1 из 7

Создаем группу сообщений и называем «Проверка УП».

Блок управления переменными 1

Шаг 2 из 7

Переходим в группу сообщений добавляем: 3 блока сообщений и блок управление переменными. Блоки сообщений называем 1,2,3 и блок управления переменных называем УП.

Блок управления переменными 2

Шаг 3 из 7

В блоке 1 сохраняем ответ от пользователя в контекстную переменную «a». Для удобства ответа добавляем опцию клавиатура и заполняем поле цифрой – 5.
Это значит, что при ответе пользователя, в контекстную переменную сохранится цифра 5 и будет такое выражение Context.a = 5.

Блок управления переменными 3

Шаг 4 из 7

В блоке 2 проделываем точно такую же операцию, только переменная будет «b» и цифра 7. Выражение будет Context.b = 7.

Блок управления переменными 4

Шаг 5 из 7

Теперь переходим в блок УП и добавляем переменную. Слева пишем «c» (латинская), а справа выражение Context.a * Context.b
Это выражение обозначает, что в контекстную переменную «c» сохранится результат умножения двух переменных «a» и «b». И будет равно – 35.

Блок управления переменными 5

Шаг 6 из 7

В блоке 3 выводим нашу переменную в текст сообщения.

Блок управления переменными 6

Шаг 7 из 7

В интерфейсе Telegram это будет выглядеть так.

Блок управления переменными 7

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Блок сохранения данных в CRM

Блок для сохранения переменных в выбранную CRM таблицу в процессе диалога.

Пример

Нужно сохранить полученные ответы от пользователя в таблицу CRM с возможностью скачивания данных в формате csv/xls.

Создадим группу сообщений и добавим 3 блока: 2 блока сообщений и 1 сохранение данных в CRM. Блок сохранения данных создается по нажатию на кнопку «Сохранение данных в ЦРМ» на панели опций справа.

Блок сохранения данных в ЦРМ 1

Переходим в блок сообщений «1».

Блок сохранения данных в ЦРМ 2

Ставим галочки: стартовое сообщение, подождать ответа. Задаем сохранение в переменную «zayavkabot».
Текст сообщения: «Введите имя и телефон». В опции «Ссылка по умолчанию» задаем переход к блоку сохранение данных.
Переходим в блок сохранения данных.

Блок сохранения данных в ЦРМ 3

Ставим галочку «Дополнить запись о пользователе» — запись данных в таблицу будет идти последовательно в строчку.
Создаем заранее таблицу с название «Тестовая» и ставим галочку для сохранения данных.
Подробнее о создании CRM таблиц в этой статье.
Далее переходим в блок «2» и указываем текст сообщения: «Спасибо за данные».

Блок сохранения данных в ЦРМ 4

Как работает цепочка?

Пользователь попадает в блок «1» и оставляет свои контакты. После отправки сообщения данные сохраняются в таблице «Тестовая». И пользователь переходит в блок «2», где выводится сообщение – благодарность.
В интерфейсе Telegram это будет выглядеть так:

Блок сохранения данных в ЦРМ 5

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Спасибо за /обращение, мы скоро с тобой свяжемся!

Bot Kits — помогаем упростить процесс общения с клиентами.

Спасибо