April 29, 2022

Как настроить телеграм-уведомления из партнерских программ на GetCourse

В разделе «Партнерская программа» на Геткурсе есть удивительный раздел «Постбеки», которого я довольно долго боялся — просто потому, что для его использования нужно было худо-бедно разбираться в API, вебхуках и т.д.

И вот на этой неделе я собрался с силами и решил разобраться. Если вы участвуете в партнерской программе от самого GetCourse и партнерках других школ — эта инструкция будет вам полезна.

Как работают «Постбеки»

Интерфейс раздела «Постбеки» в партнерском кабинете ГК

Суть:

  1. Каждый партнер может настроить уведомления о 5 видах событий и передавать их туда, куда ему заблагорассудится (при условии, что вы знаете, куда можно отправлять и что с этими данными можно делать).
  2. По каждому событию можно передавать определенный набор переменных — посмотреть их можно, кликнув по ссылке «Доступные переменные» напротив заголовков названия событий.

Какие из этих событий нужны именно вам — решайте сами. Мне было интересно получать уведомления об оплатах заказов, где я указан партнером. То есть строка "Успешное завершение заказа (изменение статуса)".

Как настроить уведомления в бота Telegram

Я очень благодарен видеоуроку от Виктории Карповой, который помог мне понять суть передачи данных в телеграм. В этом видео описаны 2 способа передачи уведомлений — через вебхуки от Телеграм и собственный скрипт на хостинге. Я пошел первым путем.

Далее — пошаговая иструкция.

1. Зарегистрируйте бота через @botfather и получите токен.

2. Зайдите в своего бота, нажмите START и отправьте любое сообщение.

3. Сформируйте ссылку https://api.telegram.org/bot<bot_token>/getUpdates, где вместо <bot_token> поставьте токен своего бота.

4. Откройте ссылку в браузере. На открывшейся странице найдите следующий фрагмент и скопируйте его — это уникальный ID вашего чата с ботом <chat_id>:

5. Сформируйте ссылку вида https://api.telegram.org/bot<bot_token>/sendMessage?chat_id=<chat_id>&text=Оплата на {deal_cost} руб, где <bot_token> — это токен бота, полученный в п.1, а <chat_id> — id вашего чата с ботом, полученный в п.5.

6. Откройте ссылку в браузере. В бота должно прийти сообщение следующего вида:

7. Теперь зайдите в раздел «Постбеки» и вставьте получившуюся ссылку в поле "Успешное завершение заказа (изменение статуса)".

🎉 Поздравляю! Вы настроили свой первый постбек для партнерской программы.

Как сделать уведомление более информативным и симпатичным

В инструкции выше мы использовали всего одну переменную (сумма заказа) и минимум оформления. Мои уведомления выглядят следующим образом:

Я использую следующие переменные:

  • Сумма заказа — чтобы примерно понять, сколько комиссионных я заработал с этого заказа (к сожалению, переменной с суммой комиссий нет).
  • Номер заказа — помогает идентифицировать заказ в общем списке на вкладках «Заказы» и «Комиссии» в партнерском кабинете.
  • Название заказа — содержит не только название тарифа и учетный период, но и название оплачиваемого аккаунта — уникальная информация, которой в самом партнерском кабинете нет.
  • getcourse.ru в моем случае — это идентификатор, позволяющий отличить заказы из разных партнерских программ. Я решил использовать адрес сайта, чтобы было легче переходить в партнерский кабинет.

Мой постбек выглядит следующим образом:

https://api.telegram.org/bot<bot_token>/sendMessage?chat_id=<chat_id>&text=✅ оплата на {deal_cost} руб / заказ {deal_number} / {deal_title} / getcourse.ru

Что касается форматирования строки, то вот там несколько советов:

  1. Формируйте ссылку вебхука в простом текстовом редакторе.
  2. Текст после &text= можно писать, используя пробелы и простые символы.
  3. В тексте сообщения также можно использовать эмодзи, но не все — некоторые будут приходить нормально, другие будут отрезать оставшуюся часть вебхука.
  4. Некоторые символы, например, решетка (#), в прямом виде поддерживаться не будут — их нужно заменять кодировкой UTF8. Например, чтобы получить в сообщении #геткурс, нужно написать %23геткурс.

Пока на этом всё. Внедряйте, задавайте вопросы :)

https://t.me/getmagic