← Tất cả bài viết
So sánh

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: getUpdates là pull, setWebhook là 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.received có 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:

  1. Tạo một Telegram bot để người dùng trò chuyện trực tiếp với bot.
  2. 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.
  3. 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_idapi_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: getUpdatessetWebhook. Khác biệt thực tế như sau:

Lựa chọnMô hình giao nhậnPhù hợp vớiĐánh đổi chính
getUpdatesCode của bạn polling TelegramPrototype, bot đơn giản, traffic thấpBạn phải quản lý polling loop, offset và response rỗng
setWebhookTelegram gửi HTTPS POST đến bạnProduction bot có public endpoint ổn địnhBạn phải vận hành HTTPS receiver có thể truy cập và xử lý delivery
UnifyPort unified webhookUnifyPort gửi event chuẩn hóa có chữ kýMessaging account sẵn có và hàng đợi đa kênhBạ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 Update object làm model nội bộ;
  • bạn đã có public HTTPS endpoint cho setWebhook, hoặc polling bằng getUpdates đã đủ.

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_idapi_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_secretretry_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

UnifyPort API

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.