查詢集團主帳號資源概覽
介面描述
使用集團主帳號憑證查詢當前集團的直播資源、點播空間和點播流量。介面只回傳資源統計欄位,不回傳 appSecret、點播金鑰或讀寫 Token。
介面 URL
https://api.polyv.net/live/v4/group/account/resource/overview/get
請求方式
GET
請求參數
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 集團主帳號 appId |
| timestamp | true | Long | 當前 13 位毫秒時間戳,3 分鐘內有效 |
| sign | true | String | 使用集團主帳號 appSecret 生成的 32 位大寫 MD5 簽名,詳見簽名生成規則 |
appId 關聯的集團帳號由閘道鑑權確定,介面不接受 groupId 參數,不能查詢其他集團帳號。
請求範例
https://api.polyv.net/live/v4/group/account/resource/overview/get?appId=g8dtv537aq×tamp=1753171200000&sign=6C95C3A3E93D46A78A86DCDB8930D70A
統計口徑
資源項按 resourceCode 回傳。資源數值均為當前時點快照:
| 欄位 | 口徑 |
|---|---|
| totalAmount | 生效套餐的資源總量;多套餐疊加後求和 |
| usedAmount | 集團主帳號已實際消耗的資源量;累計並發和並行並發不提供即時已用並發,回傳 null |
| mainAccountAvailableAmount | 集團主帳號當前剩餘可用量。共享資源為 totalAmount - usedAmount;並發為當前套餐並發額度 |
| allocatedAmount | 已分配給分帳號、佔用集團公共資源池的額度,計算為 max(0, mainAccountAvailableAmount - groupPoolAssignableAmount) |
| groupPoolAssignableAmount | 集團公共資源池當前剩餘可分配量,已扣除分帳號已分配額度 |
空間和流量的清算原始單位為位元組,介面統一轉換為 GB。MINUTE、CONCURRENT 為整數單位,GB 可帶小數。
分鐘制直播資源的 mainAccountAvailableAmount 與集團後台 GroupAccountServiceApi.getGroupAccountInfo 的 minutes 使用同一即時可用量查詢口徑;totalAmount 為分鐘資源充值累計,usedAmount = max(0, totalAmount - mainAccountAvailableAmount)。
allocationDataUpdatedAt 是分帳號額度彙總的更新時間。該彙總為非同步資料,資料延遲以該欄位與 dataUpdatedAt 的差值為準;資源總量和已用量與同一時點集團後台概覽使用相同清算口徑。
回應欄位
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | HTTP 風格狀態碼,成功為 200 |
| status | String | success 或 error |
| success | Boolean | 是否成功 |
| requestId | String | 請求唯一識別碼,用於排查 |
| data | Object | 資源概覽 |
Data 欄位
| 參數名 | 類型 | 說明 |
|---|---|---|
| groupId | String | 當前集團帳號標識 |
| dataUpdatedAt | Long | 主資源資料讀取時間,13 位毫秒時間戳 |
| resources | Array | 資源項列表 |
Resources 欄位
| 參數名 | 類型 | 說明 |
|---|---|---|
| product | String | 產品:LIVE、VOD、ACCOUNT |
| resourceCode | String | 資源:LIVE_DURATION、LIVE_CONCURRENT、VOD_SPACE、VOD_TRAFFIC、BALANCE |
| billingPlan | String | 計費類型:DURATION、TOTAL_CONCURRENT、PARALLEL_CONCURRENT、SPACE、TRAFFIC、AMOUNT |
| unit | String | 單位:MINUTE、CONCURRENT、GB、CNY |
| allocationMode | String | 資源歸屬:SHARED_POOL 為集團公共資源池,PER_ACCOUNT_CAP 為每個分帳號的並發上限 |
| state | String | 資源狀態,見資源狀態 |
| packageStartAt | Long | 套餐生效時間,13 位毫秒時間戳 |
| packageEndAt | Long | 套餐到期時間,13 位毫秒時間戳;與集團帳號概覽一致,統一為到期日 23:59:59 |
| totalAmount | Decimal | 資源總量 |
| usedAmount | Decimal | 已實際使用量;無法提供即時用量時為 null |
| allocatedAmount | Decimal | 已分配給分帳號的額度,僅 SHARED_POOL 回傳 |
| mainAccountAvailableAmount | Decimal | 集團主帳號自身當前剩餘可用量 |
| groupPoolAssignableAmount | Decimal | 集團公共資源池剩餘可分配量,僅 SHARED_POOL 回傳 |
| perAccountMaxAmount | Decimal | 單個分帳號可設定的最大額度,僅 PER_ACCOUNT_CAP 回傳 |
| availableDepositAmount | Decimal | 可用充值金額,僅 BALANCE 回傳,單位為元 |
| availableDonateAmount | Decimal | 可用贈送金額(含測試金額),僅 BALANCE 回傳,單位為元 |
| frozenAmount | Decimal | 凍結金額,僅 BALANCE 回傳,單位為元 |
| availableCreditAmount | Decimal | 可用授信額度,僅 BALANCE 回傳,單位為元 |
| totalCreditAmount | Decimal | 授信額度總額,僅 BALANCE 回傳,單位為元 |
| pendingPaymentAmount | Decimal | 待支付金額,僅 BALANCE 回傳,單位為元 |
| allocationDataUpdatedAt | Long | 分帳號已分配額度彙總時間,13 位毫秒時間戳 |
當 resourceCode 為 BALANCE 時,totalAmount 為累計充值金額與累計贈送金額之和,mainAccountAvailableAmount 為可用餘額,groupPoolAssignableAmount 為當前可分配給分帳號的金額。金額帳務存在退款、凍結、授信等獨立流水,usedAmount 不提供累計推導值,固定為 null。
資源狀態
| state | 說明 | 數值欄位 |
|---|---|---|
| ACTIVE | 套餐有效,資源可查詢 | 按資源類型回傳 |
| NO_PACKAGE | 未配置對應套餐 | 均為 null |
| EXPIRED | 對應套餐已到期 | 均為 null |
| DATA_PENDING | 主資源已讀取,但分帳號額度彙總尚未生成 | 總量、已用量、主帳號剩餘可用量回傳;已分配和剩餘可分配為 null |
| UNLIMITED | 套餐資源不限量 | 均為 null |
| UNSUPPORTED | 當前集團直播計費類型不屬於分鐘制、累計並發或並行並發 | 均為 null |
資源不限量時,資源項仍回傳且 state 為 UNLIMITED,數值欄位為 null;不會使用 0 表示不限量。
Java 呼叫範例
String appId = "yourGroupAppId";
String appSecret = "yourGroupAppSecret";
String timestamp = String.valueOf(System.currentTimeMillis());
String url = "https://api.polyv.net/live/v4/group/account/resource/overview/get";
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
回應範例
{
"code": 200,
"status": "success",
"success": true,
"data": {
"groupId": "group-123",
"dataUpdatedAt": 1753171200123,
"resources": [
{
"product": "ACCOUNT",
"resourceCode": "BALANCE",
"billingPlan": "AMOUNT",
"unit": "CNY",
"allocationMode": "SHARED_POOL",
"state": "ACTIVE",
"totalAmount": 1000.00,
"usedAmount": null,
"allocatedAmount": 300.00,
"mainAccountAvailableAmount": 800.00,
"groupPoolAssignableAmount": 500.00,
"availableDepositAmount": 700.00,
"availableDonateAmount": 100.00,
"frozenAmount": 20.00,
"availableCreditAmount": 0.00,
"totalCreditAmount": 0.00,
"pendingPaymentAmount": 0.00,
"allocationDataUpdatedAt": 1753171199000
},
{
"product": "LIVE",
"resourceCode": "LIVE_DURATION",
"billingPlan": "DURATION",
"unit": "MINUTE",
"allocationMode": "SHARED_POOL",
"state": "ACTIVE",
"packageStartAt": 1751328000000,
"packageEndAt": 1754006400000,
"totalAmount": 10000,
"usedAmount": 2000,
"allocatedAmount": 3000,
"mainAccountAvailableAmount": 8000,
"groupPoolAssignableAmount": 5000,
"allocationDataUpdatedAt": 1753171199000
},
{
"product": "VOD",
"resourceCode": "VOD_SPACE",
"billingPlan": "SPACE",
"unit": "GB",
"allocationMode": "SHARED_POOL",
"state": "ACTIVE",
"totalAmount": 1000.00,
"usedAmount": 120.50,
"allocatedAmount": 300.00,
"mainAccountAvailableAmount": 879.50,
"groupPoolAssignableAmount": 579.50,
"allocationDataUpdatedAt": 1753171199000
}
]
}
}
錯誤碼
公共鑑權、簽名和時間戳錯誤請參閱全域錯誤說明。下游資源服務不可用時介面回傳標準失敗回應,不回傳資源快照。
