# Gửi thông báo Zalo ZNS

Gửi tin nhắn mẫu Zalo đã được duyệt, như xác nhận đơn hàng và nhắc thanh toán, tới số điện thoại của khách qua Official Account của bạn.

ZNS (Zalo Notification Service) gửi một tin nhắn theo mẫu tới số điện thoại qua Zalo Official Account của bạn. Khách không cần nhắn cho bạn trước, nên ZNS là công cụ phù hợp để xác nhận đơn hàng, nhắc thanh toán và báo tình trạng giao hàng. Zalo tính phí theo từng tin.

Bạn có thể gửi ZNS từ một đơn hàng, gửi cho một danh sách khách đã lọc, gửi tự động từ chu trình, hoặc từ hệ thống của bạn qua API.

## Trước khi bắt đầu

1. **Kết nối Zalo Official Account** ở **Hỗ trợ khách hàng → Kênh**. Chỉ OA có trạng thái **Hoạt động** mới gửi được. Xem [Kết nối Zalo Official Account](https://hatang.dev/vi/help/channels/zalo-oa).
2. **Đưa OA lên gói trả phí của Zalo** có ZNS. Không có gói này, Hạ Tầng không tải được mẫu của bạn.
3. **Tạo mẫu và chờ Zalo duyệt** trong trang quản trị Zalo OA: oa.zalo.me → ZNS → Mẫu. Hạ Tầng chỉ hiện các mẫu đã duyệt; bạn không thể soạn tự do một tin ZNS.
4. **Giữ module Khách hàng đang bật.** ZNS thuộc module này: khi module tắt, các tin đang xếp hàng sẽ không được gửi. Xem [Module](https://hatang.dev/vi/help/getting-started/modules).

## Trang Zalo ZNS

Vào **Hỗ trợ khách hàng → Kênh**. Thẻ **Zalo ZNS** có nút **Cài đặt ZNS** để mở trang. Với OA đang chọn, trang cho thấy:

- **Hạn mức hôm nay:** số tin còn lại hôm nay trên hạn mức ngày của OA, do Zalo đặt;
- số tin đã gửi, thất bại và đang trong hàng đợi;
- các mẫu đã duyệt kèm **Id**, trạng thái, **Chất lượng** và **Giá** mỗi tin;
- **Gửi gần đây**: thời gian, số điện thoại, mẫu, trạng thái (kèm lỗi của Zalo nếu thất bại) và liên kết tới đơn hàng, khách hàng.

Nếu doanh nghiệp có nhiều OA, chọn một OA ở trên cùng. Nút **Gửi cho khách hàng** mở trang gửi hàng loạt.

## Gửi thông báo cho một đơn hàng

1. Mở đơn hàng ở **Sản phẩm → Đơn hàng**.
2. Trên thẻ **Zalo ZNS**, bấm **Gửi thông báo**.
3. Chọn OA và mẫu. Số điện thoại lấy từ địa chỉ giao hàng của đơn, và phải là số di động Việt Nam.
4. Điền các tham số của mẫu. Hạ Tầng điền sẵn những tham số có tên giống tên khách, mã đơn, tổng tiền hoặc số điện thoại.
5. Bấm **Gửi ZNS**.

Tin được gửi ngay. Thẻ hiện **Đã gửi** kèm mã tin của Zalo, hoặc lỗi Zalo trả về.

## Gửi cho một danh sách khách

Ở **Khách hàng → Khách hàng**, lọc danh sách rồi bấm **Gửi ZNS** (cũng có trong thanh bên là **Gửi ZNS**). Bạn chọn mẫu, gán từng tham số với một thông tin của khách hoặc một đoạn chữ cố định, xem bao nhiêu khách có số điện thoại, rồi xếp hàng tối đa 5.000 tin. Xem [Gửi ZNS cho khách hàng](https://hatang.dev/vi/help/customers/send-zns).

## Gửi tự động từ chu trình

Thêm bước **Gửi ZNS** vào một [chu trình](https://hatang.dev/vi/help/automation/workflows), ví dụ với sự kiện **Đơn đã thanh toán**:

1. Chọn **Zalo OA**.
2. Nhập **Mã mẫu ZNS** (cột **Id** trên trang Zalo ZNS).
3. Ở **Tham số (mỗi dòng: tên=giá trị)**, viết từng tham số của mẫu, ví dụ `customer_name={{name}}` và `order_code={{order_code}}`. Giá trị dùng được `{{name}}`, `{{phone}}`, `{{email}}`, `{{order_code}}`, `{{order_total}}`, `{{rating}}` và `{{site}}`.

Bước này dùng số điện thoại của khách và được bỏ qua khi khách không có số.

> [!WARNING]
> Zalo tính phí từng tin, kể cả tin do chu trình gửi. Kiểm tra giá của mẫu và những hội thoại khớp điều kiện của chu trình trước khi bật.

## Xử lý sự cố

| Bạn thấy gì | Nguyên nhân | Làm gì |
|---|---|---|
| "Không tải được mẫu: … ZNS cần OA ở gói trả phí và có mẫu đã duyệt." | OA đang ở gói miễn phí, hoặc kết nối đã hết hạn | Nâng gói OA, hoặc kết nối lại ở **Hỗ trợ khách hàng → Kênh** |
| "Chưa có mẫu nào được duyệt" | Chưa có mẫu nào được Zalo duyệt | Tạo mẫu tại oa.zalo.me → ZNS → Mẫu và chờ Zalo duyệt |
| "Hãy kết nối Zalo Official Account …" | Không có Zalo OA nào đang hoạt động | Kết nối OA, hoặc kết nối lại nếu OA cần xác thực lại |
| Tin gửi báo **Thất bại** | Zalo từ chối: sai tham số, hết hạn mức, hoặc số điện thoại không dùng Zalo | Đọc lỗi ở **Gửi gần đây**, sửa tham số hoặc chờ hạn mức được làm mới |
| Tin gửi hàng loạt cứ ở **Trong hàng đợi** | Module Khách hàng đang tắt | Bật lại module |
| Bước chu trình bị bỏ qua | Khách chưa có số điện thoại | Xin số điện thoại bằng luồng hoặc trợ lý AI |

Tài khoản Zalo cá nhân không gửi được ZNS. Với lập trình viên, [API ZNS](https://hatang.dev/vi/docs/guides/support/zns) gửi từng tin hoặc hàng loạt và báo kết quả từng tin qua webhook.
