Skip to main content

工作流端点

工作流端点和参数

要详细了解对象关系以及如何在 API 中使用对象关系,请转至对象关系部分。

如需详细了解工作流,请访问工作流帮助页面。

上传新工作流

要上传新工作流,请使用 POST {baseURL}/v3/workflows 端点。

参数

  • file (file):必填。选择您想上传到系统的实际文件。媒体类型必须是 YXZP 文件。

  • name (string):必填。输入工作流名称。这是要在 Server UI 中显示的工作流名称。

  • ownerId (string):必填。输入所有者 ID。

  • workerTag (string):可选。指定在工作程序中定义的工作程序标签,以帮助将作业分配给某些工作程序节点。如需了解详情,请访问工作程序帮助页面。

  • districtTags (string):可选。以 JSON 格式的数组进行提交,例如,["id1", "id2"]。使用分区功能,按照标记对共享的公共工作流进行分组,以便用户可以轻松找到。如需了解详情,请访问分区帮助页面。

  • comments (string):可选。输入注释。

  • isPublic (boolean):必填。选择“true”将工作流设为公开可用。选择“false”将工作流设为私有,不允许公开使用。

  • isReadyForMigration (boolean):必填。选择工作流是否已准备好进行迁移。如需详细了解如何从一个 Server 环境迁移到另一个 Server 环境,请参阅启用工作流迁移帮助页面。

  • sourceAppId (string):可选。设置工作流的源应用程序 ID。您可以将其用作 POST admin/v1/workflows 端点的“sourceId”。提供预先存在的 sourceAppId 将导致请求无效。

  • othersMayDownload (boolean):必填。指定其他用户是否可以下载此工作流。

  • othersCanExecute (boolean):必填。指定其他用户是否可以执行此工作流。

  • executionMode (string):必填。接受的值为“Safe”(安全)、“SemiSafe”(半安全)和“Standard”(biao'zhun)。如需详细了解执行模式,请参阅安全和半安全运行模式:阻止的工具、事件和数据连接器帮助页面。

  • hasPrivateDataExemption (boolean):可选。给予豁免以允许运行包含私有数据的工作流。选择“true”,以允许豁免;或选择“false”,以拒绝豁免。如需了解详情,请访问管理员界面中的工作流选项页面。

  • workflowCredentialType (string):必填。接受的值为“Default”、“Required”和“Specific”。

  • credentialId (string):可选。为此工作流指定 credentialId

  • collectionIds (string):可选。输入应将此工作流添加到的集合的 collectionId。以 JSON 格式的数组进行提交,例如:["id1", "id2"]。

curl -X 'POST' \
  'http://localhost/webapi/v3/workflows' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@Workflow2.yxzp;type=application/yxzp' \
  -F 'name=Workflow2' \
  -F 'ownerId=66ebd0896e52ae73b4951072' \
  -F 'isPublic=true' \
  -F 'isReadyForMigration=true' \
  -F 'othersMayDownload=true' \
  -F 'othersCanExecute=false' \
  -F 'executionMode=Standard' \
  -F 'workflowCredentialType=Default'
  • 200:请求成功

    "string"
  • 400:错误的请求

  • 401:未授权

将新版本上传到现有工作流

要将新版本上传到现有工作流,请使用 POST {baseURL}/v3/workflows/{workflowId}/versions 端点。

参数

  • workflowId (string):必填。输入要为其上传新版本的工作流 ID。

  • file (file):必填。选择您想作为新版本上传到系统的实际文件。媒体类型必须是 YXZP 文件。

  • name (string):必填。输入工作流名称。这是要在 Server UI 中显示的工作流名称。

  • ownerId (string):必填。输入所有者 ID。

  • othersMayDownload (boolean):必填。默认值设置为“true”。

  • othersCanExecute (boolean):必填。默认值设置为“true”。

  • executionMode (string):必填。接受的值为“Safe”(安全)、“SemiSafe”(半安全)和“Standard”(biao'zhun)。如需详细了解执行模式,请参阅安全和半安全运行模式:阻止的工具、事件和数据连接器帮助页面。

  • hasPrivateDataExemption (boolean):可选。给予豁免以允许运行包含私有数据的工作流。选择“true”,以允许豁免;或选择“false”,以拒绝豁免。如需了解详情,请访问管理员界面中的工作流选项页面。

  • comments (string):可选。输入注释。

  • makePublished (boolean):必填。默认值设置为“true”。makePublished 参数用来控制推送到 Server 的工作流的新版本是否应为发布版本。当您将工作流推送到 Server 时,可以将其设置为“false”,这样只有您才能运行它。

  • workflowCredentialType (string):必填。输入用于此工作流的凭证类型。接受的值为“Default”、“Required”和“Specific”。

  • credentialId (string):可选。为此工作流指定 credentialId。如需详细了解凭证端点,请参阅凭证端点

curl -X 'POST' \
  'http://localhost/webapi/v3/workflows/66ebd18d6e52ae73b4951085/versions' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@Workflow3.yxzp;type=application/yxzp' \
  -F 'name=Workflow1_3' \
  -F 'ownerId=66ebd0896e52ae73b4951072' \
  -F 'othersMayDownload=true' \
  -F 'othersCanExecute=true' \
  -F 'executionMode=Standard' \
  -F 'makePublished=true' \
  -F 'workflowCredentialType=Default'
  • 200:请求成功

    {
      "id": "string",
      "sourceAppId": "string",
      "dateCreated": "2024-09-19T07:33:01.072Z",
      "runCount": 0,
      "versions": [
        {
          "versionId": "string",
          "versionNumber": 0,
          "dateCreated": "2024-09-19T07:33:01.072Z",
          "uploadSource": "Designer",
          "uploadDate": "2024-09-19T07:33:01.072Z",
          "packageWorkflowType": "App",
          "published": true,
          "comments": "string",
          "runDisabled": true,
          "executionMode": "Safe",
          "workflowCredentialType": "Default",
          "credentialId": "string",
          "hasPrivateDataExemption": true,
          "othersMayDownload": true,
          "othersCanViewHistory": true,
          "details": {
            "isAmp": true,
            "fileName": "string",
            "author": "string",
            "copyright": "string",
            "description": "string",
            "name": "string",
            "noOutputFilesMessage": "string",
            "outputMessage": "string",
            "url": "string",
            "urlText": "string"
          }
        }
      ],
      "name": "string",
      "ownerId": "string",
      "workerTag": "string",
      "districtTags": [
        "string"
      ],
      "comments": "string",
      "isPublic": true,
      "isReadyForMigration": true,
      "publishedVersionId": "string",
      "othersMayDownload": true,
      "othersCanViewHistory": true,
      "othersCanExecute": true,
      "executionMode": "Safe",
      "hasPrivateDataExemption": true
    }
  • 401:错误的请求

  • 401:未授权

  • 404:表示路径中的工作流 ID 无效。

检索所有工作流

要获取有关所有工作流记录的信息,请使用 GET {baseURL}/v3/workflows/ 端点。

参数

  • view (string):可选。选择显示工作流信息的方式。可以保留此参数但不为其提供值。您可以从以下值中选择:“默认值(Default)”和“全部(Full)”。如果此参数设置为“Default”,则将返回一个减小的视图对象。未指定时,将使用“默认值(Default)”。

  • name (string):可选。输入工作流名称,以便按名称筛选工作流。这是在 Server UI 中显示的工作流名称。

  • ownerId (string):可选。输入所有者 ID,以便按其所有者筛选工作流。

  • createdAfter (string):可选。输入日期和时间,工作流是在此之后创建的。以 ISO8601 格式输入日期和时间。

  • createdBefore (string):可选。输入日期时间,工作流是在此之前创建的。以 ISO8601 格式输入日期和时间。

curl -X 'GET' \
  'http://localhost/webapi/v3/workflows' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere'
  • 200:请求成功

      {
        "id": "string",
        "sourceAppId": "string",
        "name": "string",
        "ownerId": "string",
        "dateCreated": "2024-08-15T11:14:56.965Z",
        "publishedVersionNumber": 0,
        "isAmp": true,
        "executionMode": "Safe"
      }
    ]
  • 400:错误的请求

  • 401:未授权

检索特定工作流记录

要获取特定工作流的信息,请使用 GET {baseURL}/v3/workflows/{workflowId} 端点。

注意

非管理员可以使用 GET v3/workflows/{workflowId} 端点获取他们有权访问的工作流的信息。以前,此端点仅限管理员使用。

参数

  • workflowId (string):必填。输入工作流 ID,以获取有关此工作流的信息。

curl -X 'GET' \
  'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere'
  • 200:请求成功

    {
      "id": "string",
      "sourceAppId": "string",
      "dateCreated": "2024-09-05T10:42:53.360Z",
      "runCount": 0,
      "versions": [
        {
          "versionId": "string",
          "versionNumber": 0,
          "dateCreated": "2024-09-05T10:42:53.360Z",
          "uploadSource": "Designer",
          "uploadDate": "2024-09-05T10:42:53.360Z",
          "packageWorkflowType": "App",
          "published": true,
          "comments": "string",
          "runDisabled": true,
          "executionMode": "Safe",
          "workflowCredentialType": "Default",
          "credentialId": "string",
          "hasPrivateDataExemption": true,
          "othersMayDownload": true,
          "othersCanViewHistory": true,
          "details": {
            "isAmp": true,
            "fileName": "string",
            "author": "string",
            "copyright": "string",
            "description": "string",
            "name": "string",
            "noOutputFilesMessage": "string",
            "outputMessage": "string",
            "url": "string",
            "urlText": "string"
          }
        }
      ],
      "name": "string",
      "ownerId": "string",
      "workerTag": "string",
      "districtTags": [
        "string"
      ],
      "comments": "string",
      "isPublic": true,
      "isReadyForMigration": true,
      "publishedVersionId": "string",
      "othersMayDownload": true,
      "othersCanViewHistory": true,
      "othersCanExecute": true,
      "executionMode": "Safe",
      "hasPrivateDataExemption": true
    }
  • 401:未授权

  • 404:未找到

更新现有工作流

要更改现有工作流的信息,请使用 PUT {baseURL}/v3/workflows/{workflowId} 端点。

注意

只有管理员可以使用此 API 端点。

要更改 ownerId,新所有者与当前所有者必须在同一订阅中。

参数

  • workflowId (string):必填。输入要更新的工作流 ID。

  • updateWorkflowContract (body):必填。输入要更新的工作流信息。

    • name (string):必填。输入工作流名称。这是要在 Server UI 中显示的工作流名称。

    • versionId (string):必填。输入版本 ID。

    • makePublished (boolean):可选。未指定时,保持之前的值不变。makePublished 参数用来控制推送到 Server 的工作流的新版本是否应为发布版本。当您将工作流推送到 Server 时,可以将其设置为“false”,这样只有您才能运行它。

    • ownerId (string):必填。输入所有者 ID。

    • workerTag (string):必填。如果没有 workerTag,请改用 ""。

    • districtTags (string):必填。输入分区标签。使用分区功能,按照标记对共享的公共工作流进行分组,以便用户可以轻松找到。如需了解详情,请访问分区帮助页面。

    • comments (string):必填。输入注释。

    • isPublic (boolean):可选。未指定时,保持之前的值不变。

    • isReadyForMigration (boolean):可选。未指定时,保持之前的值不变。

    • othersMayDownload (boolean):可选。未指定时,保持之前的值不变。“公共工作流”设置为“false”时,工作流将无法使用。

    • othersCanExecute (boolean):可选。未指定时,保持之前的值不变。“公共工作流”设置为“false”时,工作流将无法使用。

    • executionMode (string):可选。接受的值为“Safe”、“SemiSafe”、“Standard”。如需详细了解执行模式,请参阅安全和半安全运行模式:阻止的工具、事件和数据连接器帮助页面。

    • hasPrivateDataExemption (boolean):可选。给予豁免以允许运行包含私有数据的工作流。选择“true”,以允许豁免;或选择“false”,以拒绝豁免。未指定时,保持之前的值不变。如需了解详情,请访问管理员界面中的工作流选项页面。

    • workflowCredentialType (string):可选。接受的值为“Default”、“Required”和“Specific”。

    • credentialId (string):可选。为此工作流指定 credentialId。

  • updateWorkflowContract 的示例值:

    {
      "name": "string",
      "versionId": "string",
      "makePublished": true,
      "ownerId": "string",
      "workerTag": "string",
      "districtTags": [
        "string"
      ],
      "comments": "string",
      "isPublic": true,
      "isReadyForMigration": true,
      "othersMayDownload": true,
      "othersCanExecute": true,
      "executionMode": "Safe",
      "hasPrivateDataExemption": true,
      "workflowCredentialType": "Default",
      "credentialId": "string"
    }
curl -X 'PUT' \
  'http://localhost/webapi/v3/workflows/66ebd18d6e52ae73b4951085' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Workflow_3_4",
  "versionId": "66ebd18d3d6200007e000d89",
  "makePublished": true,
  "ownerId": "66ebd0896e52ae73b4951072",
  "workerTag": "",
  "districtTags": [],
  "comments": "nothing",
  "isPublic": true,
  "isReadyForMigration": true,
  "othersMayDownload": true,
  "othersCanExecute": true,
  "executionMode": "Safe",
  "hasPrivateDataExemption": true,
  "workflowCredentialType": "Default",
  "credentialId": ""
}'
  • 200:请求成功

    {
      "id": "string",
      "sourceAppId": "string",
      "dateCreated": "2024-08-15T11:20:45.231Z",
      "runCount": 0,
      "versions": [
        {
          "versionId": "string",
          "versionNumber": 0,
          "dateCreated": "2024-08-15T11:20:45.231Z",
          "uploadSource": "Designer",
          "uploadDate": "2024-08-15T11:20:45.231Z",
          "packageWorkflowType": "App",
          "published": true,
          "comments": "string",
          "runDisabled": true,
          "executionMode": "Safe",
          "workflowCredentialType": "Default",
          "credentialId": "string",
          "hasPrivateDataExemption": true,
          "othersMayDownload": true,
          "othersCanViewHistory": true,
          "details": {
            "isAmp": true,
            "fileName": "string",
            "author": "string",
            "copyright": "string",
            "description": "string",
            "name": "string",
            "noOutputFilesMessage": "string",
            "outputMessage": "string",
            "url": "string",
            "urlText": "string"
          }
        }
      ],
      "name": "string",
      "ownerId": "string",
      "workerTag": "string",
      "districtTags": [
        "string"
      ],
      "comments": "string",
      "isPublic": true,
      "isReadyForMigration": true,
      "publishedVersionId": "string",
      "othersMayDownload": true,
      "othersCanViewHistory": true,
      "othersCanExecute": true,
      "executionMode": "Safe",
      "hasPrivateDataExemption": true
    }
  • 400:错误的请求

  • 401:未授权

  • 404:未找到

