TikTok không có API tin nhắn riêng — vậy các đội vẫn nhận tin nhắn TikTok Shop bằng cách nào — UnifyPort
Bạn đã dựng xong hệ thống chăm sóc khách hàng. Livestream chốt đơn tốt, người mua nhắn tin riêng liên tục — “đơn của em gửi chưa?”, “còn đổi size được không?” — và bạn muốn những tin này tự động vào hệ thống, để nhân viên hoặc AI trả lời trước khi khách mất hứng. Thế là bạn mở bảng điều khiển TikTok for Developers, sẵn sàng đăng ký một webhook nhận tin đến.
Nhưng không có endpoint nào như vậy cả. Tính đến năm 2026, API chính thức dành cho nhà phát triển của TikTok không cho phép gửi hay nhận tin nhắn riêng — không qua Content Posting API, không qua Display API, không dưới bất kỳ dạng tổng quát nào. TikTok nói thẳng: vì lý do riêng tư và bảo mật, họ không mở dữ liệu tin nhắn riêng cho các tích hợp bên thứ ba.
Nền tảng đòi bạn trả lời nhanh nhưng không cho bạn cách nhận
Điều này khiến nhiều đội trở tay không kịp, vì TikTok Shop gần như biến việc trả lời DM nhanh thành bắt buộc. Tỷ lệ phản hồi trong 12 giờ là một chỉ số sức khỏe gian hàng chính thức, và trong lúc livestream, kỳ vọng siết xuống còn dưới một giờ. Một tay nền tảng đẩy bạn về phía xử lý DM theo thời gian thực, tay kia lại dùng API nhà phát triển bảo rằng: không có cách nào bằng chương trình để thật sự nhận được những DM đó.
Có một ngoại lệ rất hẹp, và cần nói cho chính xác. Nền tảng người bán và đối tác của TikTok Shop có cung cấp một phần khả năng nhắn tin — nhưng bị giới hạn. Bạn cần một tài khoản người bán hoặc đối tác TikTok Shop đã được duyệt, ở thị trường được hỗ trợ, đi qua Shop API cùng quy trình onboarding và xét duyệt riêng của nó. Với số đông tài khoản nằm ngoài phạm vi đó — người bán ở quốc gia chưa hỗ trợ, nhà sáng tạo chưa mở Shop, agency vận hành tài khoản thay khách hàng, hay bất kỳ đội nào chỉ muốn đưa hộp thư TikTok thường vào backend — không cái nào dùng được. API nhà phát triển tổng quát vẫn không có tin nhắn riêng.
Thế là bạn chỉ còn cách thủ công: một người mở sẵn app TikTok và chép từng tin nhắn vào CRM bằng tay. Cách đó không trụ nổi cơn bùng nổ khi livestream — câu hỏi đổ về thành đợt chứ không nhỏ giọt — và càng không nhân rộng được sang các nền tảng khác mà một đội vốn đã phải gồng cùng lúc.
Đổi góc nhìn: bạn đang tìm sai API
Đây mới là điểm mấu chốt. Cái chặn bạn không phải “nhắn tin TikTok khó”, mà là bạn đi tìm khả năng đó trong API chính thức dành cho nhà phát triển — thứ vốn chưa bao giờ được thiết kế để mở tin nhắn riêng tư. API đó dùng để đăng nội dung và đọc số liệu công khai. Nhận một tin nhắn riêng một-một là một bề mặt hoàn toàn khác, và TikTok cố ý đóng nó lại.
Một giao diện nhận tin không chính thức kết nối với TikTok theo đúng cách app làm — qua một tài khoản thường — và biến mỗi DM đến thành một sự kiện HTTP gửi tới máy chủ của bạn. Không cần giành được phê duyệt người bán Shop, không cần điều kiện thị trường, cũng không cần xác minh doanh nghiệp. Bạn dùng chính tài khoản đang có.
Tin nhắn thực sự đến tay bạn như thế nào
Đây chính là khoảng trống mà UnifyPort được tạo ra để lấp. Bạn kết nối một tài khoản TikTok một lần, và từ đó mỗi DM đến đều tới webhook của bạn dưới dạng sự kiện message.received đã chuẩn hóa — cùng một hình dạng sự kiện UnifyPort gửi cho WhatsApp, Telegram, LINE, Zalo và X. Không cần endpoint DM chính thức, vì tin nhắn được bắt ở tầng tài khoản rồi đẩy tới bạn.
Một tin nhắn TikTok nhận được trông như sau:
{
"event": "message.received",
"account_id": "acct_tk_4Lm9",
"provider": "tiktok",
"from": "user_3f9c1a",
"text": "Chào shop, size M trong live còn hàng không ạ?",
"timestamp": 1749340800,
"message_id": "tt_msg_3f9c1a"
}
Đổi tiktok thành whatsapp, cấu trúc y hệt — cùng trường, cùng kiểu. Với các đội ở Việt Nam vốn chạy song song cả WhatsApp lẫn Zalo, điều này rất đáng giá: nếu bạn đã định tuyến tin đến từ WhatsApp hay Zalo, thì handler TikTok chính là đoạn mã bạn đã viết sẵn. Mỗi endpoint webhook có thể mang một signing_secret, nên mọi lần gửi đều được ký bằng HMAC-SHA256 để máy chủ xác minh tính xác thực; ở mỗi endpoint bạn chỉ cần đăng ký message.received (hoặc ["*"] để nhận tất cả).
Chính lớp chuẩn hóa đó khiến quy tắc 12 giờ trở nên trụ được. Cơn bùng nổ khi livestream biến thành một luồng sự kiện giống hệt nhau: hàng đợi của bạn hấp thụ, tầng AI phân loại, và nhân viên tiếp nhận dưới dạng ticket đã điền sẵn — thay vì có người cứ refresh app bằng tay và cầu cho đừng sót tin nào.
Bắt đầu từ đâu
Nếu bạn đang chờ TikTok ra một API tin nhắn riêng, câu trả lời thẳng thắn là: API chính thức dành cho nhà phát triển không được làm ra để cho bạn điều đó, còn con đường nhắn tin qua Shop thì đóng với hầu hết tài khoản. Để nhận DM TikTok bằng chương trình ngay hôm nay, hãy kết nối tài khoản qua một giao diện nhận tin không chính thức và để tin nhắn tự tìm đến bạn dưới dạng sự kiện.
Nếu bạn đã chạy các kênh khác — quy tắc 12 giờ của TikTok Shop và chăm sóc khách hàng hướng sự kiện, một webhook cho LINE, Zalo và X, hay nhận WhatsApp đến mà không cần API chính thức — thì TikTok chỉ là thêm vào cùng một webhook. Kết nối một tài khoản TikTok, đăng ký một webhook có signing_secret, đăng ký nhận message.received, rồi tự gửi cho mình một DM thử. Bạn sẽ thấy nó tới backend với cùng hình dạng như mọi kênh khác bạn đang chạy.