# Уведомления о событиях в свой Telegram-бот

Постбек умеет отправлять события не только в трекер. Тем же запросом можно запустить сценарий в Make и получать сообщение в свой Telegram: регистрация, депозит, комиссия — сразу с суммой, кампанией и меткой источника.

- **Результат:** Рабочая связка «постбек → Make → бот»: свой вебхук, фильтр по событию и готовый текст сообщения для каждого события.
- **Время:** 30–40 минут

## 01. Как устроен маршрут

Между событием у трейдера и сообщением в чате — три шага. Партнёрская система отправляет постбек, Make принимает его и собирает текст, бот доставляет сообщение вам.

> Make ничего не считает и не меняет. Он получает те же данные, что и трекер, и показывает их в читаемом виде.

1. **Событие у трейдера.** Регистрация, депозит, вывод или начисленная комиссия.
2. **Запрос приходит в Make.** Постбек уходит на адрес вебхука, и сценарий запускается.
3. **Фильтр и текст.** Сценарий проверяет, что это за событие, и собирает сообщение из параметров запроса.
4. **Сообщение от бота.** Бот пишет в личный чат, группу или канал — обычно через несколько секунд.

Постбек для Telegram — отдельный постбек, а не замена трекерному. Уточните у менеджера, можно ли добавить второе назначение на то же событие: если нет, оставьте основным трекер, а в Make передайте запрос дальше модулем HTTP.

## Partner Postback Bot

Постбеки без трекера — сразу в Telegram. Бот сам работает трекером. Выберите события, получите готовые URL с макросами и вставьте их в панель: регистрации, депозиты и комиссия придут в личный чат с суммой, кампанией и меткой источника.

- Свой трекер не нужен
- Три нажатия до готовых URL
- 9 событий и 21 макрос — весь список панели
- Итоги недели по команде /stats

