Telegram API ID và API hash so với bot token: bạn cần thông tin xác thực nào?
Telegram bot token xác thực một bot với HTTP Bot API; token này không đăng nhập vào tài khoản Telegram cá nhân. API ID và API hash định danh một ứng dụng máy khách, đồng thời là thông tin bắt buộc khi cấp quyền cho tài khoản người dùng qua MTProto API của Telegram, bao gồm đăng nhập bằng mã xác minh và mã QR. Hãy chọn thông tin xác thực theo danh tính bạn cần điều khiển: danh tính bot → bot token; tài khoản người dùng hiện có → API ID và API hash.
Điểm chính
- Lấy bot token từ
@BotFatherkhi tích hợp của bạn cần hoạt động dưới dạng một Telegram bot riêng biệt. - Lấy API ID và API hash từ
my.telegram.orgkhi ứng dụng cần cấp quyền cho một tài khoản người dùng Telegram hiện có. - Bot token không thể thay thế API ID/API hash, và việc quét mã QR không làm mất đi yêu cầu về thông tin xác thực của ứng dụng.
- Không đưa bot token, API hash, mã đăng nhập hay dữ liệu phiên đã được cấp quyền vào mã nguồn hoặc nhật ký.
- Với tài khoản Telegram thông thường trong UnifyPort, hãy làm theo hướng dẫn cấp quyền Telegram bằng API ID và API hash; không nhập token từ BotFather vào quy trình đó.
Telegram API ID và API hash so với bot token
Ba giá trị này dễ gây nhầm lẫn vì tất cả đều cung cấp một dạng quyền truy cập Telegram. Tuy nhiên, chúng thuộc về các API khác nhau và xác thực những danh tính khác nhau.
| Bạn đang xây dựng gì | Thông tin xác thực | Lấy từ đâu | Danh tính sau khi cấp quyền |
|---|---|---|---|
| Tích hợp HTTP Bot API | Bot token | @BotFather | Một tài khoản bot riêng biệt |
| Ứng dụng máy khách đăng nhập vào tài khoản người dùng Telegram | API ID + API hash, sau đó là mã xác minh, mã QR hoặc bước đăng nhập người dùng được hỗ trợ khác | my.telegram.org → API development tools | Tài khoản người dùng đã cấp quyền |
| Kết nối tài khoản người dùng trong UnifyPort | API ID + API hash để cấp quyền bằng mã xác minh hoặc mã QR | my.telegram.org | Tài khoản Telegram chấp thuận đăng nhập |
Hướng dẫn chính thức dành cho bot của Telegram nêu rõ: bot token xác thực bot, không phải tài khoản của bạn. Token được gửi đến các endpoint như https://api.telegram.org/bot<TOKEN>/getMe và có thể bị thu hồi trong @BotFather.
Trong khi đó, API ID và API hash thuộc về một ứng dụng máy khách Telegram. Telegram cấp hai giá trị này sau khi bạn đăng nhập tại my.telegram.org và hoàn thành biểu mẫu API development tools. Các phương thức cấp quyền người dùng sau đó kết hợp thông tin xác thực ứng dụng với một bước đăng nhập do người dùng kiểm soát. Ví dụ, auth.sendCode nhận số điện thoại, api_id và api_hash; khi cấp quyền thành công, phiên máy khách được tạo ra sẽ liên kết với người dùng.
Đây là khác biệt quyết định: bot token chọn danh tính bot, còn API ID/API hash định danh ứng dụng máy khách tham gia vào quá trình đăng nhập tài khoản người dùng.
Nên chọn thông tin xác thực nào?
Trước tiên, hãy xác định danh tính nào cần nhận hoặc gửi tin nhắn.
Chọn bot token khi danh tính bot đáp ứng yêu cầu
Sử dụng Bot API chính thức khi người dùng sẽ chủ động trò chuyện với tên người dùng của bot, thêm bot vào nhóm hoặc dùng các tính năng dành riêng cho bot. Tạo bot bằng @BotFather, bảo quản token như mật khẩu và nhận các bản cập nhật Bot API qua polling hoặc Telegram webhook.
Đây thường là lựa chọn đơn giản nhất cho sản phẩm chỉ hoạt động trên Telegram và được thiết kế xoay quanh bot. Telegram quản lý vòng đời của bot, API này là API chính thức và bạn không cần cấp quyền cho phiên người dùng cá nhân. Bài so sánh tự động hóa trò chuyện gốc của Telegram với hàng đợi tin nhắn đến đa kênh giải thích những trường hợp mô hình chính thức này phù hợp.
Chọn API ID và API hash khi cần danh tính tài khoản người dùng
Sử dụng hướng đi client API của Telegram khi sản phẩm phải cấp quyền cho một tài khoản Telegram hiện có thay vì tạo danh tính bot mới. Trước tiên, ứng dụng tự định danh bằng API ID và API hash. Sau đó, chủ tài khoản hoàn tất bước đăng nhập người dùng, chẳng hạn nhập mã xác minh, chấp thuận mã QR và xác thực 2FA nếu đã bật.
Không nên hiểu rằng chỉ cần API ID/API hash là tài khoản đã đăng nhập. Chúng định danh ứng dụng; quy trình cấp quyền do người dùng kiểm soát mới tạo ra phiên tài khoản. Tương tự, số điện thoại hoặc hình ảnh mã QR không thay thế cho thông tin xác thực ứng dụng.
Nếu mục tiêu cuối cùng là chuyển tiếp tin nhắn từ một tài khoản Telegram hiện có sang hệ thống khác, nhật ký xây dựng cầu nối Telegram sang Slack trình bày kiến trúc webhook ở các bước tiếp theo sau khi tài khoản được kết nối.
Cách lấy API ID và API hash từ my.telegram.org
Quy trình chính thức của Telegram khá ngắn, nhưng bạn cần chọn đúng tên trang:
- Đăng ký và duy trì một số điện thoại đang hoạt động trong ứng dụng Telegram chính thức.
- Mở my.telegram.org và hoàn tất đăng nhập tài khoản tại
/auth. - Chọn API development tools.
- Hoàn thành biểu mẫu ứng dụng.
- Lưu
api_idvàapi_hashnhận được trong kho thông tin xác thực phía máy chủ.
Hiện tại, Telegram chỉ cho phép một API ID trên mỗi số điện thoại và cảnh báo rằng các thư viện máy khách được giám sát để phát hiện hành vi lạm dụng. Hãy sử dụng thông tin xác thực ứng dụng của riêng bạn cho sản phẩm đã phát hành, tuân thủ Điều khoản dịch vụ API của Telegram và không dùng API ID mẫu bị giới hạn từ các ứng dụng mã nguồn mở của Telegram trong môi trường production.
Đăng nhập bằng mã QR có còn cần API ID và API hash không?
Có. Mã QR thay đổi cách người dùng chấp thuận đăng nhập, nhưng không thay đổi ứng dụng máy khách đang yêu cầu quyền truy cập.
Quy trình QR chính thức của Telegram bắt đầu với auth.exportLoginToken, trong đó các tham số bao gồm api_id và api_hash. Ứng dụng máy khách hiển thị token trả về dưới dạng mã QR tg://login; người dùng quét và chấp thuận mã này trong một ứng dụng Telegram đã đăng nhập. Telegram cho biết login token thường hết hạn sau khoảng 30 giây, vì vậy mã QR hết hạn cần được làm mới.
Vì thế, “mã QR hay thông tin xác thực API?” không phải là lựa chọn đúng. Khi cấp quyền cho người dùng, QR là một phương thức chấp thuận được dùng cùng với thông tin xác thực của ứng dụng.
Vai trò của UnifyPort
UnifyPort kết nối một tài khoản Telegram thông thường qua giao diện không chính thức; dịch vụ này không tạo Telegram bot. Vì vậy, quy trình cấp quyền bằng mã xác minh và mã QR sử dụng hướng đi dành cho thông tin xác thực của tài khoản người dùng.
Để cấp quyền bằng mã xác minh, hãy tạo tài khoản với provider: "telegram", auth_mode: "code" và các trường thực tế sau:
{
"provider": "telegram",
"auth_mode": "code",
"provider_data": {
"api_id": 12345678,
"api_hash": "0123456789abcdef0123456789abcdef",
"phone": "+886912345678"
}
}
Với quy trình cấp quyền bằng mã QR, provider_data.api_id và provider_data.api_hash vẫn là các trường bắt buộc, còn chủ tài khoản sẽ chấp thuận mã QR tồn tại trong thời gian ngắn trên Telegram. Tài liệu tham chiếu API cấp quyền Telegram liệt kê chính xác các bước cho mã xác minh, mã QR, 2FA và phiên.
Sau khi cấp quyền, tin nhắn Telegram đến có thể được chuyển đến dưới dạng cùng một sự kiện message.received đã ký như các nhà cung cấp được kết nối khác. Token từ BotFather không phải là dữ liệu đầu vào của quy trình dành cho tài khoản thông thường này.
Hạn chế và đánh đổi
Hãy sử dụng Bot API chính thức của Telegram khi một danh tính bot riêng biệt đáp ứng yêu cầu của sản phẩm. API này được thiết kế riêng cho bot và không yêu cầu bạn duy trì phiên tài khoản người dùng.
Chỉ sử dụng quy trình ứng dụng máy khách/tài khoản người dùng khi thực sự cần một tài khoản hiện có. Quá trình cấp quyền tạo ra dữ liệu phiên nhạy cảm, tài khoản vẫn chịu sự điều chỉnh của các quy tắc Telegram và quyền truy cập API không đồng nghĩa với việc được phép gửi thư rác hoặc thực hiện hành vi bị cấm khác. UnifyPort không biến bot token thành phiên người dùng, không tạo API ID thay bạn và không loại bỏ các cơ chế kiểm soát nền tảng của Telegram.
Bạn cũng cần tách biệt Telegram Login dành cho website khỏi quyết định này. Hệ thống đăng nhập web hiện tại của Telegram là một quy trình OpenID Connect với cấu hình máy khách riêng; nó không thay thế Bot API token hay quy trình cấp quyền tài khoản người dùng qua MTProto.
Câu hỏi thường gặp
Telegram API ID có giống bot token không?
Không. API ID định danh một ứng dụng máy khách tham gia vào quá trình cấp quyền Telegram API. Bot token xác thực một bot với Bot API. Chúng được cấp ở những nơi khác nhau và điều khiển các danh tính khác nhau.
Tôi có cần API ID và API hash nếu đã có bot token không?
Không cần cho các lệnh gọi HTTP Bot API thông thường. Bạn dùng bot token cho bot đó. API ID và API hash chỉ cần thiết khi tích hợp cấp quyền cho một người dùng Telegram qua client API; bot token không thể đăng nhập người dùng đó.
Tôi có thể tìm my.telegram.org/auth ở đâu?
Mở https://my.telegram.org/ và đăng nhập bằng số điện thoại Telegram của bạn. Sau khi xác thực, chọn API development tools để tạo hoặc xem API ID và API hash được liên kết với số điện thoại đó.
Tôi có thể đăng nhập bằng mã QR mà không có API hash không?
Không. Yêu cầu auth.exportLoginToken của Telegram bao gồm cả api_id và api_hash. Mã QR là bước chấp thuận của người dùng, không phải sự thay thế cho thông tin xác thực ứng dụng.
UnifyPort có thể kết nối Telegram bằng token từ BotFather không?
Không thể trong quy trình cấp quyền cho tài khoản Telegram thông thường. Chế độ mã xác minh và mã QR sử dụng provider_data.api_id cùng provider_data.api_hash; chế độ mã xác minh còn sử dụng số điện thoại của tài khoản. Hãy dùng trực tiếp Bot API chính thức khi danh tính đích của bạn là bot.
Bước tiếp theo
Nếu cần kết nối một tài khoản Telegram hiện có, hãy mở hướng dẫn cấp quyền Telegram và chọn quy trình bằng mã xác minh hoặc mã QR. Nếu bạn chỉ cần danh tính bot, hãy tiếp tục sử dụng @BotFather và Bot API chính thức.
Nguồn tham khảo
- Telegram: Tạo ứng dụng Telegram của bạn
- Telegram: Từ BotFather đến “Hello World”
- Telegram: Cấp quyền người dùng
- Telegram: Đăng nhập qua mã QR
Nguồn tham khảo và tài liệu sản phẩm được kiểm tra vào 2026-07-19.