Интеграция Автопилота с Senler
Важно!
Чтобы у вас в принципе была возможность подписывать на рассылку Senler, подписчик обязательно должен дать разрешение на отправку сообщений. Подробнее об этом в статье Азбука рассылок ВКонтакте.
Возможности
Благодаря интеграции вы сможете подписывать подписчиков рассылки (тех, кто разрешал сообщения от сообщества) на другие группы подписчиков (или отписывать) почти по любым событиям в сообществе: комментариям, репостам, сообщениям заявкам и т. д., а также их логическим комбинациям.
Это позволяет увеличить видимую активность пользователей (ваше сообщество станет живее) а также тонко сегментировать подписчиков по их действиям и отправлять более целевые письма. Что как правило увеличивает симпатию к вашей рассылке и, как следствие, общую прибыль сообщества. 🙂
Также вы можете реагировать на подписку/отписку в приложении сервиса (или даже на «действия» в разделе «подписчики»). Для этого нужно настроить интеграцию с WebHook API (← по ссылке подробнее).
Текстом и скриншотами для любителей читать
Для интеграции вам нужен секретный ключ Senler. Его можно получить в разделе «Управление» вашего сообщества ВКонтакте (1).
Там нужно:
- Открыть раздел «Работа с API» (2).
- Переключиться на вкладку «Callback API» (3).
- В выпадающем списке серверов найти сервер «Senler» (4)
и переключиться на него. - Дальше найти поле «Секретный ключ» и скопировать его значение (5).
Только не путайте, пожалуйста «Секретный ключ» с «Ключами доступа»! Это совершенно разные вещи!
ВАЖНО! Не показывайте никому этот ключ! Иначе злоумышленники могут подделать запросы от вашего сообщества.
После этого откройте список сообществ в сервисе Автопилот. И нажмите на кнопку «Настройки» в карточке нужного сообщества:
Если сообщество там у вас еще не подключено, инструкция по подключению находится здесь.
Первая опция в поле «Секретный ключ Senler» как раз то, куда нужно вставить строку, которую вы скопировали в Senler-е. Все. Нажимайте «Сохранить»
Важно! Это должно быть одно и то же сообщество в обоих сервисах.
Для работы действий нужно создать ключ API Senler и вставить в соответствующее поле.
Интеграция завершена.
Настройка WebHook API
По сути все элементарно, достаточно скопировать и сохранить секретный ключ сообщества (это наглядно показываю выше и в обеих видео) и после этого ссылку из настроек интеграций в Автопилоте и ключ API Senler.
Важно! В видео выше при создании вебхуков выбирался метод JSON, а сейчас Senler сменили типы методов (выбирайте POST JSON):
Подробнее про методы:
POST JSON — данные передаются методом POST в формате JSONFORM DATA — данные передаются методом POSTGET — данные передаются методом GET
Шаблоны тоже лучше не трогать, оставив поле пустым.
...перейти в «Настройки» (1), выбрать раздел «Webhook Api» и нажимаем на «Добавить».
После нажатия добавляем:
- любое название для вебхука (1)
- скопированный URL из Автопилота (2)
- Тип запроса:
POST_ JSON(3) - События выставляем и на подписку и на отписку (4)
- Обязательно проверяем галочку Активный вебхук, иначе если галочка не установлена, то работать вебхук не будет (5)
- нажимаем на «Сохранить»
Если все сделали правильно, Senler вас об этом вежливо уведомит. А также ваше сообщество пришлет вам сообщение, что все хорошо.
Команды
После этого останется только добавлять команды с нужными блоками.
Подробнее о настройке события можете посмотреть в этой статье.
Подробнее о параметрах действия «Подписать на рассылку Senler» можете посмотреть в этой статье. Там есть об использовании параметра «ID метки»!
Также смотрите наглядный пример добавления команд на подписку и отписку в видео в начале статьи.
Реакция на POST-запрос из бота Senler
- Для этого вам нужно событие Входящий запрос (Упомянут в GET / POST запросе)
- В его параметрах пропишите:
&to=json&sid_param=object.vk_user_id (ничего другого писать не нужно!) - Итоговую ссылку используйте в параметрах действий бота Senler. Скрин ниже.
- В действиях Автопилота все нужные данные можно достать с помощью переменной
%request%.
%request% — это уникальная переменная, которая поддерживает входящий запрос от сторонних сайтов (ВК, Senler и т. д.). Она поддерживает JSON PATH. То есть, можно внутри через точку прописывать путь к внутренним элементам. Подробнее о переменной можно прочесть здесь.
Ниже несколько примеров переменных:
Имя подписчика Senler: %request.input.object.first_name%
Фамилия подписчика: %request.input.object.last_name%
Пол подписчика: %request.input.object.sex% (2 - мужской, 1 - женский)
Дата рождения подписчика: %request.input.object.bdate%
Значение переменной бота Senler с именем тест test:
%request.input.object.variables.test%
Метка utm_source группы подписчиков №155:
%request.input.object.subscriptions.155.utm_source%
Весь json массив доступен в переменной:
%request%
Важно! В случае если вы после POST-запроса будете запрашивать, например, Email или номер телефона, то %request% перезапишется (т.к. это запрос из ВК с «новыми» данными), чтобы этого избежать доставайте данные через функцию {senler}, пример ниже (переменные должны быть сохранены заранее):Имя подписчика Senler: {senler}vars.first_name{/senler}Фамилия подписчика: {senler}vars.last_name{/senler}Пол подписчика: {senler}vars.sex (2 - мужской, 1 - женский){/senler}Дата рождения подписчика: {senler}vars.bdate{/senler}Значение переменной бота Senler с именем тест test:
{senler}vars.test{/senler}
Метка utm_source группы подписчиков №155:
{senler}vars.subscriptions.155.utm_source{/senler}Весь json массив доступен в переменной:
%request%
Запрос Автопилотом данных подписчика из Senler
При выполнении команды Автопилота можно обратиться к Senler и запросить данные подписчика в формате JSON-объекта. Для этого используется переменная {senler}vars{/senler}. Будут получены данные того подписчика, для которого выполняется действие, содержащее эту переменную.
- Сначала можно получить JSON-объект, содержащий все переменные Senler. Для этого в команду Автопилота вставляем переменную
{senler}vars{/senler}. Это может помочь получить точное название переменной. Хотя особого практичного смысла в этом нет. - Достаём переменную Senler по её названию. Если в Senler для подписчика такая переменная задана, то получим её значение. Если не была задана — получим «
… not found» (где…— название переменной).
Чтобы достать переменную по названию, просто пропишите её название после точки и vars. То есть у {senler} принцип аналогичный как для {get_var}. Например, чтобы достать переменную с названием autopilot нужна следующая конструкция: {senler}vars.autopilot{/senler}где вместо autopilot подставьте название вашей переменной(именно так, как она называется в боте Senler). Подробнее об этом в этом разделе.
Важно! Если вы в боте называли переменную autopilot, а получаете ее значение {senler}vars.Autopilot{/senler}то получите ошибку т.к. переменной Autopilotв боте нет(с заглавной буквы). Пример работы с переменными дан ниже:
Синоним польз. перем.: {senler}autopilot|subscriber{/senler}
Для запроса или редактирования глобальной переменной нужно передать значение так:{senler}autopilot|global{/senler}— где autopilot — имя переменной, а global— параметр который указывает на то, что идет запрос глобальной переменной.
Полезные переменные:
{senler}all{/senler}— все данные. Пачкой в формате JSON. Вместоallможно использовать путь к нужному свойству в формате JSON.PATH. Например:{senler}utms.0.utm_source{/senler}— самая первая метка utm_source из всех меток подписчика.- Глобальные переменные:
{senler}all|global{/senler} - Переменные подписчика:
{senler}all|subscriber{/senler}
{senler}vars.autopilot{/senler}— получить значение переменной Senler с названием{%autopilot%}. Словоautopilotзамените на название вашей собственной переменной.{senler}vars{/senler}— достать ВСЕ переменные Senler{senler}subscriptions.123456{/senler}— проверить подписку на группу подписчиков123456(число меняйте на своё). Проверка возможна благодаря следующему факту: если игрок не подписан на группу, то Автопилот вернет значение:123456 not found. Если результат работы функции НЕ возвращаетnot found, значит игрок подписан на неё.{senler}subscriptions.123456.date{/senler}— дата подписки на группу подписчиков Senler с № 123456 (число меняйте на своё).- Для проверки наличия нужной UTM-метки можно проверить содержит ли переменная
{senler}utms{/senler}значение метки в кавычках:"vk" - Также можно другие сохраненные в Senler данные получить аналогично:
—{senler}first_name{/senler}— имя,
—{senler}last_name{/senler}— фамилия,
—{senler}photo{/senler}— сохраненный в Senler аватар,
—{senler}sex{/senler}— пол,
—{senler}bots{/senler}— массив ботов, на которые подписан игрок.
Пример настройки действий команды:
Пример выполнения команды:
ВАЖНО! При многоразовом использовании переменной {senler}___{/senler} внутри одного запуска команды повторные запросы не выполняются = данные могут быть получены только один раз (сразу все).
То есть, если они были изменены во время выполнения команды, то новые значения берите из Автопилота (например из временной переменной), а не пытайтесь получить из Senler.
Вернуться на главную страницу инструкций