參數說明表格中未包含是否必填項的參數均為必填參數。
通用參數說明
所有接口都包含三個參數:appId
、workspaceId
和 tenantId
,這三個參數的含義如下。本文檔后續接口說明中會省略對這三個參數的說明。
參數名稱 | 類型 | 說明 |
appId | String | 所屬的應用 |
workspaceId | String | 所屬的工作空間 |
tenantId | String | 所屬的租戶 |
通用返回值說明
參數名稱 | 類型 | 說明 |
resultCode | String | 請求正常返回 OK,其他情況表明 API 請求異常。 |
requestId | String | 標識請求的 ID。 |
resultMessage | String | 請求異常時的描述。 |
Result | Object | 返回的具體對象,具體含義看具體返回值。 |
所有接口返回的具體對象均包含兩個字段:success
、resultMsg
,這兩個字段的含義如下:
名稱 | 類型 | 說明 |
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 | 查詢密鑰是否存在返回結果。 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |
獲取上傳文件 token
請求 - GetMcubeFileTokenRequest
參數名稱 | 類型 | 說明 |
onexFlag | Boolean | 固定傳值為 |
返回值 - 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 | 固定傳值為 |
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 | 離線包主入口,滿足正則 |
vhost | String | H5App 的虛擬域名。 |
extendInfo | String | JSON 格式字符串。 |
autoInstall | Integer | 下載時機。
|
resourceType | Integer | 資源類型,一個 H5App 只能存在一種類型。0:全局資源包,1:普通資源包。 |
installType | Integer | 安裝時機,0:不預加載(只有進入離線包或小程序頁面時才安裝),1:預加載(離線包或小程序下載完成后則自動安裝)。 |
platform | String | 使用平臺,分為 all(全平臺)、Android、iOS 和 Harmony。 |
clientVersionMin | String | 客戶端最低版本,選擇了指定的 platform 之后,最低版本必須是必傳的,格式為 |
clientVersionMax | String | 客戶端最高版本,可以不填。如果 |
fileUrl | String | 文件在 OSS 的 URL。離線包資源文件,必須為 |
repeatNebula | Integer | 是否復用全局包,在資源類型為全局資源包時需要填寫。0:否,1:是。 |
onexFlag | Boolean | 固定傳值為 |
返回值 - 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 | 離線包的 |
metaId | Long | 無意義 |
modifier | 修改者 | 目前沒有使用 |
platform | 平臺 | 含義和上傳離線包中的一致 |
publishPeriod | Integer | 發布狀態。 0:初始化; 1:內部灰度發布; 2:外部灰度發布; 3:正式發布; 4:回滾發布; 5:發布任務結束。 |
releaseVersion | String | 發布版本號 |
resourceType | Integer | 含義和上傳離線包中的一致 |
status | Integer | 狀態 |
創建離線包發布任務
請求 - CreateMcubeNebulaTaskRequest
名稱 | 類型 | 是否必填 | 說明 |
publishType | Integer | 是 | 發布類型。
|
publishMode | Integer | 否 | 發布模式。若
|
memo | String | 否 | 發布描述 |
id | Long | 是 | 只能傳 0,表示創建,不可修改。 |
greyEndtimeData | String | 否 | 灰度時間窗發布的結束時間,格式為“YYYY-MM-dd HH:mm:ss”,時間必須大于當前時間并且與當前時間的間隔小于 7 天。當 publishMode 為 2 的時候必填。 |
greyEndTime | Date | 否 | Date 類型,值和 |
greyNum | Integer | 否 | 時間窗灰度的人數。當 |
whitelistIds | String | 否 | 白名單主鍵 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 | 規則類型:
|
value | String | 規則值,多個規則使用”,”分隔,當 |
operation | Integer | 操作關系:
當 |
返回值 - 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 | 離線包為 |
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 | 規則關系, |
defaultResult | boolean | 默認返回的結果 |
subRules | List | 規則集合 |
operator | String | 規則名稱
|
left | List/Object | 當 |
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 | 離線包為 |
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 | 狀態:
|
syncResult | String | 離線包目前沒有使用 |
syncType | String | 離線包沒有使用 |
taskName | String | 任務名稱 |
taskStatus | Integer | 任務狀態。
|
taskType | Integer | 任務類型
|
taskVersion | Long | 發布版本號,是創建發布的當前時間戳 |
upgradeNoticeNum | Integer | 目前沒有使用 |
upgradeProgress | String | 目前沒有使用 |
vmType | String | Android 虛擬機類型,逗號分隔。
|
whitelist | List | 離線包發布任務的白名單信息。詳情請參考 白名單管理。 |
修改離線包任務狀態
請求 - ChangeMcubeNebulaTaskStatusRequest
名稱 | 類型 | 說明 |
bizType | String | 傳 nebula |
packageId | Long | 任務對應的離線資源包的 ID |
taskId | Long | 當前發布任務的 ID |
taskStatus | Integer | 需要改變到的狀態。
|
返回值 - ChangeMcubeNebulaTaskStatusResponse
{
"changeMcubeNebulaTaskStatusResult":{
"resultMsg":"",
"success":true
},
"requestId":"595F4CB4-ACFE-4A5B-AF5B-4ED837CAEF95",
"resultCode":"OK"
}