Tab Thông báo và màn Tin đã gửi
Chọn sự kiện nào thì báo, báo qua kênh nào (Email, Telegram, Zalo), gửi cho ai và nội dung ra sao. Màn Tin đã gửi lưu lại mọi tin hệ thống đã gửi hoặc định gửi, kèm nội dung thật và kết quả — chỗ đầu tiên cần mở khi ai đó bảo "không nhận được".
Mở tab Thông báo
Vào Báo giá → Cài đặt, bấm tab Thông báo. Phần đầu là bảng sự kiện × kênh: mỗi ô là một mẫu tin riêng, bật / tắt và sửa độc lập.
- Thông báo — tab thứ năm của trang Cài đặt.
- Xem tin đã gửi — mở màn Tin đã gửi (mục cuối bài này).
- Sự kiện · người nhận — tên sự kiện, dòng chữ nhỏ bên dưới là nhóm nhận tin (Quản trị viên, Nhân viên phụ trách, Khách hàng, Người có quyền duyệt, Nhân viên đã trình).
- Bật — tích để gửi tin của sự kiện này qua kênh này. Tắt thì không gửi gì qua kênh đó.
- Sửa mẫu — mở khung soạn tiêu đề, nội dung tin. Mẫu đã sửa khác mặc định thì cạnh nút có nhãn Đã sửa.
- — — sự kiện này không dùng kênh này (ví dụ tin gửi khách không có Telegram).
- Zalo — cả cột Zalo tắt sẵn, vì cần plugin Kết nối Zalo cá nhân mua riêng (xem mục Kết nối kênh gửi).
Mặc định: Email và Telegram bật cho mọi sự kiện, trừ "Báo giá gần hết hạn" tắt sẵn mọi kênh; Zalo tắt sẵn. Sửa xong bấm Lưu cài đặt ở cuối trang.
| Sự kiện | Gửi cho | Kênh | Khi nào |
|---|---|---|---|
| Khách tạo báo giá mới | Quản trị viên + Nhân viên phụ trách | Email, Telegram, Zalo | Khách tự lên báo giá ở trang có mã ngắn, hoặc để lại thông tin khi tải file. Nhân viên tự tạo báo giá thì không báo. |
| Khách gửi yêu cầu tư vấn | Nhân viên phụ trách | Email, Telegram, Zalo | Khách bấm "Yêu cầu tư vấn" kèm cấu hình đang xem. |
| Khách yêu cầu chỉnh sửa | Nhân viên phụ trách | Email, Telegram, Zalo | Khách gửi phản hồi ngay trên trang báo giá. |
| Gửi báo giá cho khách | Khách hàng | Email, Zalo | Nhân viên bấm gửi. Email tới email khách trên báo giá; Zalo tới số di động của khách. |
| Khách mở xem báo giá | Nhân viên phụ trách | Email, Telegram, Zalo | Chỉ lần mở đầu tiên (Đã gửi → Khách đã xem); mở lại không báo nữa. |
| Khách đồng ý chốt báo giá | Quản trị viên + Nhân viên phụ trách | Email, Telegram, Zalo | Khi báo giá được chấp thuận. |
| Bản xác nhận gửi khách khi đồng ý | Khách hàng | Email, Zalo | Email kèm file PDF đã đóng băng; link trong tin là link xem lại đúng bản đã chốt. |
| Báo giá sắp hết hiệu lực | Nhân viên phụ trách | Email, Telegram, Zalo | Việc nền hằng ngày — mỗi phiên bản một lần, không đổi trạng thái. |
| Báo giá gần hết hạn | Khách hàng | Email, Zalo | Việc nền hằng ngày nhắc khách xem và đồng ý trước hạn. Mặc định tắt. |
| Đến hạn gọi lại khách | Nhân viên phụ trách | Email, Telegram, Zalo | Việc nền hằng ngày báo các khách có ngày nhắc gọi lại đến hạn — mỗi khách mỗi ngày nhắc một lần. Xem mục Nhắc gọi lại khách. |
| Nhân viên trình duyệt | Người có quyền duyệt | Email, Telegram, Zalo | Báo giá vượt ngưỡng giảm giá được trình duyệt. |
| Kết quả duyệt | Nhân viên đã trình | Email, Telegram, Zalo | Duyệt hoặc từ chối xong, kèm ghi chú. |
Báo giá chưa có nhân viên phụ trách thì tin dành cho "Nhân viên phụ trách" chuyển về người nhận của Quản trị viên. Với sự kiện Đến hạn gọi lại khách, nhân viên phụ trách là người được giao báo giá của khách đó.
Tin gửi chạy nền nên khách không phải chờ. Với các tin nội bộ như "Khách tạo báo giá mới", "Khách mở xem báo giá": tin đầu gửi ngay, những tin cùng loại tới cùng người trong 5 phút sau được gộp thành một tin "N tin … khác trong 5 phút qua". Tin trùng hệt trong 15 phút bị bỏ; tin lỗi tự thử lại.
Sửa nội dung một mẫu tin
Bấm Sửa mẫu ở ô cần sửa. Khung soạn mở ra ngay dưới bảng, mỗi lúc một khung. Ảnh dưới là mẫu Email của "Khách tạo báo giá mới", đã bấm Xem trước.
- Tiêu đề email — chỉ kênh Email có ô này. Tối đa 191 ký tự.
- Nội dung — chữ thuần. Email: mỗi dòng trống thành một đoạn, link tự bấm được. Telegram: dòng đầu tự in đậm. Zalo: tối đa 2000 ký tự. Để trống = dùng mẫu mặc định — không bao giờ gửi tin rỗng.
- Bấm để chèn — bấm một nút để chèn biến (ví dụ
{ten_khach}) vào chỗ con trỏ. Biến được thay bằng thông tin thật của từng báo giá / khách hàng lúc gửi. - Xem trước · Gửi thử tới tôi · Khôi phục mẫu mặc định — Xem trước dựng tin với dữ liệu mẫu, xem được cả nội dung chưa lưu. Gửi thử tới tôi (chỉ tài khoản Quản trị viên thấy) gửi thật một tin mẫu tới chính bạn: email tài khoản của bạn; Telegram tới chat id riêng của bạn, chưa có thì tới nhóm; Zalo tới số riêng, chưa có thì số Zalo quản trị đầu tiên. Khôi phục mẫu mặc định thay ngay tiêu đề và nội dung bằng mẫu gốc (giữ nguyên bật / tắt).
- Khung xem trước — email hiện đúng khung thư thật (tên công ty, màu chủ đạo, hotline, email, website ở chân thư). Tin Telegram / Zalo hiện dạng bong bóng tin, kèm mục "Chuỗi thật gửi đi". Gõ biến không có trong danh sách thì có cảnh báo "Biến không nhận ra (sẽ giữ nguyên trong tin)".
| Nút chèn | Biến | Ra gì |
|---|---|---|
| Tên khách | {ten_khach} | Tên trên báo giá; trống thì "quý khách" (tin gửi khách) hoặc "(chưa có tên)". |
| SĐT khách | {sdt_khach} | Số điện thoại khách; trống thì "—". |
| Mã báo giá | {ma_bao_gia} | Ví dụ BG-202609-2287; từ phiên bản 2 có thêm " – v2". |
| Loại báo giá | {loai_bao_gia} | Thương mại / Lắp đặt… |
| Tổng tiền | {tong_tien} | Tổng thanh toán. |
| Hạn hiệu lực | {han_hieu_luc} | Ngày hết hiệu lực; không đặt hạn thì "không giới hạn". |
| Link xem báo giá | {link_bao_gia} | Link gửi khách (bản xác nhận khi đồng ý: link xem lại bản đã chốt). |
| Nhân viên phụ trách | {ten_nhan_vien} | Tên người phụ trách; chưa có thì "(chưa ai nhận)". |
| Tên công ty | {ten_cong_ty} | Tên công ty ở tab Thương hiệu; trống thì tên website. |
| Link mở trong quản trị | {link_quan_tri} | Link mở báo giá ở màn soạn. Chỉ có ở tin nội bộ. |
| Nội dung / lý do | {noi_dung} | Nhu cầu khách gửi, nội dung cần chỉnh, lý do giảm giá. |
| Kết quả duyệt · Ghi chú người duyệt | {ket_qua} · {ghi_chu} | "Đã duyệt" / "Bị từ chối" và ghi chú; chỉ ở sự kiện Kết quả duyệt. |
| Ngày nhắc gọi lại | {ngay_nhac} | Ngày nhắc đặt trong hồ sơ khách, dạng ngày/tháng/năm. Chỉ ở sự kiện Đến hạn gọi lại khách. |
| Ghi chú chăm sóc gần nhất | {ghi_chu_gan_nhat} | Ghi chú chăm sóc mới nhất của khách, gộp thành một dòng, tối đa 200 ký tự; chưa có thì "(chưa có ghi chú)". |
| Link hồ sơ khách | {link_khach} | Link mở hồ sơ khách trong quản trị. |
Mẫu của sự kiện Đến hạn gọi lại khách không gắn với báo giá nên chỉ có bảy biến: {ten_khach}, {sdt_khach}, {ngay_nhac}, {ghi_chu_gan_nhat}, {ten_nhan_vien} (mọi người phụ trách khách, cách nhau dấu phẩy), {ten_cong_ty}, {link_khach}.
Mẫu Zalo có thêm phần gửi kèm báo giá:
- Nội dung — tin nhắn thuần, càng ngắn càng tốt (tối đa 2000 ký tự).
- Gửi kèm báo giá — "Gửi kèm ảnh báo giá (một ảnh liền, không chia trang)" và "Gửi kèm file PDF báo giá", mặc định tắt. File dựng trong nền, xong mới gửi tin; ảnh đi chung một tin với nội dung, file PDF gửi sau. Máy chủ chưa đổi được PDF thành ảnh thì ô ảnh bị khoá kèm lý do. Plugin Zalo chưa gửi được file (cần bản 1.3.0 trở lên) thì file PDF đi dưới dạng link tải ở cuối tin. "Gửi thử tới tôi" và tin gộp không kèm file.
Người nhận nội bộ
- Email quản trị — mỗi dòng một email, tối đa 20. Để trống = email quản trị của website (hiện mờ trong ô). Đây là người nhận email của nhóm "Quản trị viên".
- Chat id nhóm Telegram — mỗi dòng một chat id, tối đa 10. Nhóm thường là số âm, ví dụ -1001234567890. Nhóm nhận tin của quản trị viên; nhân viên chưa khai chat id riêng cũng nhận tin ở đây. Cách lấy theo hướng dẫn của plugin: thêm bot vào nhóm, gửi một tin trong nhóm rồi mở api.telegram.org/bot<token>/getUpdates.
- SĐT Zalo quản trị — mỗi dòng một số di động, tối đa 10. Nhận tin Zalo của nhóm "Quản trị viên".
- Chat id Telegram (từng nhân viên) — chat id riêng của nhân viên. Trống thì tin của người đó vào nhóm Telegram ở trên.
- SĐT Zalo (từng nhân viên) — số Zalo riêng. Trống thì không gửi Zalo cho người này. Email của nhân viên lấy theo tài khoản, không khai ở đây.
Bảng nhân viên liệt kê mọi tài khoản có quyền vào menu Báo giá. Giá trị sai dạng (email sai, chat id sai, số điện thoại sai) bị bỏ khi lưu và đầu trang báo "Đã bỏ các giá trị người nhận không hợp lệ: …".
Kết nối kênh gửi và nhắc hết hiệu lực
- Token bot Telegram — dán token của bot. Plugin hướng dẫn: tạo bot bằng @BotFather trên Telegram rồi dán token vào đây; chưa có token thì tin Telegram không gửi được. Token đã lưu không bao giờ hiện lại đủ — dòng dưới chỉ ghi "Đã lưu: …" dạng che; để trống ô là giữ nguyên, dán token mới để thay. Token sai dạng thì plugin giữ token cũ và báo "Token bot Telegram không đúng dạng (ví dụ 123456789:AAH…)".
- Xoá token (tắt kênh Telegram) — chỉ hiện khi đã lưu token. Tích rồi lưu để gỡ token.
- Zalo cá nhân — trạng thái Đã kết nối / Chưa kết nối. Gửi Zalo tự động cần plugin "Kết nối Zalo cá nhân vào WordPress" của DevVN (mua riêng), có ít nhất một tài khoản Zalo đã đăng nhập. Chưa có thì tin Zalo được ghi là lỗi "chưa kết nối". Zalo chỉ gửi được tới số di động đầu 03, 05, 07, 08, 09. Plugin không dùng Zalo OA.
- Xem plugin kết nối Zalo cá nhân — mở trang giới thiệu plugin đó.
- Nhắc trước (ngày) — 0–30, mặc định 3. Việc nền chạy mỗi ngày lúc 8 giờ, nhắc nhân viên phụ trách các báo giá đã gửi mà khách chưa chốt và còn trong số ngày này. Mỗi phiên bản chỉ nhắc một lần, không đổi trạng thái báo giá. 0 = tắt nhắc. Sự kiện nhắc khách "Báo giá gần hết hạn" cũng dùng số ngày này.
Ô Token bot Telegram luôn trống khi mở trang. Đã có token hay chưa thì xem dòng chữ ngay dưới: có "Đã lưu: …" là đã có. Cứ để trống rồi lưu thì token cũ được giữ nguyên.
Nhắc gọi lại khách
Sự kiện Đến hạn gọi lại khách báo nhân viên khi tới ngày nhắc gọi lại đặt trong hồ sơ khách (màn Khách hàng). Dòng của nó nằm trong bảng Mẫu tin theo sự kiện:
- Đến hạn gọi lại khách · Nhân viên phụ trách — người nhận là nhân viên được giao báo giá của khách (còn quyền vào menu Báo giá). Khách chưa ai phụ trách thì tin về người nhận của Quản trị viên. Khách có hai người phụ trách thì cả hai cùng nhận.
- Email — mặc định bật.
- Telegram — mặc định bật.
- Zalo — mặc định tắt, như mọi ô Zalo.
- Sửa mẫu — mẫu viết cho một khách, dùng bảy biến
{ten_khach}{sdt_khach}{ngay_nhac}{ghi_chu_gan_nhat}{ten_nhan_vien}{ten_cong_ty}{link_khach}(bảng biến ở trên).
Ngay dưới mục Nhắc báo giá sắp hết hiệu lực có mục Nhắc gọi lại khách giải thích cách chạy:
- Plugin ghi: "Việc nền chạy mỗi ngày lúc 8 giờ, báo nhân viên phụ trách (người được giao báo giá của khách; chưa ai phụ trách thì quản trị viên) những khách có ngày nhắc gọi lại là hôm nay — hoặc đã qua tối đa 7 ngày mà chưa báo. Mỗi khách mỗi ngày nhắc chỉ báo một lần; nhiều khách của cùng một người nhận gộp thành một tin. Bật / tắt từng kênh và sửa mẫu ở dòng “Đến hạn gọi lại khách” trong bảng trên."
- 8 giờ là giờ theo múi giờ của website (Cài đặt → Tổng quan của WordPress). Đặt nhắc "hôm nay" sau 8 giờ thì sáng hôm sau mới có tin.
- Nhìn lại 7 ngày: hôm nào việc nền không chạy thì lần sau vẫn báo bù các khách đến hạn trong 7 ngày qua. Lần chạy đầu sau khi cập nhật plugin cũng báo các khách có ngày nhắc trong 7 ngày qua.
- Mỗi khách mỗi ngày nhắc một lần: đổi sang ngày nhắc khác thì tới ngày mới sẽ báo lại.
- Tin gộp: một người nhận nhiều khách thì mỗi kênh một tin — dòng đầu "N khách đến hạn gọi lại:", rồi nội dung mẫu của từng khách; email có tiêu đề chung "[Tên công ty] N khách đến hạn gọi lại". Mỗi tin tối đa 20 khách (Telegram / Zalo có thể ít hơn cho vừa độ dài tin), còn lại ghi "Còn N khách khác — xem tất cả:" kèm link danh sách khách đến hạn.
- Tắt hết các kênh của sự kiện thì không có tin nào; bật lại thì các khách còn trong khoảng 7 ngày vẫn được nhắc.
Màn Tin đã gửi
Vào Báo giá → Tin đã gửi, hoặc bấm Xem tin đã gửi ở đầu tab Thông báo. Mở được bằng tài khoản Quản trị viên và Quản lý báo giá.
- Cài đặt thông báo — về tab Thông báo (chỉ hiện với người có quyền Cài đặt).
- Bộ lọc — Kênh, Sự kiện, Trạng thái, Từ ngày, Đến ngày và ô Người nhận / nội dung. Khách bảo không nhận được tin: gõ email hoặc SĐT của khách vào ô này rồi bấm Lọc.
- N tin khớp bộ lọc — tổng số tin; mỗi trang 20 tin, mới nhất trước. Thời điểm hiện theo định dạng ngày giờ trong Cài đặt → Tổng quan của WordPress.
- Người nhận — tên và địa chỉ nhận (email, chat id, số Zalo). Cột kế bên, Báo giá / khách, ghi mã báo giá; tin nhắc gọi lại ghi tên khách kèm link hồ sơ. Tin gộp ghi "Tin gộp N báo giá" hoặc "Tin gộp N khách" (kèm tên vài khách).
- Kết quả — trạng thái tin, kèm "Số lần thử".
- Câu lỗi — lý do không gửi được, ví dụ "Telegram từ chối: Bad Request: chat not found" — Telegram không tìm thấy cuộc trò chuyện có chat id đó. Tin lỗi còn lượt thì có dòng "Tự thử lại lúc …".
- Xem nội dung — mở cửa sổ với nội dung thật đã gửi (ảnh dưới).
- Gửi lại — chỉ có ở tin Lỗi. Gửi lại đúng nội dung đã lưu; tin cùng nội dung đã tới người nhận ở lần khác thì không gửi trùng.
- Bỏ qua — hệ thống không có ai để gửi, kèm lý do, ví dụ "Báo giá chưa có email khách nên hệ thống không gửi email được." hoặc "Chưa khai người nhận cho kênh này trong Cài đặt → Thông báo."
| Trạng thái | Nghĩa là |
|---|---|
| Đã gửi | Kênh đã nhận tin. Với Zalo nghĩa là plugin Zalo đã nhận tin vào hàng đợi của nó. |
| Đang chờ gửi | Tin đang đợi việc nền xử lý. |
| Lỗi | Gửi không thành công. Lỗi tạm thời (mạng, máy chủ bận) tự thử lại sau 5, 10, 20 phút, tối đa 4 lần; lỗi do sai cấu hình (sai token, sai chat id) không tự thử lại. |
| Bỏ qua | Không có người nhận cho kênh đó, hoặc số nhận Zalo không phải số di động. |
| Bị chặn | Tin cho khách mà báo giá đang không được đưa ra ngoài (chờ duyệt, đã duyệt chưa gửi, đã huỷ hoặc đã xoá). |
| Trùng — không gửi | Tin cùng nội dung đã gửi thành công cho người nhận này trong 15 phút qua. |
Cửa sổ ghi kênh · người nhận · thời điểm · kết quả, tiêu đề email và nội dung thật lúc gửi. Tin thử nhiều lần có thêm lịch sử lỗi từng lần; tin Zalo có gửi kèm thì có link "Mở file". Đóng bằng nút X hoặc bấm ra ngoài.
Kiểm tra đã đúng chưa
- Lưu tab Thông báo, không có cảnh báo vàng về token hay người nhận.
- Quản trị viên mở Sửa mẫu của một ô Telegram, bấm Gửi thử tới tôi: thấy "Đã gửi thử tới …" và tin tới Telegram.
- Mở Tin đã gửi, lọc trạng thái Lỗi và Bỏ qua: không còn dòng mới nào do cấu hình thiếu.
Lỗi thường gặp
| Hiện tượng | Cách xử lý |
|---|---|
| Tin Telegram "Bỏ qua: Chưa khai người nhận cho kênh này…" | Chưa có chat id nhóm, nhân viên cũng chưa có chat id riêng. Khai ở mục Người nhận nội bộ. |
| Tin Telegram "Lỗi: Telegram từ chối: Bad Request: chat not found" | Telegram không tìm thấy cuộc trò chuyện có chat id này. Kiểm lại chat id ở mục Người nhận nội bộ (với nhóm: bot đã được thêm vào nhóm như hướng dẫn của plugin), lưu rồi bấm Gửi lại. |
| Lỗi "Chưa khai token bot Telegram trong Cài đặt → Thông báo." | Dán token bot ở mục Kết nối kênh gửi. |
| Tin Zalo lỗi "Chưa kết nối Zalo cá nhân…" | Chưa cài plugin Kết nối Zalo cá nhân hoặc chưa đăng nhập tài khoản Zalo nào trong plugin đó. |
| Email "Lỗi: Máy chủ không gửi được email (wp_mail báo lỗi) — kiểm tra cấu hình SMTP." | Website chưa gửi được email. Cài và cấu hình một plugin SMTP rồi bấm Gửi lại. |
| "Gửi báo giá cho khách" bị Bỏ qua | Báo giá chưa có email (hoặc số di động) của khách. Bổ sung ở màn soạn. |
| Bấm "Gửi thử tới tôi" báo "Chưa có địa chỉ nhận của bạn cho kênh này…" | Khai chat id Telegram / số Zalo của chính bạn ở bảng Liên hệ riêng của nhân viên (hoặc nhóm quản trị) rồi lưu. |
| "Bạn vừa gửi thử khá nhiều lần. Vui lòng chờ ít phút rồi thử lại." | Gửi thử bị giới hạn số lần mỗi giờ. Chờ rồi thử lại. |
Từng bước bật thông báo: Nhận thông báo Telegram, email.