Chiến dịch, automation và báo cáo
Đọc chiến dịch gửi tin, automation (flow), chuỗi tin chăm sóc và báo cáo của chúng; báo cáo giao dịch theo Space; tình trạng gửi email và Zalo ZNS; lịch sử credit và nhật ký hoạt động. Mọi API trong nhóm này chỉ đọc.
Mọi API trong trang gọi bằng POST https://api.ladipage.net/2.0/api/{tên-api} với header api-key. Xem Xác thực và Mã lỗi.
| API | Việc làm | Loại |
|---|---|---|
lw-list-campaigns | Liệt kê chiến dịch gửi tin | Đọc |
lw-get-campaign-limit | Xem hạn mức gửi chiến dịch trong ngày | Đọc |
lw-list-flows | Liệt kê flow tự động | Đọc |
lw-list-sequences | Liệt kê chuỗi tin tự động | Đọc |
lw-list-sequence-messages | Liệt kê tin trong chuỗi tin | Đọc |
lw-get-email-health | Xem email bị trả lại và báo spam | Đọc |
lw-get-zalo-zns-status | Xem tình trạng Zalo ZNS | Đọc |
lw-report-campaign | Báo cáo tổng quan chiến dịch | Đọc |
lw-report-campaign-customers | Liệt kê khách hàng của chiến dịch theo trạng thái | Đọc |
lw-report-flow | Báo cáo tổng quan flow | Đọc |
lw-report-flow-customers | Liệt kê khách hàng theo bước của flow | Đọc |
lw-report-flow-step | Báo cáo chi tiết một bước của flow | Đọc |
lw-report-sequence | Báo cáo tổng quan chuỗi tin | Đọc |
lw-report-sequence-customers | Liệt kê khách hàng đăng ký chuỗi tin | Đọc |
lw-report-sequence-message | Báo cáo chi tiết một tin trong chuỗi tin | Đọc |
lw-report-deals | Báo cáo giá trị Space bán hàng theo giai đoạn | Đọc |
lw-report-deal-notes | Tổng hợp ghi chú trên thẻ | Đọc |
lw-report-lost-reasons | Thống kê lý do thất bại | Đọc |
lw-report-pipeline-compliance | Báo cáo tuân thủ quy trình bán hàng | Đọc |
lw-list-activity-logs | Xem nhật ký hoạt động | Đọc |
lw-list-credit-topups | Xem lịch sử nạp điểm và tiền | Đọc |
lw-list-credit-transactions | Xem giao dịch chi tiêu credit | Đọc |
Quy ước chung
store_idlà tham số chung của mọi APIlw-*: giá trịstore_idlấy từaccount-list-workspaces. Tài khoản chỉ có một workspace thì bỏ trống được; từ hai workspace trở lên mà thiếustore_idthì API trả lỗi kèm danh sách workspace hợp lệ (tên + mã). Truyền mã không thuộc tài khoản cũng bị từ chối.- Mọi kết quả thành công có thêm trường
store_contextgồmstore_id,store_name(tên workspace) và you (tên người cầm token). - Email và số điện thoại trong kết quả (các trường email, phone,
phone_2) bị che một phần, ví dụ ma***@gmail.com, 0912***678. Đầu vào không bị ảnh hưởng: tìm theo email/số điện thoại đầy đủ vẫn chạy bình thường. Trường tuỳ chỉnh có nhãn nhạy cảm (OTP, mật khẩu, CCCD/CMND, số thẻ, token...) bị thay bằng [đã ẩn]. - Token của nhân viên chỉ thấy dữ liệu trong quyền của họ: không có quyền xem khách hàng thì bị từ chối; không có quyền xem tất cả khách thì chỉ thấy khách mình phụ trách hoặc theo dõi. API về giao dịch, công việc, tổ chức còn yêu cầu nhân viên đã được thêm vào LadiWork của workspace.
- Thời gian trả về theo múi giờ của workspace (mặc định +07:00), dạng ISO 8601 có offset.
- Lỗi nghiệp vụ trả HTTP 400, message là câu mô tả lỗi bằng tiếng Việt.
Liệt kê chiến dịch gửi tin Đọc
POST/2.0/api/lw-list-campaigns
Liệt kê hoặc tìm chiến dịch gửi tin (campaign) của workspace, kèm trạng thái và chỉ số gửi, nhận, đọc, click. Dùng để lấy campaign_id cho lw-report-campaign và lw-report-campaign-customers.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| keyword | string | Tìm theo tên chiến dịch, khớp một phần, không phân biệt hoa thường. Bỏ trống = tất cả, chiến dịch cập nhật gần nhất trước. |
| status | string | Lọc theo trạng thái. RUNNING gộp các chiến dịch đang gửi hoặc đang chờ xử lý; SCHEDULE gồm mọi chiến dịch đã đặt lịch; READY gồm mọi chiến dịch sẵn sàng; giá trị khác so khớp đúng mã. Bỏ trống = tất cả.Giá trị: DRAFT, SCHEDULE, READY, RUNNING, DONE, FINISHED, STOP, ERROR |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số chiến dịch mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-list-campaigns \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keyword": "Khuyến mãi tháng 11",
"status": "DONE",
"page": 1,
"limit": 20
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"total": 2,
"page": 1,
"limit": 20,
"keyword": "Khuyến mãi tháng 11",
"count": 2,
"is_empty": false,
"items": [
{
"id": "6718a3f2c4e5b20012ab34cd",
"name": "Khuyến mãi tháng 11 - Email",
"type": "EMAIL",
"type_label": "Email",
"status": "DONE",
"status_label": "Hoàn thành",
"total_customer": 1250,
"total_customer_valid": 1198,
"total_send": 1198,
"total_delivery": 1172,
"total_read": 486,
"total_click": 93,
"tags": ["khuyen-mai", "thang-11"],
"start_date": "2026-10-25T08:00:00+07:00",
"completed_date": "2026-10-25T08:42:00+07:00",
"created_at": "2026-10-22T10:05:00+07:00",
"updated_at": "2026-10-25T08:42:00+07:00",
"detail_url": "https://work.ladipage.com/campaigns/6718a3f2c4e5b20012ab34cd"
},
{
"id": "6718a3f2c4e5b20012ab34ce",
"name": "Khuyến mãi tháng 11 - SMS",
"type": "SMS",
"type_label": "SMS",
"status": "DONE",
"status_label": "Hoàn thành",
"total_customer": 800,
"total_customer_valid": 782,
"total_send": 782,
"total_delivery": 770,
"total_read": 0,
"total_click": 41,
"tags": ["khuyen-mai"],
"start_date": "2026-10-26T09:00:00+07:00",
"completed_date": "2026-10-26T09:20:00+07:00",
"created_at": "2026-10-23T15:40:00+07:00",
"updated_at": "2026-10-26T09:20:00+07:00",
"detail_url": "https://work.ladipage.com/campaigns/6718a3f2c4e5b20012ab34ce"
}
]
}
}is_empty = true khi workspace chưa có chiến dịch nào. type: MESSENGER | EMAIL | SMS | START_FLOW. total_customer là số khách trong tệp gửi, total_customer_valid là số khách hợp lệ.
Lưu ý
- Sắp xếp theo thời điểm cập nhật, mới nhất trước.
- Trường status trong kết quả là mã gốc, có thể là mã trung gian không dùng để lọc được (STARTED, DONE_SC, PENDING_QUEUE, RESUME, SCHEDULE_SCAN, READY_SCAN); dùng
status_labelđể hiển thị. - Nhãn trạng thái và loại kênh theo ngôn ngữ của workspace (vi hoặc en).
- Thành viên không phải chủ hoặc quản lý workspace chỉ thấy chiến dịch công khai, được chia sẻ cho mình hoặc nhóm của mình.
Xem hạn mức gửi chiến dịch trong ngày Đọc
POST/2.0/api/lw-get-campaign-limit
Xem số tin chiến dịch tối đa được gửi, đã gửi và còn lại trong cửa sổ 24 giờ hiện tại của workspace. Dùng trước khi chạy chiến dịch lớn để biết còn đủ hạn mức hay không.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-get-campaign-limit \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"has_data": true,
"window_hours": 24,
"max_messages": 20000,
"sent_messages": 3450,
"remaining_messages": 16550,
"remaining_percent": 82.75,
"window_reset_at": "2026-10-30T09:15:00+07:00"
}
}window_hours luôn bằng 24. remaining_percent từ 0–100, làm tròn 2 chữ số. window_reset_at là thời điểm cửa sổ 24 giờ kết thúc, null khi chưa gửi tin nào.
Lưu ý
has_data= false nghĩa là chưa gửi tin nào trong cửa sổ hiện tại: còn 100%,max_messageslà mức mặc định 20.000.- Thành viên vai trò Người xem (VIEWER) không gọi được API này.
Liệt kê flow tự động Đọc
POST/2.0/api/lw-list-flows
Liệt kê hoặc tìm flow tự động (automation) của workspace. Dùng để lấy flow_id cho lw-report-flow, lw-report-flow-step và lw-report-flow-customers.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| keyword | string | Tìm theo tên flow, khớp một phần, không phân biệt hoa thường và dấu tiếng Việt. Bỏ trống = tất cả, flow cập nhật gần nhất trước. |
| status | string | Lọc theo trạng thái: DRAF (nháp, viết đúng là DRAF), RUNNING (đang chạy), PUBLISHED (đã xuất bản). Bỏ trống = tất cả.Giá trị: DRAF, RUNNING, PUBLISHED |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số flow mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-list-flows \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keyword": "chăm sóc sau mua",
"status": "PUBLISHED"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"total": 1,
"page": 1,
"limit": 20,
"keyword": "chào mừng",
"count": 1,
"is_empty": false,
"items": [
{
"id": "6712b8e1a9d4c30015f0e7a2",
"name": "Flow chào mừng khách mới",
"status": "PUBLISHED",
"status_label": "Đã xuất bản",
"total_subscribe": 2384,
"flow_config_count": 5,
"trigger_types": ["FORM_SUBMIT", "TAG_ADDED"],
"trigger_type_labels": ["Gửi form", "Gắn thẻ"],
"tags": ["onboarding"],
"is_default": false,
"created_at": "2026-10-03T11:20:00+07:00",
"updated_at": "2026-10-27T09:15:00+07:00",
"detail_url": "https://work.ladipage.com/flows/6712b8e1a9d4c30015f0e7a2"
}
]
}
}is_empty = true khi workspace chưa có flow nào. total_subscribe là tổng lượt khách vào flow, flow_config_count là số bước, trigger_types là các loại sự kiện kích hoạt.
Lưu ý
- Không gồm flow nội bộ của chiến dịch và chuỗi tin.
- Sắp xếp theo thời điểm cập nhật, mới nhất trước.
- Thành viên không phải chủ hoặc quản lý workspace chỉ thấy flow công khai, được chia sẻ cho mình hoặc nhóm của mình.
Liệt kê chuỗi tin tự động Đọc
POST/2.0/api/lw-list-sequences
Liệt kê hoặc tìm chuỗi tin tự động (sequence) của workspace, kèm số tin, lượt đăng ký và lượt hoàn tất. Dùng để lấy sequence_id cho các API báo cáo chuỗi tin.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| keyword | string | Tìm theo tên chuỗi tin, khớp một phần, không phân biệt hoa thường và dấu tiếng Việt. Bỏ trống = tất cả. |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số chuỗi tin mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-list-sequences \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keyword": "Onboarding khách mới"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"total": 1,
"page": 1,
"limit": 20,
"keyword": "",
"count": 1,
"is_empty": false,
"field_labels": {
"name": "Tên chuỗi tin",
"total_message": "Số tin",
"total_subscribe": "Lượt đăng ký",
"total_complete": "Lượt hoàn tất",
"open_rate": "Tỉ lệ mở",
"ctr": "Tỉ lệ click"
},
"items": [
{
"id": "6713c4d2b7e8f10019a2c5b3",
"name": "Chuỗi nuôi dưỡng khách dùng thử",
"total_message": 4,
"total_subscribe": 962,
"total_complete": 418,
"open_rate": 38.5,
"ctr": 6.2,
"tags": ["trial"],
"created_at": "2026-10-05T09:00:00+07:00",
"updated_at": "2026-10-28T14:30:00+07:00",
"detail_url": "https://work.ladipage.com/sequences/6713c4d2b7e8f10019a2c5b3"
}
]
}
}field_labels là nhãn tiếng Việt của từng trường. total_message là số tin trong chuỗi, total_subscribe là lượt đăng ký, total_complete là lượt hoàn tất.
Lưu ý
- Sắp xếp theo thời điểm cập nhật, mới nhất trước.
- Thành viên không phải chủ hoặc quản lý workspace chỉ thấy chuỗi tin công khai, được chia sẻ cho mình hoặc nhóm của mình.
Liệt kê tin trong chuỗi tin Đọc
POST/2.0/api/lw-list-sequence-messages
Liệt kê các tin (bước) của một chuỗi tin kèm số gửi, nhận, đọc, click và đang chờ gửi. Dùng để lấy flow_id của từng tin cho lw-report-sequence-message.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| sequence_idbắt buộc | string | ID chuỗi tin, lấy từ lw-list-sequences. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-list-sequence-messages \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sequence_id": "6650f1c2a9b3e4d5f6a7b8c9"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"sequence_id": "6713c4d2b7e8f10019a2c5b3",
"count": 2,
"field_labels": {
"name": "Tên tin",
"total_send": "Đã gửi",
"total_delivery": "Đã nhận",
"total_read": "Đã đọc",
"total_click": "Đã click",
"total_waiting": "Đang chờ gửi"
},
"items": [
{
"id": "6713c5a1b7e8f10019a2c5c1",
"name": "Tin 1 - Chào mừng dùng thử",
"flow_id": "6713c5a1b7e8f10019a2c5c0",
"total_send": 962,
"total_delivery": 945,
"total_read": 512,
"total_click": 88,
"total_waiting": 0,
"created_at": "2026-10-05T09:10:00+07:00",
"updated_at": "2026-10-28T14:30:00+07:00"
},
{
"id": "6713c5b8b7e8f10019a2c5d4",
"name": "Tin 2 - Hướng dẫn tạo trang đầu tiên",
"flow_id": "6713c5b8b7e8f10019a2c5d3",
"total_send": 874,
"total_delivery": 861,
"total_read": 402,
"total_click": 71,
"total_waiting": 36,
"created_at": "2026-10-05T09:25:00+07:00",
"updated_at": "2026-10-28T14:30:00+07:00"
}
]
}
}items[] xếp theo thứ tự tạo, tin đầu tiên trước. flow_id dùng cho lw-report-sequence-message; total_waiting là số tin đang chờ gửi.
Lưu ý
- Không phân trang: trả toàn bộ tin của chuỗi.
- Số liệu từng tin là bản đã lưu gần nhất; hệ thống làm mới ở nền sau mỗi lần gọi nên lần gọi sau có thể có số mới hơn.
- Trả lỗi khi chuỗi tin không tồn tại hoặc đã bị xoá.
Xem email bị trả lại và báo spam Đọc
POST/2.0/api/lw-get-email-health
Xem các địa chỉ email bị trả lại (Bounce) hoặc bị khách báo spam (Complaint) khi gửi từ workspace, kèm tổng số mỗi loại. Dùng để theo dõi chất lượng danh sách email.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| keyword | string | Lọc theo địa chỉ email, khớp một phần, không phân biệt hoa thường. Giá trị được hiểu như biểu thức chính quy nên các ký tự . + ? * có nghĩa đặc biệt. Bỏ trống = tất cả. |
| event | string | Lọc theo loại sự kiện, phân biệt hoa thường: Bounce (gửi trả lại) | Complaint (báo spam). Bỏ trống = tất cả.Giá trị: Bounce, Complaint |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số bản ghi mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-get-email-health \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"event": "Bounce",
"limit": 50
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"total": 2,
"total_bounce": 14,
"total_complaint": 3,
"page": 1,
"limit": 20,
"keyword": "",
"event": "",
"count": 2,
"items": [
{
"email": "an***@gmail.com",
"event": "Bounce",
"event_label": "Gửi trả lại",
"num": 2,
"created_at": "2026-10-28T14:30:00+07:00"
},
{
"email": "lin***@yahoo.com",
"event": "Complaint",
"event_label": "Báo spam",
"num": 1,
"created_at": "2026-10-27T09:15:00+07:00"
}
]
}
}total tính theo bộ lọc. num là số lần ghi nhận sự kiện với email đó.
Lưu ý
total_bouncevàtotal_complainttính theo keyword nhưng không theo event.- Địa chỉ email trong kết quả đã được che một phần (ví dụ ab***@gmail.com). Lọc bằng keyword vẫn dùng được địa chỉ đầy đủ.
- Sắp xếp theo thời điểm ghi nhận, mới nhất trước.
- Thành viên vai trò Người xem (VIEWER) không gọi được API này.
Xem tình trạng Zalo ZNS Đọc
POST/2.0/api/lw-get-zalo-zns-status
Không truyền integration_id: liệt kê các Zalo OA đã kết nối. Truyền integration_id: xem hạn mức gửi ZNS trong ngày, hạn mức miễn phí, chất lượng OA và loại nội dung được phép gửi.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| integration_id | string | ID của Zalo OA cần xem chi tiết, lấy từ integrations[].id của chính API này khi gọi không có tham số. Bỏ trống = liệt kê OA. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-get-zalo-zns-status \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"integration_id": "6650f1c2a9b3e4d5f6a7b8d0"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"mode": "list",
"count": 1,
"is_empty": false,
"integrations": [
{
"id": "6710a2c3d4e5f60017b8c9d0",
"name": "Zalo OA LadiPage",
"oa_name": "LadiPage Việt Nam",
"is_active": true,
"free_send_expired_at": "2026-12-31T23:59:59+07:00",
"created_at": "2026-10-01T10:00:00+07:00"
}
]
}
}Ví dụ trên là chế độ liệt kê (gọi không có integration_id); free_send_expired_at là hạn gửi miễn phí. Chế độ chi tiết (có integration_id) trả về:
{
"code": 200,
"message": "Success",
"data": {
"mode": "detail",
"integration_id": "6710a2c3d4e5f60017b8c9d0",
"daily_quota": 2000,
"remaining_quota": 1735,
"total_sent": 265,
"free_send_expired_at": "2026-12-31T23:59:59+07:00",
"daily_quota_promotion": 500,
"remaining_quota_promotion": 480,
"current_quality": "HIGH",
"current_quality_label": "Cao",
"quality_7day": "MEDIUM",
"quality_7day_label": "Trung bình",
"allowed_content_types": ["TRANSACTION", "CUSTOMER_CARE"],
"allowed_content_type_labels": ["Giao dịch", "Chăm sóc khách hàng"]
}
}current_quality và quality_7day: HIGH | MEDIUM | LOW, null khi chưa xác định. allowed_content_types: TRANSACTION | CUSTOMER_CARE | PROMOTION.
Lưu ý
- Chế độ liệt kê trả tối đa 100 OA.
- Chế độ chi tiết lấy số liệu trực tiếp từ Zalo; nếu kết nối OA đã hết hạn, API trả lỗi và cần kết nối lại OA trong LadiWork.
- Thành viên vai trò Người xem (VIEWER) không gọi được API này, kể cả chế độ liệt kê.
Báo cáo tổng quan chiến dịch Đọc
POST/2.0/api/lw-report-campaign
Báo cáo phễu gửi, nhận, đọc, click của một chiến dịch gửi tin cùng tỉ lệ và số hủy nhận, trả lại, báo spam. Chỉ báo cáo từng chiến dịch, không gộp nhiều chiến dịch.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| campaign_idbắt buộc | string | ID chiến dịch, lấy từ lw-list-campaigns. |
| from_date | string | Từ ngày (ISO 8601). Hiện được nhận và trả lại nguyên giá trị nhưng không làm thay đổi số liệu: báo cáo luôn tính từ ngày tạo chiến dịch tới hiện tại. |
| to_date | string | Đến ngày (ISO 8601). Như from_date: hiện không làm thay đổi số liệu. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-campaign \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "6650f1c2a9b3e4d5f6a7b8c9"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"campaign_id": "6718a3f2c4e5b20012ab34cd",
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"detail_url": "https://work.ladipage.com/campaigns/6718a3f2c4e5b20012ab34cd",
"field_labels": {
"total_send": "Đã gửi",
"total_delivery": "Đã nhận",
"total_read": "Đã đọc",
"total_click": "Đã click",
"total_unsubscribe_mail": "Hủy nhận mail",
"total_bounce": "Bị trả lại",
"total_complaint": "Báo spam",
"delivery_rate": "Tỉ lệ nhận",
"read_rate": "Tỉ lệ đọc",
"click_rate": "Tỉ lệ click"
},
"overview": {
"total_send": 1198,
"total_delivery": 1172,
"total_read": 486,
"total_click": 93,
"total_unsubscribe_mail": 7,
"total_bounce": 26,
"total_complaint": 2,
"delivery_rate": 97.83,
"read_rate": 41.47,
"click_rate": 7.94
}
}
}delivery_rate = nhận / gửi, read_rate = đọc / nhận, click_rate = click / nhận, đơn vị %. total_unsubscribe_mail là số hủy nhận mail, total_bounce là số bị trả lại, total_complaint là số báo spam.
Lưu ý
- Số liệu là của tin chính (bước đầu tiên) của chiến dịch, tính từ ngày tạo chiến dịch tới thời điểm gọi.
- Tỉ lệ làm tròn 2 chữ số thập phân; mẫu số bằng 0 thì tỉ lệ = 0.
- Chiến dịch chưa gắn nội dung gửi thì mọi chỉ số bằng 0.
Liệt kê khách hàng của chiến dịch theo trạng thái Đọc
POST/2.0/api/lw-report-campaign-customers
Liệt kê khách hàng của một chiến dịch theo trạng thái tương tác (đã gửi, nhận, đọc, click, lỗi...) kèm tổng số theo từng trạng thái. Dùng để xuất danh sách khách đã mở hoặc gửi lỗi.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| campaign_idbắt buộc | string | ID chiến dịch, lấy từ lw-list-campaigns. |
| flow_config_id | string | ID một bước cụ thể của chiến dịch. Bỏ trống = tin chính (bước đầu tiên) của chiến dịch. |
| status | string | Trạng thái tương tác: SEND (đã gửi), DELIVERY (đã nhận), READ (đã đọc), CLICK (đã click), BOUNCE (bị trả lại), COMPLAINT (báo spam), PROCESSING (đang xử lý), ERROR (lỗi gửi), WAITING (đang chờ gửi). Giá trị không hợp lệ được coi là SEND.Giá trị: SEND, DELIVERY, READ, CLICK, BOUNCE, COMPLAINT, PROCESSING, ERROR, WAITINGMặc định: SEND |
| name | string | Lọc theo tên khách hàng, khớp một phần, không phân biệt hoa thường và dấu tiếng Việt. |
| from_date | string | Từ thời điểm (ISO 8601), lọc theo thời điểm tương tác của khách. Bỏ trống cả hai mốc = toàn bộ thời gian. Giá trị được so đúng thời điểm: nên truyền kèm giờ và múi giờ, ví dụ 2026-10-01T00:00:00+07:00. |
| to_date | string | Đến thời điểm (ISO 8601). Ngày không kèm giờ được hiểu là 00:00 UTC của ngày đó; để lấy trọn ngày cuối, truyền ví dụ 2026-10-31T23:59:59+07:00. |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số khách mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-campaign-customers \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "6650f1c2a9b3e4d5f6a7b8c9",
"status": "READ",
"page": 1,
"limit": 50
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"campaign_id": "6718a3f2c4e5b20012ab34cd",
"flow_config_id": "6718a3f2c4e5b20012ab34d0",
"status": "READ",
"status_label": "Đã đọc",
"detail_url": "https://work.ladipage.com/campaigns/6718a3f2c4e5b20012ab34cd",
"page": 1,
"limit": 20,
"total": 486,
"count": 2,
"summary": {
"send": 1198,
"delivery": 1172,
"read": 486,
"click": 93,
"bounce": 26,
"complaint": 2,
"processing": 0,
"error": 0,
"waiting": 0
},
"summary_labels": {
"send": "Đã gửi",
"delivery": "Đã nhận",
"read": "Đã đọc",
"click": "Đã click",
"bounce": "Bị trả lại",
"complaint": "Báo spam",
"processing": "Đang xử lý",
"error": "Lỗi gửi",
"waiting": "Đang chờ gửi"
},
"field_labels": {
"name": "Tên khách hàng",
"email": "Email",
"phone": "Số điện thoại",
"total_action": "Số lượt",
"report_date": "Ngày ghi nhận",
"last_time_action": "Lần tương tác gần nhất"
},
"items": [
{
"id": "6701d2e3f4a5b60011c7d8e9",
"name": "Nguyễn Văn An",
"email": "an***@gmail.com",
"phone": "******5678",
"total_action": 2,
"report_date": "2026-10-25",
"last_time_action": "2026-10-25T10:12:00+07:00",
"error_message": null,
"ai_call_duration": null,
"detail_url": "https://work.ladipage.com/customers/6701d2e3f4a5b60011c7d8e9"
},
{
"id": "6701d2e3f4a5b60011c7d8ea",
"name": "Trần Thị Bình",
"email": "bi***@example.com",
"phone": "******4321",
"total_action": 1,
"report_date": "2026-10-25",
"last_time_action": "2026-10-25T10:12:00+07:00",
"error_message": null,
"ai_call_duration": null,
"detail_url": "https://work.ladipage.com/customers/6701d2e3f4a5b60011c7d8ea"
}
]
}
}id trong items[] là mã khách hàng. total_action là số lượt theo trạng thái đang xem. error_message chỉ có giá trị khi gửi lỗi; ai_call_duration tính bằng giây, chỉ có với bước gọi AI. Email và số điện thoại đã được che một phần.
Lưu ý
- Sắp xếp theo lần tương tác gần nhất trước.
- Email và số điện thoại trong kết quả đã được che một phần.
- Khách đã bị xoá có name = DELETED_CUSTOMER. Khách tạo sau thời điểm workspace vượt hạn mức số khách hàng bị ẩn tên, email, số điện thoại và id.
- Trả lỗi khi chiến dịch không tồn tại hoặc chưa gắn nội dung gửi.
Báo cáo tổng quan flow Đọc
POST/2.0/api/lw-report-flow
Báo cáo một flow: số lượt và số khách vào flow, doanh thu, credit và chi phí đã dùng, cùng phễu gửi, nhận, đọc, click của từng bước. Mỗi bước có flow_config_id để xem chi tiết bằng lw-report-flow-step hoặc lw-report-flow-customers.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| flow_idbắt buộc | string | ID flow, lấy từ lw-list-flows. Flow phải ở trạng thái PUBLISHED. |
| trigger_id | string | Chỉ tính lượt vào flow từ một sự kiện kích hoạt (trigger) cụ thể. Bỏ trống = mọi trigger. |
| from_date | string | Từ ngày, định dạng YYYY-MM-DD (ISO 8601). Phải đi cùng to_date. Bỏ trống cả hai = toàn bộ thời gian. Số liệu được lưu theo ngày của múi giờ workspace và cả hai mốc đều được tính. |
| to_date | string | Đến ngày, định dạng YYYY-MM-DD (ISO 8601). Phải đi cùng from_date. from_date = to_date là báo cáo một ngày. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-flow \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"flow_id": "6650f1c2a9b3e4d5f6a7b8c9",
"from_date": "2026-10-01",
"to_date": "2026-10-31"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"flow_id": "6712b8e1a9d4c30015f0e7a2",
"name": "Flow chào mừng khách mới",
"type": "AUTOMATION",
"status": "PUBLISHED",
"query_type": "RANGE_TIME",
"from_date": "2026-10-01",
"to_date": "2026-10-28",
"detail_url": "https://work.ladipage.com/flows/6712b8e1a9d4c30015f0e7a2",
"overview": {
"total_subscribe": 2384,
"unique_subscribe": 2210,
"total_revenue": 45600000,
"spend_credits": 1520,
"spend_money": 1824000
},
"steps": [
{
"flow_config_id": "6712b9a0a9d4c30015f0e7b1",
"name": "Gửi email chào mừng",
"type": "EMAIL",
"type_label": "Email",
"ordering": 1,
"total_send": 2384,
"total_send_percent": 100.0,
"total_delivery": 2331,
"total_delivery_percent": 97.78,
"total_read": 1104,
"total_read_percent": 47.36,
"total_click": 215,
"total_click_percent": 9.22,
"spend_credits": 0,
"spend_money": 0,
"total_revenue": 28400000
},
{
"flow_config_id": "6712b9c4a9d4c30015f0e7b5",
"name": "Gửi Zalo ZNS nhắc dùng thử",
"type": "ZALO_ZNS",
"type_label": "Zalo ZNS",
"ordering": 2,
"total_send": 1520,
"total_send_percent": 63.76,
"total_delivery": 1488,
"total_delivery_percent": 97.89,
"total_read": 1012,
"total_read_percent": 68.01,
"total_click": 134,
"total_click_percent": 9.01,
"spend_credits": 1520,
"spend_money": 1824000,
"total_revenue": 17200000
}
],
"created_at": "2026-10-03T11:20:00+07:00",
"updated_at": "2026-10-27T09:15:00+07:00"
}
}query_type: ALL_TIME | DAILY | RANGE_TIME. Trong overview: total_subscribe là tổng lượt vào flow, unique_subscribe là số khách duy nhất, total_revenue là doanh thu, spend_credits là credit đã dùng, spend_money là chi phí. steps[] theo thứ tự bước; total_send_percent tính trên lượt vào flow, total_delivery_percent trên số đã gửi, total_read_percent và total_click_percent trên số đã nhận.
Lưu ý
- Chỉ truyền một trong hai mốc ngày sẽ bị từ chối.
- Flow ở trạng thái DRAF hoặc RUNNING (chưa xuất bản) trả lỗi.
- Khoảng ngày kết thúc trước 23/10/2023 trả số liệu tổng hợp theo cách tính cũ, không theo đúng khoảng ngày.
- Flow nhiều dữ liệu có thể mất vài chục giây vì phải tính chi phí và doanh thu; đặt thời gian chờ phía client đủ dài.
- Phần trăm làm tròn 2 chữ số thập phân.
Liệt kê khách hàng theo bước của flow Đọc
POST/2.0/api/lw-report-flow-customers
Liệt kê khách hàng của một bước trong flow theo trạng thái tương tác (đã gửi, nhận, đọc, click, lỗi...) kèm tổng số theo từng trạng thái.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| flow_idbắt buộc | string | ID flow, lấy từ lw-list-flows. |
| flow_config_id | string | ID bước, lấy từ steps[].flow_config_id của lw-report-flow. Nên truyền: bỏ trống thì không lọc theo bước. |
| status | string | Trạng thái tương tác: SEND (đã gửi), DELIVERY (đã nhận), READ (đã đọc), CLICK (đã click), BOUNCE (bị trả lại), COMPLAINT (báo spam), PROCESSING (đang xử lý), ERROR (lỗi gửi), WAITING (đang chờ gửi). Giá trị không hợp lệ được coi là SEND.Giá trị: SEND, DELIVERY, READ, CLICK, BOUNCE, COMPLAINT, PROCESSING, ERROR, WAITINGMặc định: SEND |
| name | string | Lọc theo tên khách hàng, khớp một phần, không phân biệt hoa thường và dấu tiếng Việt. |
| from_date | string | Từ thời điểm (ISO 8601), lọc theo thời điểm tương tác của khách. Bỏ trống cả hai mốc = toàn bộ thời gian. Nên truyền kèm giờ và múi giờ, ví dụ 2026-10-01T00:00:00+07:00. |
| to_date | string | Đến thời điểm (ISO 8601). Ngày không kèm giờ được hiểu là 00:00 UTC; để lấy trọn ngày cuối, truyền ví dụ 2026-10-31T23:59:59+07:00. |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số khách mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-flow-customers \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"flow_id": "6650f1c2a9b3e4d5f6a7b8c9",
"flow_config_id": "6650f1c2a9b3e4d5f6a7b8e1",
"status": "CLICK"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"flow_id": "6712b8e1a9d4c30015f0e7a2",
"flow_config_id": "6712b9c4a9d4c30015f0e7b5",
"status": "CLICK",
"status_label": "Đã click",
"page": 1,
"limit": 20,
"total": 134,
"count": 2,
"summary": {
"send": 1520,
"delivery": 1488,
"read": 1012,
"click": 134,
"bounce": 0,
"complaint": 0,
"processing": 4,
"error": 28,
"waiting": 12
},
"summary_labels": {
"send": "Đã gửi",
"delivery": "Đã nhận",
"read": "Đã đọc",
"click": "Đã click",
"bounce": "Bị trả lại",
"complaint": "Báo spam",
"processing": "Đang xử lý",
"error": "Lỗi gửi",
"waiting": "Đang chờ gửi"
},
"field_labels": {
"name": "Tên khách hàng",
"email": "Email",
"phone": "Số điện thoại",
"total_action": "Số lượt",
"report_date": "Ngày ghi nhận",
"last_time_action": "Lần tương tác gần nhất"
},
"items": [
{
"id": "6701d2e3f4a5b60011c7d8e9",
"name": "Nguyễn Văn An",
"email": "an***@gmail.com",
"phone": "******5678",
"total_action": 1,
"report_date": "2026-10-25",
"last_time_action": "2026-10-25T10:12:00+07:00",
"error_message": null,
"ai_call_duration": null,
"detail_url": "https://work.ladipage.com/customers/6701d2e3f4a5b60011c7d8e9"
},
{
"id": "6701d2e3f4a5b60011c7d8eb",
"name": "Lê Minh Châu",
"email": "ch***@example.com",
"phone": "******9012",
"total_action": 2,
"report_date": "2026-10-25",
"last_time_action": "2026-10-25T10:12:00+07:00",
"error_message": null,
"ai_call_duration": null,
"detail_url": "https://work.ladipage.com/customers/6701d2e3f4a5b60011c7d8eb"
}
]
}
}id trong items[] là mã khách hàng. error_message chỉ có giá trị khi gửi lỗi; ai_call_duration tính bằng giây, chỉ có với bước gọi AI. Email và số điện thoại đã được che một phần.
Lưu ý
- Sắp xếp theo lần tương tác gần nhất trước.
- Email và số điện thoại trong kết quả đã được che một phần.
- Khách đã bị xoá có name = DELETED_CUSTOMER. Khách tạo sau thời điểm workspace vượt hạn mức số khách hàng bị ẩn tên, email, số điện thoại và id.
Báo cáo chi tiết một bước của flow Đọc
POST/2.0/api/lw-report-flow-step
Báo cáo một bước (hành động) trong flow: phễu gửi, nhận, đọc, click với tỉ lệ, số trả lại, báo spam, hủy nhận mail, và credit, chi phí, doanh thu của riêng bước đó.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| flow_idbắt buộc | string | ID flow, lấy từ lw-list-flows. |
| flow_config_idbắt buộc | string | ID bước, lấy từ steps[].flow_config_id của lw-report-flow. |
| from_date | string | Từ ngày, định dạng YYYY-MM-DD (ISO 8601). Nên truyền cùng to_date. Bỏ trống cả hai = toàn bộ thời gian. Số liệu được lưu theo ngày của múi giờ workspace và cả hai mốc đều được tính. |
| to_date | string | Đến ngày, định dạng YYYY-MM-DD (ISO 8601). from_date = to_date là báo cáo một ngày. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-flow-step \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"flow_id": "6650f1c2a9b3e4d5f6a7b8c9",
"flow_config_id": "6650f1c2a9b3e4d5f6a7b8e1",
"from_date": "2026-10-01",
"to_date": "2026-10-31"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"flow_id": "6712b8e1a9d4c30015f0e7a2",
"flow_config_id": "6712b9a0a9d4c30015f0e7b1",
"from_date": "2026-10-01",
"to_date": "2026-10-28",
"detail_url": "https://work.ladipage.com/flows/6712b8e1a9d4c30015f0e7a2",
"field_labels": {
"total_send": "Đã gửi",
"total_delivery": "Đã nhận",
"total_read": "Đã đọc",
"total_click": "Đã click",
"total_bounce": "Bị trả lại",
"total_complaint": "Báo spam",
"total_unsubscribe_mail": "Hủy nhận mail",
"spend_credits": "Credit đã dùng",
"spend_money": "Chi phí",
"total_revenue": "Doanh thu"
},
"overview": {
"total_send": 2384,
"total_delivery": 2331,
"total_read": 1104,
"total_click": 215,
"total_bounce": 53,
"total_complaint": 4,
"total_unsubscribe_mail": 11,
"delivery_rate": 97.78,
"read_rate": 47.36,
"click_rate": 9.22,
"bounce_rate": 2.22,
"complaint_rate": 0.17,
"unsubscribe_mail_rate": 0.47,
"spend_credits": 0,
"spend_money": 0,
"total_revenue": 28400000
}
}
}Các tỉ lệ tính bằng %: delivery_rate = nhận / gửi, read_rate = đọc / nhận, click_rate = click / nhận, bounce_rate = trả lại / gửi, complaint_rate = báo spam / gửi, unsubscribe_mail_rate = hủy nhận / nhận.
Lưu ý
- Khoảng ngày kết thúc trước 23/10/2023 trả số liệu tổng hợp theo cách tính cũ.
- Để xem danh sách khách của bước này, dùng
lw-report-flow-customers.
Báo cáo tổng quan chuỗi tin Đọc
POST/2.0/api/lw-report-sequence
Báo cáo một chuỗi tin tự động: lượt đăng ký, số khách duy nhất, lượt hoàn tất và dở dang cùng tỉ lệ, số tin trong chuỗi.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| sequence_idbắt buộc | string | ID chuỗi tin, lấy từ lw-list-sequences. |
| from_date | string | Từ ngày (ISO 8601). Hiện được nhận và trả lại nguyên giá trị nhưng không làm thay đổi số liệu: báo cáo luôn tính trên toàn bộ thời gian. |
| to_date | string | Đến ngày (ISO 8601). Như from_date: hiện không làm thay đổi số liệu. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-sequence \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sequence_id": "6650f1c2a9b3e4d5f6a7b8c9"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"sequence_id": "6713c4d2b7e8f10019a2c5b3",
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"detail_url": "https://work.ladipage.com/sequences/6713c4d2b7e8f10019a2c5b3",
"field_labels": {
"total_subscribe": "Lượt đăng ký",
"unique_subscriber": "Số khách",
"total_complete": "Lượt hoàn tất",
"total_incomplete": "Lượt dở dang",
"complete_percent": "Tỉ lệ hoàn tất",
"incomplete_percent": "Tỉ lệ dở dang",
"total_message": "Số tin"
},
"overview": {
"total_subscribe": 962,
"unique_subscriber": 940,
"total_complete": 418,
"total_incomplete": 544,
"complete_percent": 43,
"incomplete_percent": 57,
"total_message": 4
}
}
}total_subscribe là lượt đăng ký, unique_subscriber là số khách duy nhất, total_complete / total_incomplete là lượt hoàn tất / dở dang; complete_percent và incomplete_percent làm tròn số nguyên. total_message là số tin trong chuỗi.
Lưu ý
- Trả lỗi khi chuỗi tin không tồn tại hoặc đã bị xoá.
Liệt kê khách hàng đăng ký chuỗi tin Đọc
POST/2.0/api/lw-report-sequence-customers
Liệt kê khách hàng đã đăng ký một chuỗi tin, kèm phần trăm hoàn thành, tin hiện tại và trạng thái, cùng tổng lượt đăng ký, hoàn tất, chưa hoàn tất.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| sequence_idbắt buộc | string | ID chuỗi tin, lấy từ lw-list-sequences. |
| status | string | COMPLETE = đã hoàn tất; INCOMPLETE = chưa hoàn tất (gồm cả khách đã hủy đăng ký). Bỏ trống hoặc giá trị khác = tất cả.Giá trị: COMPLETE, INCOMPLETE |
| keyword | string | Tìm theo tên khách hàng, khớp một phần, không phân biệt hoa thường và dấu tiếng Việt. |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số khách mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-sequence-customers \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sequence_id": "6650f1c2a9b3e4d5f6a7b8c9",
"status": "INCOMPLETE"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"sequence_id": "6713c4d2b7e8f10019a2c5b3",
"status": "",
"page": 1,
"limit": 20,
"total": 962,
"count": 2,
"summary": {
"total_subscribe": 962,
"total_complete": 418,
"total_incomplete": 544
},
"summary_labels": {
"total_subscribe": "Lượt đăng ký",
"total_complete": "Lượt hoàn tất",
"total_incomplete": "Lượt dở dang"
},
"field_labels": {
"name": "Tên khách hàng",
"email": "Email",
"phone": "Số điện thoại",
"complete_percent": "Tiến độ",
"current_step": "Tin hiện tại",
"last_subscribe_time": "Lần đăng ký gần nhất"
},
"items": [
{
"id": "6701d2e3f4a5b60011c7d8e9",
"name": "Nguyễn Văn An",
"email": "an***@gmail.com",
"phone": "******5678",
"total_subscribe": 1,
"complete_percent": 100,
"current_step": "Tin 4 - Ưu đãi nâng cấp",
"current_step_index": 4,
"status": "COMPLETE",
"status_label": "Đã hoàn tất",
"last_subscribe_time": "2026-10-20T08:45:00+07:00",
"detail_url": "https://work.ladipage.com/customers/6701d2e3f4a5b60011c7d8e9"
},
{
"id": "6701d2e3f4a5b60011c7d8ec",
"name": "Phạm Thu Hà",
"email": "ha***@example.com",
"phone": "******3456",
"total_subscribe": 1,
"complete_percent": 50,
"current_step": "Tin 2 - Hướng dẫn tạo trang đầu tiên",
"current_step_index": 2,
"status": "INCOMPLETE",
"status_label": "Chưa hoàn tất",
"last_subscribe_time": "2026-10-20T08:45:00+07:00",
"detail_url": "https://work.ladipage.com/customers/6701d2e3f4a5b60011c7d8ec"
}
]
}
}total tính theo bộ lọc; summary tính trên toàn chuỗi, không theo bộ lọc. id trong items[] là mã khách hàng. complete_percent là null khi khách chưa nhận tin nào. current_step là tên tin hiện tại, hiện (đã xoá) nếu tin đã bị xoá. status: COMPLETE | INCOMPLETE | UNSUBSCRIBE. Email và số điện thoại đã được che một phần.
Lưu ý
- Không có bộ lọc thời gian.
- Sắp xếp theo lần đăng ký gần nhất trước.
- Email và số điện thoại trong kết quả đã được che một phần.
Báo cáo chi tiết một tin trong chuỗi tin Đọc
POST/2.0/api/lw-report-sequence-message
Báo cáo một tin trong chuỗi tin: phễu gửi, nhận, đọc, click với tỉ lệ, số đang chờ gửi, trả lại, báo spam, hủy nhận mail.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| sequence_idbắt buộc | string | ID chuỗi tin, lấy từ lw-list-sequences. |
| flow_idbắt buộc | string | flow_id của tin, lấy từ items[].flow_id của lw-list-sequence-messages. |
| flow_config_id | string | ID một bước cụ thể của tin. Bỏ trống = bước chính (bước đầu tiên) của tin. |
| from_date | string | Từ ngày (ISO 8601). Hiện được nhận và trả lại nguyên giá trị nhưng không làm thay đổi số liệu: báo cáo luôn tính trên toàn bộ thời gian. |
| to_date | string | Đến ngày (ISO 8601). Như from_date: hiện không làm thay đổi số liệu. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-sequence-message \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sequence_id": "6650f1c2a9b3e4d5f6a7b8c9",
"flow_id": "6650f1c2a9b3e4d5f6a7b8d2"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"sequence_id": "6713c4d2b7e8f10019a2c5b3",
"flow_id": "6713c5a1b7e8f10019a2c5c0",
"flow_config_id": "6713c5a1b7e8f10019a2c5c2",
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"detail_url": "https://work.ladipage.com/sequences/6713c4d2b7e8f10019a2c5b3",
"field_labels": {
"total_send": "Đã gửi",
"total_delivery": "Đã nhận",
"total_read": "Đã đọc",
"total_click": "Đã click",
"total_bounce": "Bị trả lại",
"total_complaint": "Báo spam",
"total_unsubscribe_mail": "Hủy nhận mail",
"total_waiting": "Đang chờ gửi"
},
"overview": {
"total_send": 962,
"total_delivery": 945,
"total_read": 512,
"total_click": 88,
"total_bounce": 17,
"total_complaint": 1,
"total_unsubscribe_mail": 5,
"total_waiting": 0,
"delivery_rate": 98.23,
"read_rate": 54.18,
"click_rate": 9.31
}
}
}flow_config_id là bước đã dùng để tính. total_waiting là số tin đang chờ gửi. delivery_rate = nhận / gửi, read_rate = đọc / nhận, click_rate = click / nhận, đơn vị %.
Lưu ý
- Tỉ lệ làm tròn 2 chữ số thập phân; mẫu số bằng 0 thì tỉ lệ = 0.
Báo cáo giá trị Space bán hàng theo giai đoạn Đọc
POST/2.0/api/lw-report-deals
Số tổng của một Space bán hàng giống đầu cột trên board: mỗi giai đoạn có số thẻ đang mở, tổng giá trị, tỉ lệ chốt và giá trị dự kiến chốt, kèm tổng cả Space. Dùng để biết Space đang có bao nhiêu tiền và dự kiến chốt được bao nhiêu.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| pipeline_idbắt buộc | string | ID Space bán hàng (loại SALES_PIPELINE), lấy từ lw-list-pipelines. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-deals \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pipeline_id": "6650f1c2a9b3e4d5f6a7b8c9"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"pipeline_id": "6705e1f2a3b4c50013d6e7f8",
"pipeline_name": "Bán hàng gói Doanh nghiệp",
"url": "https://work.ladipage.com/pipelines/6705e1f2a3b4c50013d6e7f8",
"scope_note": "Chỉ tính thẻ đang mở mà bạn được xem.",
"field_labels": {
"total_deals": "Tổng số thẻ",
"total_value": "Tổng giá trị",
"total_expected_value": "Giá trị kỳ vọng",
"win_probability_percent": "Tỉ lệ chốt (%)"
},
"total_deals": 30,
"total_value": 540000000,
"total_expected_value": 210000000,
"stages": [
{
"stage_id": "6705e2a1a3b4c50013d6e801",
"stage_name": "Liên hệ lần đầu",
"deal_count": 18,
"total_value": 300000000,
"win_probability_percent": 20,
"expected_value": 60000000
},
{
"stage_id": "6705e2b6a3b4c50013d6e802",
"stage_name": "Đàm phán",
"deal_count": 12,
"total_value": 240000000,
"win_probability_percent": 62.5,
"expected_value": 150000000
}
]
}
}url là link board của Space. stages[] theo thứ tự cột trên board; win_probability_percent là tỉ lệ chốt (%), expected_value = tổng giá trị × tỉ lệ chốt.
Lưu ý
- Chỉ tính thẻ đang mở (chưa Thành công, chưa Thất bại); không có bộ lọc thời gian, số liệu là hiện trạng tại thời điểm gọi.
- Space bật xác suất theo từng thẻ thì tỉ lệ chốt của giai đoạn là trung bình của các thẻ.
- Space công việc (WORK_PIPELINE) trả lỗi vì không có giá trị và tỉ lệ chốt.
- Quyền: người gọi phải là thành viên LadiWork của workspace (chủ workspace luôn được), được xem Space đó và có quyền xem báo cáo. Số liệu chỉ tính các thẻ người gọi được mở trên ứng dụng.
Tổng hợp ghi chú trên thẻ Đọc
POST/2.0/api/lw-report-deal-notes
Tổng hợp ghi chú nhân viên viết trên thẻ của 1–5 Space trong một khoảng thời gian (theo ngày viết ghi chú): số ghi chú, số thẻ có ghi chú, thống kê theo người viết và danh sách ghi chú kèm thông tin thẻ. Dùng để đọc khách hỏi gì, phản đối gì, vì sao thắng hoặc thua.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| pipeline_idsbắt buộc | array | Mảng 1–5 ID Space (chuỗi), lấy từ lw-list-pipelines. |
| pipeline_ids[]bắt buộc | string | ID một Space. |
| from_datebắt buộc | string | Từ thời điểm viết ghi chú (ISO 8601). Giá trị được so đúng thời điểm, nên truyền kèm giờ và múi giờ, ví dụ 2026-10-01T00:00:00+07:00. |
| to_datebắt buộc | string | Đến thời điểm viết ghi chú (ISO 8601), ví dụ 2026-10-31T23:59:59+07:00. Phải sau from_date và cách from_date không quá 92 ngày. |
| keyword | string | Chỉ lấy ghi chú chứa cụm từ này, không phân biệt hoa thường. Tối đa 200 ký tự. |
| staff_name | string | Lọc theo tên người viết ghi chú (chứa chuỗi này, không phân biệt hoa thường). |
| deal_status | array | Lọc theo trạng thái HIỆN TẠI của thẻ. Bỏ trống = mọi trạng thái. |
| deal_status[] | string | OPEN (đang mở), WON (thành công), LOST (thất bại).Giá trị: OPEN, WON, LOST |
| pinned_only | boolean | true = chỉ lấy ghi chú được ghim.Mặc định: false |
| oldest_first | boolean | true = ghi chú cũ trước; mặc định mới trước.Mặc định: false |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số ghi chú mỗi trang, tối đa 100.Mặc định: 50 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-deal-notes \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pipeline_ids": [
"6650f1c2a9b3e4d5f6a7b8c9"
],
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"deal_status": [
"LOST"
]
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"spaces": ["Bán hàng gói Doanh nghiệp"],
"total_notes": 2,
"deals_with_notes": 2,
"by_staff": [
{
"staff": "Nguyễn Văn An",
"notes": 1,
"deals": 1
},
{
"staff": "Trần Thị Bình",
"notes": 1,
"deals": 1
}
],
"items": [
{
"content": "Đã gọi khách, khách muốn demo tính năng A/B Testing vào thứ 5.",
"is_reply": false,
"pinned": true,
"attachment_count": 0,
"written_by": "Nguyễn Văn An",
"written_at": "2026-10-28T14:30:00+07:00",
"deal_number": 1024,
"deal_title": "Công ty TNHH Minh Phát - gói Doanh nghiệp",
"deal_status": "Đang mở",
"deal_value": 36000000,
"customer_name": "Lê Minh Châu",
"space": "Bán hàng gói Doanh nghiệp",
"stage": "Đàm phán",
"detail_url": "https://work.ladipage.com/deals/6719f0a1b2c3d40015e6f701"
},
{
"content": "Khách đã chuyển khoản, chốt hợp đồng 12 tháng.",
"is_reply": false,
"pinned": false,
"attachment_count": 1,
"written_by": "Trần Thị Bình",
"written_at": "2026-10-27T09:15:00+07:00",
"deal_number": 1019,
"deal_title": "Shop Thời trang Hà Linh - gia hạn",
"deal_status": "Thành công",
"deal_value": 12000000,
"customer_name": "Phạm Thu Hà",
"space": "Bán hàng gói Doanh nghiệp",
"stage": "Chốt hợp đồng",
"detail_url": "https://work.ladipage.com/deals/6719f0a1b2c3d40015e6f6fa"
}
],
"total": 2,
"page": 1,
"limit": 50
}
}spaces là tên các Space. by_staff[] tính trên toàn bộ ghi chú khớp bộ lọc, không chỉ trang hiện tại. content là chữ thuần, cắt ở 1.000 ký tự. deal_status là nhãn: Đang mở | Thành công | Thất bại.
Lưu ý
- Đã loại ghi chú do automation tự tạo (ghi chú hướng dẫn gắn vào thẻ mới).
- Phạm vi quyền giống khi mở thẻ trên ứng dụng: người gọi phải là thành viên LadiWork của workspace và có quyền xem báo cáo ghi chú. Chỉ tính các Space người gọi được xem và các thẻ người gọi được mở (thẻ mình phụ trách, tham gia hoặc theo dõi, thẻ công khai; trưởng nhóm thấy thêm thẻ của thành viên nhóm). Chủ workspace và quản lý LadiWork thấy tất cả.
- Space bán hàng bật chế độ riêng tư: thành viên thường chỉ thấy ghi chú do chính mình viết; chủ Space, quản trị Space và quản lý LadiWork thấy hết.
- Truyền một Space mà người gọi không được xem thì bị từ chối; truyền nhiều Space thì các Space không được xem bị bỏ qua.
- Người viết chỉ trả về tên, không trả id.
Thống kê lý do thất bại Đọc
POST/2.0/api/lw-report-lost-reasons
Thống kê các thẻ bị đánh Thất bại trong khoảng thời gian (theo thời điểm thất bại) trên 1–5 Space bán hàng: đếm theo lý do, số thẻ không ghi lý do, lý do theo từng người phụ trách và danh sách thẻ.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| pipeline_idsbắt buộc | array | Mảng 1–5 ID Space bán hàng (chuỗi), lấy từ lw-list-pipelines. |
| pipeline_ids[]bắt buộc | string | ID một Space bán hàng. |
| from_datebắt buộc | string | Từ thời điểm thất bại (ISO 8601). Giá trị được so đúng thời điểm, nên truyền kèm giờ và múi giờ, ví dụ 2026-10-01T00:00:00+07:00. |
| to_datebắt buộc | string | Đến thời điểm thất bại (ISO 8601), ví dụ 2026-10-31T23:59:59+07:00. Phải sau from_date và cách from_date không quá 92 ngày. |
| reason | string | Lọc danh sách thẻ theo một lý do. So khớp sau khi bỏ dấu, hoa thường, khoảng trắng và dấu câu ở hai đầu, nên viết khác dấu vẫn khớp. Chuỗi rỗng = thẻ không ghi lý do. Không truyền = mọi lý do. |
| staff_name | string | Lọc danh sách thẻ theo tên người phụ trách (chứa chuỗi này, không phân biệt hoa thường). |
| page | number | Trang của danh sách thẻ.Mặc định: 1 |
| limit | number | Số thẻ mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-lost-reasons \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pipeline_ids": [
"6650f1c2a9b3e4d5f6a7b8c9",
"6650f1c2a9b3e4d5f6a7b8ca"
],
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"spaces": ["Bán hàng gói Doanh nghiệp"],
"total_lost": 9,
"reasons": [
{
"reason": "Giá cao",
"count": 6,
"share_percent": 66.67,
"by_space": {
"Bán hàng gói Doanh nghiệp": 6
}
},
{
"reason": "Không ghi lý do",
"count": 3,
"share_percent": 33.33,
"by_space": {
"Bán hàng gói Doanh nghiệp": 3
}
}
],
"by_staff": [
{
"staff": "Nguyễn Văn An",
"lost": 5,
"no_reason": 1,
"top_reasons": [
{
"reason": "Giá cao",
"count": 4
},
{
"reason": "Không ghi lý do",
"count": 1
}
]
},
{
"staff": "Chưa giao",
"lost": 4,
"no_reason": 2,
"top_reasons": [
{
"reason": "Không ghi lý do",
"count": 2
},
{
"reason": "Giá cao",
"count": 2
}
]
}
],
"items": [
{
"deal_number": 1007,
"title": "Công ty CP Sao Việt - gói Doanh nghiệp",
"space": "Bán hàng gói Doanh nghiệp",
"stage": "Đàm phán",
"staff": "Nguyễn Văn An",
"customer_name": "Hoàng Đức Long",
"created_at": "2026-10-02T10:00:00+07:00",
"lost_time": "2026-10-21T16:20:00+07:00",
"lost_reason": "Giá cao",
"lost_comment": "Khách chọn gói của đối thủ rẻ hơn 20%.",
"detail_url": "https://work.ladipage.com/deals/6719f0a1b2c3d40015e6f6e7"
}
],
"total": 9,
"page": 1,
"limit": 20
}
}reason là 'Không ghi lý do' khi thẻ không có lý do; by_space là {tên Space: số thẻ}. Trong by_staff[], staff là 'Chưa giao' khi thẻ không có người phụ trách; top_reasons gồm tối đa 5 lý do.
Lưu ý
- Các cách viết khác nhau của cùng một câu được gộp (bỏ dấu, hoa thường); lý do khác chữ nhưng cùng ý không được gộp. Nhãn reason là cách viết gặp nhiều nhất.
- reasons và
by_stafftính trên toàn bộ thẻ thất bại trong kỳ; reason vàstaff_namechỉ lọc danh sách items. - Danh sách thẻ sắp xếp theo thời điểm thất bại, mới nhất trước.
- Quyền: người gọi phải là thành viên LadiWork của workspace và có quyền xem báo cáo lý do thất bại. Chỉ tính các Space và thẻ người gọi được xem, như trên ứng dụng.
- Người phụ trách chỉ trả về tên, không trả id.
Báo cáo tuân thủ quy trình bán hàng Đọc
POST/2.0/api/lw-report-pipeline-compliance
Kiểm tra nhân viên bán hàng có đi đúng quy trình trên 1–5 Space bán hàng không, tính trên các thẻ TẠO trong khoảng thời gian. Trả bảng tổng theo người phụ trách (tỷ lệ tuân thủ, số vi phạm từng loại) và danh sách thẻ vi phạm.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| pipeline_idsbắt buộc | array | Mảng 1–5 ID Space bán hàng (chuỗi), lấy từ lw-list-pipelines. |
| pipeline_ids[]bắt buộc | string | ID một Space bán hàng. |
| from_datebắt buộc | string | Từ thời điểm tạo thẻ (ISO 8601). Giá trị được so đúng thời điểm, nên truyền kèm giờ và múi giờ, ví dụ 2026-10-01T00:00:00+07:00. |
| to_datebắt buộc | string | Đến thời điểm tạo thẻ (ISO 8601), ví dụ 2026-10-31T23:59:59+07:00. Phải sau from_date và cách from_date không quá 92 ngày. |
| first_contact_hours | number | Ngưỡng liên hệ lần đầu, tính bằng giờ, từ 1 đến 720. Ngoài khoảng này dùng mặc định.Mặc định: 24 |
| stale_days | number | Số ngày không có thay đổi hay liên hệ để coi thẻ đang mở là bị bỏ quên, từ 1 đến 365. Ngoài khoảng này dùng mặc định.Mặc định: 7 |
| staff_name | string | Lọc danh sách thẻ vi phạm theo tên người phụ trách (chứa chuỗi này, không phân biệt hoa thường). |
| violation | string | Chỉ lấy thẻ có một loại vi phạm. Giá trị khác danh sách bị bỏ qua.Giá trị: LOST_NO_CONTACT, LOST_NO_REASON, CALL_TASK_NO_CALL, SLOW_FIRST_CONTACT, MOVED_NO_CONTACT, STALE |
| page | number | Trang của danh sách thẻ vi phạm.Mặc định: 1 |
| limit | number | Số thẻ mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-report-pipeline-compliance \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pipeline_ids": [
"6650f1c2a9b3e4d5f6a7b8c9"
],
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"violation": "SLOW_FIRST_CONTACT"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"first_contact_hours": 24,
"stale_days": 7,
"call_source": "LadiWork Call",
"spaces": ["Bán hàng gói Doanh nghiệp"],
"summary": [
{
"staff": "Nguyễn Văn An",
"deals": 20,
"open": 12,
"won": 5,
"lost": 3,
"deals_with_violation": 4,
"compliance_rate_percent": 80,
"violations": {
"Liên hệ lần đầu chậm": 3,
"Thất bại không ghi lý do": 1
}
}
],
"items": [
{
"deal_number": 1031,
"title": "Công ty TNHH Minh Phát - gói Doanh nghiệp",
"space": "Bán hàng gói Doanh nghiệp",
"stage": "Liên hệ lần đầu",
"status": "Đang mở",
"staff": "Nguyễn Văn An",
"customer_name": "Lê Minh Châu",
"created_at": "2026-10-20T09:00:00+07:00",
"lost_time": null,
"lost_reason": null,
"calls": 1,
"answered_calls": 0,
"stage_changed": false,
"activities_by_sales": 1,
"done_call_activities": 0,
"notes_by_sales": 0,
"first_contact_hours": 30.5,
"last_touch_at": "2026-10-21T15:30:00+07:00",
"violations": ["Liên hệ lần đầu chậm"],
"detail_url": "https://work.ladipage.com/deals/6719f0a1b2c3d40015e6f710"
}
],
"total": 4,
"page": 1,
"limit": 20
}
}first_contact_hours và stale_days ở cấp gốc là giá trị đã áp dụng; call_source là nguồn dữ liệu cuộc gọi. summary[] theo người phụ trách; compliance_rate_percent = % thẻ không vi phạm; violations là {nhãn loại vi phạm: số thẻ}. items[] chỉ gồm thẻ có ít nhất một vi phạm, violations là mảng nhãn vi phạm.
Lưu ý
- Sáu loại vi phạm được kiểm: LOST_NO_CONTACT — thẻ Thất bại khi chưa có liên hệ nào; LOST_NO_REASON — thẻ Thất bại không ghi lý do; CALL_TASK_NO_CALL — có hoạt động gọi (tên chứa gọi/call) được đánh dấu hoàn thành nhưng thẻ không có cuộc gọi nào; SLOW_FIRST_CONTACT — từ lúc tạo thẻ tới lần liên hệ đầu vượt
first_contact_hours, hoặc chưa liên hệ mà thẻ đã quá ngưỡng (không xét thẻ Thành công và thẻ đã tính LOST_NO_CONTACT); MOVED_NO_CONTACT — thẻ đã đổi giai đoạn khi chưa có liên hệ nào; STALE — thẻ đang mở không có thay đổi hay liên hệ quástale_daysngày. - Liên hệ = cuộc gọi, hoặc hoạt động / ghi chú do nhân viên tạo. Không tính hoạt động do automation tạo và hoạt động / ghi chú tạo trong 2 phút đầu sau khi tạo thẻ.
- Trong kết quả, loại vi phạm được trả bằng nhãn tiếng Việt chứ không bằng mã.
- summary tính trên mọi thẻ trong kỳ;
staff_namevà violation chỉ lọc danh sách items. - Quá 20.000 thẻ trong khoảng đã chọn thì trả lỗi; hãy thu hẹp khoảng thời gian hoặc số Space.
- Quyền: người gọi phải là thành viên LadiWork của workspace và có quyền xem báo cáo tuân thủ. Chỉ tính các Space và thẻ người gọi được xem, như trên ứng dụng. Người phụ trách chỉ trả về tên.
Xem nhật ký hoạt động Đọc
POST/2.0/api/lw-list-activity-logs
Xem nhật ký thao tác trong workspace: ai đã tạo, sửa, xoá, nhập, xuất... đối tượng nào và khi nào. Dùng để rà soát thao tác gần đây của nhân viên.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| from_date | string | Từ thời điểm (ISO 8601), ví dụ 2026-10-01T00:00:00+07:00. Phải đi cùng to_date; thiếu một trong hai mốc thì dùng 30 ngày gần nhất. |
| to_date | string | Đến thời điểm (ISO 8601), ví dụ 2026-10-31T23:59:59+07:00. Giá trị được so đúng thời điểm. |
| object_type | string | Lọc theo loại đối tượng, mã viết hoa, ví dụ CUSTOMER, FLOW, BROADCAST (chiến dịch), SEQUENCE, SEGMENT, TEMPLATE, VOUCHER, STAFF, TRIGGER, GOAL. Bỏ trống = tất cả. |
| action | string | Lọc theo hành động, mã viết hoa, ví dụ CREATE, UPDATE, DELETE, DUPLICATE, IMPORT_CUSTOMER, EXPORT_CUSTOMER. Bỏ trống = tất cả. |
| keyword | string | Tìm theo tên hoặc email người thực hiện, khớp một phần, không phân biệt hoa thường. |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số dòng mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-list-activity-logs \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"action": "DELETE"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"object_type": "CUSTOMER",
"action": "CREATE",
"page": 1,
"limit": 20,
"total": 1,
"count": 1,
"field_labels": {
"actor": "Người thực hiện",
"action": "Hành động",
"object_type": "Loại đối tượng",
"object_name": "Đối tượng",
"created_at": "Thời điểm"
},
"items": [
{
"actor": "Nguyễn Văn An",
"actor_email": "an.nguyen@example.com",
"action": "CREATE",
"action_label": "Tạo mới",
"object_type": "CUSTOMER",
"object_type_label": "Khách hàng",
"object_name": "Trần Thị Bình",
"summary": "Nguyễn Văn An đã tạo mới Khách hàng Trần Thị Bình",
"created_at": "2026-10-28T14:30:00+07:00"
}
]
}
}from_date, to_date là khoảng thời gian đã áp dụng. actor là tên người thực hiện; summary là câu tóm tắt hành động.
Lưu ý
- Sắp xếp theo thời điểm, mới nhất trước.
- Thành viên vai trò Người xem (VIEWER) không gọi được API này.
Xem lịch sử nạp điểm và tiền Đọc
POST/2.0/api/lw-list-credit-topups
Xem các lần nạp điểm (APP_DEPOSIT) và nạp tiền (MONEY_ADD) vào tài khoản, kèm số dư trước và sau mỗi lần, và tổng đã nạp theo loại. Khác lw-list-credit-transactions (chi tiêu credit).
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| from_date | string | Từ thời điểm (ISO 8601), ví dụ 2026-01-01T00:00:00+07:00. Phải đi cùng to_date; thiếu một trong hai mốc thì dùng 12 tháng gần nhất. |
| to_date | string | Đến thời điểm (ISO 8601), ví dụ 2026-10-31T23:59:59+07:00. |
| type | string | Lọc theo loại: APP_DEPOSIT (nạp điểm) | MONEY_ADD (nạp tiền). Bỏ trống = cả hai.Giá trị: APP_DEPOSIT, MONEY_ADD |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số dòng mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-list-credit-topups \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_date": "2026-01-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"from_date": "2026-01-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"type": "",
"page": 1,
"limit": 20,
"total": 2,
"total_page": 1,
"count": 2,
"summary": {
"total_points": 50000,
"total_money": 2000000
},
"summary_labels": {
"total_points": "Tổng điểm đã nạp",
"total_money": "Tổng tiền đã nạp"
},
"summary_by_type": [
{
"type": "APP_DEPOSIT",
"type_label": "Nạp điểm",
"total": 50000
},
{
"type": "MONEY_ADD",
"type_label": "Nạp tiền",
"total": 2000000
}
],
"field_labels": {
"credit": "Giá trị",
"type": "Loại",
"description": "Mô tả",
"before_balance": "Số dư trước",
"after_balance": "Số dư sau",
"created_at": "Thời điểm"
},
"items": [
{
"credit": 2000000,
"type": "MONEY_ADD",
"type_label": "Nạp tiền",
"description": "Nạp tiền qua chuyển khoản",
"before_balance": 350000,
"after_balance": 2350000,
"created_at": "2026-10-28T14:30:00+07:00"
},
{
"credit": 50000,
"type": "APP_DEPOSIT",
"type_label": "Nạp điểm",
"description": "Nạp điểm gói 50.000",
"before_balance": 12000,
"after_balance": 62000,
"created_at": "2026-10-10T11:00:00+07:00"
}
]
}
}summary: total_points là tổng điểm đã nạp, total_money là tổng tiền đã nạp. credit là giá trị của lần nạp.
Lưu ý
- Sắp xếp theo thời điểm, mới nhất trước.
- Số tiền làm tròn 2 chữ số thập phân.
Xem giao dịch chi tiêu credit Đọc
POST/2.0/api/lw-list-credit-transactions
Xem các giao dịch tiêu credit (điểm) của workspace khi gửi Zalo ZNS, SMS, email, gọi AI... kèm nguồn phát sinh, số điểm, số tiền, trạng thái, và tổng điểm, tổng tiền trong kỳ.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | ID workspace cần làm việc, lấy từ account-list-workspaces. Bắt buộc khi tài khoản có từ hai workspace trở lên; chỉ có một workspace thì bỏ trống. |
| from_date | string | Từ thời điểm xử lý giao dịch (ISO 8601), ví dụ 2026-10-01T00:00:00+07:00. Phải đi cùng to_date; thiếu một trong hai mốc thì dùng 30 ngày gần nhất. |
| to_date | string | Đến thời điểm xử lý giao dịch (ISO 8601), ví dụ 2026-10-31T23:59:59+07:00. |
| type | string | Lọc theo loại giao dịch (kênh), mã viết hoa, ví dụ ZALO (Zalo ZNS), SMS, EMAIL, ZALO_CARE, AI_CALL, EMAIL_AI, CONTENT_AI. Bỏ trống = tất cả. |
| source | string | Lọc theo nguồn phát sinh: FLOW | CAMPAIGN | SEQUENCE. Giá trị khác bị bỏ qua. Bỏ trống = tất cả.Giá trị: FLOW, CAMPAIGN, SEQUENCE |
| page | number | Số trang.Mặc định: 1 |
| limit | number | Số giao dịch mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/lw-list-credit-transactions \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"type": "ZALO",
"source": "CAMPAIGN"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"from_date": "2026-10-01T00:00:00+07:00",
"to_date": "2026-10-31T23:59:59+07:00",
"type": "",
"source": "",
"page": 1,
"limit": 20,
"total": 2,
"count": 2,
"summary": {
"total_credits": 1530,
"total_money": 1836000
},
"summary_labels": {
"total_credits": "Tổng credit",
"total_money": "Tổng tiền"
},
"field_labels": {
"app_trans_id": "Mã giao dịch",
"type": "Loại",
"source_label": "Nguồn",
"credits": "Credit",
"money": "Số tiền",
"status": "Trạng thái",
"note": "Ghi chú",
"updated_at": "Thời điểm xử lý"
},
"items": [
{
"app_trans_id": "ZNS2610280001",
"type": "ZALO_ZNS",
"type_label": "Zalo ZNS",
"source_label": "Flow",
"credits": 1520,
"money": 1824000,
"status": "DONE",
"status_label": "Đã thanh toán",
"note": "Flow chào mừng khách mới",
"created_at": "2026-10-28T08:00:00+07:00",
"updated_at": "2026-10-28T08:05:00+07:00"
},
{
"app_trans_id": "SMS2610270002",
"type": "SMS",
"type_label": "SMS",
"source_label": "Chiến dịch",
"credits": 10,
"money": 12000,
"status": "PENDING",
"status_label": "Đang chờ duyệt",
"note": "Khuyến mãi tháng 11 - SMS",
"created_at": "2026-10-27T09:00:00+07:00",
"updated_at": "2026-10-27T09:15:00+07:00"
}
]
}
}summary (total_credits, total_money) tính theo bộ lọc. app_trans_id là mã giao dịch; source_label: Flow | Chiến dịch | Sequence. status DONE = Đã thanh toán, các giá trị khác = Đang chờ duyệt. updated_at là thời điểm xử lý.
Lưu ý
- Khoảng thời gian lọc theo thời điểm xử lý giao dịch (
updated_at), không theo thời điểm tạo. Sắp xếp theo thời điểm xử lý, mới nhất trước. - Lọc type = ZALO trả các giao dịch có mã ZALO_ZNS.