活动订阅管理
访问控制(JWT)
事件订阅服务(ESS)API使用JSON Web令牌(JWT)使用标准SAP Concor OAuth2框架进行身份验证和授权。
身份验证是通过使用代表事件订阅者的JWT来完成的。这可以通过调用客户凭据授权类型使用您的OAuth2凭据。这笔补助金产生的JWT将有一个JWT类型
属于应用程序
在哪里你的应用ID
是主题
令牌。
对于授权,应用程序需要包含范围events.topic.read.
以访问ESS API。JWT将在客户端凭据授予期间继承此作用域,然后由ESS API进行检查。
在拨打ESS API时通过帖子标题中的JWT:
授权:持票人
客户端凭据JWT的生命周期为60分钟,只能通过客户端凭据授予再次获得。
浏览可用主题
在创建任何订阅之前,您需要验证您是否有足够的主题访问。如果该请求返回空响应,则需要使用SAP Confur联系方式与OAuth2应用程序设置正确的范围。
要求
获取/活动/ v4 /主题
回答
[“public.test”]
创建订阅
要创建您需要的订阅:
- 知道并通过正确的范围具有足够的访问主题。
- 获取接收端点运行,查看端点要求。
- 提出订阅的唯一名称(ID)。订阅名称是全局唯一的,如果名称已在使用中,则会收到错误。
- 将过滤器设置为
.*
(regexp语法),您可以稍后使用它来过滤掉不需要的事件类型。
要求
放/事件/ v4 /订阅/ webhook
{“ID”:“我的独特订阅-ID”那“筛选”:“。*”那“话题”:“public.test”那“webHookConfig”:{“终点”:“https://www.concuress.com/sub/my-valid-endpoint”}}
请求参数
姓名 | 类型 | 总体安排 | 描述 |
---|---|---|---|
ID |
细绳 |
小写字母,数字,“。”和 ”-” | 您的独特订阅名称。建议您使用自我解释的东西。例如:My-company.my-scenario.env.version |
滤器 |
细绳 |
正则表达式 | 允许您将传送事件的数量减少到某种类型。示例,设置为赛事创建了 只会获得此事件类型,将跳过其他事件类型。设置为“。*”以接收主题中的所有事件。 |
话题 |
细绳 |
- | 主题,您订阅的事件流。 |
终点 |
细绳 |
URL. | 将在其中传递事件的端点。 |
回答
{“信息”:“订阅”My-unique-subscription-id“已成功保存”}
验证您的订阅
您始终可以请求订阅的配置。您可能会注意到,您的订阅包含一些出于安全原因而无法修改的参数,但您可以使用它们进行故障排除。
applicationid.
-将应用程序标识为该订阅的所有者。CompaniDs.
- 允许您的申请访问其数据的公司的UUID列表,描述了将公司连接到您的应用程序的过程在这里。- 组和范围 - 用于复杂的访问控制方案。
要求
获取/活动/ v4 /订阅/ my-unique-subscription-id
回答
[{“ID”:“我的独特订阅-ID”那“话题”:“public.test”那“筛选”:“。*”那“webHookConfig”:{“终点”:“https://www.concuress.com/sub/my-valid-endpoint”},“应用程序ID”:“dabd27f0-23e7-415d-b5e5-19a7dbe4fb4d”那“范围”:“那“群体”:[],“公司”:[]}]
响应参数
姓名 | 类型 | 总体安排 | 描述 |
---|---|---|---|
ID |
细绳 |
小写和。- \ D. | yyour独特的订阅名称。建议您使用自我解释的东西。例如:My-company.my-scenario.env.version |
滤器 |
细绳 |
正则表达式 | 允许您将传送事件的数量减少到某种类型。示例,设置为赛事创建了 只会获得此事件类型,将跳过其他事件类型。设置为“。*”以接收主题中的所有事件。 |
话题 |
细绳 |
- | 主题,您订阅的事件流。 |
终点 |
细绳 |
URL. | 将在其中传递事件的端点。 |
applicationid. |
细绳 |
uuid. | 用于生成JWT的合作伙伴应用程序。应用程序用于建立订阅所有者。 |
CompaniDs. |
列表 | uuids列表 | 已连接到允许传递事件的合作伙伴应用程序的公司UUID列表。 |
组 |
列表 | - | 保留用于将来的支持方案。 |
范围 |
细绳 |
- | 保留用于将来的支持方案。 |
浏览现有订阅
如果您碰巧忘记了订阅名称/ ID,则可以通过调用以下端点来检索所有订阅:
要求
获取/活动/ v4 /订阅
回答
[{“ID”:“我的第二个独特的订阅ID”那“话题”:“public.test”那“筛选”:“。*”那“webHookConfig”:{“终点”:“https://www.concuress.com/sub/my-second-valid-endpoint”},“应用程序ID”:“dabd27f0-23e7-415d-b5e5-19a7dbe4fb4d”那“范围”:“那“群体”:[],“公司”:[]},{“ID”:“我的独特订阅-ID”那“话题”:“public.test”那“筛选”:“。*”那“webHookConfig”:{“终点”:“https://www.concuress.com/sub/my-valid-endpoint”},“应用程序ID”:“dabd27f0-23e7-415d-b5e5-19a7dbe4fb4d”那“范围”:“那“群体”:[],“公司”:[]}]
删除您的订阅
要求
删除/events/v4/subscriptions/my唯一订阅id
回答
{“信息”:“订阅”My-unique-subscription-id“标记为删除”}
请求示例
标题
放/ v4 /订阅/ webhook http / 1.1内容类型:应用程序/ json concur-correlationID:唯一和可追踪授权:持票人eyj0e ***** my-secret-jwt-here ********接受:* / * cache-control:no-cache主机:www-us.api.concursolutions.com接受编码:gzip,缩小连接:保持活力
身体
{“ID”:“my-unique-subscription-examplex”,“筛选”:“。*”,“主题”:“public.test”,“webhookconfig”:{“端点”:“https:// www。concuress.com/sub/my-unique-endpoint“}}
卷曲
curl -x put \ https://www-us.api.concursolutions.com/events/v4/subscriptions/webhook \ -h'接受:* / *'\ -h'接受编码:gzip,deflate'\ -H'授权:持票人eyj0e ***** my-secret-jwt-here ********'\ -h'缓存控制:no-cache'\ -h'concur-correlationId:唯一的-and-trackable' \ -H 'Connection: keep-alive' \ -H 'Content-Type: application/json' \ -H 'Host: www-us.api.concursolutions.com' \ -H 'cache-control: no-cache' \ -d '{ "id": "my-unique-subscription-example-2", "filter": ".*", "topic": "public.test", "webHookConfig": { "endpoint": "https://www.concuress.com/sub/my-unique-endpoint" } }'