Документация

Реализация партнерской программы с помощью модуля воронок

Написано 22 дня назад
Просмотрен 2 раза
0

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

Далее эти очки можно, например, конвертировать в бонусы. Один из способов реализации задачи с конвертацией - при добавлении нового реферала сразу через воронку начислять партнеру​ бонусы с помощью ноды "Начислить/списать баланс".

Для реализации можно использовать следующую схему:

  1. Получение реферальной ссылки
  2. Запуск воронки рефералом или новым пользователем и передача данных о новом реферале.
  3. Передача данных о новом реферале в ноду "Событие" для начисления очков партнеру.

Для получения ссылки партнер в бот должен отправить команду (например, /partner ). При получении команды бот будет отправлять пользователю сообщение с партнерской ссылкой вида t.me/названиебота?start={chat.id}, где {chat.id} - идентификатор чата партнера, по которому воронка будет отслеживать, от какого именно партнера пришел реферал.

При запуске бота по команде /start (потенциальным рефералом или партнером) нужно проверить, есть ли партнерский код в пригласительной ссылке. Для этого в ноде «Команда бота» нужно в переменную (назовем ее chat.partner) записать id чата партнера, если этот id есть в ссылке для запуска бота. Если нет, то нужно присвоить переменной значение null. Реализуется это через выражение chat.partner = event.utm?.startParam || null Данные берем из отладки из объекта event.utm.startParam .

Стрелки разветвляют воронку на 3 ветки:

  1. Пользователь запустил бот не по партнерской ссылке. Проверяем, что в агенте chat нет переменной chat.partner. Код: НЕ chat.partner
  2. Пользователь запустил бот по своей партнерской ссылке. Проверяем, что в агент chat записана переменная chat.partner. Также проверяем, что в эту переменную записано id чата пользователя, который запустил бот. Код: chat.partner И chat.partner == chat.id
  3. Пользователь запустил бот по ссылке другого партнера. Проверяем, что в агент chat записана переменная chat.partner. Также проверяем, что в эту переменную записано id чата, отличающееся от id чата пользователя, который запустил бот. Код: chat.partner И chat.partner != chat.id

В 3-ем случае через ноду «Вызвать URL» по api нужно для партнера вызвать «Событие». Для этого в ноде «Событие» нужно разрешить внешний вызов и скопировать из ноды ссылку для внешнего вызова. Эту ссылку вставить в ноду «Вызвать URL». Выбрать тип запроса «POST», тип ответа - «json». В объект тела запроса передать id чата партнера через код {chatId: chat.partner} .

Так, «Событие» запустится уже по партнеру. Партнеру можно отправить сообщение и проинформировать его о новом реферале.

Чтобы начислять партнеру за каждого реферала баллы, нужно от ноды «Команда бота» провести стрелку к ноде «Прокси». В стрелке нужно установить ограничение на количество запусков, в ноде «Прокси» - установить переменную chat.hasReferals = 0, в ноде с сообщением, которое отправляется партнеру после подключения нового реферала, — увеличить значение переменной на 1 с помощью кода chat.hasReferals +=1.

Таким образом, при запуске бота по команде /start воронка будет проверять, кто запустил бот: новый пользователь, существующий партнер иди потенциальный реферал/партнер. Если бот запустил потенциальный реферал по ссылке с партнерским кодом, то воронка передаст информацию о новом реферале партнеру, а также начислит партнеру баллы. Если пользователь в бот отправит команду /partner , то бот выдаст пользователю уникальную партнерскую ссылку. Эту ссылку партнер сможет отправить другим пользователям, чтобы получить рефералов и баллы за них.

Воронки
Инструкции
код

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании