Skip to content

异步运行工作流

⚡ 异步执行

此接口立即返回执行 ID,不等待工作流执行完成。适用于长时间运行的工作流。

接口描述

异步执行指定的工作流,立即返回执行 ID,不等待工作流执行完成。

请求方式

POST https://newapi.iflyrpa.com/api/rpa-openapi/workflows/execute-async

认证要求

需要带 BEARER TOKEN

请在请求头中添加:

Authorization: Bearer {YOUR_API_KEY}

请求头

字段名类型必填说明
Content-TypeStringapplication/json
AuthorizationStringBearer

请求体参数

参数名类型必填说明
project_idString工作流项目 ID
exec_positionString执行位置,通常为 "EXECUTOR"
paramsObject工作流参数,key-value 对象
versionInteger工作流版本号,不填默认运行当前启用版本

请求示例

示例 1:带参数的异步执行

json
{
    "project_id": "1965981379635499008",
    "exec_position": "EXECUTOR",
    "params": {
        "content": "调用"
    }
}

示例 2:不带参数的异步执行

json
{
    "project_id": "1966016474983485440",
    "exec_position": "EXECUTOR",
    "params": {}
}

示例 3:指定版本的异步执行

json
{
    "project_id": "1972635107658616832",
    "exec_position": "EXECUTOR",
    "params": {},
    "version": 8
}

响应格式

成功响应 (HTTP 200)

json
{
    "code": "0000",
    "msg": "",
    "data": {
        "executionId": "c67ff431-6d9e-489e-b013-796d50a4b15b"
    }
}

响应字段说明

顶层字段

字段名类型说明
codeString响应代码,"0000" 表示成功
msgString响应消息
dataObject返回的数据对象

data 字段

字段名类型说明
executionIdString工作流执行 ID,用于后续查询执行状态

说明

  • 此接口为异步调用,返回执行 ID 后立即返回结果,不等待工作流执行完成
  • 可使用返回的 executionId 来查询工作流的执行状态
  • 如果不指定 version 参数,系统会运行该工作流当前启用的版本
  • params 参数中的键必须与工作流定义中的参数名称匹配

代码示例

cURL

bash
curl -X POST "https://newapi.iflyrpa.com/api/rpa-openapi/workflows/execute-async" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {YOUR_API_KEY}" \
  -d '{
    "project_id": "1965981379635499008",
    "exec_position": "EXECUTOR",
    "params": {
      "content": "调用"
    }
  }'

Python

python
import requests
import json

url = "https://newapi.iflyrpa.com/api/rpa-openapi/workflows/execute-async"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer {YOUR_API_KEY}"
}
data = {
    "project_id": "1965981379635499008",
    "exec_position": "EXECUTOR",
    "params": {
        "content": "调用"
    }
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)
# 获取执行 ID
execution_id = result['data']['executionId']
print(f"执行 ID: {execution_id}")

JavaScript

javascript
const apiKey = "{YOUR_API_KEY}";
const url = "https://newapi.iflyrpa.com/api/rpa-openapi/workflows/execute-async";

const data = {
    "project_id": "1965981379635499008",
    "exec_position": "EXECUTOR",
    "params": {
        "content": "调用"
    }
};

fetch(url, {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": `Bearer ${apiKey}`
    },
    body: JSON.stringify(data)
})
  .then(response => response.json())
  .then(result => {
    console.log(result);
    const executionId = result.data.executionId;
    console.log(`执行 ID: ${executionId}`);
  })
  .catch(error => console.error("Error:", error));