概述

收据V4 API接受三种不同的投寄收据的公式:

  1. 收到的数据-您的收据数据存储与自动生成的收据图像文件。
  2. 接收数据和接收图像—存储您的接收数据和接收映像文件。
  3. 接收图像无数据-您的收据图像文件连同一些伴随的元数据被存储。

上面所有的都是接收资源,但是服务在数据资源和独立映像资源之间进行了区分。

带有数据的资源是模式强制的,称为电子收据。

独立映像的资源称为仅映像收据。

这两种不同的资源通过不同的端点从收据V4 API发送/获取:

  • 电子收据(有数据的收据)-使用电子收据终结点
  • 仅图像收据(独立图像无数据)-使用仅图像收据端点

请注意收据V4 API仅提供对通过此API提交的个人或用户收据的GET访问,因此响应不会全面地包含SAP Concur中的每个用户收据。所有其他图像应通过图像v1 API.另外,只会退回收据,不会有任何对应的录入数据。应该使用Image v1 API的企业应用程序的例子包括:用于财务日志分录的ERP集成,用于获取交易以计算增值税回收的增值税回收集成,用于证实报销费用的项目账单集成,等等。

重要的使用限制

SAP Concur系统和客户依赖电子收据作为相关政府管辖范围内合法有效的税务文件。因此,使用收据终端机邮寄电子收据必须符合下列准则:

  • 电子收据必须直接由发出收据的原商户发出,或由商户授权代表商户发出收据的第三方发出。
  • 即使SAP Concur文档指出数据字段是可选的,也必须提供相关政府管辖范围所需的所有接收数据字段。如果政府要求的数据字段在当前模式中不可用,则必须附加一个合法的接收映像。

4.0版本概述

收据API的4.0版本提供了更多收据类型、终端用户首选语言的自动电子收据生成以及合作伙伴提供详细税务信息的功能。与3.0版本不同,我们不再使用匹配事实;相反,合作伙伴必须为特定的终端用户创建收据。收据4.0只适用于新的身份验证API

探索API

先决条件

读了开始的部分身份验证API

一旦你注册了你的申请,阅读关于API端点,或单击按钮下载Postman的请求集合。

运行在邮递员

检索用户访问令牌:

在向收据API发出请求之前,您必须从认证API获取访问令牌

响应将包括一个access_token字段,其中包含访问令牌。对于后续的调用,需要将此访问令牌包含在授权你的呼叫头。一个id_token也将包括在回应中。为了检索用户的唯一ID,您必须对其进行解码id_tokenjwt.io.你需要这个身份证才能邮寄收据。

例子:

旋度:

旋度- d"client_secret={YOUR SECRET}&client_id={YOUR CLIENT ID}&grant_type= PASSWORD & USERNAME ={YOUR USERNAME}&password={YOUR PASSWORD}"https://us.api.concursolutions.com/oauth2/v0/token

HTTPie:

http- f文章https://us.api.concursolutions.com/oauth2/v0/tokenclient_secret= {你的秘密client_id= {你的客户IDgrant_type密码用户名= {你的用户名密码P你的密码

探索JavaScript中的API

下面是一些简单的NodeJS代码片段,用于获取令牌和发送收据。

检索用户访问令牌:

使用严格的常量请求需要“请求”);请求帖子({url“https://us.api.concursolutions.com/oauth2/v0/token”形式client_secret“你的价值在这里”client_id“你的价值在这里”用户名“你的价值在这里”密码“你的价值在这里”grant_type“密码”}},犯错httpResponse身体=>如果犯错控制台日志犯错);控制台日志的状态:httpResponsestatusCode);控制台日志的回应:“身体);});

发布一个收据

使用严格的常量https需要“https”);常量ACCESS_TOKEN“您的访问令牌在此”常量USER_ID“你的价值在这里”常量收据JSONstringifyYOUR_RECEIPT_HERE);常量选项主机名“us.api.concursolutions.com”路径' /收据/ v4 /用户/$ {USER_ID方法“职位”“授权”不记名的$ {ACCESS_TOKEN“内容类型”“application / json”内容长度的缓冲byteLength收据),“链接”' < http://schema.concursolutions.com/general-receipt.schema.json >; rel = describedBy '};常量要求的事情https请求选项res=>控制台日志“statusCode:”resstatusCode);控制台日志的头:“res);res“数据”数据=>过程stdout数据);});});要求的事情收据);要求的事情结束();要求的事情“错误”e=>控制台错误e);});