Nối Zalo Official Account
Với khách hàng Việt Nam, Zalo là nơi tin nhắn thật sự diễn ra. Đây cũng là kênh có phần token khó chịu nhất — nên chúng tôi làm sẵn phần xoay token để bạn không phải đụng tới.
Kênh Zalo OA là gì
Bạn uỷ quyền cho hệ thống thay mặt Official Account của bạn nhận và trả lời tin nhắn.
Khách nhắn cho OA, Zalo đẩy tin về hệ thống, trợ lý đọc kho kiến thức của bạn rồi trả lời qua đúng OA đó. Hội thoại nằm chung hộp thư với Fanpage, website và các sàn — nhân viên chỉ nhìn một chỗ.
Điểm khác biệt kỹ thuật đáng nói: token của Zalo sống rất ngắn và refresh token chỉ dùng được một lần. Nếu tự làm, đây là chỗ dễ hỏng nhất — xoay token hai lần chồng nhau là mất quyền, phải kết nối lại từ đầu. Hệ thống xử lý phần này giúp bạn.
Cần chuẩn bị gì
- Một Official Account đã xác thực
- OA chưa xác thực bị giới hạn nhiều tính năng nhắn tin. Nếu chưa xác thực, làm bước này trước — cần giấy tờ doanh nghiệp và Zalo duyệt.
- Một ứng dụng trên Zalo Developers, đã liên kết OA
- Tạo ứng dụng, thêm sản phẩm Official Account, rồi liên kết OA của bạn vào ứng dụng đó. Người thao tác phải là quản trị viên của OA.
- Cặp access token và refresh token từ luồng uỷ quyền
- Chạy luồng uỷ quyền của Zalo để đổi lấy hai token này. Access token sống khoảng một giờ; refresh token dài hơn nhiều nhưng CHỈ DÙNG ĐƯỢC MỘT LẦN — mỗi lần làm mới, Zalo trả về refresh token mới và cái cũ chết ngay.
- Một trợ lý đã dựng xong
- Nên chat thử trong dashboard trước để chắc rằng trợ lý trả lời đúng giọng và đúng thông tin, rồi mới đưa lên OA thật.
Các bước nối trong dashboard
- 1Lấy cặp token từ luồng uỷ quyền Zalo
Kết quả là access token và refresh token. Chép ra chỗ tạm và làm bước tiếp theo ngay — access token chỉ sống khoảng một giờ.
- 2Vào Kênh và chọn Zalo OA
Mở /dashboard/kenh, bấm kết nối kênh mới, chọn loại kênh Zalo OA.
- 3Đặt tên kênh và chọn trợ lý
Ví dụ "OA Shop ABC". Chọn trợ lý sẽ trả lời khách trên OA này.
- 4Dán access token và refresh token rồi bấm kết nối
Hệ thống gọi sang Zalo lấy thông tin OA để kiểm chứng token và ghi nhận đúng OA nào đang được nối. Sai token là báo lỗi tại chỗ.
- 5Nhắn thử từ tài khoản Zalo khác
Quan tâm OA từ một tài khoản Zalo khác rồi gửi một câu hỏi có trong tài liệu của bạn.
Hệ thống lo phần token cho bạn
| Kiểm tra token khi nối | lấy thông tin OA |
|---|---|
| Địa chỉ nhận tin chung | /webhooks/zalo |
| Cách phân về đúng shop | theo mã OA |
| Xoay token | tự động, trước hạn khoảng 30 phút |
Việc làm mới token chạy nền theo lịch và có khoá chống chạy chồng — vì refresh token của Zalo chỉ dùng được một lần, hai tiến trình cùng làm mới sẽ đốt mất token và khoá cứng OA. Nếu làm mới thất bại nhiều lần liên tiếp (token bị thu hồi, OA gỡ ứng dụng…), kênh chuyển sang trạng thái cần kết nối lại và hiện cảnh báo trong dashboard để bạn biết mà xử lý, thay vì im lặng mất tin.
Mọi tin Zalo gửi tới đều được kiểm chữ ký bằng khoá bí mật của ứng dụng trước khi xử lý.
Điều cần lưu ý
- Chỉ tin nhắn văn bản của người dùng được xử lý. Khách gửi ảnh, sticker, tin thoại hay vị trí thì bot chưa đọc được nội dung đó.
- Refresh token dùng một lần: đừng lấy cặp token rồi để dành vài hôm mới dán vào, cũng đừng dán cùng cặp token đó vào hai hệ thống khác nhau — cái nào làm mới trước sẽ vô hiệu hoá cái còn lại.
- Nếu bạn tự thu hồi quyền của ứng dụng bên phía Zalo, kênh sẽ chuyển sang trạng thái cần kết nối lại. Lấy cặp token mới rồi nối lại kênh.
- Một OA nối được một lần. Nếu OA đang gắn với hệ thống chatbot khác, gỡ bên kia trước để tránh tranh chấp nhận tin.
- Kênh tạm dừng vẫn nhận tin về hộp thư, chỉ là trợ lý không tự trả lời — tiện khi bạn muốn nhân viên trực tay trong đợt cao điểm.
Nối thêm kênh khác
Mọi kênh đổ về cùng một hộp thư, dùng chung trợ lý và chung kho kiến thức. Nối thêm kênh không phải dựng lại bot từ đầu.