下载工作流包

要下载工作流包,请使用GET {baseURL}/v3/workflows/{workflowId}/package 端点。

参数

  • workflowId (string):必填。输入要为其下载包的工作流 ID。

  • versionId (string):可选。输入工作流的版本 ID。如果未提供版本,则下载发布版本。

    注意

    如果 versionID 是两位数,则可能会达到大小限制,并且您可能会收到“414 - URI 太长”的错误。在这种情况下,请解析 JSON versionID 字符串并对其进行剪裁,以仅显示最新版本。这样可以控制字段长度。

请求示例:cURL

curl -X GET --header 'Accept: application/octet-stream' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4be7dc6e24bb8ff0/package'

响应示例

  • 200:YXZP 文件的下载流。

  • 400:版本 ID 无效

  • 401:未授权

  • 403:经过身份验证的用户无权下载工作流,或者不允许直接下载工作流。

  • 404:未找到

检索工作流的问题信息

要获取工作流或分析应用程序的问题信息,请使用 GET {baseURL}/v3/workflows/{workflowId}/questions 端点。

参数

  • workflowId (string):必填。输入要为其检索信息的的工作流 ID。

  • versionId (string):可选。输入工作流的版本 ID。如果未提供版本,则使用发布版本。

curl -X 'GET' \
  'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/questions' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere'
  • 200:请求成功

    [
      {
        "name": "string",
        "questionType": "string",
        "description": "string",
        "value": "string",
        "multiple": true,
        "items": [
          {
            "key": "string",
            "value": "string"
          }
        ]
      }
    ]
  • 400:错误的请求

  • 401:未授权

  • 403:经过身份验证的用户无权访问工作流或问题。

  • 404:未找到

获取有关特定工作流作业的信息

要获取有关特定工作流作业的信息,请使用 GET {baseURL}/v3/workflows/{workflowId}/jobs 端点。

注意

即使查询状态为“错误”,作业也可能返回为“已完成”。这表示在执行过程中发生了错误,但工作流已运行。

参数

  • workflowId (string):必填。输入要为其检索信息的的工作流 ID。

  • sortField (string):可选。输入要作为结果排序依据的字段名称。

  • direction (string):可选。在此处指定排序顺序。接受的值为“asc”(升序)和“desc”(降序)。如果未指定排序顺序,则默认按升序排序。

  • offset (string):可选。是指要作为结果开始位置的记录。

  • limit (string):可选。是指要作为结果结束位置的最后一条记录。

  • status (string):可选。作业执行的总体状态。已经完成的作业仍有可能失败。接受的值包括:“已完成”、“错误”、“正在运行”和“在排队待处理”。

  • resultCode (string):可选。工作流执行的结果代码。这表明工作流失败,但作业成功。接受的值包括:“成功”、“警告”和“错误”。

curl -X 'GET' \
  'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/jobs' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere'
  • 200:请求成功

    [
      {
        "id": "string",
        "createDate": "2024-08-15T11:29:53.357Z",
        "status": "Created",
        "priority": "string",
        "workerTag": "string",
        "runWithE2": true
      }
    ]
  • 400:错误的请求

  • 401:未授权

  • 404:未找到

删除工作流

要删除特定工作流,请使用 DELETE {baseURL}/v3/workflows/{workflowId} 端点。

注意

只有管理员可以使用此 API 端点。

参数

  • workflowId (string):必填。输入要删除的工作流 ID。

  • force (boolean):可选。未选择时,默认值为“false”。如果已计划工作流,将参数设置为“true”会在删除工作流之前删除所有计划。

curl -X 'DELETE' \
  'http://localhost/webapi/v3/workflows/670ce95bf10214f22a665bc4' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere'
  • 200:请求成功

  • 400:错误的请求

  • 401:未授权

  • 404:未找到

创建新作业

要创建新作业并将其添加到执行队列,请使用 POST /v3/workflows/{workflowId}/jobs 端点。

参数

  • workflowId (string):必填。输入要计划的工作流 ID。

  • contract (body):要创建新作业,请指定以下参数:

    • workerTag (string):可选。指定分配的工作程序。如果未指定,值将为“无”。

    • credentialId (string):可选。为此工作流指定 credentialId。

    • questions (string):可选。对于分析应用程序,请指定运行工作流所用的问题和答案。

      • name (string):可选。

      • value (string):可选。

    • priority (string):可选。指定运行计划的优先级。从以下值中选择:“低”、“中”、“高”和“紧急”。如果未指定,默认值将为“低”。

参数 contract 的示例值:

{
  "workerTag": "string",
  "credentialId": "string",
  "questions": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "priority": "Default"
}

创建作业的请求示例:

curl -X 'POST' \
  'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/jobs' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere' \
  -H 'Content-Type: application/json' \
  -d '{
  "workerTag": "",
  "credentialId": "",
  "priority": "Low"
}'
  • 200:请求成功

    {
      "id": "string",
      "appId": "string",
      "createDateTime": "2024-09-05T11:13:04.586Z",
      "status": "string",
      "disposition": "string",
      "outputs": [
        {
          "id": "string",
          "availableFormats": [
            "string"
          ],
          "fileName": "string"
        }
      ],
      "messages": [
        {
          "status": 0,
          "text": "string",
          "toolId": 0
        }
      ],
      "priority": "Default",
      "workerTag": "string",
      "runWithE2": true
    }
  • 400:错误的请求

  • 401:未授权

  • 403:经过身份验证的用户无权执行工作流。

  • 404:未找到

将工作流和计划转让给指定的所有者

要将特定的工作流连同计划一起(如果需要)转让给特定的所有者,请使用 PUT {baseURL}/v3/workflows/{workflowId}/transfer 端点。

注意

  • 只有管理员可以使用此 API 端点。

  • 如果有任何工作流需要 DCM 连接、Server 连接或者需要特定的 Run As(运行身份)凭证才能运行,则需要先更新这些项目,才能运行工作流。

  • 如果用户不在同一个工作室,在将工作流转让给新工作室时,新所有者工作室中的所有其他用户也将获得工作流访问权限,而旧工作室中的所有用户将失去访问权限。

  • 工作流只能转让给具有创建者或管理员角色的用户。

  • 如果转让计划,新所有者必须有权访问计划工作流,否则无法将工作流转让给新所有者。

  • 如果转让计划,新所有者必须具有计划工作流的权限。

  • 如果用户被删除,将返回转让后会失效或禁用的计划 ID 列表。

参数

  • workflowId (string):必填。指定要转让的工作流的 ID。

  • contract (body):必填。指定以下信息:

    • ownerId (string):必填。指定新所有者的 ID。

    • transferSchedules (Boolean):必填。指定是否应将计划连同工作流一起转让给新所有者。只有当前工作流所有者拥有的计划才会转让给新的所有者。

参数 contract 的示例值:

{
  "ownerId": "string",
  "transferSchedules": true
}
curl -X 'PUT' \
  'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/transfer' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer BearerTokenGoesHere' \
  -H 'Content-Type: application/json' \
  -d '{
  "ownerId": "670ceafbf10214f22a666c76",
  "transferSchedules": true
}'
  • 200:请求成功

  • 400:错误的请求

    "string"
  • 401:未授权

  • 403:禁止访问

    "string"
  • 404:未找到

    "string"
  • 500:内部服务器错误

对象关系

如果您要上传工作流,则可以按如下方式使用创建的对象:

创建的对象:“workflowId”(例如,“id”: “7917969784f84bd09442f66996ecb8f3”)

您可以将其用作:

Postman 请求示例

GET /v3/workflows/{workflowId}

Use GET /v3/workflows/{workflowId} endpoint.

如需详细了解有关 Postman 请求的更多信息,请访问如何使用 Postman 帮助页面。