Bỏ qua tới nội dung

Workflow

Workflow tự động hoá: đọc, sửa, bật/tắt, chạy, sự kiện trigger.api. · 16 endpoint

Danh sách workflow

GET/api/v1/workflowsScope: workflow:read

Tham số

account_id
query · 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:write

Body (JSON)

name
bắt buộc
string
max 200
description
tuỳ chọn
string
max 2000 · default ""
enabled
tuỳ chọn
boolean
default false
channel
tuỳ chọn
"zalo" | "facebook" | "telegram_user" | "telegram_bot"
default "zalo"
account_ids
tuỳ chọn
string[]
max 200 items · default []
Tài khoản áp dụng; rỗng = mọi tài khoản
nodes
bắt buộc
object[]
max 500 items
Node theo định dạng của trình soạn workflow (xem GET /workflows/node-types)
edges
bắ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:read

Lệ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:read

Tham số

workflowId
path · 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:write

Tham số

workflowId
path · bắt buộc
string
max 200

Body (JSON)

name
bắt buộc
string
max 200
description
tuỳ chọn
string
max 2000 · default ""
enabled
tuỳ chọn
boolean
default false
channel
tuỳ chọn
"zalo" | "facebook" | "telegram_user" | "telegram_bot"
default "zalo"
account_ids
tuỳ chọn
string[]
max 200 items · default []
Tài khoản áp dụng; rỗng = mọi tài khoản
nodes
bắt buộc
object[]
max 500 items
Node theo định dạng của trình soạn workflow (xem GET /workflows/node-types)
edges
bắ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:write

Tham số

workflowId
path · bắt buộc
string
max 200

Body (JSON)

enabled
bắ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:write

Tham số

workflowId
path · 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:write

Tham số

workflowId
path · bắt buộc
string
max 200

Body (JSON)

target_account_id
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}/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:run

Tham số

workflowId
path · bắt buộc
string
max 200

Body (JSON)

trigger_data
tuỳ 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:run

Tham số

workflowId
path · bắt buộc
string
max 200

Body (JSON)

trigger_data
tuỳ 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:run

Workflow 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ố

eventName
path · bắt buộc
string
max 100

Body (JSON)

payload
tuỳ chọn
object
default {}
account_id
tuỳ 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:read

Tham số

workflowId
path · bắt buộc
string
max 200
limit
query · 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:write

Tham số

workflowId
path · 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:read

Tham số

workflowId
path · 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:write

Tham số

workflowId
path · 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:write

Như "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ố

accountId
path · bắt buộc
string
max 200

Body (JSON)

to_account_id
bắ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"}'