全部产品

云市场非服务化虚商接入指引

更新时间:2019-04-17 21:04:13

注:非服务化虚商(以下简称为虚商)

文档目的

  • 介绍虚商接入云市场的整体流程,希望通过该文档减少虚商的接入成本,提高虚商的接入效率.

接入场景

  • 云市场目前提供两种商品类型的接入模式,镜像和SAAS.两种商品类型的接入模式有些不同,具体请见下面描述
  1. 镜像商品接入

    镜像商品的接入流程,主要包括两部分:

    第一部分,通过iframe方式引入镜像选配页面.选配页面的地址:

    https://market.aliyun.com/imagechoose

    查询参数示例及说明见下表:

参数 类型 是否必选 示例值 描述
isIntlUser Boolean true/false 是否国际用户
instanceType String ecs.g5.large 实例类型
regionId String cn-qingdao-cm5-a01 区域
chargeType String true/false 付费类型
networkType String vpc 网络类型
orderType String BUY 订单类型
iooptimized Boolean true/false 是否io优化
isIntlRegion Boolean true/false 是否海外Region
actionType String CreateEcs/Upgrade 新购与升级
host String ecs-buy.aliyun.com 当前调用iframe host
hideRecommend Boolean true/false 强制隐藏精选镜像

第二部分,调用云市场的openapi,完成镜像商品询价.

  1. SAAS商品接入

    SAAS商品的接入主要通过调用云市场的OPENAPI接口,来完成商品的选配,新购 续费以及升级的业务流程.

  2. 云市场控制台接入

    云市场控制台的接入规范与阿里云其他控制台的接入规范相面,只要虚商接入过ECS等控制台,就可以直接免登到云市场的控制台.云市场控制台地址为:market4service.console.aliyun.com

常见问题

  • 如何获取镜像弹窗中,被选中的镜像的相关信息?弹窗页面,通过postMessage往外抛数据,使用方可以自己决定,弹窗的关闭或开启

  • 云市场sdk获取方式?

    通过maven pom引入,请使用最新版本

    1. <dependency>
    2. <groupId>com.aliyun</groupId>
    3. <artifactId>aliyun-java-sdk-market</artifactId>
    4. <version>latest version</version>
    5. </dependency>

    手动编译

    github源码地址:https://github.com/aliyun/aliyun-openapi-java-sdk/tree/master/aliyun-java-sdk-market

  • 云市场openapi所使有的regionId?

    目前国内云市场OPENAPI中心化布署,所支持的regionId只有一个,即cn-hangzhou.代码如下

    1. IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "你的accessKey", "你的secret");
  • 调用ecs的openapi接口创建ecs后,并没有返回镜像的实例id,在进行后续的续费业务时,如何查询镜像的费用?

    通过下单参数中的镜像id,可以查出续费时,该镜像所需费用.样例代码如下

    1. private static Map<String, String> propery1 = ImmutableMap.<String, String>builder()
    2. .put("imageNo", "m-2518m0qn1")
    3. .put("regionNo", "cn-beijing")
    4. .build();
    5. public void testDescribeRenewPrice() throws Exception {
    6. InstanceRenewCommodity instanceRenewCommodity = new InstanceRenewCommodity();
    7. instanceRenewCommodity.setPricingCycle("MONTH");
    8. instanceRenewCommodity.setDuration(1L);
    9. instanceRenewCommodity.setProperties(propery1);
    10. DescribePriceRequest describePriceRequest = new DescribePriceRequest();
    11. describePriceRequest.setAcceptFormat(FormatType.JSON);
    12. describePriceRequest.setOrderType("INSTANCE_RENEW");
    13. describePriceRequest.setCommodity(JSON.toJSONString(instanceRenewCommodity));
    14. }
  • 云市场的商品详情描述接口返回的模块的信息是固定的吗?

    除了固定的两个模块package_version及ord_time,其余的模块信息,都是由isv根据软件的不同计费方式,动态配置出来的.

  • 云市场的商品详情描述接口中的约束信息如何理解?

    与ecs的约束信息相同.