[Открыть бота в Telegram ↗](https://t.me/affpartnerpostbackbot) — Бесплатно. Отвечает на русском, английском, испанском, португальском и французском.

## 02. Что подготовить

Три вещи до начала. На них уходит минут десять, зато дальше сценарий собирается без пауз.

### Make — Аккаунт в Make

Для старта хватает бесплатного тарифа: 1 000 операций в месяц. Одно доставленное уведомление тратит две операции — приём запроса и отправку сообщения.

- Бесплатный тариф
- ≈500 уведомлений в месяц

[Создать аккаунт в Make](https://www.make.com/en/register)

### BotFather — Свой бот и токен

Напишите @BotFather команду /newbot, задайте имя и адрес бота — в ответ придёт токен вида 8123456789:AAH… Это пароль от бота: не публикуйте его и не пересылайте в общие чаты.

- Команда /newbot
- Токен — это пароль

[Открыть @BotFather](https://t.me/BotFather)

### Chat ID — Идентификатор чата

Личный чат: напишите боту /start и откройте в браузере api.telegram.org/botTOKEN/getUpdates, подставив вместо TOKEN свой токен, — в ответе будет chat id. Группа: сначала добавьте в неё бота, идентификатор группы начинается со знака минус. Канал: сделайте бота администратором.

- Личный чат
- Группа
- Канал

Бот не может написать первым тому, кто ни разу ему не писал. Если сообщение не приходит в личный чат — откройте бота и нажмите Start.

## 03. Шаг 1. Вебхук в Make

Вебхук — это адрес, который ждёт запрос. Начинаем с него, потому что без адреса не собрать URL постбека.

1. **Создайте сценарий.** В Make откройте Scenarios и нажмите Create a new scenario.
2. **Добавьте модуль Webhooks.** Нажмите «+», найдите Webhooks и выберите Custom webhook.
3. **Создайте вебхук.** Add → имя, например PocketPartners Events → Save. Make выдаст адрес приёмника.
4. **Скопируйте адрес целиком.** Кнопка Copy address to clipboard. Регион в адресе у всех свой — eu1, eu2 или us1, — поэтому берите свой адрес, а не из примера.
5. **Ничего к нему не дописывайте.** Свои параметры добавлять не нужно: все значения придут из постбека.

**Адрес вебхука выглядит так:**

```
https://hook.eu2.make.com/9f31c2ad74qz8mvb1kxs
```

Это адрес приёмника. На следующем шаге он станет началом URL постбека.

## 04. Шаг 2. Постбек на этот адрес

Теперь в партнёрском кабинете создаём постбек, который будет отправлять события в Make. Правило то же, что и для трекера: одно событие — один постбек.

1. **Откройте Postbacks → Add New Postback.** Тип Global отправляет события по всему аккаунту, Campaign — только по выбранной кампании.
2. **Выберите событие.** Registration, First Deposit, Re-deposit, Withdrawal или Commission. Для каждого нужного события postback создаётся отдельно.
3. **Соберите URL.** Адрес вебхука, затем ?event= со своим значением, затем параметры с макросами. Первый параметр всегда через знак ?, каждый следующий — через &.
4. **Передавайте всё, что хотите видеть в сообщении.** Значение придёт в Make, только если его макрос есть в URL. Если в карточке события параметры включаются переключателями, включите те же, что стоят в URL: выключенный параметр не отправится.
5. **Сохраните и повторите для остальных событий.** У каждого события — своё значение event=. Именно по нему сценарий отличит регистрацию от депозита.

**URL постбека для регистрации:**

```
https://hook.eu2.make.com/9f31c2ad74qz8mvb1kxs?event=registration&trader_id={trader_id}&cid={cid}&ac={ac}&country={country}&date_time={date_time}
```

Слева — адрес вебхука без изменений. event=registration — ваша метка события. Дальше имена параметров и макросы: в момент отправки система подставит в них реальные значения.

Полный список макросов и конструктор URL — на странице [Постбеки: зачем нужны и как собрать URL](https://playbook.affpartners.io/ru/affiliate/lessons/postback-setup/).

## Auto-Postback

Девять постбеков без девяти проходов по форме. Расширение открывается по клику на иконке, спрашивает, каким трекером вы пользуетесь, и создаёт постбеки в партнёрском кабинете — с теми именами параметров, которых этот трекер ждёт. Список параметров оно забирает из самого кабинета, поэтому новый макрос подхватывается сам.

- Keitaro, Partner Postback Bot или любой другой приёмник
- Имена параметров раскладываются так, как их принимает трекер
- Каждый URL показывается целиком до того, как что-то создано
- Своего сервера нет: наружу не уходит ничего

[Установить из Chrome Web Store ↗](https://partner-bot.affpartners.io/ext/ru) — Бесплатно. Chrome на компьютере, в том же аккаунте, где открыт кабинет.

## 05. Шаг 3. Тестовое событие

Make не знает, какие поля придут, пока не увидит первый запрос. Поэтому текст сообщения собирают после теста, а не до него.

1. **Включите приём.** В сценарии нажмите Run once — вебхук будет ждать один запрос.
2. **Отправьте событие.** Быстрый способ: открыть собранный URL в браузере, заменив макросы на любые значения. Полноценная проверка — тестовая регистрация по своей партнёрской ссылке.
3. **Посмотрите, что пришло.** На модуле появится счётчик, а в его выводе — список полей: event, trader_id, cid и остальные, которые вы передали.
4. **После правок определите структуру заново.** Добавили параметр в постбек — нажмите Re-determine data structure и отправьте событие ещё раз. Иначе нового поля в списке не будет.

Пустой вывод почти всегда означает одно: в URL постбека не хватает параметров или он собран с ошибкой. Проверьте, что первый параметр отделён знаком ?, а не &.

## 06. Шаг 4. Фильтр и сообщение

Осталось два модуля: фильтр отсекает чужие события, Telegram отправляет текст. Соберите текст в конструкторе — он подставит поля Make и покажет, как сообщение придёт в чат.

**Фильтр между вебхуком и Telegram.** Условие ставится на связи между модулями: слева поле event из вебхука, оператор Equals, справа — значение события. Без фильтра в чат полетят все события подряд.

```
1.event Equals registration
```

**Регистрация:**

```
🆕 Новая регистрация
👤 Trader ID: {{ifempty(1.trader_id; "—")}}
📌 Кампания: {{ifempty(1.cid; "—")}}
🔖 Метка sub_id1: {{ifempty(1.sub_id1; "—")}}
🌍 Страна: {{ifempty(1.country; "—")}}
🕒 Время события: {{ifempty(1.date_time; "—")}}
```

Слева — значение из постбека, справа — подпись, с которой оно появится в чате. Подпись можно переписать под себя.

### Модуль Telegram

1. **Add a module → Telegram Bot → Send a Text Message.** Модуль ставится после фильтра, последним в сценарии.
2. **Create a connection.** Вставьте токен от @BotFather. Токен хранится в подключении — в тексте сообщения его быть не должно.
3. **Chat ID.** Идентификатор чата, куда писать. Для группы — со знаком минус.
4. **Text.** Вставьте готовый текст из конструктора выше.
5. **Сохраните и включите сценарий.** Переключатель у сценария должен стоять в положении ON: выключенный сценарий не ловит события.

Parse mode оставьте пустым. С Markdown или HTML сообщение не отправится, если в значении окажется _, * или <: Telegram вернёт ошибку 400.

## 07. Проверка и частые ошибки

Пройдите список до того, как начнёте полагаться на уведомления. Почти все проблемы здесь — из двух источников: неполный URL постбека и выключенный сценарий.

### Что ломается чаще всего

| Симптом | Причина | Что сделать |
| --- | --- | --- |
| В Make приходит только event | В URL постбека нет остальных макросов или они выключены переключателями | Добавьте макросы в URL, сохраните и нажмите Re-determine data structure |
| Сообщение не приходит | Бот не может писать первым, неверный chat id или сценарий выключен | Нажмите Start в чате с ботом, сверьте chat id и включите сценарий |
| Telegram отвечает ошибкой 400 | Текст пустой или Parse mode ломается на символах из данных | Оставьте Parse mode пустым и включите заглушку вместо пустых значений |
| В чат летят все события подряд | Между вебхуком и Telegram нет фильтра | Поставьте фильтр по значению event для каждого сценария |
| Вместо кампании пусто | В URL постбека нет макросов {cid} и {ac} | Добавьте оба и определите структуру данных заново |
| Сообщения дублируются | На одно событие настроено два постбека или два сценария | Проверьте список постбеков в кабинете и активные сценарии в Make |
| Уведомления кончились в середине месяца | Израсходованы операции тарифа | Оставьте уведомления только по деньгам: первый депозит, повторный депозит, комиссия |

- Вебхук создан, адрес скопирован целиком и ничем не дополнен.
- На каждое событие заведён свой постбек со своим значением event=.
- Тестовое событие дошло: в выводе вебхука видны все нужные поля.
- Между вебхуком и Telegram стоит фильтр по значению event.
- В модуле Telegram заполнены подключение и Chat ID, Parse mode пустой.
- Сценарий сохранён и включён — переключатель в положении ON.
- Токен бота никому не отправлен и не остался в переписке.

Что делать с этими событиями дальше — в уроке [Аналитика и рост](https://playbook.affpartners.io/ru/affiliate/lessons/analytics-and-growth/).

## Ограничения и безопасность

Только для лиц, достигших 21 года. Торговля финансовыми инструментами сопряжена с высоким риском и может привести к потере вложенных средств. Материалы Affiliate Academy носят исключительно образовательный характер, не являются инвестиционной рекомендацией и не гарантируют доход.

## Развивайтесь вместе с GameChange Partners

[Перейти в партнёрскую программу ↗](https://gamechange.partners/ru?utm_source=academy&utm_medium=referral&utm_campaign=gcpacademy)