Sự kiện và tự động hóa
Hệ thống của bạn gửi sự kiện, ZaPro chạy các bước: gửi tin, chờ, điều kiện, chờ sự kiện khác. Địa chỉ gốc: https://app.zapro.vn/v1.
Như Automations của Resend. Mỗi tự động hóa kích hoạt bằng một sự kiện do bạn đặt tên (ví dụ booking.created), rồi chạy các bước theo thứ tự cho từng liên hệ.
Gửi sự kiện
POST/v1/events Body { "event": "booking.created", "phone": "0901234567", "data": { "dich_vu": "Gội đầu", "gio": "15:30" } }. Trả 202. Số chưa có trong danh bạ được thêm. Key "chỉ gửi tin" gọi được.
await fetch("https://app.zapro.vn/v1/events", { method: "POST", headers: { Authorization: `Bearer ${process.env.ZAPRO_API_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ event: "booking.created", phone: "0901234567", data: { gio: "15:30", ngay: "08/11" } }), });
Các bước
- send_message
{ oa, template, mapping }: mapping như chiến dịch, thêm nguồn{"from":"event","key":"gio"}. Liên hệ đã từ chối thì bỏ qua bước này. - delay
{ amount, unit: "minutes" | "hours" | "days" }, tối đa 30 ngày. - condition
{ field: "contact.<khóa>" | "event.<khóa>", operator, value }: đi tiếp nếu thỏa, không thì dừng. operator: eq, neq, contains, starts_with, gt, gte, lt, lte, exists, is_empty. - wait_for_event
{ event, amount, unit, onTimeout: "stop" | "continue" }: chờ cùng liên hệ có sự kiện khác; dữ liệu của sự kiện đó được gộp vào. - update_contact
{ properties: { "<khóa>": nguồn }, unsubscribed } - add_to_segment
{ segment }
Quản lý
POST/v1/automations Body { "name": "…", "trigger": "booking.created", "steps": [ … ], "enabled": true }.
GET/v1/automations
PATCH/v1/automations/{id} Chỉ sửa được khi đang tắt, để lượt đang chạy không bị đổi giữa chừng.
POST/v1/automations/{id}/enable
POST/v1/automations/{id}/disable
GET/v1/automations/{id}/runs Lượt chạy: status (running, waiting, completed, failed), bước đang ở, nhật ký từng bước.