接口功能及说明
针对接入场景接口调用失败的情况,云商店会持续调用3小时(每小时1次)后停止调用,期间商家可在“卖家中心>生产接口消息”页面单击对应订单右侧操作栏的“重新启动”进行手动重试。若商家接口问题在3小时调用时间内解决,则在下一次调用接口响应成功,订单交付成功;若3小时后仍未解决,系统停止自动重试,需商家前往“卖家中心>生产接口消息”手动重试,或前往服务监管详情页手动交付。
云商店服务有可能重发请求,针对同一订单号,商家的服务器应当返回成功的响应及License,不应该创建新的License,返回之前成功创建的License即可。
参数说明请参见下表。云商店会结合商家创建上架的商品售卖模式来对应请求,商家也需要根据请求的信息来对应执行生产。
接入参数:
参数 |
是否必选 |
参数类型 |
最大字符长度 |
说明 |
authToken |
M |
String |
50 |
安全校验令牌。 取值请参见authToken取值说明。 |
timeStamp |
M |
String |
20 |
请求发起时的时间戳,取UTC时间。 格式:yyyyMMddHHmmssSSS |
activity |
M |
String |
20 |
接口请求标识,用于区分接口请求场景。 license开通取值:getLicense |
customerId |
M |
String |
100 |
客户在华为云注册账号的唯一标识。 |
customerName |
O |
String |
64 |
客户在华为云注册的账户名。 |
businessId |
M |
String |
64 |
云商店业务ID。 每一次请求,businessId皆不一致。 |
orderId |
M |
String |
64 |
云商店订单ID。 |
skuCode |
O |
String |
64 |
产品规格标识。租户购买包月或包年的产品后,可能会续费,续费支持变更周期类型(例如包月转包年),此时,租户开通的实例instanceId对应的productId会变化,但skuCode不变。 说明: 该参数可在商品审核上架后,进入“卖家中心 > 商品管理 > 我的商品 ”页面,单击该商品操作列的“详情”进入商品详情页面获取。 |
productId |
M |
String |
64 |
产品标识,同一skuCode下,不同周期类型的productId不同。 例如:ISV发布产品,新增一个规格,会生成一个skuCode,再配置包年价格,包月价格,会生成两个productId。 说明: 该参数可在商品审核上架后,进入“卖家中心 > 商品管理 > 我的商品 ”页面,单击该商品操作列的“详情”进入 |
expireTime |
O |
String |
20 |
过期时间。 格式:yyyyMMddHHmmss 说明: 按周期售卖的商品,会请求该参数。 按次售卖的商品,不会请求该参数。 过期时间根据订单创建时间和购买周期计算而来,与订单实际过期时间有误差,仅供参考,不建议做其他用途,具体过期操作,以过期请求为准。 |
periodType |
O |
String |
10 |
周期类型。 说明: 非必传,如需此参数,计费类型需选择包周期 chargingMode=1,包周期购买场景请求时传该参数。 年:"year" 月:"month" chargingMode=3,按次购买场景请求时不传该参数。 |
amount |
O |
integer |
4 |
数量类型的商品定价属性。非必填。 属性名称:数量(支持商家自定义名称) 单位:个(次) 对于包周期或一次性计费的多SKU定价的License商品,租户下单购买包含“数量”线性属性的规格时,会填写及调整购买的个数或次数。 例如:30个用户 |
provisionType |
O |
integer |
2 |
商品实例开通方式。 说明: 固定为:3 用户购买后同步开通 |
chargingMode |
O |
Integer |
3 |
计费模式。 1:表示包周期购买 3:表示按次购买。 |
periodNumber |
O |
Integer |
5 |
周期数量 |
saasExtendParams |
O |
String |
2048 |
扩展参数,如果activity=getLicense,则必须要该数据。 扩展参数格式为json数组字符串通过 urlEncode(base64(saasExtendParams))携带到url参数中。在得到saasExtendParams参数的值后,需要通过base64Decode(urlDecode(saasExtendParams))获取扩展参数json数组。 |
扩展参数saasExtendParams说明:
ISV通过扩展参数可以获取到识别码,系统封装的初始识别码JSON示例为:
[{"name":"identificationCode","value":"*****"}]
其中identificationCode为订单支付后,买家在服务监管里填写的值,商家依赖于该值结合订单信息、skuCode、productId等信息生成license。
经过BASE64编码和URL编码后,生成的saasExtendParams,作为参数通过调用ISV提供的接口传递到ISV的服务里,经过URL解码、BASE64解码后,还原初始封装的JSON数据,ISV得到identificationCode,根据该值并结合订单信息、skuCode、productId生成最终的license返回。
返回参数:
参数 |
是否必选 |
参数类型 |
最大字符长度 |
说明 |
resultCode |
M |
String |
6 |
调用结果码。 具体请参见调用结果码说明。 |
resultMsg |
O |
String |
255 |
调用结果描述。 |
license |
O |
String |
1024 |
license ISV根据saasExtendParams 的license识别码(identificationCode)返回给买家的license |
返回结果示例:
{ "resultCode":"000000", "resultMsg":"success.", "license":"*****" }