收据V4 API接受三种不同的投寄收据的公式:
上面所有的都是接收资源,但是服务在数据资源和独立映像资源之间进行了区分。
带有数据的资源是模式强制的,称为电子收据。
独立映像的资源称为仅映像收据。
这两种不同的资源通过不同的端点从收据V4 API发送/获取:
请注意收据V4 API仅提供对通过此API提交的个人或用户收据的GET访问,因此响应不会全面地包含SAP Concur中的每个用户收据。所有其他图像应通过图像v1 API.另外,只会退回收据,不会有任何对应的录入数据。应该使用Image v1 API的企业应用程序的例子包括:用于财务日志分录的ERP集成,用于获取交易以计算增值税回收的增值税回收集成,用于证实报销费用的项目账单集成,等等。
SAP Concur系统和客户依赖电子收据作为相关政府管辖范围内合法有效的税务文件。因此,使用收据终端机邮寄电子收据必须符合下列准则:
收据API的4.0版本提供了更多收据类型、终端用户首选语言的自动电子收据生成以及合作伙伴提供详细税务信息的功能。与3.0版本不同,我们不再使用匹配事实;相反,合作伙伴必须为特定的终端用户创建收据。收据4.0只适用于新的身份验证API.
一旦你注册了你的申请,阅读关于API端点,或单击按钮下载Postman的请求集合。
在向收据API发出请求之前,您必须从认证API获取访问令牌.
响应将包括一个access_token
字段,其中包含访问令牌。对于后续的调用,需要将此访问令牌包含在授权
你的呼叫头。一个id_token
也将包括在回应中。为了检索用户的唯一ID,您必须对其进行解码id_token
在jwt.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= {你的客户ID}grant_type=密码用户名= {你的用户名}密码=P{你的密码}
下面是一些简单的NodeJS代码片段,用于获取令牌和发送收据。
使用严格的;常量请求=需要(“请求”);请求.帖子({url:“https://us.api.concursolutions.com/oauth2/v0/token”,形式:{client_secret:“你的价值在这里”,client_id:“你的价值在这里”,用户名:“你的价值在这里”,密码:“你的价值在这里”,grant_type:“密码”}},(犯错,httpResponse,身体)=>{如果(犯错){控制台.日志(犯错);}控制台.日志(的状态:,httpResponse.statusCode);控制台.日志(的回应:“,身体);});
使用严格的;常量https=需要(“https”);常量ACCESS_TOKEN=“您的访问令牌在此”;常量USER_ID=“你的价值在这里”;常量收据=JSON.stringify(YOUR_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:”,res.statusCode);控制台.日志(的头:“,res.头);res.在(“数据”,(数据)=>{过程.stdout.写(数据);});});要求的事情.写(收据);要求的事情.结束();要求的事情.在(“错误”,(e)=>{控制台.错误(e);});