Hướng dẫn

Zalo ZNS Template Với Google Sheets: Hướng Dẫn Đầy Đủ

Tuân HoangTuân Hoang
16 tháng 7, 2026
8 phút đọc
Ảnh minh họa bài viết: Zalo ZNS Template Với Google Sheets: Hướng Dẫn Đầy Đủ

Bạn cần gửi thông báo xác nhận đơn hàng, mã OTP hay nhắc thanh toán cho khách hàng — kể cả những người chưa từng follow Zalo OA của bạn?

Đó chính là lúc cần đến Zalo ZNS (Zalo Notification Service). Bài viết này giải thích ZNS là gì, các loại template phổ biến, quy trình đăng ký mẫu với Zalo, và cách gọi ZNS API từ Apps Script dựa trên dữ liệu có sẵn trong Google Sheets.

Zalo ZNS Là Gì? Khác Gì Với Tin Nhắn Zalo OA Thông Thường?

Zalo ZNS (Zalo Notification Service) là dịch vụ gửi thông báo giao dịch chính thức của Zalo dành cho doanh nghiệp có Official Account (OA). Khác với tin nhắn OA thông thường, ZNS cho phép gửi tới bất kỳ người dùng Zalo nào có số điện thoại hợp lệ, kể cả khi họ chưa từng follow hay tương tác với OA của bạn.

Đây là điểm khác biệt cốt lõi cần nắm rõ trước khi triển khai:

Tiêu chíTin nhắn OA thông thườngZalo ZNS
Đối tượng nhậnChỉ người đã follow/tương tác OABất kỳ số điện thoại có dùng Zalo
Nội dungTự do soạn văn bảnBắt buộc dùng template đã đăng ký và được duyệt
Mục đích sử dụngChăm sóc, tư vấn, trả lời kháchThông báo giao dịch: đơn hàng, thanh toán, OTP
Chi phíMiễn phí trong hạn mức OATính phí riêng theo tin nhắn, theo bảng giá Zalo for Business hiện hành
Không được dùng đểQuảng cáo, khuyến mãi (ZNS không phải kênh marketing)

Nói ngắn gọn: nếu bạn cần chắc chắn một thông báo giao dịch đến tay khách hàng — dù họ có follow OA hay không — ZNS là công cụ đúng. Nếu chỉ cần trò chuyện, tư vấn với khách đã quan tâm OA, tin nhắn OA thông thường (xem thêm tại bài Gửi Tin Nhắn Zalo Từ Google Sheets Bằng Apps Script) là đủ và tiết kiệm hơn.

Các Loại Template ZNS Phổ Biến Nhất

Zalo phân loại template ZNS theo mục đích thông báo giao dịch. Các nhóm phổ biến nhất mà doanh nghiệp bán hàng/dịch vụ thường đăng ký:

  • Xác nhận đơn hàng: gửi ngay sau khi khách đặt hàng thành công, xác nhận mã đơn, sản phẩm, tổng tiền.
  • Thông báo giao hàng / vận đơn: báo trạng thái đơn hàng đang giao, mã vận đơn, dự kiến ngày nhận.
  • Nhắc thanh toán: nhắc khách hàng còn khoản chưa thanh toán, hạn thanh toán, số tiền cụ thể.
  • Mã OTP / xác thực: gửi mã xác minh cho các thao tác cần bảo mật như đăng nhập, đổi mật khẩu, xác nhận giao dịch.

Mỗi loại template khi đăng ký cần khai rõ mục đích và nội dung mẫu — Zalo xét duyệt dựa trên việc nội dung có đúng bản chất "thông báo giao dịch" hay không, không chấp nhận các mẫu lồng ghép nội dung quảng cáo, khuyến mãi.

Quy Trình Đăng Ký Template ZNS Với Zalo

Trước khi gọi được ZNS API, doanh nghiệp phải hoàn tất quy trình đăng ký và chờ Zalo duyệt từng mẫu template. Các bước cơ bản:

  1. Đảm bảo OA đã đủ điều kiện: Official Account phải đã xác thực và đăng ký sử dụng tính năng ZNS trên Zalo for Business.
  2. Soạn nội dung mẫu (template): viết nội dung thông báo với các phần biến động được đánh dấu bằng tham số (ví dụ tên khách, mã đơn, số tiền) xen giữa phần văn bản cố định.
  3. Chọn đúng loại template: khai báo mẫu thuộc nhóm nào (xác nhận đơn hàng, giao hàng, thanh toán, OTP...) theo đúng phân loại của Zalo.
  4. Nộp mẫu để Zalo xét duyệt: gửi template qua trang quản trị OA hoặc qua đối tác triển khai ZNS, chờ Zalo phản hồi kết quả duyệt.
  5. Nhận template_id sau khi duyệt: mỗi template được duyệt sẽ có một mã định danh riêng (template_id) — đây là mã bắt buộc phải truyền khi gọi API gửi ZNS.

Lưu ý khi soạn template

Nội dung template phải bám sát đúng bản chất thông báo giao dịch, không chèn từ ngữ mang tính quảng cáo/khuyến mãi. Zalo có thể từ chối duyệt hoặc thu hồi quyền dùng ZNS nếu phát hiện template bị lạm dụng cho mục đích marketing.

Cách Gọi Zalo ZNS API Từ Apps Script

