事件订阅API
当事件订阅支持的Adobe Workfront对象上发生操作时,您可以将Workfront配置为将响应发送到所需的端点。 这意味着第三方应用程序在更新发生后不久即可通过Workfront API接收来自Workfront交互的更新。 通常,您可以预期在记录数据更改后的5秒内收到webhook通知。 平均而言,客户会在距记录的数据更改不到1秒的时间内收到webhook通知。
列入允许列表要通过防火墙接收事件订阅负载,必须将以下IP地址添加到您的:
对于欧洲的客户:
- 52.30.133.50
- 52.208.159.124
- 54.220.93.204
- 52.17.130.201
- 34.254.76.122
- 34.252.250.191
对于位于欧洲以外地区的客户:
- 54.244.142.219
- 44.241.82.96
- 52.36.154.34
- 34.211.224.9
- 54.218.48.56
- 52.39.217.230
以下主题支持事件订阅API:
事件订阅支持的对象
事件订阅支持以下Workfront对象。
- 任务分配
- 公司
- 仪表板
- 文档
- 费用
- 字段
- 小时
- 问题
- 注释
- 项目组合
- 项目群
- 项目
- 记录
- 记录类型
- 报告
- 任务
- 模板
- 时间表
- 用户
- Workspace
有关事件订阅对象支持的字段列表,请参阅事件订阅资源字段。
事件订阅身份验证
要创建、查询或删除事件订阅,您的Workfront用户需要满足以下条件:
形成订阅资源
订阅资源包含以下字段。
-
objId(可选)
- 字符串 — 为其触发事件的指定objCode的对象的ID。 如果未指定此字段,则用户会收到指定类型的所有对象的事件。
-
对象代码(必需)
-
字符串 — 订阅更改的对象的对象代码。 下表中列出了objCode的可能值。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 17-row-2 18-row-2 19-row-2 20-row-2 layout-auto 对象 对象代码 任务分配 分配 公司 CMPY 仪表板 PTLTAB 文档 DOCU 费用 展开 字段 字段 小时 HOUR 问题 OPTASK 注释 注释 项目组合 端口 项目群 PRGM 项目 项目 记录 记录 记录类型 记录类型 报告 PTLSEC 任务 任务 模板 模板 时间表 TSHET 用户 用户 Workspace Workspace
-
-
eventType(必需)
-
字符串 — 表示对象订阅的事件类型的值。 可用的事件类型包括:
- 创建
- DELETE
- 更新
-
-
url(必需)
- 字符串 — 通过HTTP向其发送订阅事件负载的终结点的URL。
-
authToken(必需)
- 字符串 — 用于使用“URL”字段中指定的URL进行身份验证的OAuth2持有者令牌。
创建事件订阅API请求
在确保用户具有管理员访问权限并形成订阅资源后,便可以创建事件订阅。
使用以下语法构建URL。
请求URL:
POST https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions
请求标头:
请求正文示例:
{
"objCode": "PROJ",
"eventType": "UPDATE",
"url": "http://requestb.in/ua5hi2ua",
"authToken": "EauthTokenWorkfrontRocks1234_"
}
将订阅资源作为请求正文传递(内容类型为“application/json”)会导致为指定的对象创建事件订阅。 响应代码201 (已创建)表示已创建订阅。 201以外的响应代码表示已创建订阅 NOT。
响应标头示例:
→0
→Wed, 05 Apr 2017 21:23:33 GMT
→https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/750a636c-5628-48f5-ba26-26b7ce537ac2
→Apache-Coyote/1.1
查询事件订阅
查询Workfront的HTTP时,使用GET方法。 可通过两种方式查询事件订阅:按订阅ID查询(请参阅下文)或查询所有事件订阅。
查询所有事件订阅
您可以查询客户的所有事件订阅,或使用以下各项管理响应。 您还可以使用以下选项管理响应:
- page:查询参数选项,用于指定要返回的页数。 默认值为1。
- limit:查询参数选项,用于指定每页返回的结果数。 默认值为100,最大值为1000。
列出特定客户的所有事件订阅的请求语法如下:
请求URL:
GET https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions
请求标头:
响应代码:
响应标头示例:
→application/json;charset=UTF-8
→Wed, 05 Apr 2017 21:29:32 GMT
→Apache-Coyote/1.1
→chunked
响应正文示例:
{
"id": "750a636c-5628-48f5-ba26-26b7ce537ac2",
"date_created": "2024-04-11T17:10:10.305981",
"date_modified": "2024-04-11T17:10:10.305981",
"customerId": "504f9640000013401be513579fbebffa",
"objId": null,
"objCode": "PROJ",
"url": "http://requestb.in/ua5hi2ua",
"eventType": "UPDATE",
"authToken": "authTokenWorkfrontRocks1234_"
"subscription_url": {
"url": "http://requestb.in/ua5hi2ua",
"date_created": "2024-04-11T15:56:14.169489",
"successes": 11,
"failures": 2,
"disabled_at": null,
"frozen_at": null
}
}
位置
- page 和 limit 是请求中提供的值,如果未提供值,则为默认值
- page_count 是可查询的页面总数。
- total_count 是与查询匹配的订阅总数。
按事件订阅ID查询
您可以按事件订阅ID查询事件订阅。 列出事件订阅的请求语法如下:
请求URL:
GET https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/<SUBSCRIPTION ID>
请求标头:
响应代码:
响应正文示例:
{
"id": "750a636c-5628-48f5-ba26-26b7ce537ac2",
"date_created": "2024-04-11T17:10:10.305981",
"date_modified": "2024-04-11T17:10:10.305981",
"customerId": "504f9640000013401be513579fbebffa",
"objId": null,
"objCode": "PROJ",
"url": "http://requestb.in/ua5hi2ua",
"eventType": "UPDATE",
"authToken": "authTokenWorkfrontRocks1234_"
"subscription_url": {
"url": "http://requestb.in/ua5hi2ua",
"date_created": "2024-04-11T15:56:14.169489",
"successes": 11,
"failures": 2,
"disabled_at": null,
"frozen_at": null
}
}
事件订阅筛选
事件订阅筛选可用于确保您仅接收相关消息。 为您的订阅创建过滤器可能会显着减少您的端点需要使用的消息数。
例如,仅当事件有效负载的 newState 将 taskStatus 定义为 current 时,才能将 UPDATE - TASK 事件订阅设置为触发。
-
当筛选器字段的值为非空时,只会将具有包含筛选器键和值的 newState 的消息发送到订阅的URL
-
您可以按对象的 newState 和/或 oldState 中包含的自定义数据进行筛选
-
仅根据过滤器是否等于特定值来评估过滤器
-
如果您的筛选器语法不正确或与有效负载的 newState 中包含的任何数据都不匹配,则不会返回验证消息以指示发生了错误
-
无法在当前存在的订阅上更新筛选器;必须使用新的筛选器参数创建新订阅。
-
多个筛选器可应用于单个订阅,并且仅在满足所有筛选器条件时才交付订阅。
-
将多个筛选器应用于单个订阅相当于使用 AND 逻辑运算符。
-
只要每个事件订阅之间有一个或多个事件订阅字段参数不同,就可以将多个事件订阅应用于单个对象。
-
将多个事件订阅分配给单个对象时,与该对象关联的所有事件订阅都可以返回到单个端点。 此实践可用作逻辑运算符 OR 的等效替代项,无法使用筛选器参数设置该运算符。
-
以下字段不可过滤:
- DOCU.groups
- RECORD.data
- RECORD_TYPE.data
- RECORD_TYPE字段
使用比较运算符
您可以指定比较字段以及过滤器字段。 在此至字段中使用比较运算符以筛选比较结果。 例如,您可以创建一个UPDATE - TASK订阅,该订阅仅在任务状态不等于current时发送有效负载。 您可以使用以下比较运算符:
eq: equal
如果发生的更改与筛选器中的fieldValue
完全匹配,则此筛选器允许传递消息。 fieldValue
值区分大小写。
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "name",
"fieldValue": "again",
"comparison": "eq"
}
]
}
ne:不等于
如果发生的更改与筛选器中的fieldValue
不完全匹配,则此筛选器允许传递消息。 fieldValue
值区分大小写。
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "name",
"fieldValue": "again",
"comparison": "ne"
}
]
}
gt:大于
如果指定fieldName
上的更新大于fieldValue
的值,此筛选器允许邮件通过。
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "plannedCompletionDate",
"fieldValue": "2022-12-11T16:00:00.000-0800",
"comparison": "gt"
}
]
}
gte:大于或等于
如果指定fieldName
上的更新大于或等于fieldValue
的值,则此筛选器允许消息通过。
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "plannedCompletionDate",
"fieldValue": "2022-12-11T16:00:00.000-0800",
"comparison": "gte"
}
]
}
lt:小于
如果指定fieldName
上的更新小于fieldValue
的值,此筛选器允许邮件通过。
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "plannedCompletionDate",
"fieldValue": "2022-12-18T16:00:00.000-0800",
"comparison": "lt"
}
]
}
lte:小于或等于
如果指定fieldName
上的更新小于或等于fieldValue
的值,则此筛选器允许消息通过。
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "plannedCompletionDate",
"fieldValue": "2022-12-18T16:00:00.000-0800",
"comparison": "lte"
}
]
}
包含
如果发生的更改在筛选器中包含fieldValue
,则此筛选条件允许传递消息。 fieldValue
值区分大小写
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "name",
"fieldValue": "again",
"comparison": "contains"
}
]
}
更改
仅当指定的字段(fieldName
)在oldstate和newstate中具有不同的值时,此过滤器才允许消息通过。 更新指定字段(fieldName
)以外的其他字段将不会返回该更改。
fieldValue
。{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "name",
"fieldValue": "",
"comparison": "changed"
}
]
}
state
此连接器使过滤器应用于已创建或更新的对象的新状态或旧状态。 当您想知道在何处对某个对象进行了更改时,此功能非常有用。
无法在CREATE eventTypes
上执行oldState
。
oldState
上包含again
的消息,该名称与更新任务之前所包含的内容相同。此功能的用例是查找从一个对象更改到另一个对象的对象代码消息。 例如,查找从“Research Some name”更改为“Research TeamName Some name”的所有任务
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "name",
"fieldValue": "again",
"comparison": "contains",
"state": "oldState"
}
]
}
使用连接器字段
订阅有效负载上的filterConnector
字段允许您选择应如何应用过滤器。 默认值为“AND”,其中过滤器必须全部为true
才能使订阅消息通过。 如果指定了“OR”,则只有一个过滤器必须匹配订阅消息才能通过。
{
"objCode": "TASK",
"eventType": "UPDATE",
"authToken": "token",
"url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
"filters": [
{
"fieldName": "name",
"fieldValue": "again",
"comparison": "contains"
},
{
"fieldName": "name",
"fieldValue": "also",
"comparison": "contains"
}
],
"filterConnector": "AND"
}
删除事件订阅
删除Workfront的HTTP时,请使用DELETE方法。 按订阅ID删除单个事件订阅的请求语法如下所示:
请求URL:
DELETE https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/<SUBSCRIPTION ID>
请求标头:
响应代码:
响应标头示例:
→Wed, 05 Apr 2017 21:33:41 GMT
→Apache-Coyote/1.1
响应正文示例: N/A
事件有效负载示例
用户收到的有效负载会因对象类型而异,但存在一个一致的格式,用于交付这些变化的有效负载。
例如,以下属性在所有事件负载中保持一致:
- 事件类型
- subscriptionId
- oldState
- newState
- eventTime
尽管格式一致,但属性中包含的值在不同的对象和对象类型之间有所不同。
下面显示了UPDATE事件和CREATE事件的负载示例。 请注意,在UPDATE示例中,oldState对象和newState对象是相同的,而在CREATE示例中,oldState对象是空的(不是NULL)。
以下是UPDATE事件的有效负载示例:
{
"eventType": "UPDATE",
"subscriptionId": "8a0d839d5ef32c9a015ef336a5ed0002",
"eventTime": {
"nano": 998000000,
"epochSecond": 1507319336
},
"newState": {
"ID": "59d7ddf7000002322d791eb08bafddfb",
"name": "EventSub Test updated",
"objCode": "PROJ",
"entryDate": "2017-10-06T13:48:07.776-0600",
"accessorIDs": [
"544820df0000142362741fc0c368de19"
],
"lastUpdateDate": "2017-10-06T13:48:56.980-0600",
"groupID": "544820df0000140f6a9c1faa7cacadd3",
"sponsorID": null,
"description": null,
"plannedCompletionDate": "2017-10-06T09:00:00.000-0600",
"enteredByID": "544820df0000142362741fc0c368de19",
"ownerID": "544820df0000142362741fc0c368de19",
"templateID": null,
"priority": 0,
"companyID": null,
"portfolioID": null,
"referenceNumber": 1894,
"lastUpdatedByID": "544820df0000142362741fc0c368de19",
"customerID": "544820df0000135b7719dcca654391f6",
"currency": null, "categoryID": null,
"status": "CUR",
"parameterValues": {}
},
"oldState": {
"ID": "59d7ddf7000002322d791eb08bafddfb",
"name": "EventSub Test 180fd595-63fb-4fa9-bd47-58bf6e53d964",
"objCode": "PROJ",
"entryDate": "2017-10-06T13:48:07.776-0600",
"accessorIDs": [
"544820df0000142362741fc0c368de19"
],
"lastUpdateDate": "2017-10-06T13:48:07.792-0600",
"groupID": "544820df0000140f6a9c1faa7cacadd3",
"sponsorID": null,
"description": null,
"plannedCompletionDate": "2017-10-06T09:00:00.000-0600",
"enteredByID": "544820df0000142362741fc0c368de19",
"ownerID": "544820df0000142362741fc0c368de19",
"templateID": null,
"priority": 0,
"companyID": null,<
"portfolioID": null,
"referenceNumber": 1894,
"lastUpdatedByID": "544820df0000142362741fc0c368de19",
"customerID": "544820df0000135b7719dcca654391f6",
"currency": null,
"categoryID": null,
"status": "CUR",
"parameterValues": {}
}
}
以下是CREATE事件的有效负载示例:
{
"eventType": "CREATE",
"subscriptionId": "4028e3815ebf03a7015ebfa53b6d0002",
"eventTime": {
"nano": 232000000,
"epochSecond": 1506453831
},
"newState": {
"ID": "59caa946000000e07b0afc3383230c67",
"name": "EventSub Test fe16d470-0a40-4290-92f4-6a0389fb536c",
"objCode": "PROJ",
"entryDate": "2017-09-26T13:23:50.746-0600",
"accessorIDs": ["544820df0000142362741fc0c368de19"],
"lastUpdateDate": "2017-09-26T13:23:50.927-0600",
"groupID": "544820df0000140f6a9c1faa7cacadd3",
"sponsorID": null,
"description": null,
"plannedCompletionDate": "2017-09-26T09:00:00.000-0600",
"enteredByID": "544820df0000142362741fc0c368de19",
"ownerID": "544820df0000142362741fc0c368de19",
"templateID": null,
"priority": 0,
"companyID": null,
"portfolioID": null,
"referenceNumber": 1750,
"lastUpdatedByID": "544820df0000142362741fc0c368de19",
"customerID": "544820df0000135b7719dcca654391f6",
"currency": null,
"categoryID": null,
"status": "CUR",
"parameterValues": {}
},
"oldState": {}
}
Base 64编码
如果事件订阅因事件订阅中包含的特殊字符与网络设置之间冲突而被拒绝,则可以使用Base64编码传递事件订阅。 Base64是一组编码方案,可以将任意数据转换为ASCII字符串格式。 需要注意的是,Base64不是一种安全加密形式。
Base 64编码字段
base64Encoding字段是一个可选字段,用于启用事件订阅负载的Base64编码。 默认值为false,可能的值为: true、false和“ ”(空白)。
使用base64Encoding字段的请求示例
如果使用设置为true的base64Encoding字段发出请求,则有效负载中的 newState 和 oldState 对象将作为base 64编码字符串交付。 如果base64Encoding字段设置为false、保留为空或未包含在请求中,则返回的有效负载将不会在base 64中进行编码。
以下是使用base64Encoding字段的请求示例:
{
"objCode": "PROJ",
"eventType": "UPDATE",
"url": "http://requestb.in/ua5hi2ua"",
"authToken": "EauthTokenWorkfrontRocks1234_",
"base64Encoding": "true"
}
base 64编码中的响应有效负载示例
{
"eventType": "UPDATE",
"subscriptionId": "8a0d839d5ef32c9a015ef336a5ed0002",
"eventTime": {
"nano": 998000000,
"epochSecond": 1507319336
},
"newState": "ewogICAgICAgIklEIjogIjU5ZDdkZGY3MDAwMDAyMzIyZDc5MWViMDhiYWZkZGZiIiwgCiAgICAgICAibmFtZSI6ICJFdmVudFN1YiBUZXN0IHVwZGF0ZWQiLAogICAgICAgIm9iakNvZGUiOiAiUFJPSiIsCiAgICAgICAiZW50cnlEYXRlIjogIjIwMTctMTAtMDZUMTM6NDg6MDcuNzc2LTA2MDAiLAogICAgICAgImFjY2Vzc29ySURzIjogWwogICAgICAgICAgICI1NDQ4MjBkZjAwMDAxNDIzNjI3NDFmYzBjMzY4ZGUxOSIKICAgICAgIF0sCiAgICAgICAibGFzdFVwZGF0ZURhdGUiOiAiMjAxNy0xMC0wNlQxMzo0ODo1Ni45ODAtMDYwMCIsCiAgICAgICAiZ3JvdXBJRCI6ICI1NDQ4MjBkZjAwMDAxNDBmNmE5YzFmYWE3Y2FjYWRkMyIsCiAgICAgICAic3BvbnNvcklEIjogbnVsbCwKICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAicGxhbm5lZENvbXBsZXRpb25EYXRlIjogIjIwMTctMTAtMDZUMDk6MDA6MDAuMDAwLTA2MDAiLAogICAgICAgImVudGVyZWRCeUlEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICJvd25lcklEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICJ0ZW1wbGF0ZUlEIjogbnVsbCwKICAgICAgICJwcmlvcml0eSI6IDAsCiAgICAgICAiY29tcGFueUlEIjogbnVsbCwKICAgICAgICJwb3J0Zm9saW9JRCI6IG51bGwsCiAgICAgICAicmVmZXJlbmNlTnVtYmVyIjogMTg5NCwKICAgICAgICJsYXN0VXBkYXRlZEJ5SUQiOiAiNTQ0ODIwZGYwMDAwMTQyMzYyNzQxZmMwYzM2OGRlMTkiLAogICAgICAgImN1c3RvbWVySUQiOiAiNTQ0ODIwZGYwMDAwMTM1Yjc3MTlkY2NhNjU0MzkxZjYiLAogICAgICAgImN1cnJlbmN5IjogbnVsbCwKICAgICAgICJjYXRlZ29yeUlEIjogbnVsbCwKICAgICAgICJzdGF0dXMiOiAiQ1VSIiwKICAgICAgICJwYXJhbWV0ZXJWYWx1ZXMiOiB7fQogICAgfQ==",
"oldState": "ewogICAgICAgICJJRCI6ICI1OWQ3ZGRmNzAwMDAwMjMyMmQ3OTFlYjA4YmFmZGRmYiIsCiAgICAgICAgIm5hbWUiOiAiRXZlbnRTdWIgVGVzdCAxODBmZDU5NS02M2ZiLTRmYTktYmQ0Ny01OGJmNmU1M2Q5NjQiLAogICAgICAgICJvYmpDb2RlIjogIlBST0oiLAogICAgICAgICJlbnRyeURhdGUiOiAiMjAxNy0xMC0wNlQxMzo0ODowNy43NzYtMDYwMCIsCiAgICAgICAgImFjY2Vzc29ySURzIjogWwogICAgICAgICAgICAiNTQ0ODIwZGYwMDAwMTQyMzYyNzQxZmMwYzM2OGRlMTkiCiAgICAgICAgXSwKICAgICAgICAibGFzdFVwZGF0ZURhdGUiOiAiMjAxNy0xMC0wNlQxMzo0ODowNy43OTItMDYwMCIsCiAgICAgICAgImdyb3VwSUQiOiAiNTQ0ODIwZGYwMDAwMTQwZjZhOWMxZmFhN2NhY2FkZDMiLAogICAgICAgICJzcG9uc29ySUQiOiBudWxsLAogICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAgInBsYW5uZWRDb21wbGV0aW9uRGF0ZSI6ICIyMDE3LTEwLTA2VDA5OjAwOjAwLjAwMC0wNjAwIiwKICAgICAgICAiZW50ZXJlZEJ5SUQiOiAiNTQ0ODIwZGYwMDAwMTQyMzYyNzQxZmMwYzM2OGRlMTkiLAogICAgICAgICJvd25lcklEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICAidGVtcGxhdGVJRCI6IG51bGwsCiAgICAgICAgInByaW9yaXR5IjogMCwKICAgICAgICAiY29tcGFueUlEIjogbnVsbCw8CiAgICAgICAgInBvcnRmb2xpb0lEIjogbnVsbCwKICAgICAgICAicmVmZXJlbmNlTnVtYmVyIjogMTg5NCwKICAgICAgICAibGFzdFVwZGF0ZWRCeUlEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICAiY3VzdG9tZXJJRCI6ICI1NDQ4MjBkZjAwMDAxMzViNzcxOWRjY2E2NTQzOTFmNiIsCiAgICAgICAgImN1cnJlbmN5IjogbnVsbCwKICAgICAgICAiY2F0ZWdvcnlJRCI6IG51bGwsCiAgICAgICAgInN0YXR1cyI6ICJDVVIiLAogICAgICAgICJwYXJhbWV0ZXJWYWx1ZXMiOiB7fQogICAgfQ=="
}
用于查询所有事件订阅的已弃用方法
以下API端点已弃用,不应用于新实施。 我们还建议将旧实施转换为上述 查询事件订阅 部分中的方法。
您可以查询由sessionID值指定的客户的所有事件订阅。 列出特定客户的所有事件订阅的请求语法如下URL:
GET https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/list
请求标头:
响应代码:
响应正文示例
[
{
"id": "37c4bcf5-e0b5-4256-aba3-a51cba7bf997",
"customer_id": "504f9640000013401be513579fbebffa",
"obj_id": "ObjId1234",
"obj_code": "TASK",
"url": "http://test.test.net/test/1234",
"event_type": "UPDATE",
"auth_token": "auth_token"
},
{
"id": "750a636c-5628-48f5-ba26-26b7ce537ac2",
"customer_d": "504f9640000013401be513579fbebffa",
"obj_id": null,
"obj_code": "PROJ",
"url": "http://requestb.in/ua5hi2ua",
"event_type": "UPDATE",
"auth_token": "authTokenWorkfrontRocks1234_"
}
]