租户应用信息同步接口
接口说明
- 买家购买联营SaaS类应用后,在买家中心登录,将应用与企业绑定时,云商店调用该接口请求商家同步该企业应用的认证信息,商家接口需要执行应用同步,保存应用信息,并返回通知云商店。
- 针对应用同步场景接口调用失败的情况,由买家选择是否重试,并用短信或邮件的形式通知ISV商家接口调用失败。
- 商家的服务器在处理接口请求时,需要做好幂等性处理。
对于同一个实例,相同的租户,相同的应用,要支持多次请求新增,或者删除,多次新增不应产生新的数据,且需要返回成功,如果是删除,多次删除也需要返回成功,不能因已删除返回失败,删除时不需要校验(新购商品)接口产生的实例是否存在
应用同步流程如下图所示:
请求方法:POST
接口URL:生产地址+固定子路径,其中固定子路径为/produceAPI/applicationSync;
接口示例:生产地址为https://example.isv.com,则接口URL为https://example.isv.com/produceAPI/applicationSync
Headers请参数
参数 |
必选 |
参数类型 |
描述 |
---|---|---|---|
authToken |
M |
String(255) |
签名信息,请参考auth Token取值说明。 |
BODY参数
参数 |
必选 |
参数类型 |
描述 |
---|---|---|---|
instanceId |
M |
String(64) |
说明:
卖家申请应用凭证的时候传空,买家必传。 |
tenantId |
M |
String(64) |
租户ID, 与租户同步接口的租户ID是一致的 |
appId |
M |
String(64) |
应用的ID,云商店应用凭证中的应用ID |
clientId |
M |
String(64) |
客户端id,是认证中心统一返回的ClientID |
clientSecret |
M |
String |
客户端secret,该参数传递时云商店将使用商家创建应用时提供的公钥进行RSA加密(密钥长度>=3072bit,填充方式OAEP),商家服务器在接收到参数后需要用自己本地保存的私钥解密(公私钥对) |
flag |
M |
Integer(2) |
0-删除 1-新增 |
testFlag |
M |
Integer(2) |
0-生产正式数据 1-调测数据 |
timeStamp |
M |
String |
默认时区东8区,时间戳,时间格式:20220420114117642 |
响应参数
参数 |
是否必选 |
类型 |
最大字符长度 |
说明 |
---|---|---|---|---|
resultCode |
M |
String |
6 |
调用结果码。 具体请参见调用结果码说明。 |
resultMsg |
O |
String |
255 |
调用结果描述。 |
示例:
POST https://example.isv.com/produceAPI/applicationSync Connection: keep-alive Content-Type: application/json authToken: "stbNYluHv***************bt271qDr6WDAVLtLRb” Host: example.isv.com User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191) { "instanceId": "huaiweitest123456", "appId": "KSIDJF1234456", "tenantId": "68cbc8*********b880d92f36422fa0e", "clientId": " bc20*******880d92f3", "clientSecret":"DSDT*******ECDD#$^#" , "flag": 1, "testFlag": 0, "timeStamp": "20220413093539534" , } HTTP/1.1 200 OK Body-Sign: sign_type="HMAC-SHA256", signature= "xxxxxxxxxx" Content-Type: application/json { " resultCode": "000000", " resultMsg": "Success" }
HTTP Body签名:
Body-Sign: sign_type="HMAC-SHA256", signature= "xxxxxxxxxxxxx" ,详情参考《HTTP Body签名》。