Metabot Widget с диплинками
Статья в работе!
Чат-виджет с диплинками
- Демо-бот
- Поддержка
- Имя - указать имя ссылки, например Deeplink1;
- Текст - текстовое сообщение, которое будет отображено в чат-виджете;
- Тип ссылки - выбираем пункт Ссылка на бот-скрипт (Deep Link)
- ДЕМО-БОТ
Должны быть активированы следующие свойства маршрута и заполнены соответствующие поля:
- ПОДДЕРЖКА
Должны быть активированы следующие свойства маршрута и заполнены соответствующие поля:
- Тестовый бот - СЕРВИС ОПРЕДЕЛЕН - ДЕМО-БОТ
Должны быть активированы следующие свойства маршрута и заполнены соответствующие поля, также необходимо указать условие JS:
- Тестовый бот - СЕРВИС ОПРЕДЕЛЕН - ПОДДЕРЖКА
Должны быть активированы следующие свойства маршрута и заполнены соответствующие поля, также необходимо указать условие JS:
Контроль автоопределения текущего раздела сайта выполняется с помощью v8 условий в маршруте с диплинком.
// Запуск диплинка ДЕТО-БОТ
var requestJson = null;
if (request) {
requestJson = request.json;
}
var requestDeeplinkData = null;
if (requestJson && requestJson.deeplink) {
requestDeeplinkData = requestJson.deeplink;
}
var requestService = null;
if (requestDeeplinkData && requestDeeplinkData.service) {
requestService = requestDeeplinkData.service;
}
if (requestService === null || requestService === '') {
return false;
}
var availServices = ['demo_bot'];
if (availServices.includes(requestService)) {
return true;
} else {
return false;
}
Смысл данного условия в том, что при клике на кнопку с диплинком с фронта передается параметр service.
Далее в диплинке ТЕСТОВЫЙ БОТ мы определяем какой это сервис и запускаем необходимый скрипт.
- Тестовый бот - СЕРВИС НЕ ОПРЕДЕЛЕН
Последним маршрутом с диплинком ТЕСТОВЫЙ БОТ и v8 условием идет маршрут, который запускает приветствие бота если сервис не распознан.
В нем условие можно и не писать, но в таком случае этот маршрут должен обязательно идти последним в списке.
На случай если кто-то случайно передвинет его выше в списке маршрутов, v8 просто не даст ему запуститься, если сервис ОПРЕДЕЛЕН.
// Запуск диплинка ТЕСТОВЫЙ БОТ, если сервис с сайта не передан или не определен
var requestJson = null;
if (request) {
requestJson = request.json;
}
var requestDeeplinkData = null;
if (requestJson && requestJson.deeplink) {
requestDeeplinkData = requestJson.deeplink;
}
var requestService = null;
if (requestDeeplinkData && requestDeeplinkData.service) {
requestService = requestDeeplinkData.service;
}
if (requestService === null || requestService === '') {
return true;
}
var availServices = ['demo_bot', 'support'];
if (availServices.includes(requestService)) {
return false;
} else {
return true;
}
Если данная опция включена, то список диплинков заполненный вручную ниже не будет задействован.
Эта опция позволяет не заполнять список диплинков, они будут генерироваться автоматически при формировании кода виджета.
Генерация списка диплинков для заполнения вручную.
При такой генерации учитывается порядок ссылок бота, которые описаны в предыдущем пункте.
Для того, чтобы отредактировать список диплинков, необходимо открыть канал на редактирование по кнопке Редактировать.
Можно убрать лишние диплиинки, блок настройки одного диплинка выделен на рисунке.
При предварительном просмотре чат-виджет имеет 3 кликабельные кнопки с диплинками перехода в сценарные скрипты.














