Tích Hợp Zalo OA API & ZNS: Tuyệt Chiêu CSKH Thời Đại Số

Ở Việt Nam, nếu khách hàng không dùng Facebook thì chắc chắn họ dùng Zalo. Với hơn 75 triệu người dùng thường xuyên, Zalo không còn đơn thuần là ứng dụng chat mà đã trở thành "mặt tiền" kinh doanh số 1 của các doanh nghiệp Việt thông qua Zalo Official Account (OA).

Đặc biệt là dịch vụ ZNS (Zalo Notification Service) - giải pháp gửi thông báo CSKH qua API với chi phí rẻ hơn SMS 40-50% mà nội dung lại sinh động, kèm logo thương hiệu.

1. Zalo OA & ZNS Là Gì?

- Zalo OA (Official Account): Trang doanh nghiệp trên Zalo (tương tự Fanpage Facebook). Khách hàng có thể Chat, đặt hàng, xem bài viết.

- ZNS (Zalo Notification Service): API cho phép doanh nghiệp gửi tin nhắn thông báo (OTP, đơn hàng, lịch hẹn) đến số điện thoại khách hàng kể cả khi họ CHƯA Follow OA.

2. Quy Trình Đăng Ký Sử Dụng ZNS

- Đăng ký Zalo OA: Truy cập oa.zalo.me. (Yêu cầu Giấy phép kinh doanh).

- Xác thực (Verify) OA: Để dùng được API, OA của bạn bắt buộc phải có tích vàng (Verified).

- Tạo Ứng dụng (App ID): Truy cập developers.zalo.me để lấy `App ID` và `Secret Key`.

- Nạp tiền & Đăng ký mẫu tin: ZNS không cho gửi nội dung tự do. Bạn phải tạo template (VD: "Chao A, don hang B da duoc giao") và gửi Zalo duyệt.

3. Hướng Dẫn Kỹ Thuật: Gửi ZNS Qua API

Bước 1: Lấy Access Token (OAuth 2.0)

Zalo dùng cơ chế Refresh Token khá phức tạp. Token chỉ sống 25 giờ.

<code>// Hàm lấy Access Token mới từ Refresh Token function getZaloAccessToken($refreshToken) { $appId = "YOUR_APP_ID"; $secretKey = "YOUR_SECRET_KEY"; $url = "https://oauth.zalo.me/v4/access_token"; $data = [ 'app_id' => $appId, 'grant_type' => 'refresh_token', 'refresh_token' => $refreshToken ]; $headers = [ 'Content-Type: application/x-www-form-urlencoded', 'secret_key: ' . $secretKey ];

// ... (Code CURL gửi POST) ... // Trả về JSON chứa access_token mới và refresh_token mới }</code></pre>

Bước 2: Gọi API Gửi Tin ZNS

<p>Endpoint: <code>https://business.openapi.zalo.me/message/template</code>

<code>$accessToken = "ACCESS_TOKEN_VUA_LAY"; $templateId = "123456"; // ID mẫu tin đã được duyệt $phone = "84909123456"; // Số điện thoại khách (84...)

$templateData = [ 'customer_name' => 'Nguyen Van A', 'order_code' => 'DH9999', 'date' => '30/01/2026' ];

$body = [ 'phone' => $phone, 'template_id' => $templateId, 'template_data' => $templateData, 'tracking_id' => 'TRACK_' . time() ];

$ch = curl_init('https://business.openapi.zalo.me/message/template'); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'access_token: ' . $accessToken, 'Content-Type: application/json' ]); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body)); $result = curl_exec($ch); // Kiểm tra result: error = 0 là thành công</code></pre>

4. Những Lỗi "Đau Đầu" Khi Tích Hợp Zalo

- Lỗi Token Hết Hạn: Nhiều Dev quên cơ chế tự động refresh token. Nếu Web của bạn ít traffic, token hết hạn mà không ai gọi refresh thì sẽ chết API. Cần dùng Cronjob để refresh định kỳ.

- Rate Limit: Zalo giới hạn số lượng request. Nếu spam quá nhanh sẽ bị Block.

- Rớt tin (Undelivered): Nếu khách hàng chặn nhận tin từ người lạ hoặc không dùng Zalo lâu ngày, tin ZNS sẽ fail. Cần có cơ chế Fallback sang SMS.

5. Giải Pháp Zalo Automation Của JAYbranding

<p>Chúng tôi cung cấp module Zalo Marketing toàn diện:

- ✅ Auto Refresh Token: Hệ thống server riêng đảm bảo token luôn "sống".

- ✅ Smart Fallback: Gửi Zalo trước -> Nếu lỗi (sau 15s) -> Tự động gửi SMS Brandname thay thế. Tiết kiệm chi phí tối đa.

- ✅ Zalo Mini App: Tích hợp App bán hàng ngay trong Zalo để tận dụng hệ sinh thái.

📞 Chăm sóc khách hàng tự động với ZNS! Hotline: 0899991131

FAQ Về Zalo API

[faqs]

#### Chi phí gửi ZNS là bao nhiêu?

Khoảng 200đ - 300đ/tin (rẻ hơn SMS thường là 500đ - 800đ). Chỉ tính phí khi gửi thành công.

#### ZNS có gửi nội dung quảng cáo được không?

Có, nhưng kiểm duyệt rất gắt và chi phí cao hơn tin CSKH. Thường chỉ nên dùng ZNS để báo đơn hàng/OTP.

[/faqs]