创建实例
用户购买商品并付款成功后,云市场会调用该SPI,进行实例创建。
每次创建的应用实例需要返回一个标识(instanceId),后续的续费、过期等操作云市场会继续使用此标识。
instanceId的值建议直接使用云市场传入的orderBizId。
请避免阻塞此接口,若耗时较长,可使用队列做缓冲,设置instanceId=0,然后立即返回。若操作失败也请设置instanceId=0,云市场都会再次调用(最多重试120次),直到获取到真实的instanceId。
该接口可能会被多次调用,如果被重复调用,请保证接口的幂等性。
有额外计费项的商品,在接口参数中会增加额外计费项参数,额外计费项参数会作为一级参数,与现有其他参数在同一级。额外计费项参数Key与商品发布时指定的额外计费项Key一致,参数值为用户订购时选择的额外计费项值。比如在商规格上有额外计费项Key “Count”和“Num”两个,用户下单时分别指定Count值2 && Num值3,那么参数列表中也会增加这参数Count值2和参数Num值3。服务商需要根据额外计费项值为用户做初始化,并记录当前的额外计费项值。
参数
参数 | 必选 | 类型及范围 | 说明 |
action | true | String | 固定值:createInstance |
aliUid | true | String | 用户的标识 |
orderBizId | true | String | 云市场业务ID |
orderId | true | String | 云市场订单ID |
productCode | true | String | 云市场商品code |
skuId | true | String | 商品规格标识 |
trial | true | Boolean | 是否试用 |
expiredOn | false | DateTime | 过期时间(yyyy-MM-dd HH:mm:ss) |
template | false | String | 模板ID,适用于模板类建站商品 |
token | true | String | 安全令牌 |
返回值
参数名称 | 参数说明 | 是否必选 | 类型及范围 | key 名称 | key 说明 |
instanceId | 实例 ID,服务商提供的标识 | true | String | - | - |
hostInfo | 展示在买家控制台已购买服务详情的主机&备案信息 | false | JSON | name | 主机名 |
ip | 服务器IP | ||||
innerIp | 服务器内网IP | ||||
username | 服务器账号 | ||||
password | 服务器密码 | ||||
cname | 服务器CNAME | ||||
tempDomain | 临时域名 | ||||
ftpUsername | ftp用户名 | ||||
ftpPassword | ftp密码 | ||||
region | 机房信息 | ||||
beianInfo | 备案地址 | ||||
databaseInfo | 数据库信息 | ||||
appInfo | 展示在买家控制台已购买服务详情的应用信息 | false | JSON | frontEndUrl | 前台地址 |
adminUrl | 管理地址 | ||||
username | 管理员账号 | ||||
password | 管理员密码 | ||||
authUrl | 免登地址 | ||||
info | 展示在买家控制台已购买服务详情的备注信息 | false | JSON | - | 自定义Key-Value数据 |
调用示例
http://example.aliyundoc.com?
token=097a56e26a93c874140bbcdf403f****&action=createInstance&aliUid=12312****&orderId=100001&orderBizId=1&productCode=cmjj000123&skuId=sku-1
返回示例
{
"instanceId": "1",
"hostInfo": {
"name": "linux server",
"ip": "127.0.0.1",
"username": "user",
"password": "user_password"
},
"appInfo": {
"frontEndUrl": "http://example.com/",
"adminUrl": "http://example.com/admin",
"username": "admin",
"password": "admin_password"
},
"info": {
"key1": "my custom info"
}
}
常见问题
1. 创建实例时,如何通过参数识别用户购买的商品以及规格信息
productCode参数是用户购买的商品编码,对应服务商控制台商品管理页面的商品编码列。
如果商品有多个商品规格,skuId字段对应商品的规格code,对应商品发布-商品销售信息的规格code。