工作流端点
工作流端点和参数
要详细了解对象关系以及如何在 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”)
您可以将其用作:
workflowId,如果您要将工作流添加到集合。
appId,如果您要从集合中移除工作流。
workflowId,如果您要搜索特定工作流。
workflowId,如果您要删除特定工作流。
workflowId,如果您要更新现有工作流。
workflowId,如果您要上传现有工作流的新版本。
workflowId,如果您要搜索计划。
workflowId,如果您要创建计划。
workflowId,如果您要下载工作流包。
workflowId,如果您要检索工作流的问题信息。
workflowId,如果您要获取有关工作流作业的信息。
Postman 请求示例
GET /v3/workflows/{workflowId}

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