实例创建
用户购买商品并付款成功后,云市场会调用该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 |
|
ecsInstanceId |
false |
String |
ECS实例ID(在镜像商品实例场景下为必选) |
|
productCode |
true |
String |
云市场商品code |
|
skuId |
true |
String |
商品规格ID |
|
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 |
免登地址 |
||||
|
licenseId |
许可证ID |
||||
|
licenseValidPeriod |
许可证有效期 |
||||
|
licenseForUserGuide |
使用说明地址 |
||||
|
appKey |
大模型服务所使用的appKey |
||||
|
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。
例如,在商品销售信息页面中,企业版对应的规格 Code 为 yuncode4757500001,旗舰版对应的规格 Code 为 yuncode4757500002。