Відкривається в новій вкладці
UK
Увійти

Ретрансляція вебхука: як працювати у двох сервісах одночасно

Навіщо це потрібно

У Telegram бот може мати лише один активний вебхук. Це технічне обмеження платформи, і саме воно робить перехід між сервісами автоматизації болючим: щойно ви підключаєте бота до нового сервісу, старий перестає отримувати будь-які події й усі його воронки замовкають.

Тобто звичайний перехід — це стрибок: або там, або тут, і перевірити «а чи буде краще» неможливо, не зламавши те, що працює.

Ретрансляція знімає цю проблему. Sviteya приймає вебхук від Telegram і пересилає копію кожного оновлення на вказані вами адреси. Старий сервіс продовжує бачити все, що бачить новий, і його воронки працюють як працювали.

Як це працює

  1. Telegram надсилає оновлення (повідомлення, натиск кнопки, заявку в канал тощо) на вебхук Sviteya
  2. Sviteya обробляє його своїм двигуном
  3. Паралельно відправляє копію оновлення на кожну адресу зі списку ретрансляції

Пересилаються всі типи вхідних оновлень, включно з подіями Telegram Business. Копія іде як POST із JSON-тілом оновлення Telegram. Заголовка Telegram із секретним токеном вебхука в ній немає: якщо старий сервіс перевіряє його, копії він відхилятиме.

Ретрансляція доступна для Telegram-ботів.

Ретрансляція односпрямована: копії йдуть від Sviteya назовні. Зворотного каналу немає — старий сервіс, як і раніше, надсилає повідомлення через Telegram Bot API за токеном, і це працює паралельно.

Налаштування

  1. Відкрийте сторінку «Інтеграції», знайдіть свого Telegram-бота і натисніть біля нього «налаштування»
  2. Знайдіть рядок «Ретрансляція вебхука» і натисніть кнопку «Ретрансляція»
  3. У вікні натисніть «додати адресу» і впишіть адресу, на яку старий сервіс очікує оновлення від Telegram
  4. Збережіть

Обмеження: до 5 адрес. Кожна має починатися з https:// і вести на публічний сайт: адреси всередині закритих мереж сервіс відхиляє. Порожній список означає, що ретрансляція вимкнена.

Де взяти адресу. Це той URL, який старий сервіс реєстрував у Telegram як свій вебхук. У більшості сервісів він видимий у налаштуваннях бота або в документації для API; якщо ні — запитайте їхню підтримку.

Порядок міграції з ретрансляцією

  1. Підключіть токен бойового бота до Sviteya
  2. Одразу ввімкніть ретрансляцію і вкажіть адресу старого сервісу
  3. Перевірте, що стара воронка досі жива — напишіть боту тестове кодове слово, на яке реагував старий сервіс
  4. Переносьте воронки по одній. Перенесли — одразу вимкніть її двійник у старому сервісі
  5. Коли остання воронка перенесена — вимкніть ретрансляцію
  6. Не закривайте старий акаунт одразу — дайте пройти одному повному циклу ваших звичайних сценаріїв

Головне правило дисципліни

Одна воронка має бути ввімкнена лише в одному місці.

Оскільки обидва сервіси бачать ті самі події, воронка, перенесена в Sviteya, і її двійник у старому сервісі спрацюють обидві — і підписник отримає два однакові повідомлення.

Тому послідовність завжди така: перенесли одну → перевірили → вимкнули стару → взяли наступну.

Що варто перевірити після ввімкнення

  • Стара воронка відповідає. Тестове кодове слово має спрацювати як раніше
  • Нова воронка відповідає. Те саме для сценарію, зібраного в Sviteya
  • Немає дублів. Пройдіть кілька сценаріїв як звичайний підписник і переконайтеся, що кожне повідомлення приходить один раз
  • Оплати. Якщо оплати вже переведені в Sviteya, зробіть тестовий платіж на мінімальну суму

Часті питання

Чи сповільнює ретрансляція роботу бота?

Копії надсилаються паралельно з обробкою, тому на швидкість відповіді бота це не впливає.

Що буде, якщо адреса недоступна?

Sviteya продовжить працювати нормально; недоступність зовнішньої адреси не блокує обробку оновлення. Копія надсилається один раз, із очікуванням до 5 секунд; повторних спроб немає, тож оновлення, що не дійшло, до старого сервісу вже не потрапить.

Чи можна пересилати не в старий сервіс, а у свою систему?

Так. Адреса може бути будь-якою — наприклад, ваш власний обробник, який пише події у вашу базу. Але для звичайних інтеграцій зручніша дія «HTTP-запит (вебхук)» у воронці: вона шле зрозумілі дані контакта в той момент, коли ви вирішили, а не сирий потік оновлень Telegram.

Скільки адрес можна вказати?

До пʼяти.

Чи потрібна ретрансляція, якщо я переходжу з нуля?

Ні. Вона потрібна лише тоді, коли в старому сервісі лишаються робочі воронки, які ви ще не перенесли.

Чи допоможе вона, якщо старий сервіс не віддає Telegram ID підписників?

Ні — це інша задача. Ретрансляція зберігає роботу старих воронок, але не переносить базу. Якщо сервіс не віддає Telegram ID, базу доводиться збирати заново переходом на нового бота.

Чи можна повернутися назад?

Так. Натисніть біля бота «Відключити» — вебхук звільниться, і старий сервіс зможе знову встановити свій. Дані й воронки в Sviteya збережуться. Саме тому радимо не закривати старий акаунт одразу.

Пов'язані сторінки

  • «Вхідні вебхуки» — як зовнішня подія запускає воронку
  • «Тригери» — з чого стартує воронка
  • «Як забрати свої дані» — експорт бази й воронок

Інтерфейс сервісу зараз оновлюється, тож деякі назви кнопок і екранів можуть відрізнятися від описаних.

Знайшли неточність? Напишіть у нашу групу в Telegram — виправимо.