Telegram Bot API Webhook hay Unified Inbound Webhook: nên chọn đường nhận tin nào?
Nếu bạn đang so sánh Telegram Bot API polling, Telegram setWebhook và unified inbound webhook, hãy bắt đầu từ câu hỏi: bạn muốn nhận tin dưới danh tính nào? Telegram Bot API nhận updates cho bot token. Nó không biến một tài khoản Telegram thông thường thành inbox hỗ trợ khách hàng. Nếu bot là đúng danh tính, dùng setWebhook để nhận HTTPS push hoặc getUpdates để polling. Nếu bạn cần nhận tin từ tài khoản Telegram sẵn có, hoặc đưa Telegram vào cùng hàng đợi với WhatsApp, Zalo, LINE, TikTok và X, unified inbound webhook của UnifyPort phù hợp hơn. Với đội ngũ Việt Nam, điểm này quan trọng vì WhatsApp và Zalo thường cùng xuất hiện trong luồng vận hành xuyên biên giới.
Tóm tắt nhanh
- Token của Telegram Bot API dùng để xác thực bot, không phải tài khoản cá nhân hay tài khoản đội ngũ. Tutorial chính thức của Telegram cũng nói token được tạo qua @BotFather và xác thực bot.
- Telegram mô tả hai cách nhận Bot API updates:
getUpdateslà pull,setWebhooklà push. Cả hai đều thuộc mô hình bot. - UnifyPort unified inbound webhook là một lớp khác: sau khi kết nối messaging account, bạn nhận luồng event
message.receivedcó chữ ký với cùng envelope trên nhiều nền tảng. - Nếu truy vấn của bạn gần với
telegram bot api authorizing your bot token, hãy đọc trước Telegram API ID và API hash khác Bot Token như thế nào, rồi quay lại bài này để chọn đường nhận tin. - Nếu muốn xem ví dụ thực tế, xem bài dùng Cursor tạo Telegram-to-Slack relay từ webhook docs.
Telegram Bot API chính thức thật sự nhận gì?
Tài liệu Telegram Bot API chính thức nói mỗi bot được cấp một token duy nhất để authorization. Khi tạo bot, bạn nhận token và dùng token đó để gọi Bot API. Tutorial chính thức còn nói rõ hơn: token này xác thực bot, không xác thực tài khoản Telegram của bạn.
Khi đội ngũ tìm “Telegram login API” hoặc “authorizing your bot token”, thường có ba nhu cầu bị trộn vào nhau:
- Tạo một Telegram bot để người dùng trò chuyện trực tiếp với bot.
- Kết nối một tài khoản Telegram thông thường để nhận tin từ các cuộc trò chuyện mà tài khoản đó đã tham gia.
- Xây dựng hàng đợi hỗ trợ đa kênh, trong đó Telegram chỉ là một nguồn bên cạnh WhatsApp, Zalo, LINE, TikTok và X.
Bot API là câu trả lời tốt cho nhu cầu đầu tiên. Nhưng đó không phải kiến trúc cho nhu cầu thứ hai hoặc thứ ba. Với tài khoản thông thường, Telegram core API dùng application credentials như api_id và api_hash. Trong tài liệu Telegram authorization của UnifyPort, các trường tương ứng là provider_data.api_id, provider_data.api_hash, và với code login còn có provider_data.phone.
Telegram Bot API webhook vs getUpdates
Webhook guide chính thức của Telegram nêu hai cách xử lý bot updates: getUpdates và setWebhook. Khác biệt thực tế như sau:
| Lựa chọn | Mô hình giao nhận | Phù hợp với | Đánh đổi chính |
|---|---|---|---|
getUpdates | Code của bạn polling Telegram | Prototype, bot đơn giản, traffic thấp | Bạn phải quản lý polling loop, offset và response rỗng |
setWebhook | Telegram gửi HTTPS POST đến bạn | Production bot có public endpoint ổn định | Bạn phải vận hành HTTPS receiver có thể truy cập và xử lý delivery |
| UnifyPort unified webhook | UnifyPort gửi event chuẩn hóa có chữ ký | Messaging account sẵn có và hàng đợi đa kênh | Bạn tích hợp event contract của UnifyPort thay vì Telegram Update object |
Với Telegram-only bot, setWebhook thường hợp hơn cho production vì updates được push tới server của bạn. Với công cụ nội bộ hoặc bản thử nghiệm nhỏ, getUpdates có thể dễ bắt đầu hơn. Nhưng cả hai vẫn nằm trong mô hình Bot API: bot token, Telegram update JSON và logic riêng cho Telegram.
Khi bot không phải danh tính đúng
Danh tính nhận tin nên khớp với cách khách hàng đang liên hệ. Nếu khách hàng đã nhắn tới một tài khoản Telegram quen thuộc, yêu cầu họ chuyển sang bot mới có thể tạo thêm ma sát. Nếu đội hỗ trợ đồng thời trả lời trên WhatsApp hoặc Zalo, lấy Telegram làm trung tâm kiến trúc cũng tạo vấn đề khác: mỗi kênh có event format riêng.
Câu hỏi tốt hơn là: source of truth cho inbound support nên là gì? Nếu câu trả lời là “event khi tin nhắn đến”, hãy đặt signed event stream trước hàng đợi và chuẩn hóa dữ liệu sớm.
Đây cũng là lý do native chat automation của Telegram không thay thế hàng đợi inbound đa kênh. Chúng tôi đã phân tích ranh giới này trong bài Telegram chat automation vẫn cần cross-channel inbound queue.
UnifyPort nằm ở lớp nào?
UnifyPort nhận provider events và gửi đến endpoint của bạn bằng webhook envelope thống nhất. Tham khảo chi tiết ở Standard event types and payload. Delivery headers, HMAC-SHA256 verification và retries nằm trong Webhook delivery and signature verification.
Một Telegram inbound text message sẽ có top-level shape giống các provider khác:
{
"id": "evt_b1a7c3e5f8",
"type": "message.received",
"provider": "telegram",
"account_id": "acc_8c21d0",
"occurred_at": "2026-06-08T12:37:00Z",
"data": {
"conversation": { "id": "5005", "type": "user" },
"sender": { "id": "4004", "type": "user", "name": "Jordan Lee" },
"message": {
"id": "3003",
"direction": "inbound",
"sent_at": "2026-06-08T12:37:00Z",
"text": "Can you check my order?"
},
"event": { "kind": "message_received" }
}
}
Nếu bật signing_secret, receiver nên kiểm tra X-Device-Signature bằng raw request body, không dùng JSON đã serialize lại. Delivery là at-least-once, nên cần deduplicate bằng event id. Để tạo receiver, dùng POST /v1/webhook-endpoints với public HTTPS url, subscribed_events như ["message.received"] hoặc ["*"], và signing_secret nếu cần chữ ký.
Quy tắc chọn cho đội nhỏ
Chọn official Bot API khi:
- khách hàng nên trò chuyện với bot identity;
- workflow chỉ nằm trong Telegram;
- bạn muốn dùng Telegram
Updateobject làm model nội bộ; - bạn đã có public HTTPS endpoint cho
setWebhook, hoặc polling bằnggetUpdatesđã đủ.
Chọn UnifyPort unified inbound webhook khi:
- inbox đã nằm trong tài khoản Telegram sẵn có;
- bạn muốn đưa Telegram, WhatsApp, Zalo, LINE, TikTok hoặc X vào cùng một queue;
- ứng dụng cần xử lý
message.received,message.updated, receipts, reactions và account status bằng một schema; - bạn muốn dùng một HMAC-SHA256 verification pattern thay vì viết receiver logic riêng cho từng provider.
Giới hạn và trade-offs
UnifyPort không thay thế mọi tính năng của Telegram Bot API. Nếu sản phẩm phụ thuộc vào inline keyboards, bot commands, BotFather configuration hoặc các khả năng chỉ dành cho bot, hãy dùng official Bot API. Nếu bạn phát hành public Telegram bot, bot token là credential đúng.
Unified webhook mạnh nhất ở inbound intake và routing. Nó cho bạn event contract ổn định, nhưng bạn vẫn phải lưu event, xử lý retries idempotently và duy trì authorization đúng cho từng provider account.
FAQ
Telegram bot token có giống Telegram API ID và API hash không?
Không. Bot token xác thực bot trong Bot API. api_id và api_hash là application credentials cho Telegram core API. Nếu đây là điểm bạn đang vướng, hãy đọc Telegram API ID và API hash khác Bot Token như thế nào.
Telegram bot nên dùng getUpdates hay setWebhook?
Dùng getUpdates khi bạn muốn polling loop đơn giản. Dùng setWebhook khi bạn có HTTPS endpoint ổn định và muốn Telegram push updates tới server. Cả hai đều là cách chính thức của Bot API cho bot.
Telegram Bot API webhook có nhận được tin nhắn gửi tới tài khoản Telegram thông thường không?
Không. Bot API webhook chỉ nhận updates của bot được xác định bởi bot token. Với tài khoản thông thường hoặc cross-channel support queue, dùng account-level inbound path như UnifyPort unified webhook.
Sau khi chọn unified webhook, bước đầu tiên là gì?
Đăng ký receiver trước khi kết nối account. Tài liệu Create webhook endpoint liệt kê url, status, subscribed_events, signing_secret và retry_policy.max_attempts.
Bước tiếp theo
Nếu bạn xây Telegram bot riêng, hãy tiếp tục với Telegram Bot API docs. Nếu bạn xây support hoặc automation queue, hãy bắt đầu từ UnifyPort webhook events reference, viết một message.received handler rồi thêm WhatsApp, Zalo hoặc kênh khác.
Nguồn đã kiểm tra ngày 2026-08-28
- Telegram Bot API: https://core.telegram.org/bots/api
- Telegram Bot tutorial: https://core.telegram.org/bots/tutorial
- Telegram webhook guide: https://core.telegram.org/bots/webhooks
- Telegram application credentials: https://core.telegram.org/api/obtaining_api_id
Biến tích hợp nhắn tin thành một pipeline sản phẩm ổn định.
Bắt đầu bằng cách gửi qua một API, rồi đưa mọi tin nhắn inbound trở lại hệ thống kinh doanh bằng sự kiện chuẩn.