Головна / Посібники

Пересилання вхідних SMS в інший чат Telegram або на webhook

Оновлено

Вхідні SMS на приватному номері приходять у діалог з ботом, але це зручно лише для однієї людини. Якщо код має бачити команда або його треба передати в систему, повідомлення пересилають далі: в інший чат Telegram або на webhook. Ми рекомендуємо SMS Activate App, сервіс видає приватний (не спільний) номер на 28 днів, приймає SMS і дзвінки, а вхідні повідомлення вміє пересилати в чат Telegram або на webhook. Розглянемо обидва варіанти, їхні налаштування та типові помилки.

Навіщо пересилати SMS далі

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

Пересилання вирішує дві задачі. Перша: дублювання повідомлення в інший чат Telegram, де його бачать колеги. Друга: передача даних на власний endpoint, де текст можна зберегти, обробити або розіслати кільком напрямками.

  • Чат Telegram підходить для невеликої команди, якій достатньо просто бачити текст.
  • Webhook підходить, коли дані мають потрапити в базу, систему сповіщень або внутрішнього бота.
  • Обидва способи дублюють вміст SMS, тому доступ до місця призначення варто обмежити.

Пересилання в інший чат Telegram

Спочатку підготуйте місце призначення. Це може бути окремий діалог з ботом, група або канал, куди додано вашого бота.

  • Створіть групу або канал і додайте туди бота, який приймає SMS.
  • Дайте боту право публікувати повідомлення. У групах без цього права текст не з'явиться.
  • Дізнайтеся ID чату. Це число, а не назва: для груп і каналів воно з'являється в адресі веб-версії Telegram, для особистого чату це ваш ID користувача.
  • Вставте ID у поле пересилання в налаштуваннях номера і збережіть значення.
  • Надішліть тестове повідомлення на номер і перевірте, що текст з'явився саме в потрібному чаті.

Знак мінуса і формат ID

ID груп і каналів від'ємний, а для супергруп і каналів починається з -100. Якщо скопіювати число без цього префікса або обрізати його, повідомлення піде не туди або не дійде взагалі.

Особистий діалог з ботом теж можна використати як місце призначення, але тоді всі повідомлення бачите лише ви. Для команди краще група з обмеженим списком учасників.

Після зміни складу групи або її перетворення на супергрупу ID може змінитися. У такому разі пересилання треба налаштувати заново.

Пересилання на webhook для команди

Webhook, або адреса зворотного виклику, це HTTPS-ендпойнт вашого сервера, на який надсилається запит щоразу, коли на номер приходить SMS. SMS Activate App дозволяє задати таку адресу в налаштуваннях номера, і повідомлення перестають бути прив'язаними до Telegram-чату.

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

Endpoint має відповідати швидко і кодом 200. Повторні спроби можливі, але ви не керуєте їхньою кількістю, тому зберігайте повідомлення у власній базі одразу після прийому, а не чекайте наступної доставки.

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

Безпека доступу до кодів

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

  • Обмежте склад групи або каналу: залишайте тільки тих, кому справді потрібен код.
  • Не публікуйте переслані SMS у відкритих каналах і загальних чатах.
  • Адресу webhook вважайте секретом: використовуйте HTTPS, не додавайте її в публічні репозиторії, чати та логи.
  • Якщо адресу або склад чату змінили, перегляньте налаштування пересилання ще раз.
  • Не зберігайте повний текст кодів у відкритих логах, якщо для цього немає робочої потреби.

Типові помилки та що перевірити

Більшість проблем пов'язана не з самим пересиланням, а з місцем призначення. Перевіряйте пункти по черзі.

  • Бота немає в чаті або він без права публікувати повідомлення.
  • ID чату скопійовано без знака мінус, з зайвими пробілами або зайвими символами.
  • Endpoint повертає помилку, відповідає довго або недоступний ззовні.
  • Пересилання вимкнено в налаштуваннях номера.
  • На номер не приходять повідомлення взагалі: перевірте, чи підходить він для вашої платформи.

Що перевірити перед оплатою номера

SMS Activate App видає приватний (не спільний) номер на 28 днів. Оренда продовжується автоматично кожні 28 днів, поки вистачає балансу, і це можна вимкнути. Ціни стартують від $8 за 28 днів, номери зараз доступні в Австралія, Канада, Велика Британія, Ізраїль, Пуерто-Рико, Швеція і Сполучені Штати.

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

Пересилання в чат Telegram підходить для команди, а webhook для системної обробки. У будь-якому випадку перевіряйте налаштування тестовим повідомленням і обмежуйте доступ до кодів.

Перейти до SMS Activate Appsms-activate.app

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

Чи можна пересилати SMS в кілька чатів одночасно?

Як правило, для номера задається одне місце призначення: або чат Telegram, або webhook. Якщо повідомлення мають потрапити в кілька місць, приймайте їх на власний endpoint і розподіляйте вже там.

Що буде з пересиланням, коли сплине оплачений період?

Номер орендується на 28 днів, а продовження вмикається автоматично, поки вистачає балансу. Якщо продовження вимкнено або балансу не вистачило, номер перестає приймати повідомлення, а разом із ним зупиняється і пересилання.

Куди звертатися, якщо пересилання не працює?

Опишіть ситуацію на contact@sms-activate.bot: вкажіть номер, час повідомлення і те, що ви вже перевірили. Це прискорить розбір.

Більше посібників