概要
本文主要讲述SAP与旺店通接口集成的案例。
注意:本文是和旺店通旗舰版进行集成,旺店通不同版本接口是有差异的!
整体架构流程
SAP->CPI->旺店通
该次项目使用CPI实现SAP与旺店通系统进行集成,所以此次旺店通接口要求的签名将放在CPI上完成。具体上是CPI发布rest接口给到SAP调用,然后CPI将接收到的SAP数据加上签名发送给旺店通接口。
实现细节
1.旺店通端准备工作
1.1 注册旺店通账号
登录旺店通开放平台进行账号注册,注册信息按页面提示进行即可,因为本文是使用的旗舰版,所以点击旗舰版图标进入。
注意:因为旺店通不同版本接口文档等会有差异,请跟旺店通销售确认清楚自己买的是什么版本!
注册之后,请联系旺店通对接的人员通过账号的审核
1.2 申请测试环境
该步骤不是一定要做,只有当你需要用测试环境进行测试时才需要进行申请,因为该测试环境是跟所有旺店通其它客户共用的,而且有有效期的限制,所以实际上并不能作为我们平时所理解的Q环境,一般只是在前期测试接口联通性时使用。这里只作简单说明,详细可以参看官网自助文档。
点击申请测试环境后,会生成如下截图等信息,这里请记录下接口环境底下的卖家账号(sid),接口账号(appkey),***接口密钥(appsecret)***信息,后面调用接口时会用到。而客户端账号的信息是使用旺店通客户端登录使用的,这个如果没登录前端的需要可以忽略。
1.3 创建正式环境应用
具体详细可以参看官方文档说明。该步骤可以在确认正式上线的时候再来操作,因为这里涉及到需要勾选哪些旺店通接口,且每次变更都得重新申请上线。
2.CPI端开发工作
2.1 创建安全材料
因为旺店通测试环境和正式环境的appkey和appsecret不同,故通过安全物料的方式进行配置存储,方便根据不同环境进行配置。
这里我们创建以下5个安全物料
WDT_key
WDT_sid
WDT_salt
WDT_appsecret
WDT_v
这里可能读者会有点奇怪了,上面我们拿到的信息只有卖家账号(sid),接口账号(appkey),接口密钥(appsecret),为什么现在配置的变量会有5个之多?
下面说明一下,具体亦可查看官网原文说明。
根据官网的说明,我们拿到的appsecret其实是需要拆分为secret和salt两部分使用。而v需要默认赋值1.0。
所以假设我们在上面取得的卖家账号(sid)为WDTAPITEST,接口账号(appkey)JUST-TEST,接口密钥(appsecret)为ABC1236:JSHAGV87H,那么这5个变量的值分别为:
WDT_key:JUST-TEST
WDT_sid:WDTAPITEST
WDT_salt:JSHAGV87H
WDT_appsecret:ABC1236
WDT_v:1.0
2.2 CPI通用Script开发
这里我们先创建一个旺店通使用的脚本集合,并在里面新建一个Get_sign的Groovy脚本,实现旺店通要求的签名计算。
import com.sap.gateway.ip.core.customdev