Về kỹ thuật, gọi ZNS API từ Google Apps Script tương tự cách gọi API gửi tin nhắn OA thông thường — vẫn dùng UrlFetchApp.fetch() — nhưng payload cần truyền thêm template_id và một object chứa các tham số thay thế (template data) khớp với các biến đã khai báo trong mẫu đã được duyệt.

Cấu trúc payload gửi ZNS thường gồm ba phần chính:

  • phone: số điện thoại người nhận (định dạng theo yêu cầu của Zalo, ví dụ 84xxxxxxxxx)
  • template_id: mã template đã được Zalo duyệt cho OA của bạn
  • template_data: object chứa từng tham số cần điền vào chỗ trống trong template, ví dụ tên khách, mã đơn, số tiền
function guiZNS(soDienThoai, templateId, thamSo) {
  const accessToken = PropertiesService.getScriptProperties().getProperty('ZALO_ACCESS_TOKEN');
  const url = 'https://business.openapi.zalo.me/message/template'; // endpoint minh hoạ, xem tài liệu Zalo ZNS chính thức để lấy endpoint mới nhất

  const payload = {
    phone: soDienThoai,
    template_id: templateId,
    template_data: thamSo
  };

  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: { access_token: accessToken },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };

  const response = UrlFetchApp.fetch(url, options);
  const ketQua = JSON.parse(response.getContentText());
  return ketQua;
}

Trong đó thamSo là một object JavaScript, ví dụ: { ten_khach: "Nguyễn Văn A", ma_don: "DH1024", so_tien: "1.250.000đ" } — các key này phải khớp chính xác với tên biến đã khai báo khi đăng ký template với Zalo.

Cấu Trúc Dữ Liệu Trong Google Sheets Để Tự Động Điền Vào Template ZNS

Để script có thể đọc và điền tự động, Sheet nên được tổ chức theo đúng các trường tương ứng với biến trong template ZNS đã đăng ký. Ví dụ cấu trúc cho template "Xác nhận đơn hàng":

CộtNội dung
A — SĐT kháchSố điện thoại người nhận, dùng làm tham số phone
B — Mã đơn hàngĐiền vào biến mã đơn trong template, ví dụ "DH1024"
C — Số tiềnTổng giá trị đơn hàng, điền vào biến số tiền trong template
D — Ngày giaoNgày dự kiến giao hàng, dùng cho template thông báo giao hàng
E — Template IDMã template đã được Zalo duyệt tương ứng với loại thông báo
F — Trạng thái gửiĐể trống ban đầu, script tự điền "Đã gửi" hoặc mô tả lỗi sau khi gọi API

Với cấu trúc này, mỗi dòng trong Sheet tương ứng với một thông báo cần gửi. Script chỉ cần đọc từng dòng, ghép các cột B, C, D vào đúng key của template_data, rồi gọi hàm guiZNS() — tương tự cách xử lý vòng lặp gửi hàng loạt đã trình bày trong bài hướng dẫn Apps Script gửi tin OA thông thường.

Chi Phí Zalo ZNS

Zalo ZNS là dịch vụ tính phí riêng, tách biệt hoàn toàn với hạn mức tin nhắn OA miễn phí. Mỗi tin ZNS gửi thành công sẽ phát sinh chi phí theo loại template và số lượng gửi. Vì mức phí có thể điều chỉnh theo thời gian, doanh nghiệp nên kiểm tra chi phí theo bảng giá Zalo for Business hiện hành trên trang quản trị OA hoặc liên hệ trực tiếp Zalo for Business trước khi triển khai ở quy mô lớn, tránh phát sinh chi phí ngoài dự kiến.

Câu Hỏi Thường Gặp

Zalo ZNS khác gì tin nhắn Zalo OA thông thường?

Tin nhắn OA thường chỉ gửi được cho người đã follow OA và miễn phí trong hạn mức. ZNS gửi được cho bất kỳ số điện thoại nào có dùng Zalo, nhưng phải dùng template đã đăng ký và được duyệt, tính phí riêng theo tin nhắn.

Đăng ký template ZNS mất bao lâu để được duyệt?

Không cố định, tùy khối lượng xét duyệt của Zalo và độ rõ ràng của nội dung mẫu. Nên khai đúng loại template và tránh nội dung mang tính quảng cáo để tăng khả năng được duyệt nhanh.

Gửi ZNS có tốn phí không, tính phí như thế nào?

Có, tính phí riêng theo từng tin nhắn gửi thành công, tách biệt với tin nhắn OA thông thường. Mức phí cụ thể xem tại bảng giá Zalo for Business hiện hành vì có thể thay đổi theo chính sách.

Có thể gọi API gửi ZNS trực tiếp từ Google Apps Script không?

Có, dùng UrlFetchApp.fetch() tương tự gửi tin OA thường, chỉ khác endpoint và payload cần thêm template_id và template_data. Yêu cầu OA đã đăng ký ZNS và có template đã được duyệt.

Muốn tự động hoá thông báo đơn hàng mà không cần tự đăng ký template ZNS?

Các phần mềm bán hàng trên Google Sheets của SheetStore đã hỗ trợ sẵn quy trình thông báo đơn hàng tự động — giúp bạn vận hành gọn nhẹ mà không cần tự xử lý tích hợp API phức tạp.

Xem phần mềm bán hàng trên Google Sheets →

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

Google SheetsGoogle Apps ScriptCRMAutomationPhần mềm quản lý doanh nghiệp

Google Workspace Certified, 5+ years experience

Bạn thấy bài viết hữu ích?

Đăng ký nhận thông báo khi có bài viết mới.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận