Workflow
Workflow tự động hoá: đọc, sửa, bật/tắt, chạy, sự kiện trigger.api. · 16 endpoint
- GET/workflows
- POST/workflows
- GET/workflows/node-types
- GET/workflows/{workflowId}
- PUT/workflows/{workflowId}
- PATCH/workflows/{workflowId}
- DELETE/workflows/{workflowId}
- POST/workflows/{workflowId}/clone
- POST/workflows/{workflowId}/run
- POST/workflows/{workflowId}/simulate
- POST/workflows/events/{eventName}
- GET/workflows/{workflowId}/runs
- DELETE/workflows/{workflowId}/runs
- GET/workflows/{workflowId}/webhook-url
- POST/workflows/{workflowId}/webhook-url/regenerate
- POST/accounts/{accountId}/workflows/clone
Danh sách workflow
GET
/api/v1/workflowsScope: workflow:readTham số
account_idquery · tuỳ chọn | string max 200 | Chỉ workflow áp dụng cho tài khoản này |
Lệnh mẫu
bash
curl "http://127.0.0.1:9900/api/v1/workflows" \
-H "Authorization: Bearer dpk_xxx"Tạo workflow
POST
/api/v1/workflowsScope: workflow:writeBody (JSON)
namebắt buộc | string max 200 | |
descriptiontuỳ chọn | string max 2000 · default "" | |
enabledtuỳ chọn | boolean default false | |
channeltuỳ chọn | "zalo" | "facebook" | "telegram_user" | "telegram_bot" default "zalo" | |
account_idstuỳ chọn | string[] max 200 items · default [] | Tài khoản áp dụng; rỗng = mọi tài khoản |
nodesbắt buộc | object[] max 500 items | Node theo định dạng của trình soạn workflow (xem GET /workflows/node-types) |
edgesbắt buộc | object[] max 2000 items |
Lệnh mẫu
bash
curl -X POST "http://127.0.0.1:9900/api/v1/workflows" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"name":"string","nodes":[],"edges":[]}'Danh mục node (như palette của trình soạn) và cấu hình mặc định
GET
/api/v1/workflows/node-typesScope: workflow:readLệnh mẫu
bash
curl "http://127.0.0.1:9900/api/v1/workflows/node-types" \
-H "Authorization: Bearer dpk_xxx"Một workflow (kèm nodes, edges)
GET
/api/v1/workflows/{workflowId}Scope: workflow:readTham số
workflowIdpath · bắt buộc | string max 200 |
Lệnh mẫu
bash
curl "http://127.0.0.1:9900/api/v1/workflows/{workflowId}" \
-H "Authorization: Bearer dpk_xxx"Ghi đè workflow (giữ id, ngày tạo)
PUT
/api/v1/workflows/{workflowId}Scope: workflow:writeTham số
workflowIdpath · bắt buộc | string max 200 |
Body (JSON)
namebắt buộc | string max 200 | |
descriptiontuỳ chọn | string max 2000 · default "" | |
enabledtuỳ chọn | boolean default false | |
channeltuỳ chọn | "zalo" | "facebook" | "telegram_user" | "telegram_bot" default "zalo" | |
account_idstuỳ chọn | string[] max 200 items · default [] | Tài khoản áp dụng; rỗng = mọi tài khoản |
nodesbắt buộc | object[] max 500 items | Node theo định dạng của trình soạn workflow (xem GET /workflows/node-types) |
edgesbắt buộc | object[] max 2000 items |
Lệnh mẫu
bash
curl -X PUT "http://127.0.0.1:9900/api/v1/workflows/{workflowId}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"name":"string","nodes":[],"edges":[]}'Bật / tắt workflow
PATCH
/api/v1/workflows/{workflowId}Scope: workflow:writeTham số
workflowIdpath · bắt buộc | string max 200 |
Body (JSON)
enabledbắt buộc | boolean |
Lệnh mẫu
bash
curl -X PATCH "http://127.0.0.1:9900/api/v1/workflows/{workflowId}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"enabled":false}'Xoá workflow
DELETE
/api/v1/workflows/{workflowId}Scope: workflow:writeTham số
workflowIdpath · bắt buộc | string max 200 |
Lệnh mẫu
bash
curl -X DELETE "http://127.0.0.1:9900/api/v1/workflows/{workflowId}" \
-H "Authorization: Bearer dpk_xxx"Nhân bản workflow sang tài khoản khác
POST
/api/v1/workflows/{workflowId}/cloneScope: workflow:writeTham số
workflowIdpath · bắt buộc | string max 200 |
Body (JSON)
target_account_idbắt buộc | string max 200 |
Lệnh mẫu
bash
curl -X POST "http://127.0.0.1:9900/api/v1/workflows/{workflowId}/clone" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"target_account_id":"string"}'Chạy workflow ngay với dữ liệu kích hoạt tuỳ ý (như nút "Chạy thử")
POST
/api/v1/workflows/{workflowId}/runScope: workflow:runTham số
workflowIdpath · bắt buộc | string max 200 |
Body (JSON)
trigger_datatuỳ chọn | object default {} |
Lệnh mẫu
bash
curl -X POST "http://127.0.0.1:9900/api/v1/workflows/{workflowId}/run" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"trigger_data":{}}'Chạy giả lập (không gửi tin thật)
POST
/api/v1/workflows/{workflowId}/simulateScope: workflow:runTham số
workflowIdpath · bắt buộc | string max 200 |
Body (JSON)
trigger_datatuỳ chọn | object default {} |
Lệnh mẫu
bash
curl -X POST "http://127.0.0.1:9900/api/v1/workflows/{workflowId}/simulate" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"trigger_data":{}}'Bắn sự kiện cho các workflow có node "Khi API/plugin gọi" (trigger.api)
POST
/api/v1/workflows/events/{eventName}Scope: workflow:runWorkflow khớp tên sự kiện sẽ chạy bất đồng bộ (như mọi trigger). Trong workflow dùng {{ $trigger.payload.<trường> }}.
Tham số
eventNamepath · bắt buộc | string max 100 |
Body (JSON)
payloadtuỳ chọn | object default {} | |
account_idtuỳ chọn | string max 200 | Chỉ chạy workflow áp dụng cho tài khoản này |
Lệnh mẫu
bash
curl -X POST "http://127.0.0.1:9900/api/v1/workflows/events/{eventName}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"payload":{"order_id":"DH2291","phone":"0901234567"}}'Phản hồi mẫu
json
{
"success": true,
"data": {
"matched": 1,
"workflow_ids": [
"8c1f…"
]
},
"request_id": "3f0c0b6e-6d0a-4b8e-9d1a-1d2f3a4b5c6d"
}Lịch sử chạy gần đây
GET
/api/v1/workflows/{workflowId}/runsScope: workflow:readTham số
workflowIdpath · bắt buộc | string max 200 | |
limitquery · tuỳ chọn | integer ≥ 1 · ≤ 200 · default 50 |
Lệnh mẫu
bash
curl "http://127.0.0.1:9900/api/v1/workflows/{workflowId}/runs" \
-H "Authorization: Bearer dpk_xxx"Xoá lịch sử chạy của workflow
DELETE
/api/v1/workflows/{workflowId}/runsScope: workflow:writeTham số
workflowIdpath · bắt buộc | string max 200 |
Lệnh mẫu
bash
curl -X DELETE "http://127.0.0.1:9900/api/v1/workflows/{workflowId}/runs" \
-H "Authorization: Bearer dpk_xxx"URL webhook công khai của node "Webhook bên ngoài"
GET
/api/v1/workflows/{workflowId}/webhook-urlScope: workflow:readTham số
workflowIdpath · bắt buộc | string max 200 |
Lệnh mẫu
bash
curl "http://127.0.0.1:9900/api/v1/workflows/{workflowId}/webhook-url" \
-H "Authorization: Bearer dpk_xxx"Đổi token webhook (link cũ hết hiệu lực ngay)
POST
/api/v1/workflows/{workflowId}/webhook-url/regenerateScope: workflow:writeTham số
workflowIdpath · bắt buộc | string max 200 |
Lệnh mẫu
bash
curl -X POST "http://127.0.0.1:9900/api/v1/workflows/{workflowId}/webhook-url/regenerate" \
-H "Authorization: Bearer dpk_xxx"Sao chép mọi workflow của tài khoản này sang tài khoản khác
POST
/api/v1/accounts/{accountId}/workflows/cloneScope: workflow:writeNhư "Sao chép workflow sang tài khoản" trong app: bản sao áp dụng cho tài khoản đích, giữ trạng thái bật/tắt.
Tham số
accountIdpath · bắt buộc | string max 200 |
Body (JSON)
to_account_idbắt buộc | string max 200 |
Lệnh mẫu
bash
curl -X POST "http://127.0.0.1:9900/api/v1/accounts/{accountId}/workflows/clone" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"to_account_id":"string"}'