Telegram-бот для бізнэсу: сцэнары, кошт і бяспечная рэалізацыя на PHP
Telegram-бот – адзін з самых танных спосабаў дастаўляць камандзе інфармацыю ў рэальным часе і, там дзе кліенты сядзяць у Telegram, мець зносіны з імі. У гэтым артыкуле сапраўды разабрана, дзе ён дарэчны для амерыканскай кампаніі, якія сцэнары акупляюцца хутка, і дадзены працоўны код на PHP з важнымі правіламі бяспекі.
Коратка
- Для большасці кампаній з ЗША Telegram лепш за ўсё працуе як унутраны канал (алерты, узгадненні, штодзённыя справаздачы) і як канал для міжнародных кліентаў і супольнасцяў, а не як асноўны спосаб сувязі з амерыканскімі спажыўцамі.
- Сам Bot API бясплатны. Выдаткі - час распрацоўкі, хостынг (невялікі) і падлучаныя ІІ-сэрвісы або сэрвісы трэціх бакоў.
- Лепшыя першыя праекты: алерты па плацяжах і памылкам, узгадненне ў адзін дотык, апавяшчэння аб заяўках і бот для першаснай апрацоўкі падтрымкі.
- Выкарыстоўвайце вебхуки з сакрэтным токенам, абмяжуйце робата дазволенымі чатамі і ніколі не адпраўляйце праз чаты паролі, дадзеныя карт і іншую адчувальную інфармацыю.
- Закладвайце паўторныя спробы і ліміты хуткасці з першага дня, каб загружаны дзень не ператварыўся ў страчаныя паведамленні.
Калі ўладальнікі чуюць "Telegram-бот", яны часта прадстаўляюць спажывецкую цацку. На практыцы бот – вельмі маленькая праграма, якая злучае вашыя сістэмы з месэнджэрам, які ў каманды і так ёсць у тэлефоне. Ён можа паведаміць у тую ж секунду аб буйным замове, папрасіць мэнэджара ўзгадніць вяртанне адным націскам або адказаць на частыя пытанні кліентаў. Мы робім такое ў рамках нашай працы з інтэграцыямі, і вось як мы на гэта глядзім.
Дзе Telegram дарэчны для амерыканскага бізнэсу
Будзьце рэалістычныя наконт аўдыторыі. У ЗША кліенты ў асноўным карыстаюцца SMS, iMessage, WhatsApp, поштай і вэб-чатам, а каманды – Slack або Microsoft Teams. У Telegram сотні мільёнаў карыстальнікаў, засяроджаных у Еўропе, Азіі, на Блізкім Усходзе і ў Лацінскай Амерыцы. Адсюль дзве выразныя ролі:
- Унутраныя аперацыі. Ён просты, хуткі на мабільных і мае бясплатны, добра дакументаваны API для ботаў. Многія невялікія каманды выкарыстоўваюць яго для алертаў і ўзгадненняў, таму што настройка займае гадзіны, а не тыдні.
- Міжнародныя кліенты і супольнасці. Калі вы прадаяце ці падтрымліваеце кліентаў на рынках, дзе Telegram – стандарт, бот сустракае іх там, дзе яны ёсць. Супольнасці прадукта, каналы аб'яваў і групы падтрымкі - тыповыя прыклады.
Калі вашы кліенты ў асноўным амерыканскія спажыўцы, для іх пачніце з вэб-чата або SMS, а Telegram пакіньце для каманды. Логіка аўтаматызацыі адна і тая ж.
Сцэнары, якія хутка акупляюцца
- Алерты па плацяжах і выручцы: «Новая замова, $1 240, кліент X» у камандным чаце, а таксама апавяшчэнні аб няўдалых плацяжах і зваротах. Падлучыце іх да плацежных вэбхукаў, як апісана ў нашым кіраўніцтве па вэбхукам Stripe.
- Алерты па памылках і даступнасці: паведамленне, калі бэкап не атрымаўся, праверка здароўя пачырванела ці вырас лік памылак. Што адсочваць, гл. у нашым кіраўніцтве па бэкапы і маніторынгу.
- Узгадненне ў адзін дотык: вяртанне звыш ліміту, запыт скідкі, матэрыял, гатовы да публікацыі. Мэнэджар націскае «Адобрыць» ці «Адхіліць» у чаце, і ваша сістэма дзейнічае.
- Апавяшчэнні аб новых заяўках: адпраўка формы прыходзіць у чат продажаў з дэталямі і кнопкай «Бяру». Хутчэйшы першы кантакт звычайна падвышае канверсію.
- Штодзённая зводка: кароткі ранішні вынік па продажах, рэгістрацыям, тыкетам і інцыдэнтам.
- Першасная апрацоўка падтрымкі і FAQ: робат адказвае на частыя пытанні, а астатняе перадае чалавеку. Калі патрэбныя адказы ІІ па вашых дакументах, прачытайце наша кіраўніцтва па ІІ-чату аб кошце, ROI і абаронах.
Колькі гэта каштуе
Telegram Bot API не бярэ плату за паведамленні пры звычайным выкарыстанні. Рэальныя выдаткі:
- Распрацоўка: просты бот-паведамнік – некалькі гадзін працы, працэс узгадненняў або бот падтрымкі – дні, а бот з ІІ і інтэграцыяй з CRM – даўжэй.
- Хостынг: хопіць невялікага сервера. Робат большую частку часу прастойвае.
- Іншыя сэрвісы: выкарыстанне ІІ-мадэляў, CRM, SMS-правайдэр для рэзервовага канала. Залежаць ад аб'ёму.
- Суправаджэнне: маніторынг, абнаўлення і змены ў Bot API. Невялікае, але не нулявое.
Каб абгрунтаваць выдаткі, ацаніце зэканомлены час: хвіліны на кожны алерт ці ўзгадненне, памножаныя на аб'ём, плюс каштоўнасць хутчэйшага адказу. Многія каманды бачаць акупляльнасць ужо ў першы месяц, бо альтэрнатыва - уручную правяраць дашборды або губляць з-за павольных адказаў.
Настройка: ад BotFather да працоўнага вэбхука
- Стварыце бота. У Telegram напішыце BotFather, стварыце бота і скапіюйце токен. Токен - гэта пароль: захоўвайце яго як сакрэт на серверы, не ў кодзе і не ў Git.
- Стварыце камандны чат ці групу, дадайце бота і даведайцеся ID чата з першага абнаўлення, якое атрымае бот.
- Абярыце рэжым. Long polling прасцей за ўсё ў распрацоўцы. У прадакшне выкарыстоўвайце вэбхук: Telegram выклікае ваш HTTPS-адрас для кожнага абнаўлення.
- Зарэгіструйце вэбхук з сакрэтным токенам, каб адхіляць усіх, хто знойдзе адрас:
curl -sS "https://api.telegram.org/bot$TG_BOT_TOKEN/setWebhook" \
-d "url=https://example.com/telegram-webhook.php" \
-d "secret_token=$TG_WEBHOOK_SECRET" \
-d 'allowed_updates=["message","callback_query"]' \
-d "drop_pending_updates=true"
Невялікая і бяспечная рэалізацыя на PHP
Спачатку памагаты для выкліку API з таймаўтам і паўторам, калі Telegram просіць «павольней» (HTTP 429):
<?php
function tg(string $method, array $params, int $tries = 3): array {
$url = 'https://api.telegram.org/bot' . getenv('TG_BOT_TOKEN') . '/' . $method;
for ($i = 1; $i <= $tries; $i++) {
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($params),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
$raw = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$res = is_string($raw) ? (json_decode($raw, true) ?: []) : [];
if ($code === 429) { sleep((int)($res['parameters']['retry_after'] ?? 1)); continue; }
if ($code >= 500 || $raw === false) { sleep($i); continue; }
return $res;
}
return ['ok' => false];
}
Затым апавяшчэнне з кнопкамі ўзгаднення, напрыклад калі запытаны зварот вышэй вашага ліміту:
tg('sendMessage', [
'chat_id' => getenv('TG_OPS_CHAT_ID'),
'parse_mode' => 'HTML',
'text' => 'Refund request <b>#' . $refundId . '</b>: $' . number_format($amount, 2) . "\nCustomer: " . htmlspecialchars($customerName),
'reply_markup' => ['inline_keyboard' => [[
['text' => 'Approve', 'callback_data' => 'refund:ok:' . $refundId],
['text' => 'Reject', 'callback_data' => 'refund:no:' . $refundId],
]]],
]);
І прымач вебхука, які правярае сакрэт, ігнаруе незнаёмыя чаты, не апрацоўвае адно абнаўленне двойчы і адказвае хутка:
<?php
// telegram-webhook.php
if (!hash_equals((string)getenv('TG_WEBHOOK_SECRET'), $_SERVER['HTTP_X_TELEGRAM_BOT_API_SECRET_TOKEN'] ?? '')) {
http_response_code(403); exit;
}
$update = json_decode(file_get_contents('php://input'), true);
if (!is_array($update) || !isset($update['update_id'])) { http_response_code(400); exit; }
// idempotency: Telegram may re-deliver an update
if (!claim_update((int)$update['update_id'])) { http_response_code(200); exit; } // e.g. INSERT IGNORE into a table
$chatId = $update['message']['chat']['id'] ?? $update['callback_query']['message']['chat']['id'] ?? null;
$allowed = array_map('intval', explode(',', (string)getenv('TG_ALLOWED_CHATS')));
if (!in_array((int)$chatId, $allowed, true)) { http_response_code(200); exit; } // ignore strangers
if (isset($update['callback_query'])) {
[$what, $decision, $id] = explode(':', $update['callback_query']['data']) + [null, null, null];
if ($what === 'refund' && ctype_digit((string)$id)) {
handle_refund_decision((int)$id, $decision === 'ok', $update['callback_query']['from']['id']);
tg('answerCallbackQuery', ['callback_query_id' => $update['callback_query']['id'], 'text' => 'Recorded']);
}
}
http_response_code(200);
Звярніце ўвагу на прынцыпы: аўтэнтыфікуйце адпраўніка, аўтарызуйце чат, правярайце дадзеныя і рабіце апрацоўшчык ідэмпатэнтным. Тыя ж прынцыпы дастасавальныя да аплатных вэбхукам. Правярайце і тое, хто націснуў кнопку: у групе націснуць можа любы, пакуль вы не абмяжуеце круг тых, хто мае права ўзгадняць.
Правілы бяспекі і адпаведнасці патрабаванням
- Трымайце токен у сакрэце і перавыпускайце яго праз BotFather, калі ён цёк.
- Не адпраўляйце адчувальныя дадзеныя ў чатах: паролі, API-ключы, нумары карт і медыцынскія дадзеныя. Звычайныя чаты робатаў не абаронены скразным шыфраваннем так, як многія думаюць, таму ставіцеся да іх як да пошты.
- Абмяжоўвайце па чаце і па карыстачу. Узгадненні мусяць прымацца толькі ад названых людзей.
- Атрымлівайце згоду на паведамленні кліентам і давайце просты спосаб адмовіцца. Выконвайце правілы канфідэнцыйнасці, якія прымяняюцца да вашых кліентаў, напрыклад GDPR для карыстальнікаў у Еўропе, і апішыце бота ў палітыцы прыватнасці.
- Лагуйце дзеянні: хто што ўзгадніў і калі.
- Праверце меры з нашага чэкліста бяспекі PHP: бот – яшчэ адна кропка ўваходу ў вашыя сістэмы.
Надзейнасць: ліміты хуткасці і паўторы
Telegram абмяжоўвае хуткасць адпраўкі ботам: прыкладна адно паведамленне ў секунду ў адзін чат, менш у групах і каля трыццаці паведамленняў у секунду ў цэлым пры рассыланнях. Для ўсяго, што больш каманднага чата, стаўце паведамленні ў чаргу і адпраўляйце з кантраляванай хуткасцю. Заўсёды апрацоўвайце адказ 429 і значэнне retry_after, адказвайце на вебхуки за секунду-дзве, а павольную працу выконвайце ў фоне, і сачыце за памылкамі дастаўкі, каб заўважыць зламанага бота гэтак жа, як любы іншы сэрвіс.
Разумны план укаранення
- Тыдзень 1: бот-паведаміцель па плацяжах і памылкам ва ўнутраным чаце.
- Тыдзень 2: дадаць апавяшчэння аб заяўках і штодзённую зводку.
- Тыдня 3-4: дадаць ўзгаднення з кнопкамі і часопіс дзеянняў.
- Пазней: падтрымка кліентаў або адказы ІІ там, дзе ваша аўдыторыя выкарыстоўвае Telegram, з вымярэннем па часе адказу і колькасці зваротаў.
Чым мы можам дапамагчы
Мы праектуем і ствараем аўтаматызацыю ў Telegram, вэб-чаце і месэнджарах для кампаній разам з інтэграцыямі за ёй: плацяжы, CRM, пошта і ІІ. Прачытайце пра нашу паслугу інтэграцый або запішыцеся на кароткі званок і раскажыце, які працэс хочаце аўтаматызаваць першым.
Частыя пытанні
Ці карысны Telegram-бот для бізнесу ў ЗША?
Так, у асноўным як унутраны канал для алертаў, узгадненняў і справаздач і як канал для міжнароднай аўдыторыі, якая карыстаецца Telegram. Для амерыканскіх спажыўцоў SMS, WhatsApp, пошта і вэб-чат звычайна ахопліваюць больш людзей.
Колькі каштуе ўтрымліваць Telegram-бота?
Bot API бясплатны пры звычайным выкарыстанні. Вы плаціце за распрацоўку, невялікі сервер і падлучаныя сэрвісы накшталт ІІ-мадэляў ці CRM. Просты бот-паведамнік робіцца за гадзіны, працэс узгадненняў або бот падтрымкі з ІІ – за дні і тыдні.
Што абраць: вебхук ці long polling?
Long polling – для распрацоўкі, вебхуки – для прадакшна. Рэгіструйце вебхук з сакрэтным токенам, правярайце яго пры кожным запыце і адказвайце хутка, а цяжкую працу рабіце ў фоне.
Ці бяспечна адпраўляць бізнес-дадзеныя праз Telegram-бота?
Ставіцеся да чатаў ботаў як да пошты. Не адпраўляйце паролі, ключы, нумары карт і медыцынскія дадзеныя, абмяжуйце робата дазволенымі чатамі і карыстальнікамі і вядзіце часопіс дзеянняў. Звычайныя чаты робатаў не маюць скразнога шыфравання.
Ці можа Telegram-бот прымаць плацяжы або ўзгадняць вяртанні?
Робат можа запускаць і пацвярджаць працэсы, напрыклад прасіць мэнэджара ўзгадніць вяртанне, а сам плацёж праводзіць ваш плацежны правайдэр. Не зьбірайце дадзеныя карт усярэдзіне чата.
Бясплатны званок для выяўлення
Прынясіце бязладны стэк ці завіслую інтэграцыю - Integrono намячае самы разумны першы крок.
Вы атрымліваеце экспертную ацэнку бюджэтных пастак, залежнасцей і таго, ці варта купляць, склейваць ці будаваць - да пачатку платнай працы. CEO застаецца ў кантуры.