Как подключить самописного бота через API
Telegram
Max
Если вы разрабатываете собственного Telegram-бота, у вас есть максимальная гибкость в настройке его логики. Интеграция с «Откуда Подписки» через наше API позволит вам не просто отслеживать, откуда приходят подписчики, но и фиксировать всю воронку взаимодействия пользователя с ботом, передавая эти данные в рекламные системы для обучения на эти цели.
Эта инструкция предназначена для технических специалистов и разработчиков. Мы разберем, как отправлять запросы к нашему API, чтобы:
- Фиксировать старт бота пользователем и передавать эту конверсию в Яндекс.Директ, VK, ФБ/Инста, Google Ads.
- Передавать глубокие цели — ключевые шаги внутри воронки, такие как просмотр видео, прохождение теста, регистрация на мероприятие или оплата.
- Отслеживать блокировку бота (отписки), чтобы понимать качество трафика из разных источников.
- Получать доступ ко всей мощи аналитики «Откуда Подписки»: отчетам, досье подписчиков.
В этой инструкции мы подробно разберем, как с помощью нашего API настроить передачу всех необходимых событий из вашего бота.
Подготовка к интеграции
Шаг 1 — Получите API ключ
Любой запрос к нашему API требует аутентификации с помощью уникального ключа.
Если у вас еще нет API ключа, получите его по этой инструкции: 📘 Как получить API ключ. Это займёт 2 минуты.
Шаг 2 — Выберите тип интеграции
Наше API поддерживает два способа интеграции. Ваш выбор будет зависеть от того, какие д анные вы можете пересылать со своего сервера.
-
Вариант 1 (Рекомендуемый): Если вы можете получить JSON-объект вебхука, который присылает Telegram на ваш сервер, то всё очень просто — отправьте этот же JSON на наш API методом POST. Это самый простой и надежный способ, который открывает доступ ко всем функциям сервиса, включая трекинг отписок и расширенную аналитику по аудитории.
-
Вариант 2: Если по каким-то причинам вы не можете переслать весь JSON-объект от Telegram, есть запасной вариант. В этом случае отправьте нам данные пользователя и
start-параметр через отдельный метод API.Чтобы трекать отписки, надо отдельно вызывать метод
my_bot_was_stopped, следуйте по инструкции.
Настройка передачи старта бота
Это самый важный шаг. Как только пользователь запускает вашего бота, вы должны сразу отправить запрос на наш сервер, чтобы зафиксировать подписку.
Вариант 1: Интеграция с использованием метода on_telegram_webhook
Шаг 1 — Настройте пересылку вебхука от Telegram на наш API
Когда пользователь взаимодействует с вашим ботом (например, отправляет команду /start), Telegram отправляет на ваш сервер HTTP POST-запрос с JSON-данными. Этот запрос называется вебхуком.
Что нужно сделать:
-
Получите JSON-данные от Telegram — в вашем обработчике вебхука (endpoint, который принимает запросы от Telegram) возьмите весь JSON-объект, который пришел в теле запроса.
-
Отправьте этот же JSON на наш API — сделайте POST-запрос на наш URL, передав в теле запроса точно такой же JSON-объект, который вы получили от Telegram, без изменений.
Настройки запроса:
-
URL для запроса:
https://bot-api.tgtrack.ru/v1/API_КЛЮЧ/on_telegram_webhook
Замените API_КЛЮЧ в ссылке на ваш собственный API ключ, полученный от бота «Откуда Подписки» на 📘 шаге 1.
-
Метод HTTP-запроса:
POST -
Тело запроса: Полный JSON-объект, который ваш сервер получил от Telegram в исходном виде. Не изменяйте структуру, не добавляйте и не удаляйте поля.
Пример того, что нужно отправить (содержимое входящего webhook от Telegram):
{
"update_id": 86324345,
"message": {
"message_id": 123,
"from": {
"id": 123456789,
"is_bot": false,
"first_name": "Иван",
"last_name": "Петров",
"username": "ivanpetrov",
"language_code": "ru"
},
"chat": {
"id": 123456789,
"first_name": "Иван",
"last_name": "Петров",
"username": "ivanpetrov",
"type": "private"
},
"date": 1668420665,
"text": "/start PJaf5568712cd"
}
}