启动外部URL请求v4

Launch External URL标注为客户端和第三方开发人员提供了扩展SAP Concur平台功能的能力,提供了一种交付自定义用户交互或访问外部系统中发现的功能的方法。客户端可以添加一个Report Header、Expense Entry或Allocation表单字段,该字段被配置为使用Launch External URL标注。Concur Expense将显示此字段,并附带一个按钮,单击该按钮时将启动一个单独的浏览器窗口。该窗口由第三方开发人员或客户端创建的应用程序连接器控制。应用程序连接器是一个在窗口中显示信息的web服务器。

应用程序连接器可以通过web服务访问SAP Concur数据,也可以访问外部系统中的数据。一旦用户在窗口中完成了他们的操作(例如执行搜索或完成向导),他们就会单击一个按钮,例如“Done”,这表明用户已经在窗口中结束了他们的工作。应用程序连接器或用户关闭窗口。

应用程序连接器可以使用web服务发送信息,以更新Report Header、Expense Entry或Allocation表单类型上的字段值。应用程序连接器可以在用户关闭窗口之前或之后发送更新。当用户返回SAP Concur平台时,页面会刷新,只有在窗口关闭之前进行更新时,他们才会看到更新的值。

此标注与标准SAP Concur web服务的不同之处在于:

  • 它使用出站callout,其中Expense调用应用程序连接器提供的公共URL,该连接器是由第三方开发人员或客户端托管的web服务器。连接器域必须在配置过程中创建的允许列表中。
  • 应用程序连接器还可以使用web服务读取或更新SAP Concur数据。
  • 开发人员或客户端可以配置和维护应用程序连接器,或者连接器可以由SAP Concur维护。本指南指定所需的请求和响应格式。
  • 在使用此服务之前,客户端费用管理员必须配置一个新的表单字段并将该字段添加到所需的表单。

内容

之前的版本

启动外部URL v1将继续只在费用入门级工作。

工艺流程

启动外部服务的流程流

产品和版本

  • Concur Expense Professional Edition,运行NextGen UI for Concur Expense
  • SAP Concur移动应用

限制

SAP Concur产品是高度可配置的,并不是所有客户都可以访问所有特性。在评审过程之前,合作开发人员必须确定他们的解决方案需要哪些配置。现有客户端可以使用SAP Concur Integration Services创建使用其配置的自定义应用程序。

对于费用条目批量编辑,不支持Launch External URL标注。对于需要相同数据的情况,我们建议配置所需数据字段的Copy-Down。

只有Employee角色可以与启动外部URL配置字段交互。批准者、费用处理程序和费用处理程序管理器角色将无法打开启动外部URL调出配置字段或与之交互。配置Launch External URL字段时,应该将Approver、Expense Processor和Expense Processor Manager角色配置为只读或隐藏。

如果使用Expense Assistant创建报表,并且在报表头级别使用Launch External URL字段,那么客户端可能会考虑为报表头创建一个强制字段,以确保用户与Launch External URL字段进行交互。

如果启动外部URL调出与其他费用作为流程的一部分使用api来检索信息的费用报告标题,条目,或分配,我们建议配置费用形成的启动外部URL callout领域遵循其他字段,将检索的数据(例如,将Launch External URL标注字段按顺序放置在其他字段之后)。

系统要求在用户打开Launch External URL配置字段之前完成某些指定字段(而不是自定义字段)。系统将执行一个简短的保存以使外部api可以使用费用记录。这些是最终用户在启动外部URL callout可以被打开之前需要完成的字段(如果这些字段被包含并配置为表单上所需的站点):

  • 在报表标题级别:报表名称、报表日期、策略和开始/结束日期。
  • 在费用输入级别:费用类型、金额、交易日期、支付类型和货币。

在用户从弹出窗口返回到Concur Expense应用程序之前,任何配置为Save操作的审计规则对最终用户都是不可见的。

该Android应用程序目前处于预发布状态,仅对获得批准的早期用户开放。要成为早期访问参与者,请与您的SAP Concur代表联系。

中国数据中心目前不支持启动外部URL v4。

启动URL过程概述

配置流程如下:

  1. 第三方开发人员、客户端或SAP Concur下载、安装、配置和定制应用程序连接器。应用程序连接器可以向入站web服务发出请求。

  2. Concur Expense注册应用程序连接器。准备好提供测试和生产域信息。

  3. Expense Admin使用Launch External URL控件类型创建一个新的表单字段,并将该字段添加到Report Header、Expense Entry或Allocation表单中。

配置完成后,callout使用以下过程:

  1. 用户单击只读的Launch URL表单字段旁边的按钮。

  2. Concur Expense启动一个新的浏览器窗口,并以编码查询字符串的形式将Report Header、Entry或Allocation Details URI、公司域、员工ID和唯一用户ID发送给应用程序连接器。

  3. 应用程序连接器解析查询字符串以提取发送的数据。

  4. 应用程序连接器使用SAP Concur web服务来收集信息。这可能是报告标题、费用分录或分配信息。

  5. 应用程序连接器在新的浏览器窗口中为最终用户呈现一个网页。这可以是来自商业应用程序的页面,也可以是自定义web应用程序的页面。

  6. 用户在外部系统中在浏览器窗口中完成该过程。

  7. 应用程序连接器使用SAP Concur web服务将任何字段更新信息发送到Concur Expense。

  8. 用户或应用程序连接器关闭窗口并返回Concur Expense。

  9. Concur Expense重新加载用户所在的页面,以便显示任何更新的字段值(如果应用程序连接器在窗口关闭之前发送了一个值)。

