Giải đáp thắc mắc
Những câu hỏi hay gặp nhất khi dùng plugin Zalo OA. Không thấy tình huống của bạn ở đây thì nhắn Zalo 0965 419 096 — nhớ kèm ảnh chụp tab Quản lý tin nhắn và che dữ liệu khách.
Cài đặt và kết nối
Mở tab nào cũng bị đá về tab License
Chưa kích hoạt bản quyền. Dán mã vào tab License rồi bấm Active License. Trạng thái phải hiện Hợp lệ thì các tab khác mới mở.
Tab Cài đặt chung chỉ có Bước 1, không thấy Bước 2 đến 5
Chưa lưu App ID. Điền App ID rồi bấm Lưu thay đổi, bốn bước còn lại sẽ hiện ra.
Bấm Get access token thì Zalo báo lỗi Redirect URI
Đường dẫn khai bên Zalo không khớp từng ký tự với dòng Redirect URI trong plugin. Chép lại nguyên vẹn, để ý http hay https, có hay không có www, và dấu / ở cuối. Xem Kết nối Zalo OA.
Đang chạy bình thường thì tin ngừng gửi, tab ZNS không đọc được mẫu tin
Access token hết hiệu lực. Vào Cài đặt chung bấm lại Get access token. Trường hợp này cũng xảy ra khi bạn vừa đổi Secret Key bên Zalo.
Website có nhiều tên miền, dùng chung một mã license được không
Không. Mã gắn với một tên miền, và bản staging tính là tên miền riêng. Chuyển từ staging sang bản chạy thật thì nhắn để được gỡ mã khỏi tên miền cũ, không phải mua thêm.
Mẫu tin và tham số
Ô chọn mẫu tin trống rỗng
Ba nguyên nhân, kiểm theo thứ tự: OA chưa có mẫu tin nào được Zalo duyệt · access token hết hạn · ứng dụng chưa gắn với OA. Plugin không tạo được mẫu tin, mẫu phải đăng ký và chờ duyệt bên trang quản trị Zalo.
Vừa được duyệt mẫu mới mà chưa thấy trong danh sách
Plugin lưu tạm danh sách mẫu để khỏi hỏi Zalo mỗi lần mở trang. Tải lại trang vài lần, hoặc bấm lại Get access token ở tab Cài đặt chung để nạp lại.
Muốn sửa câu chữ trong tin nhắn
Không sửa được ở website. Nội dung nằm trong mẫu tin do Zalo duyệt — phải sửa mẫu bên Zalo rồi chờ duyệt lại. Plugin chỉ điền tham số vào chỗ trống của mẫu.
Chọn mẫu rồi mà cột Tham số vẫn trống
Chờ một nhịp, cột này nạp bằng AJAX. Vẫn trống thì mẫu đó không có tham số nào, hoặc trình duyệt đang chặn script — thử tắt tiện ích chặn quảng cáo rồi tải lại.
Cần một giá trị mà danh sách mã thay thế không có
Gõ thẳng chữ cố định vào ô tham số nếu giá trị không đổi. Cần lấy dữ liệu động thì tự thêm mã bằng hook mess_filter_content_<ten> — có ví dụ đầy đủ ở bài Hook action và filter.
Tin không gửi được
Đặt đơn thử mà không nhận được tin nào
Kiểm theo đúng thứ tự này:
- Mốc đó đã tích Kích hoạt chưa.
- Đã chọn template cho mốc đó chưa.
- Chế độ development có đang bật không — bật thì tin chỉ tới số của quản trị viên.
- Hạn mức trên đầu tab ZNS API còn không.
- Mở Quản lý tin nhắn xem có dòng nào được ghi không, và cột Status ghi gì.
Zalo trả lỗi −249
Mẫu tin tạo trước 10/12/2025 nên không gửi qua UID được. Sang trang quản trị Zalo tạo mẫu mới hoặc nhân bản mẫu cũ, rồi chọn lại mẫu mới trong plugin. Xem Tin qua UID.
Có Mess ID nhưng khách bảo không nhận được
Có Mess ID nghĩa là Zalo đã nhận tin, phần còn lại thuộc phía Zalo. Đưa Mess ID cho bộ phận hỗ trợ của Zalo. Cũng nên hỏi lại khách xem số điện thoại đó có dùng Zalo không.
Khách nhận hai tin cho một lần đổi trạng thái
Đang bật cùng lúc mốc Khi có bất kỳ thay đổi trạng thái nào và một mốc chặng cụ thể. Tắt bớt một, hoặc dùng hook skip_send_zns_on_change_status để lọc.
Bảng Quản lý tin nhắn trống dù chắc chắn đã gửi
Bảng lưu tin chưa được tạo trong cơ sở dữ liệu. Cuối tab Quản lý tin nhắn có nút Tạo table ngay — bấm một lần rồi gửi thử lại.
Gửi ban đêm thì trượt
Zalo chỉ nhận tin ZBS trong khung 6h–21h59. Hẹn lịch chiến dịch trong khung giờ này.
Chi phí và hạn mức
Làm sao để tốn ít tiền tin nhắn nhất
- Bật Ưu tiên gửi qua UID ở tab ZNS API — số nào có UID thì tự gửi kênh rẻ.
- Chạy lấy danh sách người dùng OA định kỳ để kho UID lớn dần.
- Bật đăng nhập bằng Zalo — mỗi lần khách đăng nhập là thêm một UID.
- Đừng bật mốc bất kỳ thay đổi trạng thái nào nếu chỉ cần báo vài chặng.
- Cân nhắc mốc nhắc đánh giá: đơn có bao nhiêu sản phẩm thì gửi bấy nhiêu tin.
Hạn mức hiện 0, gửi gì cũng trượt
Đã dùng hết quota. Mua thêm bên Zalo hoặc chờ chu kỳ mới. Tab Tin qua UID hiện từng loại quota riêng — có thể loại này hết mà loại kia còn.
Bật OTP xong sợ bị spam đốt hết hạn mức
Bật reCaptcha V3 ngay trong tab Đăng nhập bằng Zalo. Plugin cũng giới hạn sẵn số lần xin mã; đổi được bằng hook limit_request_otp.
Chiến dịch và Broadcast
Xuất bản chiến dịch rồi mà Thống kê vẫn 0
Chiến dịch chạy nền theo lô nên không tức thì. Tải lại trang sau vài phút. Vẫn 0 thì kiểm tra hạn mức và xem Quản lý tin nhắn có dòng lỗi nào không.
Muốn thử chiến dịch trên vài người trước khi gửi cả tệp
Tạo chiến dịch loại theo danh sách rồi import đúng số của bạn. Nếu là chiến dịch qua UID, dùng hook campaign_allow_send để giới hạn danh sách UID nhận tin — xem Hook action và filter.
Hẹn lịch Broadcast rồi mà bài không tự gửi
Đúng như thiết kế. Zalo không mở API gửi Broadcast, nên plugin chỉ gửi email nhắc đúng giờ để bạn mở OA Manager bấm gửi. Xem Broadcast bài viết.
Sửa bài trên website mà bên OA không đổi theo
Chưa bật Tự động đồng bộ trong cài đặt Broadcast, hoặc bài đó chưa bật đồng bộ. Mở bài Broadcast rồi bấm Đồng bộ lên OA.
Chung với plugin khác
Cài chung với plugin vận chuyển của DevVN được không
Được. Plugin Zalo OA không đụng tới trường địa chỉ ở trang thanh toán nên chạy song song bình thường với GHTK, SPX Express hay ViettelPost.
Vừa dùng Zalo OA vừa dùng ZNS của bên khác được không
Được, nhưng nhớ tắt các mốc trùng nhau ở một trong hai bên. Hai hệ thống không biết nhau nên cùng bật mốc "đơn hàng mới" là khách nhận hai tin và bạn trả tiền hai lần.
Vẫn chưa xong
Gửi cho chúng tôi ba thứ, thường là đủ để trả lời trong vài phút:
- Ảnh chụp tab Quản lý tin nhắn, mở Xem chi tiết ở dòng lỗi mới nhất.
- Mô tả thao tác bạn vừa làm và kết quả mong đợi.
- Tên miền website.
Che App ID, Secret Key, License Key và số điện thoại khách trước khi gửi ảnh. Zalo / điện thoại: 0965 419 096.