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;
}









