接口说明

说明

参数说明表格中未包含是否必填项的参数均为必填参数。

通用参数说明

所有接口都包含三个参数:appIdworkspaceIdtenantId,这三个参数的含义如下。本文档后续接口说明中会省略对这三个参数的说明。

参数名称

类型

说明

appId

String

所属的应用

workspaceId

String

所属的工作空间

tenantId

String

所属的租户

通用返回值说明

参数名称

类型

说明

resultCode

String

请求正常返回 OK,其他情况表明 API 请求异常。

requestId

String

标识请求的 ID。

resultMessage

String

请求异常时的描述。

Result

Object

返回的具体对象,具体含义看具体返回值。

所有接口返回的具体对象均包含两个字段:successresultMsg,这两个字段的含义如下:

名称

类型

说明

success

Boolean

查询是否成功。

resultMsg

String

查询失败后的返回值。

创建虚拟域名

请求 - CreateMcubeVhostRequest

名称

类型

说明

vhost

String

虚拟域名的值。

返回值 - CreateMcubeVhostResponse

{
    "createVhostResult":{
        "data":"success",
        "resultMsg":"",
        "success":true
    },
    "requestId":"F9C681F2-6377-488D-865B-1144E0CE69D2",
    "resultCode":"OK"
}

返回值说明

返回值名称

类型

说明

data

String

如果创建成功,返回 success。如果创建失败,success 字段的值为 false。

createVhostResult

Object

返回的具体对象,仅包含通用返回值。

查询虚拟域名

请求 - QueryMcubeVhostRequest

返回值 - QueryMcubeVhostResponse

{
    "queryVhostResult":{
        "data":"test.com",
        "resultMsg":"",
        "success":true
    },
    "requestId":"637D5BE0-0111-4C53-BCEE-473CFFA0DBAD",
    "resultCode":"OK"
}

返回值说明

返回值名称

类型

说明

queryVhostResult

Object

返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称

类型

说明

data

String

查询到的虚拟域名信息。

resultMsg

String

查询失败后的返回值。

success

Boolean

查询是否成功。

查询密钥文件是否存在

请求 - ExistMcubeRsaKeyRequest

返回值 - ExistMcubeRsaKeyResponse

{
    "checkRsaKeyResult":{
        "data":"fail",
        "resultMsg":"",
        "success":false
    },
    "requestId":"8F76783A-8070-4182-895D-14E5D66F8BA3",
    "resultCode":"OK"
}

返回值说明

返回值名称

类型

说明

checkRsaKeyResult

Object

返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称

类型

说明

data

String

查询密钥是否存在返回结果。fail 表示密钥不存在,success 表示密钥存在。

resultMsg

String

查询失败后的返回值。

success

Boolean

查询是否成功。

获取上传文件 token

请求 - GetMcubeFileTokenRequest

参数名称

类型

说明

onexFlag

Boolean

固定传值为 true

返回值 - GetMcubeFileTokenResponse

{
    "getFileTokenResult":{
        "fileToken":{
            "accessid":"LTAI7z7XPfKU****",
            "dir":"mds/tempFileForOnex/ONEXE9B092D/test/PUQYHL/8b574cb7-3596-403f-a0e9-208660fc2081/",
            "expire":"1584327372",
            "host":"https://mcube-test.oss-cn-hangzhou.aliyuncs.com",
            "policy":"QwM2YtYTBlOS0yMDg2NjBmYzIwODEvIl1dfQ==",
            "signature":"kisfP5YhbPtmES8+w="
        },
        "resultMsg":"",
        "success":true
    },
    "requestId":"8BAA3288-662E-422C-9960-2EEBFC08369F",
    "resultCode":"OK"
}

返回值说明

返回值名称

类型

说明

fileToken

Object

按照文件上传示例中的设置方法,将 fileToken 中对应的字段设置到 OssPostObject 中。

getFileTokenResult

Object

-

上传密钥文件

请求 - UploadMcubeRsaKeyRequest

名称

类型

说明

onexFlag

Boolean

固定传值为 true

