Kết nối Zalo Official Account
Với khách hàng tại Việt Nam, Zalo là kênh phát sinh phần lớn lưu lượng tin nhắn. Đây cũng là kênh có cơ chế quản lý token phức tạp nhất, vì vậy chúng tôi đã xây dựng sẵn cơ chế gia hạn token tự động để doanh nghiệp không phải can thiệp.
Tổng quan về kênh Zalo OA
Doanh nghiệp uỷ quyền cho hệ thống tiếp nhận và phản hồi tin nhắn thay mặt Official Account.
Khách hàng nhắn tin cho OA, Zalo chuyển tiếp về hệ thống, trợ lý truy hồi kho tri thức của doanh nghiệp và phản hồi qua đúng OA đó. Hội thoại được quản lý chung với Fanpage, website và các sàn thương mại điện tử trên một giao diện duy nhất.
Điểm khác biệt kỹ thuật đáng lưu ý là token của Zalo có thời hạn rất ngắn và refresh token chỉ sử dụng được một lần. Đây là khâu dễ phát sinh sự cố nhất khi tự triển khai, bởi hai lần gia hạn chồng nhau sẽ làm mất quyền và buộc phải kết nối lại từ đầu. Hệ thống đảm nhiệm toàn bộ phần này.
Điều kiện chuẩn bị
- 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 hoàn tất, doanh nghiệp cần thực hiện bước này trước, quy trình yêu cầu hồ sơ pháp nhân và thời gian xét duyệt của Zalo.
- Ứng dụng trên Zalo Developers đã liên kết OA
- Khởi tạo ứng dụng, bổ sung sản phẩm Official Account rồi liên kết OA vào ứng dụng đó. Người thực hiện phải có quyền quản trị viên trên OA.
- Cặp access token và refresh token từ luồng uỷ quyền
- Thực hiện luồng uỷ quyền của Zalo để nhận hai token này. Access token có hiệu lực khoảng một giờ. Refresh token có thời hạn dài hơn nhưng chỉ sử dụng được một lần: sau mỗi lần gia hạn, Zalo cấp refresh token mới và token cũ mất hiệu lực ngay lập tức.
- Một trợ lý đã hoàn tất thiết lập
- Nên kiểm thử trong bảng điều khiển để xác nhận trợ lý trả lời đúng văn phong và đúng thông tin trước khi triển khai trên OA vận hành.
Các bước kết nối trong dashboard
- 1Lấy cặp token từ luồng uỷ quyền Zalo
Kết quả nhận được gồm access token và refresh token. Cần thực hiện bước tiếp theo ngay vì access token chỉ có hiệu lực khoảng một giờ.
- 2Truy cập mục Kênh và chọn Zalo OA
Mở /dashboard/kenh, tạo kết nối mới và chọn loại kênh Zalo OA.
- 3Đặt tên kênh và chọn trợ lý
Ví dụ "OA Cửa hàng ABC". Đồng thời chọn trợ lý phụ trách tiếp nhận khách hàng trên OA này.
- 4Khai báo access token, refresh token và xác nhận kết nối
Hệ thống gọi sang Zalo để lấy thông tin OA, xác thực token và ghi nhận chính xác OA đang được kết nối. Nếu token không hợp lệ, hệ thống báo lỗi ngay.
- 5Kiểm thử từ một tài khoản Zalo khác
Quan tâm OA từ một tài khoản Zalo khác và gửi một câu hỏi có trong tài liệu đã nạp.
Cơ chế quản lý token tự động
| Xác thực token khi kết nối | lấy thông tin OA |
|---|---|
| Địa chỉ tiếp nhận tin nhắn | /webhooks/zalo |
| Cơ chế phân luồng | theo mã OA |
| Gia hạn token | tự động, trước hạn khoảng 30 phút |
Việc gia hạn token chạy nền theo lịch và có cơ chế khoá chống thực thi đồng thời. Do refresh token của Zalo chỉ sử dụng được một lần, hai tiến trình cùng gia hạn sẽ làm mất token và khoá quyền truy cập OA. Nếu gia hạn thất bại nhiều lần liên tiếp, chẳng hạn khi token bị thu hồi hoặc OA gỡ liên kết ứng dụng, kênh chuyển sang trạng thái cần kết nối lại kèm cảnh báo trong bảng điều khiển thay vì ngừng hoạt động mà không có thông báo.
Mọi tin nhắn từ Zalo đều được xác minh chữ ký bằng khoá bí mật của ứng dụng trước khi xử lý.
Lưu ý khi triển khai
- Trợ lý trả lời bằng văn bản. Hình ảnh, sticker, tin thoại và vị trí do khách hàng gửi vẫn được lưu vào hội thoại để nhân viên xử lý nhưng trợ lý chưa tự động phân tích nội dung.
- Refresh token chỉ sử dụng được một lần. Không nên lấy cặp token rồi để lâu mới khai báo, cũng không được khai báo cùng một cặp token vào hai hệ thống khác nhau vì hệ thống gia hạn trước sẽ vô hiệu hoá hệ thống còn lại.
- Nếu doanh nghiệp chủ động thu hồi quyền của ứng dụng phía Zalo, kênh sẽ chuyển sang trạng thái cần kết nối lại. Cần lấy cặp token mới và thực hiện kết nối lại.
- Mỗi OA chỉ liên kết được với một hệ thống tại một thời điểm. Nếu OA đang kết nối với nền tảng chatbot khác, cần ngắt kết nối bên đó trước để tránh xung đột.
- Kênh ở trạng thái tạm dừng vẫn tiếp nhận tin nhắn vào hộp thư, chỉ trợ lý ngừng phản hồi tự động. Cấu hình này phù hợp khi doanh nghiệp muốn nhân viên trực tiếp xử lý trong giai đoạn cao điểm.
Kết nối thêm kênh khác
Toàn bộ kênh tập trung về cùng một hộp thư, dùng chung trợ lý và chung kho tri thức. Việc bổ sung kênh mới không yêu cầu thiết lập lại trợ lý từ đầu.