API gửi tin mẫu ZBS từ Zalo OA của bạn. Tạo key, gửi tin thử tới điện thoại của mình trong 5 phút. ZaPro lo phần khó: token, khung giờ, webhook và luật gửi của Zalo.
Không cần thẻ, không cần gọi sales. 1.000 tin đầu tiên miễn phí.
import { ZaPro } from "zapro"; const zapro = new ZaPro(process.env.ZAPRO_API_KEY); await zapro.messages.send({ oa: "hoa-sen-spa", to: "0901234567", template: "xac-nhan-lich-hen", data: { ten: "Lan", dich_vu: "Gội đầu", gio: "15:30", ngay: "08/11" }, });
curl -X POST https://app.zapro.vn/v1/messages \ -H "Authorization: Bearer $ZAPRO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "oa": "hoa-sen-spa", "to": "0901234567", "template": "xac-nhan-lich-hen", "data": { "ten": "Lan", "dich_vu": "Gội đầu", "gio": "15:30", "ngay": "08/11" } }'
$ch = curl_init("https://app.zapro.vn/v1/messages"); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("ZAPRO_API_KEY"), "Content-Type: application/json"], CURLOPT_POSTFIELDS => json_encode([ "oa" => "hoa-sen-spa", "to" => "0901234567", "template" => "xac-nhan-lich-hen", "data" => ["ten" => "Lan", "dich_vu" => "Gội đầu", "gio" => "15:30", "ngay" => "08/11"], ]), ]); curl_exec($ch);
# Claude, Cursor, VS Code… gửi tin Zalo bằng một câu lệnh claude mcp add --transport http zapro https://app.zapro.vn/mcp \ --header "Authorization: Bearer $ZAPRO_API_KEY" > Gửi tin xác nhận lịch 15:30 mai cho chị Lan, số 0901234567
Chào Lan, lịch hẹn của bạn đã được xác nhận.
Zalo có token 25 giờ, khung giờ gửi, hạn mức tin quảng cáo, webhook phải trả lời trong 2 giây. ZaPro gói hết vào một lệnh gửi.
OA ZaPro Sandbox có sẵn mẫu đã duyệt. Tạo key, gửi tin thử tới điện thoại của bạn khi chưa có OA riêng.
Mọi mốc thời gian từ lúc nhận lệnh tới lúc tin tới máy. Lỗi viết bằng tiếng Việt, kèm cách xử lý.
Tin chăm sóc và quảng cáo rơi ngoài 07:00–22:00 được giữ lại và tự gửi lúc 07:00. Không bị Zalo phạt.
Token Zalo sống 25 giờ, token làm mới dùng một lần. ZaPro lo phần dễ hỏng nhất, bạn không mất kết nối.
ZaPro nhận webhook của Zalo thay bạn, ký HMAC-SHA256 và gửi lại tới 24 giờ khi máy chủ của bạn lỗi.
Công ty phần mềm gửi một link, từng cửa hàng tự cấp quyền OA. Một API key gửi thay cho tất cả.
Đăng ký bằng email, bấm một nút. Key chỉ hiện một lần và có thể giới hạn chỉ gửi tin.
Dùng OA "sandbox" với mẫu đã duyệt sẵn, gửi tới số điện thoại của chính bạn. Chưa cần OA riêng.
Đăng nhập Zalo, cấp quyền. ZaPro kiểm tra từng điều kiện: đã xác thực, gói Tăng trưởng, mẫu đã duyệt.
ZaPro có sẵn máy chủ MCP. Thêm vào claude.ai, ChatGPT bằng một lần đăng nhập, hoặc vào Claude Code, Cursor, VS Code bằng API key, rồi nhờ AI gửi tin, tra vì sao tin lỗi, tạo link Connect cho cửa hàng.
# Không cần API key: kết nối bằng OAuth. # claude.ai: Cài đặt → Connectors → Add custom connector # ChatGPT: Cài đặt → Connectors (chế độ nhà phát triển) → tạo connector mới URL máy chủ MCP: https://app.zapro.vn/mcp # Bấm kết nối, đăng nhập ZaPro, chọn công ty và quyền, bấm "Cho phép".
claude mcp add --transport http zapro https://app.zapro.vn/mcp \
--header "Authorization: Bearer $ZAPRO_API_KEY"// .cursor/mcp.json { "mcpServers": { "zapro": { "url": "https://app.zapro.vn/mcp", "headers": { "Authorization": "Bearer $ZAPRO_API_KEY" } } } }
// .vscode/mcp.json { "inputs": [ { "type": "promptString", "id": "zapro-key", "description": "ZaPro API key", "password": true } ], "servers": { "zapro": { "type": "http", "url": "https://app.zapro.vn/mcp", "headers": { "Authorization": "Bearer ${input:zapro-key}" } } } }
// claude_desktop_config.json { "mcpServers": { "zapro": { "command": "npx", "args": ["-y", "mcp-remote", "https://app.zapro.vn/mcp", "--header", "Authorization:${ZAPRO_AUTH}"], "env": { "ZAPRO_AUTH": "Bearer $ZAPRO_API_KEY" } } } }
curl https://app.zapro.vn/mcp \ -H "Authorization: Bearer $ZAPRO_API_KEY" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Mỗi lệnh gửi được kiểm tra trước khi đi, nên lỗi hiện ra ngay ở phía bạn thay vì thành tin thất bại bị tính tiền.
Đăng ký mất một phút. Gửi thử tới điện thoại của bạn trước khi kết nối OA thật.