fileUrl

String

密钥文件在 OSS 中的存储地址。

返回值 - UploadMcubeRsaKeyResponse

{
    "requestId":"519E35CF-CC60-4890-8C8E-89A98CEA6BB0",
    "resultCode":"OK",
    "uploadRsaResult":{
        "data":"处理成功",
        "resultMsg":"",
        "success":true
    }
}

返回值说明

返回值名称

类型

说明

data

String

如果创建成功,返回处理成功。

如果创建失败,success 字段值为 false。

uploadRsaResult

Object

返回的具体对象。

获取离线包 App 列表

请求 - ListMcubeNebulaAppsRequest

仅包含通用参数。参见 通用参数说明

返回值 - ListMcubeNebulaAppsResponse

{
    "listMcubeNebulaAppsResult":{
        "nebulaAppInfos":[
            {
                "h5Id":"12345678",
                "h5Name":"12345678"
            },
            {
                "h5Id":"12345679",
                "h5Name":"openapiTest"
            }
        ],
        "resultMsg":"",
        "success":true
    },
    "requestId":"BE728F09-6EBD-4688-9329-896813EAD075",
    "resultCode":"OK"
}

返回值说明

返回值名称

类型

说明

h5Id

String

离线包 ID。

h5Name

String

离线包名称。

创建离线包 App

请求 - CreateMcubeNebulaAppRequest

参数名称

类型

说明

h5Name

String

离线包名称。

h5Id

String

离线包 ID,8 位数字。

返回值 - CreateMcubeNebulaAppResponse

{
    "createNebulaAppResult":{
        "resultMsg":"",
        "success":true
    },
    "requestId":"5B588AFE-8D58-4460-B0AA-6A48A9FD0852",
    "resultCode":"OK"
}

删除离线包 App

请求 - DeleteMcubeNebulaAppRequest

参数名称

类型

说明

h5Id

String

离线包 ID,8 位数字

返回值 - DeleteMcubeNebulaAppResponse

{
    "deleteMcubeNebulaAppResult":{
        "resultMsg":"",
        "success":true
    },
    "requestId":"E24C760E-4849-4341-91C6-6DA97F5B6B76",
    "resultCode":"OK"
}

上传离线资源包

请求 - CreateMcubeNebulaResourceRequest

名称

类型

说明

h5Id

String

H5App 的 ID。

h5Name

String

H5App 的名称。

h5Version

String

离线包的版本。需要保证在单个 H5App 中唯一。

mainUrl

String

离线包主入口,满足正则 ^/[\w|/]+\.html$

vhost

String

H5App 的虚拟域名。

extendInfo

String

JSON 格式字符串。

autoInstall

Integer