请注意: Concur Expense将在新浏览器窗口打开之前和窗口关闭后刷新时执行用户来自的区域(Entry, Allocation, Header)的保存。

安全

Concur Expense将使用SSL调用应用程序连接器的端点。在配置期间,Concur Expense将连接到应用程序连接器,以验证其主机名和访问凭据是否有效。

Concur Expense提供了一个示例应用程序连接器,凭证存储在web配置文件中,该文件因平台而异,如web.xml或web.config。但是,如果您正在托管连接器,您可以通过定制HTTPBasicAuth.java或Authentication.cs来定制凭证存储的位置和方式。

在应用程序连接器中安装由证书颁发机构(CA)签名的证书之前,Concur Expense将无法连接到应用程序连接器。您需要在访问之前安装签名证书。

授权

启动外部URL V4使用身份验证授权的过程。当发起Launch External URL V4调用时,并且终端用户已经登录到Concur,客户或第三方应用程序将在查询参数“client_auth_code”中接收一个临时令牌。由于Launch External URL调出完成了这个3支Oauth2授权的第一部分,因此应用程序必须将临时令牌交换为刷新令牌和访问令牌。关于这一点,请参阅身份验证授权页面获取POST /oauth2/v0/令牌详细信息。

请注意:用户必须登录到他们的Concur帐户才能正常工作。

启动外部URL设置的信息在配置启动外部URL - V4服务下面的部分。

功能

中可以找到用于Launch External URL请求的URI的详细信息V4启动外部URL请求页面。

同意费用配置

必须将Expense中用于Expense Report Header、Entry或Allocation的文本数据类型的自定义字段配置为Launch URL控件类型,并且在使用此标注之前必须将表单字段添加到所需的表单。在为公司注册并启用了使用Launch External URL API的合作应用程序之前,Launch URL控件类型不会出现在列表中。管理员必须选择单行或多行控件类型,这取决于将放置在字段中的数据。

请注意

  • 启动外部URL目前只适用于专业版。
  • 启动外部URL可以在费用报告头、条目或分配级字段中配置。
  • 此标注不能用于标准版客户端或旅行或发票字段。

反应和错误

指的是HTTP规范页以了解常见响应和错误的详细信息。

应用程序接口管理

SAP Concur管理员使用web服务页面上Administration下的Manage Application Connectors链接来注册、测试和启用应用程序连接器。

有关如何创建、安装和配置应用程序连接器的信息包括在标注和应用程序连接器

注意:应用程序连接器必须使用相同的用户名和密码对来生成验证签名散列。用户名和密码不能少于10个字符,最大长度不能超过50个字符。

配置启动外部URL - V4服务

您的客户ID必须首先注册。关于注册客户ID的详细信息可以在身份验证授权页面。用于callout的客户端ID必须注册重定向URL并分配以下授权。

需要资助: refresh_token、password、client_credentials和authorization_code

使用启动外部URL标注不需要范围。但是,如果使用Launch External URL标注作为与其他Concur api一起使用的流程的一部分,那么将需要这些其他api的作用域。

以下步骤解释如何注册应用程序连接器

  1. 连接器应用程序注册页,从列表中选择所需的注册。

  2. 点击修改

  3. 在Services部分中,选择启动外部URL

  4. 点击配置.出现“配置服务”窗口。

  5. 为主机上Concur Expense要连接的端点输入一个有效的URL。

    • 确认端点与远程服务的实际端点相匹配。
    • 当Concur Expense连接到客户机的应用程序连接器时,上面配置的“主机名”加上“端点”将是实际使用的端点。
  6. 选择活跃的复选框,以确定端点已准备好使用。通常要在应用程序连接器中实现并测试端点之后才能执行此操作。

  7. 确保服务版本设置为V4(仅当从V1移动到V4时需要)。

  8. 输入Client ID(用于标识您的应用程序)。

  9. 输入重定向URL(基础URL,客户端将从中调用以获取用户JWT)。

  10. 点击好吧.该服务已为您的主机配置。

  11. 点击保存,返回到应用程序连接器注册页面。

启动外部URL表单字段配置

使用Launch External URL控件类型创建一个新的表单字段。

  1. 点击管理>费用>表格和字段(左菜单)。

  2. 选择表单类型费用报告标题、费用分录或费用分配。

  3. 单击字段选项卡。

  4. 选择一个自定义字段并单击修改字段.输入字段信息,示例如下:

    • 字段名称:成本对象
    • 控制类型:启动URL(单行)或启动URL(多行)
    • 应用程序连接器:[已注册应用程序连接器名称]
    • 弹出宽度:400
    • 弹出高度:400
  5. 点击保存

  6. 形式选项卡并将新创建的字段添加到表单。

重要提示:确保将Employee角色的访问权限设置为Modify。审批人员、费用处理程序和费用处理程序经理角色应该配置为只读或隐藏。