При отправке ссылок в сообщениях клиентам может быть необходимо заменить полную ссылку на короткую (например, для сокращения длины сообщения). Для отправки клиенту кнопки в сообщении можно использовать смарт тег short_link. Формат тега следующий:
{"tag_type":"short_link","url":"http://sherlock.im/","widget_id":"e2f9571c-6c98-48c6-8418-9f1726cb5489","data":"{\"SmsPhone\":\"79993332211\",\"SmsType\":\"new\"}"}, где
tag_type – всегда short_link,
url – ссылка для перехода
widget_id - id виджета (записи в таблице tbl_Wdget), необходимо если требуется передавать параметры
data - данные ключ=значение в формате json для передачи в бот после перехода по ссылке. Например, для смарт тега выше в контекст бота будут сохранены реквизиты SmsPhone и SmsType со значениями 79993332211 и new соответственно.
Для отправки клиенту ссылки смарт тег, сформированный описанным образом, необходимо добавить в тексте команды Сообщение клиенту.
Одним из кейсов применения коротких ссылок является SMS для приглашения в мессенджер. В этом случае смарт тег направляет в SMS, используя метод API Отправка сообщений по номеру телефона. В таком сценарии необходимо передавать widget_id и подготовить специальную посадочную страницу. Пример такой посадочной страниц для стоматологии КИСС.
Обратите внимание, что смарт тег в случае передачи widget_id автоматически подставляет параметр code, который далее в тексте посадочной страницы подставляется в ссылки перехода в мессенджер (пример кода ниже). При передаче такого кода Sherlock Platform автоматически сохранит значения data в контекст бота после перехода по ссылке.
window.onload = function () { var params = new URLSearchParams(window.location.search); var channels = document.querySelectorAll("#container a"); for (var i = 0; i < channels.length; i++) { channels[i].href += params.get('code') } }