下载时机。

  • 0:仅 Wi-Fi(非 Wi-Fi 需用户使用应用时才会下载);

  • 1:所有网络都下载(会对用户流量造成负面影响,非特殊场景禁用。

resourceType

Integer

资源类型,一个 H5App 只能存在一种类型。0:全局资源包,1:普通资源包。

installType

Integer

安装时机,0:不预加载(只有进入离线包或小程序页面时才安装),1:预加载(离线包或小程序下载完成后则自动安装)。

platform

String

使用平台,分为 all(全平台)、Android、iOS 和 Harmony。

clientVersionMin

String

客户端最低版本,选择了指定的 platform 之后,最低版本必须是必传的,格式为iOS 版本;Android 版本;Harmony 版本,不存在就是空字符串,但是不能省略分号。

clientVersionMax

String

客户端最高版本,可以不填。如果 platformall,那么这个值必须都写或者都不写。

fileUrl

String

文件在 OSS 的 URL。离线包资源文件,必须为 zip 格式。

repeatNebula

Integer

是否复用全局包,在资源类型为全局资源包时需要填写。0:否,1:是。

onexFlag

Boolean

固定传值为 true

返回值 - CreateMcubeNebulaResourceResponse

{
    "createMcubeNebulaResourceReslult":{
        "nebulaResourceId":"4154",
        "resultMsg":"",
        "success":true
    },
    "requestId":"DFCA28DF-0F97-4C41-B3D4-351D284B51E7",
    "resultCode":"OK"
}

nebulaResourceId 为上传的资源包对应的 ID。

获取资源包列表

请求 - ListMcubeNebulaResourcesRequest

名称

类型

说明

h5Id

String

H5App 的 ID。

返回值 - ListMcubeNebulaResourcesResponse

{
    "listMcubeNebulaResourceResult":{
        "nebulaResourceInfos":[
            {
                "appCode":"ONEX97C5D29290957-default",
                "autoInstall":1,
                "clientVersionMax":"100;100",
                "clientVersionMin":"0;0",
                "creator":"demo",
                "debugUrl":"",
                "downloadUrl":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/12345678_1.0.0.1.amr",
                "extendInfo":"",
                "extraData":"{"resourceType":"1"}",
                "fallbackBaseUrl":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/fallback/;https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/fallback/",
                "fileSize":"0",
                "gmtCreate":"2021-02-01 14:11:21",
                "gmtModified":"2021-02-01 14:11:21",
                "h5Id":"12345678",
                "h5Name":"12345678",
                "h5Version":"1.0.0.1",
                "id":4154,
                "installType":1,
                "lazyLoad":0,
                "mainUrl":"/test.html",
                "md5":"3b9b7caaea6e5b0cb0db4db551454a33",
                "memo":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/nebula_json/h5_json.json",
                "metaId":7848,
                "modifier":"success",
                "packageType":1,
                "platform":"all",
                "publishPeriod":0,
                "releaseVersion":"20210201141121",
                "resourceType":"1",
                "status":1,
                "vhost":""
            }
        ],
        "resultMsg":"",
        "success":true
    },
    "requestId":"C88DEB27-FF7E-43F7-97F8-B2AA12FB0A5D",
    "resultCode":"OK"
}

返回值说明

名称

类型

说明

appCode

String

appId+”-“+workspaceId

autoInstall

Integer

含义和上传离线包中的一致

clientVersionMax

String

含义和上传离线包中的一致

clientVersionMin

String

含义和上传离线包中的一致

creator

String

创建者,目前没有使用

debugUrl

String

当前返回中无意义

downloadUrl

String

下载离线包 AMR 文件地址

extendInfo

String

上传时传递的扩展信息

extraData

String

扩展参数

fallbackBaseUrl

String

离线包 fallback 地址,使用分号分隔,分号前是内网地址,分号后是外网地址

fileSize

String

文件大小

gmtCreate

Date

创建时间

gmtModified

Date

更新时间

h5Id

String

H5App 的 ID

h5Name

String

H5App 的名称

h5Version

String

当前离线包的版本号

id

Long

主键

installType

Integer

含义和上传离线包中的一致

lazyLoad

Integer

启动加载,目前都是 0

mainUrl

String

含义和上传离线包中的一致

md5

String

离线包文件的md5

memo

String

离线包的 h5.json文件的下载地址

metaId

Long

无意义

modifier

修改者

目前没有使用

platform

平台

含义和上传离线包中的一致

publishPeriod

Integer

发布状态。

0:初始化;

1:内部灰度发布;

2:外部灰度发布;

3:正式发布;

4:回滚发布;

5:发布任务结束。

releaseVersion

String

发布版本号

resourceType

Integer

含义和上传离线包中的一致

status

Integer

状态

创建离线包发布任务

请求 - CreateMcubeNebulaTaskRequest

名称

类型

是否必填

说明

publishType

Integer

发布类型。

  • 2:灰度发布

  • 3:正式发布

publishMode

Integer

发布模式。若 publishType 为 3,则不填。

  • 0:未知

  • 1:白名单

  • 2:时间窗

  • 3:百分比

  • 4:全量

  • 5:第三方灰度

memo

String

发布描述

id

Long

只能传 0,表示创建,不可修改。

greyEndtimeData

String

灰度时间窗发布的结束时间,格式为“YYYY-MM-dd HH:mm:ss”,时间必须大于当前时间并且与当前时间的间隔小于 7 天。当 publishMode 为 2 的时候必填。

greyEndTime

Date

Date 类型,值和 greyEndTimeData 一致。

greyNum

Integer

时间窗灰度的人数。当 publishMode2 时必填。

whitelistIds

String

白名单主键 ID。当 publishMode1 时必填。多个 ID 使用”,”分隔。

packageId

Long

发布的资源包主键 ID

greyConfigInfo

String

发布的高级规则条件,JSON 字符串,具体含义见下表。示例:[{“ruleElement”:”city”,”operation”:1,”value”:”上海市,北京市,天津市”},{“ruleElement”:”mobileModel”,”operation”:2,”value”:”REDMI NOTE 3,VIVO X5M”},{“ruleElement”:”osVersion”,”operation”:3,”value2”:”9.2.1”,”value1”:”9.2.1”,”value”:”9.2.1-9.2.1”}]

高级规则说明

名称

类型

说明

ruleElement

String

规则类型:

  • city:城市

  • mobileModel:机型

  • netType:网络

  • osVersion:设备系统版本

value

String

规则值,多个规则使用”,”分隔,当 operation34 时,value 值是 aa-bb 的格式,其中 aa 是较小的值,bb 是较大的值。

operation

Integer

操作关系:

  • 1:包含

  • 2:不包含

  • 3:范围内

  • 4:在范围外。

ruleElementcitymobileModelnetType 时,operation 取值仅可以为 12;当 ruleElementosVersion 时,operation 的值可以是 4 种里面的任意一种。

返回值 - CreateMcubeNebulaTaskResponse

{
    "createMcubeNebulaTaskResult":{
        "nebulaTaskId":"6664",
        "resultMsg":"",
        "success":true
    },
    "requestId":"BBDF54E1-2783-4E5A-AE19-F7BC3A1BB3C2",
    "resultCode":"OK"
}

返回的nebulaTaskId为创建的发布任务对应的 ID。

获取发布任务列表

请求 - ListMcubeNebulaTasksRequest

名称

类型

说明

id

Long

任务对应的离线资源包 ID

返回值 - ListMcubeNebulaTasksResponse

{
    "listMcubeNebulaTaskResult":{
        "nebulaTaskInfos":[
            {
                "appCode":"ONEX97C5D29290957-default",
                "bizType":"nebula",
                "creator":"",
                "gmtCreate":"2021-02-01 14:16:58",
                "gmtModified":"2021-02-01 14:16:58",
                "gmtModifiedStr":"2021-02-01 14:16:58",
                "greyConfigInfo":"",
                "greyEndtimeData":"",
                "greyNum":0,
                "greyUrl":"",
                "id":6664,
                "memo":"test",
                "modifier":"",
                "packageId":4154,
                "percent":0,
                "platform":"all",
                "productId":"ONEX97C5D29290957-default-12345678",
                "productVersion":"1.0.0.1",
                "publishMode":4,
                "publishType":3,
                "releaseVersion":"20210201141121",
                "status":1,
                "syncResult":"",
                "taskName":"12345678",
                "taskStatus":1,
                "taskType":0,
                "taskVersion":1612160218556,
                "upgradeNoticeNum":0,
                "upgradeProgress":"",
                "whitelistIds":""
            }
        ],
        "resultMsg":"",
        "success":true
    },
    "requestId":"B9A07543-4B8B-43D0-AB33-7F2ACB954909",
    "resultCode":"OK"
}

返回值说明

名称

类型

说明

appCode

String

appId+workspaceId

bizType

String

离线包为 nebula

bundles

Array

目前没有使用

creator

String

目前没有使用

gmtCreate

Date

创建时间

gmtModified

Date

更新时间

gmtModifiedStr

String

更新时间字符串

greyConfigInfo

String

高级规则的字符串,和上传时的展示方式不同,具体见下表。

greyEndtime

Date

时间窗灰度截止时间

greyEndtimeData

String

时间窗灰度截止时间字符串

greyNum

Integer

时间窗灰度人数

id

Long

当前发布任务主键 ID

memo

String

发布描述

modifier

String

更新者,没有使用

packageId

Long

当前任务对应离线资源包的 ID

percent

Integer

灰度百分比,目前都是 0。

platform

String

当前发布任务的平台,可选 all(双平台)、iOS、Android 或 Harmony。

productId

String

产品 ID,格式为“appId + workspaceId + h5id”。

productVersion

String

离线资源包的版本号

publishMode

Integer

发布模型。0:默认值,1:白名单,2:时间窗。

publishType

Integer

发布类型。2:灰度发布;3:正式发布。

releaseVersion

String

内部发布版本号

resIds

String

对应的离线资源包 ID

status

Integer

状态。0:无效,1:有效

syncResult

String

目前没有使用

taskName

String

任务名称,和小程序 App 名称相同

taskStatus

Integer

任务状态。0:待发布;1.发布中;2:已结束;3:暂停

taskType

Integer

任务类型。0:普通任务 1:回滚任务。

taskVersion

Long

任务版本号,使用的是任务创建的当前时间

upgradeNoticeNum

Integer

目前没有使用

upgradeProgress

String

目前没有使用

whitelistIds

String

白名单主键 ID,多个 ID 使用”,”分隔

greyConfigInfo 字段内容解释

名称

类型

说明

operator

String

规则关系,and 表示“与”规则,对 subRules 里的结果进行“与”操作。

defaultResult

boolean

默认返回的结果

subRules

List

规则集合

operator

String

规则名称

  • contains:包含

  • excludes:不包含

  • vLimitIn:在范围内

  • vLimitOut:在范围外

left

List/Object

operatorcontainsexcludes 时,是 List 字符集合,每个元素表示一个规则的值;当 operatorvLimitInvLimitOut 时,是一个对象,里面的 lower 表示较低的值,upper 表示较高的值。

right

String

规则类型名称

defaultResult

Boolean

默认结果

说明

greyConfigInfo 中两个 operator 字段表示的含义不同。

{
    "operator":"and",
    "subRules":[
        {
            "operator":"excludes",
            "left":[
                "青岛市",
                "长沙市",
                "重庆市"
            ],
            "right":"city",
            "defaultResult":false
        },
        {
            "operator":"contains",
            "left":[
                "2G",
                "4G",
                "WIFI"
            ],
            "right":"netType",
            "defaultResult":false
        },
        {
            "operator":"contains",
            "left":[
                "phone4",
                "plusx"
            ],
            "right":"mobileModel",
            "defaultResult":false
        },
        {
            "operator":"vLimitOut",
            "exclusive":true,
            "defaultResult":true,
            "left":{
                "lower":"12.0",
                "upper":"17.0"
            },
            "right":"osVersion"
        }
    ],
    "defaultResult":false
}

根据 ID 获取任务详情

请求 - GetMcubeNebulaTaskDetailRequest

名称

类型

说明

taskId

Long

想要查询的任务 ID 主键

返回值 - GetMcubeNebulaTaskDetailResponse

{
    "getMcubeNebulaTaskDetailResult":{
        "nebulaTaskDetail":{
            "appCode":"ONEX97C5D29290957-default",
            "appId":"",
            "atomic":0,
            "baseInfoId":0,
            "bizType":"nebula",
            "creator":"",
            "cronexpress":0,
            "downloadUrl":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/12345678_1.0.0.1.amr;https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/12345678_1.0.0.1.amr",
            "extraData":"{"resourceType":"1"}",
            "fileSize":"0",
            "fullRepair":0,
            "gmtCreate":"2021-02-01 14:16:58",
            "gmtModified":"2021-02-01 14:16:58",
            "gmtModifiedStr":"2021-02-01 14:16:58",
            "greyConfigInfo":"",
            "greyEndtimeData":"",
            "greyNum":0,
            "greyUrl":"",
            "id":6664,
            "issueDesc":"",
            "memo":"test",
            "modifier":"",
            "ossPath":"",
            "packageId":4154,
            "percent":0,
            "platform":"all",
            "productId":"ONEX97C5D29290957-default-12345678",
            "productVersion":"1.0.0.1",
            "publishMode":4,
            "publishPeriod":3,
            "publishType":3,
            "quickRollback":0,
            "releaseVersion":"20210201141121",
            "ruleJsonList":[

            ],
            "sourceId":"",
            "sourceName":"",
            "sourceType":"",
            "status":1,
            "syncResult":"",
            "syncType":0,
            "taskName":"12345678",
            "taskStatus":1,
            "taskType":0,
            "taskVersion":1612160218556,
            "upgradeNoticeNum":0,
            "upgradeProgress":"",
            "whitelistIds":"",
            "workspaceId":""
        },
        "resultMsg":"",
        "success":true
    },
    "requestId":"072AE251-B9F8-4A44-A621-9F0325EECC1E",
    "resultCode":"OK"
}

返回值说明

名称

类型

说明

appCode

String

appId+workspaceId

appId

String

没有使用

atomic

Integer

1 为原子包, 0 为组合包,目前可以忽略

baseInfoId

Long

关联的基础信息的主键 ID,可以忽略

bizType

String

离线包为 nebula

bundles

List

没有使用

creator

String

没有使用

cronexpress

Integer

iOS 使用 0,表示执行一次,1 表示执行多次

downloadUrl

String

下载地址。分号前半部分为内网地址,后半部分为公网地址

extraData

String

JSON 字符串,扩展数据

fileSize

String

文件大小

gmtCreate

Date

创建时间

gmtModified

Date

更新时间

greyConfigInfo

String

高级规则字符串

greyEndTime

Date

时间窗灰度结束时间

greyEndtimeData

String

时间窗灰度发布结束时间字符串

id

Long

主键 ID

issueDesc

String

问题描述,目前没有使用

mds

String

文件的 md5 值

memo

String

发布描述

modifier

String

修改者,没有使用

ossPath

String

离线包没有使用

packageId

Long

发布任务对应的离线资源包 ID

percent

Integer

发布百分比,离线包没有使用

platform

String

发布平台,值可以是 all、iOS、Android 或 Harmony。

product_id

String

格式为“appId+workspaceId + H5Appid”

productVersion

String

离线资源包的版本

resIds

String

离线资源包的 ID

ruleJsonList

List

发布高级规则的对象形式,按照上面的字符串形式使用即可

sourceId

String

来源 ID,离线包没有使用

sourceName

String

离线包没有使用

sourceType

String

来源类型,离线包没有使用

status

Integer

状态:

  • 0:失效

  • 1:有效

syncResult

String

离线包目前没有使用

syncType

String

离线包没有使用

taskName

String

任务名称

taskStatus

Integer

任务状态。

  • 0:待发布

  • 1:发布中

  • 2:已结束

  • 3:暂停

taskType

Integer

任务类型

  • 0:普通任务

  • 1:回滚任务

taskVersion

Long

发布版本号,是创建发布的当前时间戳

upgradeNoticeNum

Integer

目前没有使用

upgradeProgress

String

目前没有使用

vmType

String

Android 虚拟机类型,逗号分隔。

  • 1:art

  • 2:dalvik

  • 3:lemur

  • 4:aoc

whitelist

List

离线包发布任务的白名单信息。详情请参考 白名单管理

修改离线包任务状态

请求 - ChangeMcubeNebulaTaskStatusRequest

名称

类型

说明

bizType

String

传 nebula

packageId

Long

任务对应的离线资源包的 ID

taskId

Long

当前发布任务的 ID

taskStatus

Integer

需要改变到的状态。

  • 0:待发布

  • 1:发布中

  • 2:已结束

  • 3:暂停

返回值 - ChangeMcubeNebulaTaskStatusResponse

{
    "changeMcubeNebulaTaskStatusResult":{
        "resultMsg":"",
        "success":true
    },
    "requestId":"595F4CB4-ACFE-4A5B-AF5B-4ED837CAEF95",
    "resultCode":"OK"
}