重要的:此API目前处于预发布状态,仅可用于批准的早期访问参与者。API正在开发中,并且在一般发布之前可能会发生变化。要成为早期访问参与者,请与您的SAP同意代表联系。

活动订阅服务(ESS)

事件订阅服务(ESS)使用SAP Concur中的事件驱动体系结构原则实现发布/订阅模式。当连接的SAP Concur公司发生某些操作时,它允许通过web服务通知客户和合作伙伴。当业务/系统事件在SAP Concur中发生时,ESS将该事件与相关信息发送到配置的端点。

ESS术语

  • 事件—业务/系统对象或实体的状态。始终具有EventType,表示工作流中的一种实体更改类型或特定状态。示例:创建报表、提交报表等
  • 主题 - 业务/系统对象或实体事件流。示例:concur.user,concur.expense.report,concur.travel.Request。总是有一个主题所有者同意,它可以是团队,产品或系统。
  • 订阅 - 一个主题消费者。每个订阅都有一个主题,它被订阅了。
  • WebHook - 使用订阅的ESS应用程序并将事件传递给端点。

ESS交付模型

重要的是要记住,ESS没有任何API,您可以调用SAP Concur事件,ESS交付事件到您的端点。

  • 它使用出站调出,SAP Concur在其中调用由客户端或合作伙伴提供的公共URL,这是由第三方开发人员或客户端托管的web服务器。

  • 应用程序端点还可以使用相关的web服务来检索或发送SAP Concur数据。例如,在提交旅行请求时可能会生成事件。然后,应用程序端点可以利用来自事件的数据(比如请求ID),从已发布的请求api中检索相关的旅行请求记录。

访问控制

ESS要求来电者拥有合适的JWT和范围,详情请参考我们的维基呼叫者必须具有范围的类型

  • ESS API级别范围“Events.topic.read”必须能够访问ESS API

  • 资源级范围示例“appense.request.read”必须能够访问“affense.request”主题,并能够为该主题创建订阅

合作伙伴实施团队可以为调用者应用程序请求所有必需的范围。

订阅您的终点

为了开始接收事件,您必须首先订阅您的应用程序的相关主题。

要订阅活动,您必须与相关的SAP Concur技术联系人合作;对于合作伙伴,请与您的技术实现联系。对于客户,您的网络服务顾问将代表您订阅相关主题。

端点要求

事件订阅服务至少提供一旦事件传递提供保证。这是通过将事件有效载荷退回到订阅者的端点来完成这一点完成,直到响应表示成功的收据。对订阅者端点的请求的预期确认最大值为30秒。该服务将尝试发布到端点,然后退回并重试,直到订阅者端点响应交付或不接受,该服务将重试至少3天并在不成功的交付后跳到下一个事件。SAP Concur建议订阅者需要考虑以下内容:

  • 端点响应时间需求取决于主题吞吐量。请联系主题所有者计算可接受的吞吐量,一般情况下,我们建议尽可能低的响应时间(< 3秒)
  • 我们强烈建议在订阅者端点后实现队列,以尽可能低的响应时间
  • 订阅者必须保持合理的正常运行时间来支持集成方案的要求。
  • 我们的多线程应用程序交付事件到您的端点。默认为24个线程。
  • 必须使用非自签名证书从公共web访问您的HTTPS服务器端点。该证书应该由已知的证书颁发机构签署,并且应该可以通过DNS访问。

ESS身份验证

有几种方法可以确保您的端点被我们的服务访问。

  • 我们将始终使用相同的客户端x509证书。通用名称为“CN=webhook.api.concursolutions.com,O=Concur Technologies\, Inc.,L=Bellevue,ST=Washington,C=US”,证书序列号为“0AE315A13AB9EF8CADB9A46255C87283”。
  • 我们将始终使用数字签名,它将在请求标题“同意签名”中提供。如果您决定使用此身份验证方法,您将需要我们的
公钥

```----- BEGIN PUBLIC KEY ----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxS1LsXrEWEEMPooLHa4r osCAnmkO3HaBAk0YcsDMR6hQeuQNLqRWP65TpbfTbKWmZ22Hzep3Ekhs1qvSZgI + IQ / bnVeDhkcD + LqVQGP + 7fyE0E0bO96FOzMmtbRet4wAiiE9 + uw5GmZfg + fRG3yI y2N5u5p7VHJ1RwNugrIUQjhrLvZc + lhqR / aKTxQCQ5CGAgLZIcr3FIWCWrSBMK3d Wy3KI + qe3ZX0STrCCNxl2UFnuuAa2RZZ2j4QtWHlNkyK + UEup + cGkvpc1XrT7anL HlbTP6jE7MqB5sJ9r2EEzrJzJZjD13UqlzvI61tTC8SKpuk5AEaSsUV7RKlKUCjB 8wIDAQAB ----- END PUBLIC关键-----```

ESS行为

事件订阅服务具有来自订户透视的以下特征:

  • 请求将来自US.API.Concursolutions.com,Emea.api.concursolutions.com或cn.api.concursolutions.com
  • 将始终使用客户端X509证书建立连接
  • 请求将始终具有数字签名
  • 当订阅者使用HTTP响应代码:5xx, 401, 403和429进行响应时,将重试请求
  • 当订阅者使用HTTP响应代码(s)响应时,将不会重新尝试请求:
    • 2xx -表示成功接收事件
    • 4xx -表示提交的事件是意外的或格式不正确
  • 请求将被重试,直到交付或事件保留期结束
  • 事件保留期从活动发布时为72小时
  • 事件未存档,但所有事件传递尝试/响应都被记录并保留30天

在本页