NSocks
支援透過網站OpenAPI 前綴管理個人帳戶、代理資源和團隊帳單。
認證方式以各操作的security 定義為準:
- apiKeyAuth:透過查詢參數app_key 傳入個人或團隊API Key;後端也相容於key、appkey、openid 參數及POST 請求體傳參。
- bearerAuth:Authorization:
Bearer <JWT>,用於網頁登入令牌。請勿把API Key 當作JWT。 - 團隊API Key 綁定固定團隊;支援團隊空間的介面可省略team_id,明確傳入必須與Key 綁定團隊一致。
- 僅支援個人空間的介面會拒絕團隊API Key;團隊操作仍遵循持有成員的資源權限。
JSON 回應包含code、msg、data、request_id。 code=200 表示業務成功;HTTP 200 也可能攜帶業務錯誤碼。 msg 隨請求語言變化,客戶端應使用code 判斷結果。部分導出介面另支援文字、CSV 或XML,詳見操作定義。 金額、流量、日期和分頁欄位以各介面Schema 為準。
Base URLs: "https://api.nsocks.com"
Authentication
- HTTP Authentication, scheme: bearer
- API Key (apiKeyAuth2)
- Parameter Name: app_key, in: query. 個人或團隊API Key。建議查詢參數app_key;也相容於key/appkey/openid 及POST 請求體。團隊Key 只能存取綁定團隊的支援介面。
API Key 管理
GET API Key 列表
GET /ep/api-keys
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串 |
| page | query | integer | 否 | none |
| pageSize | query | integer | 否 | none |
返回範例
200 Response
{
"code": 0,
"msg": "string",
"request_id": "string",
"data": {
"list": [
{
"id": 1,
"api_key": "string",
"team_user_id": 0,
"remark": "string",
"status": 0,
"created_at": "string",
"updated_at": "string"
}
],
"total": 0,
"page": 1,
"pageSize": 1
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » msg | string | true | none | none | |
| » request_id | string | true | none | none | |
| » data | object | true | none | none | |
| »» list | [UserApiKeyMetadata] | true | none | none | |
| »»» id | integer | true | none | API Key ID | |
| »»» api_key | string | true | none | 建立回應為完整Key;團隊清單中為脫敏值 | |
| »»» team_user_id | integer | true | none | 團隊Key 實際持有成員ID,個人Key 為0 | |
| »»» remark | string | true | none | 備註 | |
| »»» status | integer | true | none | 0=停用,1=啟用 | |
| »»» created_at | string | true | none | 建立時間 | |
| »»» updated_at | string¦null | false | none | 更新時間 | |
| »» total | integer | true | none | none | |
| »» page | integer | true | none | none | |
| »» pageSize | integer | true | none | none |
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
POST 建立API Key
POST /ep/api-keys/create
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"remark": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » remark | body | string | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1,
"api_key": "string",
"team_user_id": 0,
"remark": "string",
"status": 0,
"created_at": "string",
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 業務成功時傳回完整API Key,僅此一次 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
POST 啟用API Key
POST /ep/api-keys/enable
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | ApiKeyManageRequest | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 停用API Key
POST /ep/api-keys/disable
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | ApiKeyManageRequest | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 刪除API Key
POST /ep/api-keys/delete
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | ApiKeyManageRequest | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 修改API Key 備註
POST /ep/api-keys/update-remark
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"id": 1,
"remark": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » id | body | integer | 是 | none |
| » remark | body | string | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
團隊管理
POST 創建團隊
POST /ep/team/create
Body 請求參數
{
"name": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » name | body | string | 是 | 團隊名稱 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": 0,
"current_role": 1,
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| current_role | 1 |
| current_role | 2 |
| current_role | 3 |
| current_role | 4 |
| current_role | null |
GET 目前使用者可存取的團隊列表
GET /ep/team/list
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| current_role | 1 |
| current_role | 2 |
| current_role | 3 |
| current_role | 4 |
| current_role | null |
GET 團隊詳情
GET /ep/team/detail
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": 0,
"current_role": 1,
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| current_role | 1 |
| current_role | 2 |
| current_role | 3 |
| current_role | 4 |
| current_role | null |
POST 修改團隊名稱
POST /ep/team/update-name
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"name": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » name | body | string | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": 0,
"current_role": 1,
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| current_role | 1 |
| current_role | 2 |
| current_role | 3 |
| current_role | 4 |
| current_role | null |
POST 解散團隊
POST /ep/team/dissolve
僅團隊超級管理員可調用。請求中的name 必須與團隊目前名稱完全一致。 此介面強制執行操作二次驗證:未處於15 分鐘信任狀態時回傳code=348, 呼叫方應根據回應data 中的可用方式取得驗證碼後,攜帶verify_type 和verify_code 重試。 可重複呼叫以繼續未完成的解散流程。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"name": "华东研发团队",
"verify_type": "email",
"verify_code": "123456"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » name | body | string | 是 | 團隊名稱確認,必須與團隊目前名稱完全一致 |
| » verify_type | body | string | 否 | 二次驗證方式;需要驗證時與verify_code 一起提交 |
| » verify_code | body | string | 否 | 二次驗證碼;處於15 分鐘信任狀態時可不傳 |
列舉值
| 屬性 | 值 |
|---|---|
| » verify_type | phone |
| » verify_type | |
| » verify_type | |
| » verify_type | totp |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": 0,
"current_role": 1,
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| current_role | 1 |
| current_role | 2 |
| current_role | 3 |
| current_role | 4 |
| current_role | null |
GET 查詢團隊解散狀態
GET /ep/team/dissolve-status
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": 0,
"current_role": 1,
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| current_role | 1 |
| current_role | 2 |
| current_role | 3 |
| current_role | 4 |
| current_role | null |
團隊資產
GET 團隊套餐訊息
GET /ep/team/product-info
傳回指定團隊資源空間的套餐摘要,欄位與/web_v1/user/info 的套餐欄位保持一致, 不回傳團隊超級管理員的個人資料、餘額或內部數位團隊ID。積分套餐詳細資訊請使用/web_v1/credit/info。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_id": "A1b2C3d4E5f6",
"product_types": [0],
"product_residence_remain_count": 0,
"product_residence_total_count": 0,
"pdrue2_timestamp": 0,
"remain": 0,
"total_amount": 0,
"scraping_remain": 0,
"scraping_total_amount": 0,
"scraping_timestamp": "string",
"scraping_timestamp2": 0,
"common_scraping_remain": 0,
"common_scraping_total_amount": 0,
"common_scraping_timestamp": "string",
"common_scraping_timestamp2": 0,
"pdidcr_count": 0,
"pdidcr_total": 0,
"pdidcr_traffic_remain": 0,
"pdidcr_traffic_total": 0,
"p_sitai_ip_count": 0,
"p_sitai_ip": 0,
"p_sitai_ip_total": 0,
"p_sitai_remain": 0,
"p_sitai_total": 0,
"pdidc_count": 0,
"pdidc_total": 0,
"pdidc_ip_count": 0,
"pdidc_ip_all_count": 0,
"pdispr_count": 0,
"pdispr_total": 0,
"pdispr_traffic_remain": 0,
"pdispr_traffic_total": 0,
"product_datacenter_isp_traffic_ip_count": 0,
"product_datacenter_isp_traffc_ip": 0,
"product_datacenter_isp_traffc_ip_total": 0,
"product_datacenter_isp_traffic_ip": 0,
"product_datacenter_isp_traffic_ip_total": 0,
"product_datacenter_isp_traffc_remain": 0,
"product_datacenter_isp_traffc_total": 0,
"product_datacenter_isp_traffic_remain": 0,
"product_datacenter_isp_traffic_total": 0,
"product_datacenter_isp_ip": 0,
"product_datacenter_isp_ip_total": 0,
"product_datacenter_isp_ip_count": 0,
"product_datacenter_isp_ip_all_count": 0,
"product_datacenter_isp_ip_traffic_remain": 0,
"product_datacenter_isp_ip_traffic_total": 0,
"product_agent_residence_remain_count": 0,
"product_agent_residence_total_count": 0,
"product_serp_remain": 0,
"product_serp_total": 0,
"product_serp_timestamp": "string",
"product_serp_timestamp2": 0,
"product_video_remain": 0,
"product_video_total": 0,
"product_video_timestamp": "string",
"product_video_timestamp2": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
GET 團隊資產列表
GET /ep/team/assets
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
GET 可劃入團隊的個人資產
GET /ep/team/assets/personal-candidates
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
POST 個人資產劃入團隊
POST /ep/team/assets/move-in
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » user_product_id | body | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"status": 0,
"total_amount": 0,
"remain": 0,
"bandwidth": 0,
"concurrency": 0,
"expired_at": "string",
"created_at": "string",
"ip": "string",
"country_code": "string",
"country_name": "string",
"asn": "string",
"port": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
POST 團隊資產移回個人
POST /ep/team/assets/move-out
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » user_product_id | body | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"status": 0,
"total_amount": 0,
"remain": 0,
"bandwidth": 0,
"concurrency": 0,
"expired_at": "string",
"created_at": "string",
"ip": "string",
"country_code": "string",
"country_name": "string",
"asn": "string",
"port": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
團隊錢包
GET 查詢團隊錢包
GET /ep/team/wallet/detail
需要VIEW_BILLING 權限。團隊錢包獨立於超級管理員和成員的個人餘額。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_id": "A1b2C3d4E5f6",
"balance": 0.1,
"total_recharge_fee": 0.1,
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
GET 查詢團隊錢包流水
GET /ep/team/wallet/records
需要VIEW_BILLING 權限。流水金額始終為正數,資金增減由direction 欄位表示。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| direction | 0 |
| direction | 1 |
| transaction_type | 1 |
| transaction_type | 2 |
| transaction_type | 3 |
| transaction_type | 4 |
| transaction_type | 5 |
POST 個人餘額轉入團隊錢包
POST /ep/team/wallet/transfer-in
僅團隊超級管理員具有TRANSFER_BALANCE 權限。原子扣減其個人儲值餘額後增加團隊錢包;轉入金額不計入total_recharge_fee,且不支援轉回個人餘額。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"amount": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » amount | body | number(double) | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_id": "A1b2C3d4E5f6",
"balance": 0.1,
"total_recharge_fee": 0.1,
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
POST 團隊餘額轉回個人帳戶
POST /ep/team/wallet/transfer-out
僅超級管理員登入態可呼叫。原子扣減團隊錢包並增加其個人儲值餘額;不改變團隊或個人的累積儲值金額。解散中的團隊可用於回收餘額,已解散團隊無法呼叫。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"amount": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » amount | body | number(double) | 是 | 不得超過團隊目前可用餘額 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_id": "A1b2C3d4E5f6",
"balance": 0.1,
"total_recharge_fee": 0.1,
"updated_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
團隊成員
GET 團隊成員列表
GET /ep/team/members
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
GET 團隊人員統一列表
GET /ep/team/people
返回有效成員;超級管理員和管理員也會看到待處理邀請。其他邀請狀態僅保留在邀請歷史清單中。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| record_type | member |
| record_type | invitation |
| invite_type | 0 |
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 0 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
POST 調整成員角色
POST /ep/team/members/update-role
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"team_member_id": 1,
"role": 2
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » team_member_id | body | integer | 是 | none |
| » role | body | integer | 是 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » role | 2 |
| » role | 3 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_member_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 1,
"role": 1,
"status": 0,
"joined_at": "string",
"nickname": "string",
"username": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
POST 移除團隊成員
POST /ep/team/members/remove
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"team_member_id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » team_member_id | body | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_member_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 1,
"role": 1,
"status": 0,
"joined_at": "string",
"nickname": "string",
"username": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data.status=3 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
POST 退出團隊
POST /ep/team/members/leave
Body 請求參數
{
"team_id": "A1b2C3d4E5f6"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_member_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 1,
"role": 1,
"status": 0,
"joined_at": "string",
"nickname": "string",
"username": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data.status=2 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
團隊邀請
POST 創建團隊邀請
POST /ep/team/invitations/create
按已註冊用戶、郵箱或手機號碼建立邀請。郵箱或手機號碼配對到本站使用者時,回應會規範化為invite_type=1。 前端可提交本站邀請URL 相對路徑模板,服務端僅將其中的 替換為一次性邀請令牌。 未註冊目標使用受邀手機號碼註冊,或使用受邀信箱完成驗證後,服務端會將仍有效的邀請綁定到新用戶、輪換token,並只補發一條未讀站內信;原郵件或短信中的舊token 隨即失效。若信箱邀請尚未完成自動綁定,使用受邀信箱註冊的目前帳號可直接接受,無需等待email_verify。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"invite_type": 1,
"role": 2,
"user_id": 1,
"email": "user@example.com",
"country_code": 1,
"phone": "string",
"invitation_url_template": "/team/invitation/{{token}}"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » invite_type | body | integer | 是 | 1=已註冊用戶,2=郵箱,3=手機號碼 |
| » role | body | integer | 是 | 2=管理員,3=普通成員 |
| » user_id | body | integer | 否 | invite_type=1 時必填 |
| body | string(email) | 否 | invite_type=2 時必填 | |
| » country_code | body | integer | 否 | invite_type=3 時必填 |
| » phone | body | string | 否 | invite_type=3 時必填 |
| » invitation_url_template | body | string | 否 | 本站前端定義的相對路徑模板;必須以單一/ 開頭、不得包含域名或換行,且必須且只能包含一個 佔位符 |
| »anonymous | body | object | 否 | none |
| »» invite_type | body | any | 否 | none |
| »anonymous | body | object | 否 | none |
| »» invite_type | body | any | 否 | none |
| »anonymous | body | object | 否 | none |
| »» invite_type | body | any | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » invite_type | 1 |
| » invite_type | 2 |
| » invite_type | 3 |
| » role | 2 |
| » role | 3 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"invitation": {
"id": null,
"team_id": null,
"inviter_user_id": null,
"invitee_user_id": null,
"invite_type": null,
"invite_country_code": null,
"invite_target": null,
"delivery_type": null,
"role": null,
"status": null,
"accepted_by_user_id": null,
"expired_at": null,
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": null
},
"invitation_token": "string",
"invitation_url": "http://example.com",
"notification_channels": {
"email": null,
"sms": null,
"site_inner_message": null
}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code,200 為業務成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
| queued | |
| failed | |
| skipped | |
| sms | queued |
| sms | failed |
| sms | skipped |
| site_inner_message | created |
| site_inner_message | exists |
| site_inner_message | failed |
GET 團隊邀請列表
GET /ep/team/invitations
僅團隊超級管理員或管理員可存取;返回前會將已到期的待處理邀請更新為已過期。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | TeamPublicId | 是 | 團隊公開標識 |
| page | query | integer | 否 | 頁碼,從1 開始 |
| page_size | query | integer | 否 | 每頁數 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
GET 預覽團隊邀請
GET /ep/team/invitations/preview
使用一次性invitation_token 匿名預覽邀請;連結中不使用邀請數位ID。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| invitation_token | query | string | 是 | 邀請連結攜帶的非空明文一次性令牌 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_name": "string",
"role": 2,
"status": 0,
"expired_at": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
POST 重發團隊邀請通知
POST /ep/team/invitations/resend
重投原始發送管道;已註冊用戶同時發送站內信。重發會輪換令牌,之前的所有邀請連結立即失效。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"invitation_id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » invitation_id | body | integer | 是 | 邀請ID |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"invitation": {
"id": null,
"team_id": null,
"inviter_user_id": null,
"invitee_user_id": null,
"invite_type": null,
"invite_country_code": null,
"invite_target": null,
"delivery_type": null,
"role": null,
"status": null,
"accepted_by_user_id": null,
"expired_at": null,
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": null
},
"invitation_url": "http://example.com",
"notification_channels": {
"email": null,
"sms": null,
"site_inner_message": null
}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
| queued | |
| failed | |
| skipped | |
| sms | queued |
| sms | failed |
| sms | skipped |
| site_inner_message | created |
| site_inner_message | exists |
| site_inner_message | failed |
POST 接受團隊邀請
POST /ep/team/invitations/accept
目前登入使用者使用一次性invitation_token 接受邀請,必須與邀請目標相符且屬於邀請所屬站點;不需要傳team_id。
Body 請求參數
{
"invitation_token": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » invitation_token | body | string | 是 | 明文一次邀請令牌 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_member_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 1,
"role": 1,
"status": 0,
"joined_at": "string",
"nickname": "string",
"username": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 為成員物件 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
POST 拒絕團隊邀請
POST /ep/team/invitations/reject
目前登入使用者使用一次性invitation_token 拒絕與本人相符的邀請;不需要傳team_id。
Body 請求參數
{
"invitation_token": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » invitation_token | body | string | 是 | 明文一次邀請令牌 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1,
"team_id": "A1b2C3d4E5f6",
"inviter_user_id": 1,
"invitee_user_id": 0,
"invite_type": 1,
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": 1,
"role": 2,
"status": 0,
"accepted_by_user_id": 0,
"expired_at": "2026-07-17 10:00:00",
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-07-10 10:00:00"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data.status=2 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
POST 取消團隊邀請
POST /ep/team/invitations/cancel
取消指定團隊內的待處理邀請,操作人必須有權邀請該目標角色。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"invitation_id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | TeamPublicId | 是 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » invitation_id | body | integer | 是 | 邀請ID |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1,
"team_id": "A1b2C3d4E5f6",
"inviter_user_id": 1,
"invitee_user_id": 0,
"invite_type": 1,
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": 1,
"role": 2,
"status": 0,
"accepted_by_user_id": 0,
"expired_at": "2026-07-17 10:00:00",
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-07-10 10:00:00"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data.status=3 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
積分管理
GET 獲取積分套餐信息
GET /web_v1/credit/info
查詢目前資源空間的積分套餐摘要。團隊空間要求USE_ASSETS 權限;此介面同時支援登入態、個人API Key 和團隊API Key。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串;團隊API Key 可省略,傳入時必須與Key 一致 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 為積分等級、總量、剩餘量、重置時間和自動補充狀態 | Inline |
傳回資料結構
POST 設定餘額自動補充積分
POST /web_v1/credit/update-auto-supplement
登入態設定目前資源空間的自動補充開關。團隊空間要求USE_OWNER_PAYMENT_CAPABILITIES 權限,目前僅團隊超級管理員可操作;團隊空間預設為關閉。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"status": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » status | body | integer | 是 | 0=關閉,1=開啟 |
列舉值
| 屬性 | 值 |
|---|---|
| » status | 0 |
| » status | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;當業務成功時data.status 為更新後的開關狀態 | Inline |
傳回資料結構
GET 取得積分消耗記錄
GET /web_v1/credit/consumption-logs
登入態或API Key 分頁查詢目前資源空間的積分消耗記錄。團隊空間要求VIEW_BILLING 權限。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,依站點時區解釋 |
| end_date | query | string(date) | 否 | 結束日期,依站點時區解釋 |
| consumption_type | query | string | 否 | 消耗類型 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;當業務成功時data 包含list、page、page_size、total_count 與total_page | Inline |
傳回資料結構
GET 取得積分重置記錄
GET /web_v1/credit/reset-logs
登入態或API Key 分頁查詢目前資源空間的積分重設記錄。團隊空間要求VIEW_BILLING 權限。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含積分重置記錄及分頁資訊 | Inline |
傳回資料結構
GET 取得積分統計
GET /web_v1/credit/stats
登入態或API Key 查詢目前資源空間依消耗類型聚合的積分統計。團隊空間要求VIEW_BILLING 權限。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,依站點時區解釋 |
| end_date | query | string(date) | 否 | 結束日期,依站點時區解釋 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含by_type 和total | Inline |
傳回資料結構
GET 取得按天積分統計
GET /web_v1/credit/daily-stats
登入態或API Key 查詢目前資源空間的按天積分消耗,預設最近7 天。團隊普通成員僅返回本人實際消費;具備VIEW_BILLING 權限的管理員、超級管理員和財務成員返回團隊全量資料。歷史未記錄消費成員的團隊日誌僅對全量檢視可見。 API Key 查詢最多包含31 個自然日(含首尾),開始日期不得晚於結束日期。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,預設6 天前 |
| end_date | query | string(date) | 否 | 結束日期,預設今天 |
| consumption_type | query | string | 否 | 可選消耗類型 |
| fill_gaps | query | integer | 否 | 是否補齊缺失日期 |
列舉值
| 屬性 | 值 |
|---|---|
| fill_gaps | 0 |
| fill_gaps | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含daily_stats 和summary | Inline |
傳回資料結構
GET 取得小時積分統計
GET /web_v1/credit/hourly-stats
登入態或API Key 查詢目前資源空間的按小時積分消耗,預設最近7 天。團隊空間要求VIEW_BILLING 權限。 API Key 查詢最多包含31 個自然日(含首尾),開始日期不得晚於結束日期。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,預設6 天前 |
| end_date | query | string(date) | 否 | 結束日期,預設今天 |
| consumption_type | query | string | 否 | 可選消耗類型 |
| fill_gaps | query | integer | 否 | 是否補齊缺小時 |
列舉值
| 屬性 | 值 |
|---|---|
| fill_gaps | 0 |
| fill_gaps | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含hourly_stats 和summary | Inline |
傳回資料結構
GET 獲取積分套餐信息
GET /ep/credit/info
查詢目前資源空間的積分套餐摘要。團隊空間要求USE_ASSETS 權限;此介面同時支援登入態、個人API Key 和團隊API Key。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串;團隊API Key 可省略,傳入時必須與Key 一致 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 為積分等級、總量、剩餘量、重置時間和自動補充狀態 | Inline |
傳回資料結構
GET 取得積分消耗記錄
GET /ep/credit/consumption-logs
登入態或API Key 分頁查詢目前資源空間的積分消耗記錄。團隊空間要求VIEW_BILLING 權限。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,依站點時區解釋 |
| end_date | query | string(date) | 否 | 結束日期,依站點時區解釋 |
| consumption_type | query | string | 否 | 消耗類型 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;當業務成功時data 包含list、page、page_size、total_count 與total_page | Inline |
傳回資料結構
GET 取得積分重置記錄
GET /ep/credit/reset-logs
登入態或API Key 分頁查詢目前資源空間的積分重設記錄。團隊空間要求VIEW_BILLING 權限。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含積分重置記錄及分頁資訊 | Inline |
傳回資料結構
GET 取得積分統計
GET /ep/credit/stats
登入態或API Key 查詢目前資源空間依消耗類型聚合的積分統計。團隊空間要求VIEW_BILLING 權限。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,依站點時區解釋 |
| end_date | query | string(date) | 否 | 結束日期,依站點時區解釋 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含by_type 和total | Inline |
傳回資料結構
GET 取得按天積分統計
GET /ep/credit/daily-stats
登入態或API Key 查詢目前資源空間的按天積分消耗,預設最近7 天。團隊普通成員僅返回本人實際消費;具備VIEW_BILLING 權限的管理員、超級管理員和財務成員返回團隊全量資料。歷史未記錄消費成員的團隊日誌僅對全量檢視可見。 API Key 查詢最多包含31 個自然日(含首尾),開始日期不得晚於結束日期。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,預設6 天前 |
| end_date | query | string(date) | 否 | 結束日期,預設今天 |
| consumption_type | query | string | 否 | 可選消耗類型 |
| fill_gaps | query | integer | 否 | 是否補齊缺失日期 |
列舉值
| 屬性 | 值 |
|---|---|
| fill_gaps | 0 |
| fill_gaps | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含daily_stats 和summary | Inline |
傳回資料結構
GET 取得小時積分統計
GET /ep/credit/hourly-stats
登入態或API Key 查詢目前資源空間的按小時積分消耗,預設最近7 天。團隊空間要求VIEW_BILLING 權限。 API Key 查詢最多包含31 個自然日(含首尾),開始日期不得晚於結束日期。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_date | query | string(date) | 否 | 開始日期,預設6 天前 |
| end_date | query | string(date) | 否 | 結束日期,預設今天 |
| consumption_type | query | string | 否 | 可選消耗類型 |
| fill_gaps | query | integer | 否 | 是否補齊缺小時 |
列舉值
| 屬性 | 值 |
|---|---|
| fill_gaps | 0 |
| fill_gaps | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含hourly_stats 和summary | Inline |
傳回資料結構
Xcrawl Activity Log
GET 取得Xcrawl 近期任務列表
GET /web_v1/xcrawl-activity-log/recent-runs
登入態查詢目前資源空間的單一任務清單和總和。團隊空間要求USE_ASSETS;一般成員只能查看自己建立憑證產生的任務,管理員和超級管理員可查看全團隊任務。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
| endpoint | query | string | 否 | 端點類型 |
| status | query | string | 否 | none |
| start_time | query | string | 否 | 使用者時區時間,格式Ymd H:i:s |
| end_time | query | string | 否 | 使用者時區時間,包含結束邊界 |
| url | query | string | 否 | 目標URL 或Data scraper 標識 |
| job_id | query | string | 否 | 任務ID 前綴 |
列舉值
| 屬性 | 值 |
|---|---|
| status | pending |
| status | crawling |
| status | completed |
| status | failed |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含分頁list 和metadata | Inline |
傳回資料結構
GET 取得Xcrawl Crawl Result
GET /web_v1/xcrawl-activity-log/crawl-result
登入態查詢目前資源空間指定任務的Crawl Result。團隊空間要求USE_ASSETS,並依成員可見憑證範圍校驗任務歸屬。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| job_id | query | string | 是 | 任務ID |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含job_id 和crawl_result | Inline |
傳回資料結構
GET 取得Xcrawl 任務詳情與日誌
GET /web_v1/xcrawl-activity-log/activity-logs
登入態查詢目前資源空間指定單一任務及其結果詳情。團隊空間要求USE_ASSETS,並依成員可見憑證範圍校驗任務歸屬。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| job_id | query | string | 是 | 任務ID |
| page | query | integer | 否 | crawl/data 子結果頁碼 |
| page_size | query | integer | 否 | crawl/data 子結果分頁數 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含job 和按endpoint 變更的detail | Inline |
傳回資料結構
GET 取得Data URL 聚合統計
GET /web_v1/xcrawl-activity-log/data-url-summary
登入態聚合目前資源空間的Data scraper 任務。團隊空間要求USE_ASSETS,結果遵循成員可見憑證範圍。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| limit | query | integer | 否 | 傳回數量;0 回傳空列表 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data.list 為scraper 聚合結果 | Inline |
傳回資料結構
GET 取得大量爬取近期任務列表
GET /web_v1/xcrawl-activity-log/batch-recent-runs
登入態查詢目前資源空間的批次任務清單和總和。團隊空間要求USE_ASSETS;一般成員只能查看自己建立憑證產生的任務,管理員和超級管理員可查看全團隊任務。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
| endpoint | query | string | 否 | 端點類型,通常為batch_scrape |
| status | query | string | 否 | none |
| start_time | query | string | 否 | 使用者時區時間,格式Ymd H:i:s |
| end_time | query | string | 否 | 使用者時區時間,包含結束邊界 |
| batch_id | query | string | 否 | 批次任務ID 前綴 |
列舉值
| 屬性 | 值 |
|---|---|
| status | pending |
| status | crawling |
| status | completed |
| status | failed |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含分頁list 和metadata | Inline |
傳回資料結構
GET 取得大量爬取任務詳情與日誌
GET /web_v1/xcrawl-activity-log/batch-activity-logs
登入態查詢目前資源空間指定批次任務及其子項結果。團隊空間要求USE_ASSETS,並依成員可見憑證範圍校驗任務歸屬。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| batch_id | query | string | 是 | 批次任務ID |
| page | query | integer | 否 | 子項頁碼 |
| page_size | query | integer | 否 | 子項分頁數 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;業務成功時data 包含job 和批次任務detail | Inline |
傳回資料結構
代理帳戶管理
GET 代理帳戶列表
GET /ep/whitelist-account/list
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串;團隊Key 可省略,傳入時必須與Key 一致 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": [
{
"id": 0,
"username": "string",
"password": "string",
"created_at": "string",
"remark": "string",
"product_type": 9,
"usage_flow": 0,
"limit_flow": 102400,
"status": 0
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | responseCode | false | none | 狀態碼,200 成功、3 app_key 無效 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» id | integer | false | none | 帳號編號 | |
| »»» username | string | false | none | 代理帳號名稱 | |
| »»» password | string | false | none | 代理帳號密碼 | |
| »»» created_at | string | false | none | 新增時間 | |
| »»» remark | string | false | none | 備註 | |
| »»» product_type | productTypes | false | none | 套餐類型,9 動態住宅流量套餐、11 動態住宅IP、14靜態資料中心IP、25 靜態住宅IP | |
| »»» usage_flow | integer | false | none | 已使用流量,單位:KB | |
| »»» limit_flow | integer | false | none | 自訂流量上限:單位GB最大102400,0 不限制 | |
| »»» status | integer | false | none | 啟用狀態:1啟用,0停用 |
列舉值
| 屬性 | 值 |
|---|---|
| product_type | 9 |
| product_type | 11 |
| product_type | 14 |
| product_type | 25 |
POST 偵測代理帳戶可設定的流量限制
POST /ep/whitelist-account/check
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"account": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » account | body | string | 否 | 編輯已有代理帳戶時傳入帳號名稱 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"isAgent": 0,
"trendMax": 0,
"staticMax": 0,
"maxLimit": 0,
"minLimit": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| isAgent | 0 |
| isAgent | 1 |
GET 取得動態代理子帳號配額與已使用數量
GET /ep/whitelist-account/child-account
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"totalChildAccount": 0,
"usedChildAccount": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
POST 新增代理帳戶。
POST /ep/whitelist-account/add
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "stringstringstringstringstringst",
"accounts": "user01:pass,user02:pass,user03:pass",
"remark": "",
"product_type": 9
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » accounts | body | string | 是 | 帳戶密碼,請按格式username:password 填寫,帳號和密碼僅支援數字和字母,禁止輸入任何特殊符號或空格,冒號隔開帳號和密碼。支援批量添加,英文逗號(,)分隔代理帳戶。 |
| » remark | body | string | 否 | 代理帳號描述 |
| » product_type | body | productTypes | 否 | 套餐類型,9 動態住宅流量套餐、11 動態住宅IP、14靜態資料中心IP、25 靜態住宅IP |
列舉值
| 屬性 | 值 |
|---|---|
| » product_type | 9 |
| » product_type | 11 |
| » product_type | 14 |
| » product_type | 25 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 刪除代理帳戶
POST /ep/whitelist-account/delete
請注意刪除後無法恢復,已使用流量等無法查詢。刪除約5分鐘等待時間,期間仍可能產生費用。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "stringstringstringstringstringst",
"accounts": "user01,user02"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » accounts | body | string | 是 | 代理帳戶,僅支援數字和字母。支援批次操作,英文逗號(,)分隔代理帳戶 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 停用代理帳戶
POST /ep/whitelist-account/disable
禁用約5分鐘等待時間,在此期間仍可能產生費用。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "stringstringstringstringstringst",
"accounts": "user01,user02"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » accounts | body | string | 是 | 代理帳戶,僅支援數字和字母。支援批次操作,英文逗號(,)分隔代理帳戶 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 啟用代理帳戶
POST /ep/whitelist-account/enable
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "stringstringstringstringstringst",
"accounts": "user01,user02"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » accounts | body | string | 是 | 代理帳戶,僅支援數字和字母。支援批次操作,英文逗號(,)分隔代理帳戶 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 修改代理帳戶密碼
POST /ep/whitelist-account/change-password
請注意修改後有5分鐘等待時間,在此期間舊密碼仍可能正常使用。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "stringstringstringstringstringst",
"account": "user",
"password": "pass"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » account | body | string | 是 | 代理帳戶,僅支援數字和字母。 |
| » password | body | string | 是 | 代理帳戶新密碼,僅支援數字和字母。 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 修改代理帳戶備註
POST /ep/whitelist-account/change-remark
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "stringstringstringstringstringst",
"account": "user",
"remark": ""
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » account | body | string | 是 | 代理帳戶,僅支援數字和字母。 |
| » remark | body | string | 是 | 代理帳戶新備註,32個中文或64個英文以內。 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 修改代理帳戶流量上限
POST /ep/whitelist-account/change-limit
請注意流量統計可能有5分鐘以內延遲,即實際消耗流量可能超過此限制。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "stringstringstringstringstringst",
"account": "user",
"limit": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » account | body | string | 是 | 代理帳戶,僅支援數字和字母。 |
| » limit | body | integer | 否 | 流量限制,單位:GB,0為不設上限 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 快速建立代理帳戶
POST /ep/whitelist-account/quick-add
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"product_type": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » product_type | body | integer | 是 | none |
返回範例
200 Response
{
"code": 0,
"msg": "string",
"request_id": "string",
"data": {
"username": "string",
"password": "string"
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 業務成功時返回新帳戶和密碼 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | none | |
| » msg | string | false | none | none | |
| » request_id | string | false | none | none | |
| » data | any | false | none | none |
oneOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »»anonymous | object | false | none | none | |
| »»» username | string | true | none | none | |
| »»» password | string | true | none | none |
xor
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »»anonymous | null | false | none | none |
POST 修改代理帳戶每日流量上限
POST /ep/whitelist-account/change-daily-limit
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"account": "string",
"daily_limit": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » account | body | string | 是 | none |
| » daily_limit | body | integer | 否 | 單位GB |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 修改代理帳戶資訊
POST /ep/whitelist-account/change
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"account": "string",
"password": "string",
"remark": "string",
"limit": 0,
"daily_limit": 0,
"status": 0,
"udp": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » account | body | string | 是 | none |
| » password | body | string | 否 | none |
| » remark | body | string | 否 | none |
| » limit | body | integer | 否 | 總流量上限,單位GB |
| » daily_limit | body | integer | 否 | 每日流量上限,單位GB |
| » status | body | integer | 否 | none |
| » udp | body | integer | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » status | 0 |
| » status | 1 |
| » udp | 0 |
| » udp | 1 |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 重新整理目前資源空間的代理程式帳戶認證快取
POST /ep/whitelist-account/refresh
Body 請求參數
{
"team_id": "A1b2C3d4E5f6"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
GET 指定產品類型的代理帳戶配額
GET /ep/whitelist-account/quota
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| product_type | query | integer | 是 | none |
返回範例
200 Response
{
"code": 0,
"msg": "string",
"request_id": "string",
"data": {
"usage": 0,
"limit": 0,
"expand": 0
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | none | |
| » msg | string | false | none | none | |
| » request_id | string | false | none | none | |
| » data | object | false | none | none | |
| »» usage | integer | true | none | none | |
| »» limit | integer | true | none | none | |
| »» expand | integer | true | none | none |
GET 所有產品類型的代理帳戶配額
GET /ep/whitelist-account/quotas
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
返回範例
200 Response
{
"code": 0,
"msg": "string",
"request_id": "string",
"data": {
"list": [
{
"product_type": 0,
"limit": 0,
"usage": 0
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | none | |
| » msg | string | false | none | none | |
| » request_id | string | false | none | none | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» product_type | integer | false | none | none | |
| »»» limit | integer | false | none | none | |
| »»» usage | integer | false | none | none |
POST 修改代理帳戶資訊
POST /ep/proxy-account/change
修改代理帳號密碼、備註、流量限制、每日流量限制、啟用狀態或UDP 開關。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "string",
"account": "string",
"password": "string",
"remark": "string",
"limit": 0,
"daily_limit": 0,
"status": 0,
"udp": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » account | body | string | 是 | 代理帳戶名稱 |
| » password | body | string | 否 | 新密碼,6-16 位數或字母;不傳則不修改 |
| » remark | body | string | 否 | 新備註 |
| » limit | body | integer | 否 | 流量上限,單位GB,0 表示不限制 |
| » daily_limit | body | integer | 否 | 每日流量上限,單位GB,0 表示不限制 |
| » status | body | integer | 否 | 啟用狀態 |
| » udp | body | integer | 否 | UDP 支援開關,僅對套餐類型14、16、21、25 生效 |
列舉值
| 屬性 | 值 |
|---|---|
| » status | 0 |
| » status | 1 |
| » udp | 0 |
| » udp | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
GET 產生代理連接訊息
GET /ep/whitelist-account/format
支援個人和團隊API Key。僅傳回目前資源空間內有權存取的代理帳號,支援套餐類型9、11、12。 JSON/XML 傳回結構化帳密清單;txt/csv 傳回按f 格式拼接的連接字串。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| ac | query | integer | 是 | 代理帳號ID 或使用者名稱;相容參數account |
| ae | query | string | 否 | none |
| st | query | string | 否 | none |
| ct | query | string | 否 | none |
| lf | query | integer | 否 | none |
| n | query | integer | 否 | none |
| f | query | integer | 否 | 僅影響txt/csv 的連接字串格式 |
| type | query | string | 否 | none |
| lb | query | string | 否 | none |
| ep | query | string | 否 | none |
| team_id | query | ResourceSpaceId | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| f | 1 |
| f | 2 |
| f | 3 |
| f | 4 |
| f | 5 |
| type | json |
| type | xml |
| type | txt |
| type | csv |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}]
},
"request_id": "string"
}
"string"
<?xml version="1.0" encoding="UTF-8" ?>
<WebV1SuccessResponse>
<code>200</code>
<msg>SUCCESS</msg>
<data/>
<request_id>string</request_id>
</WebV1SuccessResponse>
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | WebV1SuccessResponse |
IP白名單
GET IP 白名單列表
GET /ep/proxy-ip/list
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串 |
| product_type | query | integer | 否 | 套餐類型編號 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": [
{
"ip": "1.1.1.1",
"remark": "string",
"product_type": 0,
"created_at": "string"
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» ip | string | false | none | 白名單IP | |
| »»» remark | string | false | none | 備註 | |
| »»» product_type | integer | false | none | 套餐類型 | |
| »»» created_at | string | false | none | 建立時間 |
POST 新增IP 白名單
POST /ep/proxy-ip/add
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "string",
"ips": "1.1.1.1,2.2.2.2",
"remark": "string",
"product_type": 0,
"user_product_id": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » ips | body | string | 是 | 需要新增的白名單IP,多個用英文逗號或換行分隔 |
| » remark | body | string | 否 | 備註 |
| » product_type | body | integer | 否 | 套餐類型編號 |
| » user_product_id | body | integer | 否 | 使用者套餐ID,套餐類型為11 時必填 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 刪除IP 白名單
POST /ep/proxy-ip/delete
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"app_key": "string",
"ips": "1.1.1.1,2.2.2.2",
"verify_type": "string",
"verify_code": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » app_key | body | string | 否 | 授權金鑰 |
| » ips | body | string | 是 | 需要刪除的白名單IP,多個用英文逗號分隔 |
| » verify_type | body | string | 否 | 驗證類型:phone、email、wechat、totp |
| » verify_code | body | string | 否 | 驗證碼 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": null
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | null | false | none | none |
POST 修改IP 白名單備註
POST /ep/white-ip/change-remark
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"ip": "192.168.0.1",
"remark": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » ip | body | string(ipv4) | 是 | none |
| » remark | body | string | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 刷新目前資源空間IP 白名單認證快取
POST /ep/white-ip/refresh
Body 請求參數
{
"team_id": "A1b2C3d4E5f6"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
GET 指定產品類型的IP 白名單配額
GET /ep/white-ip/quota
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| product_type | query | integer | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
GET 所有產品類型的IP 白名單配額
GET /ep/white-ip/quotas
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
IP擷取
GET IP 提取數量按天統計
GET /ep/user-extract-ip/days
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_date | query | string(date) | 否 | 預設6 天前 |
| end_date | query | string(date) | 否 | 預設今天 |
| product_type | query | integer | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| product_type | 9 |
| product_type | 17 |
| product_type | 22 |
返回範例
200 Response
{
"code": 0,
"msg": "string",
"request_id": "string",
"data": {
"list": [
{
"count": 0,
"date": "2019-08-24"
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | none | |
| » msg | string | false | none | none | |
| » request_id | string | false | none | none | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» count | integer | true | none | none | |
| »»» date | string(date) | true | none | none |
GET 提取IP
GET /ep/ip/v3
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 團隊Key 可省略;傳入時必須與Key 綁定團隊一致 |
| app_key | query | string(password) | 是 | 存取金鑰 |
| cc | query | string | 否 | 國家或地區 |
| state | query | string | 否 | 省或州 |
| city | query | string | 否 | 城市 |
| format | query | string | 否 | 取得格式 |
| lb | query | string | 否 | 間隔符,僅text格式有效 |
| num | query | number | 否 | 提取數量 |
| life | query | number | 否 | 保持週期-分鐘 |
| ep | query | string | 否 | 代理網絡 |
列舉值
| 屬性 | 值 |
|---|---|
| ep | us |
| ep | hk |
| ep | de |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": [
[
"150.109.114.72:1140",
"150.109.114.72:1141",
"150.109.114.72:1142",
"150.109.114.72:1143",
"150.109.114.72:1144",
"150.109.114.72:1145",
"150.109.114.72:1146",
"150.109.114.72:1147",
"150.109.114.72:1148",
"150.109.114.72:1149"
]
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [any] | false | none | none |
GET 動態地區城市列表V4
GET /ep/ip/dcl4
按使用者名稱取得城市列表,需要登入認證,且帳戶必須屬於目前用戶
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| username | query | string | 是 | 代理帳號使用者名稱 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"cache": true,
"list": [
{
"City": "Los Angeles",
"Area": "US",
"State": "California"
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» cache | boolean | false | none | 是否來自快取 | |
| »» list | [object] | false | none | none | |
| »»» City | string | false | none | 城市 | |
| »»» Area | string | false | none | 地區 | |
| »»» State | string | false | none | 州/省 |
GET 動態地區州/省列表V4
GET /ep/ip/dsl4
按使用者名稱取得州/省列表,需要登入認證,且帳戶必須屬於當前用戶
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| username | query | string | 是 | 代理帳號使用者名稱 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"cache": true,
"list": [
{
"City": "Los Angeles",
"Area": "US",
"State": "California"
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» cache | boolean | false | none | 是否來自快取 | |
| »» list | [object] | false | none | none | |
| »»» City | string | false | none | 城市 | |
| »»» Area | string | false | none | 地區 | |
| »»» State | string | false | none | 州/省 |
GET 動態地區州/省城市融合清單V4
GET /ep/ip/dal4
按使用者名稱取得州/省和城市的融合列表,按地區分組。需要登入認證,且帳戶必須屬於目前用戶
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| username | query | string | 是 | 代理帳號使用者名稱 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"cache": true,
"list": [
{
"Area": "US",
"states": [
{
"State": null,
"cities": null
}
]
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» cache | boolean | false | none | 是否來自快取 | |
| »» list | [object] | false | none | 地區列表 | |
| »»» Area | string | false | none | 地區代碼 | |
| »»» states | [object] | false | none | 州/省列表 | |
| »»»» State | string | false | none | 州/省名稱 | |
| »»»» cities | [string] | false | none | 城市列表 |
GET 城市列表
GET /ep/ip/dynamic-citys
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": [
{
"name_zh_cn": "美国",
"name_en": "United States",
"continent_code": "NA",
"country_code": "US",
"items": [
{
"city": null,
"state": null,
"continent_code": null,
"country_code": null
}
]
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | 列表 | |
| »»» name_zh_cn | string | false | none | 國家或地區名稱 | |
| »»» name_en | string | false | none | 國家或地區名稱 | |
| »»» continent_code | string | false | none | 大洲代碼 | |
| »»» country_code | string | false | none | 國家或地區代碼 | |
| »»» items | [object] | false | none | 省或州 | |
| »»»» city | string | false | none | 城市名稱 | |
| »»»» state | string | false | none | 省或州名稱代碼 | |
| »»»» continent_code | string | false | none | 大洲代碼 | |
| »»»» country_code | string | false | none | 國家或地區代碼 |
GET 城市搜索
GET /ep/ip/dynamic-citys/search
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| country_code | query | string | 是 | 國家或地區代碼 |
| state | query | string | 是 | 州或省代碼 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": ["string"]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [string] | false | none | 列表 |
GET 州列表
GET /ep/ip/dynamic-states
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": [
{
"name_zh_cn": "美国",
"name_en": "United States",
"continent_code": "NA",
"country_code": "US",
"items": [
{
"state": null,
"continent_code": null,
"country_code": null
}
]
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | 列表 | |
| »»» name_zh_cn | string | false | none | 國家或地區名稱 | |
| »»» name_en | string | false | none | 國家或地區名稱 | |
| »»» continent_code | string | false | none | 大洲代碼 | |
| »»» country_code | string | false | none | 國家或地區代碼 | |
| »»» items | [object] | false | none | 省或州 | |
| »»»» state | string | false | none | 省或州名稱代碼 | |
| »»»» continent_code | string | false | none | 大洲代碼 | |
| »»»» country_code | string | false | none | 國家或地區代碼 |
GET 州/省搜索
GET /ep/ip/dynamic-states/search
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| country_code | query | string | 是 | 國家或地區代碼 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": ["string"]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [string] | false | none | 列表 |
POST 取得已指派的資料中心靜態IP 列表
POST /ep/ip/get-datacenter-assign-ip-list
已廢棄,建議使用 /openapi/user-product/datacenter-isp-ip-list。為相容於舊客戶端,本介面使用POST 方法,但篩選參數均從query 讀取。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串;團隊Key 可省略,傳入時必須與Key 一致 |
| area | query | string | 否 | 國家代碼 |
| status | query | integer | 否 | 0=所有,1=有效,2=過期 |
| trade_no | query | string | 否 | 訂單號碼 |
| created_at | query | array[string] | 否 | 建立時間範圍,必須同時傳開始與結束時間 |
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"total": 0,
"list": [
{
"id": 1,
"ip": "string",
"country_code": "string",
"up_id": 1,
"expired_at": "string",
"created_at": "string",
"country_name_zh_cn": "string",
"country_name_en": "string",
"country_continent_code": "string",
"port": 1
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
GET 提取已購買靜態IP列表
GET /ep/ip/get-static-ip
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| country_code | query | string | 否 | 國家或地區代碼 |
| product_type | query | number | 否 | 產品類型, 25:靜態住宅IP, 14: 資料中心IP |
| trade_no | query | string | 否 | 透過訂單號碼篩選IP |
| page | query | number | 否 | 頁碼 |
| size | query | number | 否 | 每頁數量 |
| status | query | number | No | 狀態, 1:有效, 2:無效, 3:即將過期, 4:維護中 |
列舉值
| 屬性 | 值 |
|---|---|
| product_type | 14 |
| product_type | 25 |
| status | 1 - 2 - 3 - 4 |
返回範例
200 Response
{}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
傳回資料結構
GET 取得在售地區靜態IP數量
GET /ep/ip/static-ip-region
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| isp | query | integer | 否 | ISP 篩選,不傳則不篩選(站點1/4/5 除外預設為1) |
| asn | query | integer | 否 | 是否傳回ASN 分組資料 |
| exclusive | query | integer | 否 | 是否依獨享庫存統計 |
詳細說明
isp: ISP 篩選,不傳則不篩選(站點1/4/5 除外預設為1)
| 值 | 說明 |
|---|---|
| 0 | 資料中心靜態IP(IDC) |
| 1 | 家庭住宅靜態IP(ISP) |
asn: 是否回傳ASN 分組數據
| 值 | 說明 |
|---|---|
| 0 | 不回傳ASN 分組資料(預設) |
| 1 | 返回ASN 分組資料 |
exclusive: 是否依獨享庫存統計
| 值 | 說明 |
|---|---|
| 0 | 依目前使用者/共享群組口徑統計(預設) |
| 1 | 排除所有已分配IP,僅統計可用庫存 |
列舉值
| 屬性 | 值 |
|---|---|
| isp | 0 |
| isp | 1 |
| asn | 0 |
| asn | 1 |
| exclusive | 0 |
| exclusive | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "请求成功",
"data": {
"list": [
{
"code": "US",
"number": 55
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» code | string | true | none | 國家或地區代碼 | |
| »»» number | integer | true | none | 數量 |
GET 取得host_pool 支援國家/地區
GET /ep/host-pool/regions
查詢host_pool 服務目前網站支援的國家/地區清單。
此介面面向資料中心IP 按流量積分的隨機擷取場景,僅按目前站點可用資料中心IP 庫存統計國家/地區。
返回範例
200 Response
{
"code": 200,
"msg": "请求成功",
"data": {
"list": [
{
"code": "US",
"number": 55,
"name_zh_cn": "美国",
"name_en": "United States",
"square_flag": "https://example.com/static/flags/us.png"
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» code | string | true | none | 國家或地區代碼,ISO 3166-1 alpha-2 | |
| »»» number | integer | true | none | 目前站點可用資料中心IP 數量 | |
| »»» name_zh_cn | string | false | none | 國家或地區中文名稱 | |
| »»» name_en | string | false | none | 國家或地區英文名稱 | |
| »»» square_flag | string | false | none | 方形旗圖URL |
流量日誌查詢
POST 近期使用流量按天匯總
POST /ep/user-usage-flow/days
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"days": 7,
"product_type": 0,
"username": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » days | body | integer | 否 | none |
| » product_type | body | integer | 否 | none |
| » username | body | string | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"days": "2019-08-24",
"flow": 0
}
],
"days": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
POST 代理帳戶歷史使用流量
POST /ep/user-usage-flow/username-total
Body 請求參數
{
"team_id": "A1b2C3d4E5f6"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"username": "string",
"flow": 0
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
POST 匯出代理帳戶每月使用流量
POST /ep/user-usage-flow/export-csv
Body 請求參數
{
"team_id": "A1b2C3d4E5f6"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
返回範例
200 Response
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | GBK 編碼CSV 檔案 | string |
GET 套餐流量總量與剩餘量
GET /ep/user-usage-flow/flow-total
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| unit | query | string | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| unit | KB |
| unit | MB |
| unit | GB |
| unit | TB |
| unit | PB |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"limit": 0,
"total": 0,
"remain": 0,
"unit": "KB",
"timestamp": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| unit | KB |
| unit | MB |
| unit | GB |
| unit | TB |
| unit | PB |
GET 每日速率圖
GET /ep/user-usage-flow/rate-graph
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start | query | string(date) | 否 | none |
| end | query | string(date) | 否 | none |
| username | query | string | 否 | none |
| user_product_id | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"date": "2019-08-24",
"rate": 0,
"corrent": 0
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
GET 每日緩存流量統計
GET /ep/user-usage-flow/cache-total
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_time | query | string | 否 | none |
| end_time | query | string | 否 | none |
| product_type | query | integer | 否 | none |
| username | query | string | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"day": "2019-08-24",
"cache_flow": 0,
"cache_reduce_flow": 0
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
GET 使用流量按天匯總
GET /ep/user-usage-flow/total
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串 |
| app_key | query | string(password) | 是 | 認證金鑰 |
| start_time | query | string(Ymd H:i:s) | 否 | 起始時間,可精確到秒。請注意,日誌記錄有5分鐘以內延遲。預設7天以內。 |
| end_time | query | string(Ymd H:i:s) | 否 | 截止時間,可精確到秒。請注意,日誌記錄有5分鐘以內延遲。預設當前時間。 |
| username | query | string | 否 | 子帳號名稱,預設查詢所有帳號,可指定子帳號。請注意如果您新增了相同名稱的子帳戶,此查詢將傳回同名代理帳戶的所有使用記錄。 |
| product_type | query | number | 否 | 套餐類型 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": [
{
"day": "2022-08-01",
"flow": 0
}
]
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» day | string | false | none | 日期 | |
| »»» flow | integer | false | none | 消耗流量,單位KB |
代理日誌
GET 用戶端IP 代理存取統計
GET /ep/http-t-dom/list-v2
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_time | query | string(date) | 否 | none |
| end_time | query | string(date) | 否 | none |
| export | query | string | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| export | csv |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"visit_count": 0,
"client_ip": "string",
"time": "2019-08-24",
"country_code": "string",
"country": "string"
}
],
"cache": true,
"ttl": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | JSON 統計結果;export=csv 時返回CSV 檔案 | string |
GET 用戶端IP 存取佔比
GET /ep/http-t-dom/client-ip-proportion
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| start_time | query | string(date) | 否 | none |
| end_time | query | string(date) | 否 | none |
| export | query | string | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| export | csv |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"username": "string",
"client_ip": "string",
"visit_count": 0,
"visit_percentage": "string",
"country": "string",
"country_code": "string"
}
],
"cache": true,
"ttl": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | JSON 佔比結果;export=csv 時返回CSV 檔案 | string |
每月續費帳單
GET 當月每月匯總續費帳單
GET /ep/monthly-renewal-bill
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"batch": {
"type": "current",
"start_at": "string",
"end_at": "string",
"target_expired_at": "string",
"timezone": "string"
},
"currency": "string",
"total_fee": 0,
"items": [
{
"id": 0,
"user_product_id": 1,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"title": "string",
"expired_at": "string",
"target_expired_at": "string",
"renew_days": 1,
"unit_month_price": 0,
"pay_fee": 0,
"currency": "string",
"bandwidth": 0,
"bandwidth_mbsp": 0,
"concurrency": 0,
"ip": "string",
"country_code": "string",
"paid_at": "string",
"refunded_at": "string",
"created_at": "string",
"updated_at": "string"
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| type | current |
| type | next |
POST 檢查每月總續費訂單
POST /ep/monthly-renewal-bill/check
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_ids": [1],
"user_coupon_id": 1,
"coupon_sn": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | MonthlyRenewalRequest | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"batch": {
"type": "current",
"start_at": "string",
"end_at": "string",
"target_expired_at": "string",
"timezone": "string"
},
"currency": "string",
"total_fee": 0,
"discount_fee": 0,
"pay_fee": 0,
"items": [
{
"id": 0,
"user_product_id": 1,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"title": "string",
"expired_at": "string",
"target_expired_at": "string",
"renew_days": 1,
"unit_month_price": 0,
"pay_fee": 0,
"currency": "string",
"bandwidth": 0,
"bandwidth_mbsp": 0,
"concurrency": 0,
"ip": "string",
"country_code": "string",
"paid_at": "string",
"refunded_at": "string",
"created_at": "string",
"updated_at": "string"
}
],
"user_coupon_id": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| type | current |
| type | next |
POST 建立每月總計續約訂單
POST /ep/monthly-renewal-bill/create
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_ids": [1],
"user_coupon_id": 1,
"coupon_sn": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | MonthlyRenewalRequest | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"trade_no": "string",
"total_fee": 0,
"discount_fee": 0,
"pay_fee": 0,
"currency": "string",
"user_coupon_id": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
GET 月彙總續費歷史帳單
GET /ep/monthly-renewal-bill/history
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| trade_no | query | string | 否 | none |
| start_date | query | string(date) | 否 | none |
| end_date | query | string(date) | 否 | none |
| page | query | integer | 否 | none |
| size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"total": 0,
"page": 1,
"size": 1,
"list": [
{
"id": 1,
"trade_no": "string",
"status": 0,
"pay_fee": 0,
"currency": "string",
"pay_at": "string",
"created_at": "string",
"pay_method": 0,
"pm_id": 0,
"pay_channel": 0,
"pm_title": "string",
"pm_logo": "string",
"items": [null]
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
發票管理
GET 發票抬頭詳情
GET /ep/user-invoice/info
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| invoice_code | query | string | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"invoice_code": "string",
"name": "string",
"org_name": "string",
"first_name": "string",
"last_name": "string",
"phone": "string",
"email": "user@example.com",
"role_type": 1,
"invoice_type": 0,
"vat_id": "string",
"tax_no": "string",
"address_country": "string",
"address_city": "string",
"address_line1": "string",
"address_line2": "string",
"address_postal_code": "string",
"bank_name": "string",
"bank_account": "string",
"is_def": true
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role_type | 1 |
| role_type | 2 |
| invoice_type | 0 |
| invoice_type | 1 |
| invoice_type | 2 |
POST 建立或修改發票抬頭
POST /ep/user-invoice/create
Body 請求參數
{
"invoice_code": "string",
"name": "string",
"org_name": "string",
"first_name": "string",
"last_name": "string",
"phone": "string",
"email": "user@example.com",
"role_type": 1,
"invoice_type": 0,
"vat_id": "string",
"tax_no": "string",
"address_country": "string",
"address_city": "string",
"address_line1": "string",
"address_line2": "string",
"address_postal_code": "string",
"bank_name": "string",
"bank_account": "string",
"is_def": true,
"team_id": "A1b2C3d4E5f6",
"new_invoice_code": false
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | any | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功,data 為null | Inline |
傳回資料結構
GET 發票抬頭列表
GET /ep/user-invoice/list
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role_type | 1 |
| role_type | 2 |
| invoice_type | 0 |
| invoice_type | 1 |
| invoice_type | 2 |
POST 刪除發票抬頭
POST /ep/user-invoice/delete
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"invoice_code": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » invoice_code | body | string | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功,data 為null | Inline |
傳回資料結構
GET 開立發票記錄列表
GET /ep/user-invoice/record-list
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| status | query | integer | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 1,
"invoice_no": "string",
"invoice_amount": 0,
"invoice_download_url": "string",
"status": 0,
"remark": "string",
"order_ids": [null],
"created_at": 0,
"invoice_info": {}
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| role_type | 1 |
| role_type | 2 |
| invoice_type | 0 |
| invoice_type | 1 |
| invoice_type | 2 |
POST 提交開立發票申請
POST /ep/user-invoice/submit
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"invoice_code": "string",
"order_ids": [0]
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » invoice_code | body | string | 是 | none |
| » order_ids | body | [integer] | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"invoice_id": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
POST 取消開立發票申請
POST /ep/user-invoice/cancel
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"invoice_id": 1,
"reason": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » invoice_id | body | integer | 是 | none |
| » reason | body | string | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功,data 為null | Inline |
傳回資料結構
GET 開票金額統計
GET /ep/user-invoice/statistics
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"invoiceable_amount": 0,
"invoiced_amount": 0,
"processing_amount": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
GET 可開立發票訂單列表
GET /ep/user-invoice/invoiceable-orders
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 1,
"order_no": "string",
"pay_fee": 0,
"created_at": 0
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
套餐查詢
GET 已購套餐列表
GET /ep/user-product/list
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串 |
| app_key | query | string(password) | 是 | 認證金鑰 |
| trade_no | query | string | 否 | 訂單號,請輸入完整訂單號。不支援模糊搜尋。 |
| page | query | number | 否 | 分頁,預設:1 |
| size | query | number | 否 | 分頁顯示數量,預設:20 |
| product_type | query | number | 否 | 套餐類型 |
返回範例
200 Response
{
"code": 200,
"msg": "string",
"data": {
"list": [
{
"id": 0,
"created_at": "2022-05-13 12:14:15",
"expired_at": "2022-05-13 12:14:15",
"product_type": 9,
"trade_no": "2022051312134339861461465434",
"order": {
"created_at": "2022-05-13 12:13:43",
"pay_at": "2022-05-13 12:13:43",
"title": "入门级"
}
}
],
"page": 1,
"page_size": 20,
"total_count": 0,
"total_page": 0
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | true | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» id | integer | false | none | 套餐編號 | |
| »»» created_at | string | false | none | 套餐生效時間 | |
| »»» expired_at | string | false | none | 套餐過期時間,過期後流量無法使用。 | |
| »»» product_type | productTypes | false | none | 套餐類型,9 動態住宅流量套餐、11 動態住宅IP、14靜態資料中心IP、25 靜態住宅IP | |
| »»» trade_no | string | false | none | 訂單交易號碼 | |
| »»» order | object | false | none | none | |
| »»»» created_at | string | false | none | 訂單建立時間 | |
| »»»» pay_at | string | false | none | 訂單付款時間 | |
| »»»» title | string | false | none | 訂單描述 | |
| »» page | integer | true | none | 目前分頁 | |
| »» page_size | integer | false | none | 分頁大小 | |
| »» total_count | integer | false | none | 總記錄數量 | |
| »» total_page | integer | false | none | 總分頁數 |
列舉值
| 屬性 | 值 |
|---|---|
| product_type | 9 |
| product_type | 11 |
| product_type | 14 |
| product_type | 25 |
GET 用戶套餐數據匯總
GET /ep/user-product/summary
獲取用戶套餐的統計匯總信息,包括總量、有效量、臨期量、過期量等
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串 |
| app_key | query | string(password) | 是 | 認證金鑰 |
| product_type | query | integer | 否 | 產品類型,僅支援9(動態流量套餐)、12(長效IDC流量套餐) |
列舉值
| 屬性 | 值 |
|---|---|
| product_type | 9 |
| product_type | 12 |
返回範例
200 Response
{
"code": 200,
"msg": "成功",
"data": {
"total": 1048576,
"total_count": 5,
"effective": 524288,
"effective_count": 3,
"effective_total": 786432,
"effective_used": 262144,
"temporary": 102400,
"temporary_count": 1,
"expired": 51200,
"expired_count": 1,
"used": 473088
}
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
狀態碼200
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| » code | integer | false | none | 狀態碼,200 成功、3 app_key 無效、156 帳戶未實名認證 | |
| » msg | string | false | none | 狀態訊息 | |
| » data | object | false | none | none | |
| »» total | integer | false | none | 流量/IP總量(單位:KB) | |
| »» total_count | integer | false | none | 套餐總個數 | |
| »» effective | integer | false | none | 有效剩餘量(單位:KB) | |
| »» effective_count | integer | false | none | 有效套餐個數 | |
| »» effective_total | integer | false | none | 有效總量(單位:KB) | |
| »» effective_used | integer | false | none | 有效已使用量(單位:KB) | |
| »» temporary | integer | false | none | 臨期總量(7天內到期,單位:KB) | |
| »» temporary_count | integer | false | none | 臨期套餐個數(7天內到期) | |
| »» expired | integer | false | none | 過期剩餘量(單位:KB) | |
| »» expired_count | integer | false | none | 過期套餐個數 | |
| »» used | integer | false | none | 已使用總量(單位:KB) |
POST 靜態IP 列表
POST /ep/user-product/datacenter-isp-ip-list
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"status": 0,
"page": 1,
"size": 20,
"user_product_id": 1,
"country_code": "string",
"product_type": 0,
"ip": "192.168.0.1",
"auto_renewal": 0,
"support_renewal": 0,
"remaining_days": 0,
"limit_days": 0,
"sort": "exp_asc",
"remark": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » status | body | integer | 否 | none |
| » page | body | integer | 否 | none |
| » size | body | integer | 否 | none |
| » user_product_id | body | integer | 否 | none |
| » country_code | body | string | 否 | none |
| » product_type | body | integer | 否 | none |
| » ip | body | string(ipv4) | 否 | none |
| » auto_renewal | body | integer | 否 | none |
| » support_renewal | body | integer | 否 | none |
| » remaining_days | body | integer | 否 | none |
| » limit_days | body | integer | 否 | none |
| » sort | body | string | 否 | none |
| » remark | body | string | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » auto_renewal | 0 |
| » auto_renewal | 1 |
| » support_renewal | 0 |
| » support_renewal | 1 |
| » sort | exp_asc |
| » sort | exp_desc |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 刪除已過期套餐
POST /ep/user-product/delete
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » id | body | integer | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 批量刪除已過期套餐
POST /ep/user-product/batch-delete
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"ids": [1]
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » ids | body | [integer] | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 修改套餐備註
POST /ep/user-product/change-remark
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"id": 1,
"remark": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » id | body | integer | 是 | none |
| » remark | body | string | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 批次設定靜態IP UDP 開關
POST /ep/user-product/set-ip-udp
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"ids": [1],
"udp": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » ids | body | [integer] | 是 | none |
| » udp | body | integer | 是 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » udp | 0 |
| » udp | 1 |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
套餐管理
POST 更換資料中心ISP 靜態IP
POST /ep/user-product/change-datacenter-isp-ip
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"id": 1,
"country_code": "string",
"ip": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » id | body | integer | 是 | 使用者套餐ID |
| » country_code | body | string | 否 | 目標國家/地區代碼;不傳時優先沿用目前IP 國家/地區 |
| » ip | body | string | 否 | 目標IP 前綴篩選 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"ip_id": 1,
"ip": "string",
"country_code": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
GET 取得靜態IP 更換記錄
GET /ep/user-product/ip-change-log
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 資源空間標識;個人空間省略或傳空字串 |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"old": "string",
"new": "string",
"created_at": "string",
"created_timestamp": 0
}
],
"page": 1,
"page_size": 1,
"total_count": 0,
"page_count": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
POST 設定單一套餐的自動續費開關
POST /ep/user-product/set-auto-renewal
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_id": 1,
"status": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » user_product_id | body | integer | 是 | none |
| » status | body | integer | 否 | 0=停用,1=啟用 |
列舉值
| 屬性 | 值 |
|---|---|
| » status | 0 |
| » status | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
POST 批量設定套餐自動續費開關
POST /ep/user-product/batch-set-auto-renewal
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_ids": [1],
"status": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » user_product_ids | body | [integer] | 是 | none |
| » status | body | integer | 否 | 0=停用,1=啟用 |
列舉值
| 屬性 | 值 |
|---|---|
| » status | 0 |
| » status | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"results": [
{
"user_product_id": 1,
"success": true,
"id": 1
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功;每個方案獨立回傳處理結果 | Inline |
傳回資料結構
POST 設定產品類型的預設自動續費參數
POST /ep/user-product/set-auto-renewal-default-config
days_before_expire、traffic_threshold、renewal_cycle_days 至少傳一個;值為0 表示重置對應配置。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"product_type": 9,
"days_before_expire": 30,
"traffic_threshold": 100,
"renewal_cycle_days": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » product_type | body | integer | 是 | none |
| » days_before_expire | body | integer | 否 | none |
| » traffic_threshold | body | integer | 否 | 單位GB,僅9/12/24 支援 |
| » renewal_cycle_days | body | integer | 否 | 僅11/14/16/25 支持,且必須是當前在售產品週期 |
| »anonymous | body | object | 否 | none |
| »anonymous | body | object | 否 | none |
| »anonymous | body | object | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » product_type | 9 |
| » product_type | 11 |
| » product_type | 12 |
| » product_type | 14 |
| » product_type | 16 |
| » product_type | 24 |
| » product_type | 25 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功,data 為null | Inline |
傳回資料結構
POST 取得產品類型的預設自動續費參數
POST /ep/user-product/get-auto-renewal-default-config
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"product_type": 9
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » product_type | body | integer | 否 | 不傳則傳回全部支援類型 |
列舉值
| 屬性 | 值 |
|---|---|
| » product_type | 9 |
| » product_type | 11 |
| » product_type | 12 |
| » product_type | 14 |
| » product_type | 16 |
| » product_type | 24 |
| » product_type | 25 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"configs": [
{
"product_type": "[",
"days_before_expire": 0,
"source": "[",
"renewal_cycle": {},
"traffic_threshold": 0,
"traffic_source": "["
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| product_type | 9 |
| product_type | 11 |
| product_type | 12 |
| product_type | 14 |
| product_type | 16 |
| product_type | 24 |
| product_type | 25 |
| source | user |
| source | system |
| source | user |
| source | system |
| traffic_source | user |
| traffic_source | system |
POST 取得單一套餐自動續費配置和續費預覽
POST /ep/user-product/get-auto-renewal
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » user_product_id | body | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"expired_at": "string",
"time_days": 0,
"time_unit": "day",
"next_expired_at": "string",
"agreed_price": 0,
"currency": "string",
"config": {
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"product_type": 0,
"left_traffic": 0,
"left_days": 0,
"user_product_id": 1,
"product_id": 0,
"status": 0,
"currency": "string",
"agreed_price": 0,
"agreed_bandwidth_price": 0,
"agreed_concurrency_price": 0,
"bandwidth_id": 0,
"concurrency_id": 0,
"duration": 0,
"renew_product_id": 0,
"days_before_expire": 0,
"traffic_threshold": 0,
"parent_product_type": 0,
"created_at": "string",
"updated_at": "string"
},
"traffic_threshold": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| time_unit | day |
| time_unit | hour |
| status | 0 |
| status | 1 |
POST 取得自動續約執行記錄
POST /ep/user-product/auto-renewal-logs
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"user_product_id": 1,
"page": 1,
"size": 20
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » user_product_id | body | integer | 否 | 不傳則查詢目前空間全部記錄 |
| » page | body | integer | 否 | none |
| » size | body | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"config_id": 0,
"user_product_id": 1,
"product_type": 0,
"renew_product_id": 0,
"order_id": 0,
"fee": 0,
"currency": "string",
"before_expired_at": "string",
"after_expired_at": "string",
"before_remain": 0,
"after_remain": 0,
"trigger_type": "[",
"status": "[",
"revoke_at": "string",
"revoke_remark": "string",
"created_at": "string",
"updated_at": "string"
}
],
"page": 1,
"page_size": 1,
"total_page": 0,
"total_count": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| trigger_type | 0 |
| trigger_type | 1 |
| status | 1 |
| status | 2 |
| status | 3 |
訂單管理
GET 訂單列表
GET /ep/order/list
團隊空間訂單額外返回creator,表示實際下單成員;管理員和超級管理員可見完整聯絡方式,其他角色返回脫敏聯絡方式。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | 訂單資源空間標識;個人空間省略或傳空字串 |
| page_no | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
| trade_no | query | string | 否 | 訂單編號 |
| start_time | query | string(date-time) | 否 | 開始時間(內含),如2024-01-01 00:00:00 |
| end_time | query | string(date-time) | 否 | 結束時間(不包含) |
| status | query | integer | 否 | 訂單狀態 |
| product_type | query | integer | 否 | 產品類型 |
| invoice | query | integer | 否 | 發票狀態:0不限制1已開發票-1未開發票(可補開) |
| pay_fee_status | query | integer | 否 | 長短款篩選:1超額支付2短款支付 |
詳細說明
status: 訂單狀態
| 狀態 | 描述 |
|---|---|
| 0 | 待支付 |
| 1 | 已支付 |
| 2 | 逾時未付款已取消 |
| 3 | 已退款 |
product_type: 產品類型
| 產品類型 | 描述 |
|---|---|
| 3 | 餘額儲值 |
| 9 | 動態流量套餐 |
| 11 | 動態全球包時套餐V2 |
| 12 | 長效IDC流量套餐 |
| 13 | 住宅靜態IP流量套餐 |
| 14 | 資料中心靜態IP套餐 |
| 15 | 長效ISP流量套餐 |
| 16 | 靜態流量套餐 |
| 17 | 動態IP數量套餐 |
| 18 | web-scraper |
| 19 | 靜態IP續費 |
| 20 | 靜態IP更換配額 |
| 21 | 靜態流量套餐v2 |
| 24 | 靜態流量附加包套件 |
| 25 | 住宅靜態IP套餐 |
| 26 | 補單- 部分支付管道需要用戶手動填寫金額,如:虛擬幣,若發生短款,需要聯絡客服透過此種產品進行補支付 |
| 27 | Serp |
| 28 | Video |
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| product_type | 3 |
| product_type | 9 |
| product_type | 11 |
| product_type | 12 |
| product_type | 14 |
| product_type | 16 |
| product_type | 17 |
| product_type | 18 |
| product_type | 19 |
| product_type | 21 |
| product_type | 24 |
| product_type | 25 |
| product_type | 26 |
| product_type | 27 |
| product_type | 28 |
| invoice | -1 |
| invoice | 0 |
| invoice | 1 |
| pay_fee_status | 1 |
| pay_fee_status | 2 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 0,
"trade_no": "string",
"out_trade_no": "string",
"product_id": 0,
"product_type": 0,
"amount": 0,
"unit_price": 0.1,
"total_fee": 0.1,
"goods_fee": 0.1,
"pay_fee": 0.1,
"discount_fee": 0.1,
"handling_fee": 0.1,
"refund_fee": 0.1,
"pm_id": 0,
"pm_title": "string",
"pm_logo": "string",
"status": 0,
"title": "string",
"detail": "string",
"region_desc": "string",
"pay_at": "2019-08-24T14:15:22Z",
"pay_timestamp": 0,
"created_at": "2019-08-24T14:15:22Z",
"pay_fee_status": 0,
"invoice": {}
}
],
"pagination": {
"total": 0,
"page_no": 0,
"page_size": 0,
"total_pages": 0
}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 成功 | Inline |
傳回資料結構
POST 建立訂單
POST /ep/order/create
因套餐種類較多,且每種套餐有不同的配置,請依實際情況填寫參數。不正當填寫參數可能導致訂單建立失敗。
examples:
續費靜態IP
{
"pid": 套餐ID, // 从 /openapi/product 接口获取
"upids": "1,2,3,4,5,6", // 从 /openapi/ip/get-static-ip 接口获取对应的 id 字段
"pm_id": 1 // 从 /openapi/payment/list 或 /openapi/payment/groups 接口获取
}
靜態住宅IP購買
{
"pid": 套餐ID, // 从 /openapi/product 接口获取
"pm_id": 支付方式ID, // 从 /openapi/payment/list 或 /openapi/payment/groups 接口获取
"region_list": "JP,15,333|DE,10,444|US,5,555" // 格式:地区,数量,ASN|地区,数量,ASN(ASN编号可选)
}
靜態資料中心IP購買
{
"pid": 套餐ID, // 从 /openapi/product 接口获取
"pm_id": 支付方式ID, // 从 /openapi/payment/list 或 /openapi/payment/groups 接口获取
"region_list": "JP,15,333|DE,10,444|US,5,555" // 格式:地区,数量,ASN|地区,数量,ASN(ASN编号可选)
}
動態住宅流量購買
{
"pid": 套餐ID, // 从 /openapi/product 接口获取
"pm_id": 支付方式ID // 从 /openapi/payment/list 或 /openapi/payment/groups 接口获取
}
靜態輪換流量購買
{
"pid": 套餐ID, // 从 /openapi/product 接口获取
"pm_id": 支付方式ID // 从 /openapi/payment/list 或 /openapi/payment/groups 接口获取
}
動態無限流量購買
{
"pid": 套餐ID, // 从 /openapi/product 接口获取
"pm_id": 支付方式ID, // 从 /openapi/payment/list 或 /openapi/payment/groups 接口获取
"product_sku_bandwidth_id": 带宽规格ID,
"product_sku_concurrency_id": 并发规格ID
}
餘額儲值
{
"pid": 套餐ID, // 从 /openapi/product 接口获取
"pm_id": 支付方式ID, // 从 /openapi/payment/list 或 /openapi/payment/groups 接口获取
"recharge_amount": 充值金额
}
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"pid": 0,
"upids": "string",
"amount": 0,
"pm_id": 0,
"region_list": "string",
"coupon_sn": "string",
"use_invitation_registration_discount": true,
"renew_duration": 0,
"product_sku_bandwidth_id": 0,
"product_sku_concurrency_id": 0,
"product_sku_duration_id": 0,
"etd": 1,
"recharge_amount": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » pid | body | integer | 是 | 套餐ID,來自/openapi/product 介面傳回的id 欄位 |
| » upids | body | string | 否 | 續費套餐ID清單(逗號分隔),來自/openapi/user-product/list 或/openapi/ip/get-static-ip 介面傳回的id 欄位 |
| » amount | body | number | 否 | 新購套餐數 |
| » pm_id | body | integer | 是 | 付款方式ID,來自/openapi/payment/list 或/openapi/payment/groups 介面傳回的id 欄位 |
| » region_list | body | string | 否 | 購買靜態IP時指定區域+數量+ASN編號,格式:地區,數量,ASN |
| » coupon_sn | body | string | 否 | 優惠券編號 |
| » use_invitation_registration_discount | body | boolean | 否 | 是否使用邀請註冊優惠 |
| » renew_duration | body | integer | 否 | 續費時長-靜態IP可選 |
| » product_sku_bandwidth_id | body | integer | 否 | 套餐11:頻寬套餐ID |
| » product_sku_concurrency_id | body | integer | 否 | 套餐11:並發套餐ID |
| » product_sku_duration_id | body | integer | 否 | 套餐type=11必填:時長規格ID |
| » etd | body | integer | 否 | 時長倍數,從套餐extension_of_time_days 獲取,2代表天數×2,價格上浮 |
| » recharge_amount | body | integer | 否 | 套餐3:儲值金額 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 0,
"trade_no": "string",
"out_trade_no": "string",
"product_id": 0,
"product_type": 0,
"amount": 0,
"unit_price": 0.1,
"total_fee": 0.1,
"goods_fee": 0.1,
"pay_fee": 0.1,
"discount_fee": 0.1,
"handling_fee": 0.1,
"refund_fee": 0.1,
"pm_id": 0,
"pm_title": "string",
"pm_logo": "string",
"status": 0,
"title": "string",
"detail": "string",
"region_desc": "string",
"pay_at": "2019-08-24T14:15:22Z",
"pay_timestamp": 0,
"created_at": "2019-08-24T14:15:22Z",
"pay_fee_status": 0,
"invoice": {
"name": "string",
"org_name": "string",
"first_name": "string",
"last_name": "string",
"phone": "string",
"email": "user@example.com",
"role_type": 0,
"vat_id": "string",
"address_country": "string",
"address_city": "string",
"address_line1": "string",
"address_line2": "string",
"address_postal_code": "string"
}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 創建成功 | Inline |
傳回資料結構
POST 取消訂單
POST /ep/order/close
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"trade_no": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » trade_no | body | string | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
GET 訂單詳情
GET /ep/order/info
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| trade_no | query | string | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 0,
"trade_no": "string",
"out_trade_no": "string",
"product_id": 0,
"product_type": 0,
"amount": 0,
"unit_price": 0.1,
"total_fee": 0.1,
"goods_fee": 0.1,
"pay_fee": 0.1,
"discount_fee": 0.1,
"handling_fee": 0.1,
"refund_fee": 0.1,
"pm_id": 0,
"pm_title": "string",
"pm_logo": "string",
"status": 0,
"title": "string",
"detail": "string",
"region_desc": "string",
"pay_at": "2019-08-24T14:15:22Z",
"pay_timestamp": 0,
"created_at": "2019-08-24T14:15:22Z",
"pay_fee_status": 0,
"invoice": {
"name": null,
"org_name": null,
"first_name": null,
"last_name": null,
"phone": null,
"email": null,
"role_type": null,
"vat_id": null,
"address_country": null,
"address_city": null,
"address_line1": null,
"address_line2": null,
"address_postal_code": null
}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請繼續判斷回應體code | Inline |
傳回資料結構
GET 訂單詳情V2
GET /ep/order/info-v2
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| order_id | query | string | 是 | 用戶端加密後的訂單ID |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 0,
"trade_no": "string",
"out_trade_no": "string",
"product_id": 0,
"product_type": 0,
"amount": 0,
"unit_price": 0.1,
"total_fee": 0.1,
"goods_fee": 0.1,
"pay_fee": 0.1,
"discount_fee": 0.1,
"handling_fee": 0.1,
"refund_fee": 0.1,
"pm_id": 0,
"pm_title": "string",
"pm_logo": "string",
"status": 0,
"title": "string",
"detail": "string",
"region_desc": "string",
"pay_at": "2019-08-24T14:15:22Z",
"pay_timestamp": 0,
"created_at": "2019-08-24T14:15:22Z",
"pay_fee_status": 0,
"invoice": {
"name": null,
"org_name": null,
"first_name": null,
"last_name": null,
"phone": null,
"email": null,
"role_type": null,
"vat_id": null,
"address_country": null,
"address_city": null,
"address_line1": null,
"address_line2": null,
"address_postal_code": null
}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;訂單已付款或已取消時可能以業務錯誤code 攜帶訂單資料 | Inline |
傳回資料結構
POST 歷史訂單補開發票
POST /ep/order/reissue-invoice
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"trade_no_list": ["string"]
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » trade_no_list | body | [string] | 是 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 訂單預檢
POST /ep/order/check
建立訂單前調用,用於預覽價格、折扣、IP續費明細等,不會實際建立訂單。 參數與 /openapi/order/create 完全一致。
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"pid": 0,
"upids": "string",
"amount": 1,
"pm_id": 0,
"region_list": "string",
"coupon_sn": "string",
"renew_duration": "1m",
"product_sku_bandwidth_id": 0,
"product_sku_concurrency_id": 0,
"product_sku_duration_id": 0,
"etd": 1,
"recharge_amount": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » pid | body | integer | 是 | 套餐ID |
| » upids | body | string | 否 | IP續費:用戶套餐ID列表,逗號分隔 |
| » amount | body | integer | 否 | 購買數量 |
| » pm_id | body | integer | 是 | 付款方式ID |
| » region_list | body | string | 否 | 靜態IP購買地區+數量,格式:地區ID,數量 |
| » coupon_sn | body | string | 否 | 優惠券編號 |
| » renew_duration | body | string | 否 | IP續費時長:1m=1個月,2m=2個月,em=下個月月底 |
| » product_sku_bandwidth_id | body | integer | 否 | 套餐type=11必填:頻寬規格ID |
| » product_sku_concurrency_id | body | integer | 否 | 套餐type=11必填:並發規格ID |
| » product_sku_duration_id | body | integer | 否 | 套餐type=11必填:時長規格ID |
| » etd | body | integer | 否 | 時長倍數,從套餐extension_of_time_days 取得 |
| » recharge_amount | body | number | 否 | 方案type=3必填:儲值金額 |
列舉值
| 屬性 | 值 |
|---|---|
| » renew_duration | 1m |
| » renew_duration | 2m |
| » renew_duration | em |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"product_id": 0,
"amount": 0,
"discount_fee": 0.1,
"total_fee": 0.1,
"pay_fee": 0.1,
"product_type": 0,
"title": "string",
"detail": "string",
"ip_result": [
{
"ip": "string",
"price": 0.1,
"country_code": "string",
"current_time": "2019-08-24T14:15:22Z",
"renewal_time": "2019-08-24T14:15:22Z",
"country": {}
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 預檢成功 | Inline |
傳回資料結構
支付管理
POST 拉起訂單支付
POST /ep/pay
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| trade_no | query | string | 是 | none |
| pm_id | query | integer | 否 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 後台開單未支付訂單拉起支付
POST /ep/pay/index-choose
Body 請求參數
{
"team_id": "A1b2C3d4E5f6",
"trade_no": "string",
"pay_method": 0,
"pm_id": 0,
"trade_type": "string"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » team_id | body | any | 否 | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,響應個人空間時為空字符串;數字0 和字符串"0" 均非法,團隊空間使用6-12 位元團隊公開標識 |
| »»anonymous | body | string | 否 | none |
| »»anonymous | body | TeamPublicId | 否 | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
| » trade_no | body | string | 是 | none |
| » pay_method | body | integer | 否 | none |
| » pm_id | body | integer | 否 | none |
| » trade_type | body | string | 否 | none |
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 操作成功 | None |
POST 支付校驗和費用預覽
POST /ep/pay/pay-check
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| trade_no | query | string | 是 | none |
| pm_id | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"trade_no": "string",
"pm_id": 0,
"pay_method": 0,
"trade_type": "string",
"country_code": "string",
"currency": "string",
"goods_fee": 0,
"discount_fee": 0,
"handling_fee": 0,
"pay_fee": 0,
"total_fee": 0,
"pay_method_info": {
"id": null,
"type": null,
"title": null,
"group": null,
"handling_rate": null,
"handling_fee": null,
"handling_fee_currency": null,
"handling_fee_converted": null
},
"origin": {
"pm_id": 0,
"pay_method": 0,
"goods_fee": 0,
"discount_fee": 0,
"handling_fee": 0,
"pay_fee": 0,
"total_fee": 0
}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 請求成功 | Inline |
傳回資料結構
GET 直接渲染Web 支付頁
GET /ep/pay/web-direct-pay
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| team_id | query | ResourceSpaceId | 否 | none |
| trade_no | query | string | 是 | none |
| pm_id | query | integer | 否 | none |
返回範例
200 Response
"string"
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTML 付款頁 | string |
GET 取得支付方式列表
GET /ep/payment/list
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| trade_no | query | string | 否 | 訂單號碼- 部分訂單需要取得特定付款方式時可傳入 |
| currency | query | string | 否 | 貨幣單位 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 0,
"title": "string",
"logo": "string",
"group": "string",
"handling_rate": 0,
"handling_fee": 0,
"disabled": false,
"min": 0,
"max": 0
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 取得成功 | Inline |
傳回資料結構
GET 取得支付方式列表
GET /ep/payment/groups
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| trade_no | query | string | 否 | 訂單號碼- 部分訂單需要取得特定付款方式時可傳入 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"name": "string",
"logos": [null],
"items": [null]
}
]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | 取得成功 | Inline |
傳回資料結構
行銷
GET 儲值贈金比例
GET /ep/activity/balance-recharge-gift-ratio
儲值贈金比例
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [null]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | OK | Inline |
傳回資料結構
產品
GET 產品列表
GET /ep/product
取得目前網站可購買的套餐列表,支援按類型、有效期限等條件篩選。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| type | query | integer | 否 | 套餐類型,請參閱Product.type 列舉說明。不傳則傳回所有類型。 |
| parent_product_type | query | integer | 否 | 父套餐類型,僅type=19(IP續費)時有效,用於篩選產品線:14=資料中心25=住宅 |
| time_days | query | any | 否 | 有效期限天數篩選,支援單值或數組,如30 / [30,90,365] |
| show_type | query | any | 否 | 展示類型篩選,支援單值或陣列 |
詳細說明
type: 套餐類型,請參閱Product.type 列舉說明。不傳則傳回所有類型。
列舉值
| 屬性 | 值 |
|---|---|
| parent_product_type | 14 |
| parent_product_type | 25 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": [
{
"id": 0,
"title": "string",
"type": 0,
"show_type": 0,
"status": 0,
"price": 0.1,
"usd_price": 0.1,
"price_hkd": 0.1,
"original_price": 0.1,
"original_usd_price": 0.1,
"original_price_hkd": 0.1,
"local_price": 0.1,
"local_original_price": 0.1,
"preferred_currency": "string",
"support_currencies": "string",
"flow_value": 0.1,
"flow_give": 0.1,
"balance_give": 0.1,
"balance_value": 0.1,
"time_validity": 0.1,
"time_price": 0.1,
"time_days": 0,
"tip1": "string",
"tip2": "string",
"introduce": ["string"],
"region_list_id": 0,
"renew_product_list": "string",
"parent_product_type": 0,
"total_count": 0,
"remain_count": 0,
"extension_of_time_days": [0],
"time_days_price_rate": 0.1,
"desc": {
"subtitle": "string",
"flow_value": 0.1,
"flow_give": 0.1,
"balance_give": 0.1,
"time_validity": 0.1,
"time_price": 0.1,
"tip1": "string",
"tip2": "string",
"introduce": [null]
},
"sku": {
"bandwidth_list": [null],
"duration_list": [null],
"concurrency_list": [null]
}
}
],
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | OK | Inline |
傳回資料結構
帳戶管理
GET 取得個人帳戶概覽
GET /ep/account/profile
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 0,
"username": "string",
"nickname": "string",
"email": "string",
"balance": "string",
"gift_balance": "string",
"currency": "string",
"language": "string",
"timezone": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
GET 查詢個人餘額流水
GET /ep/wallet/change-list
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| re_type | query | integer | 否 | none |
| transaction_type | query | integer | 否 | none |
| balance_type | query | integer | 否 | none |
| page | query | integer | 否 | none |
| page_size | query | integer | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| re_type | 0 |
| re_type | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"page": 0,
"page_size": 0,
"total_count": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
日誌匯出
POST 建立代理程式日誌匯出任務
POST /ep/user-usage-flow-log-export/create
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。 開始時間必須早於結束時間,時間跨度不超過31 天;同一用戶只允許一個等待或處理中的匯出任務,日誌上限為500 萬條。
Body 請求參數
{
"start_time": 0,
"end_time": 0,
"type": "dynamic"
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » start_time | body | integer | 是 | 開始Unix 時間戳,秒 |
| » end_time | body | integer | 是 | 結束Unix 時間戳,秒 |
| » type | body | string | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » type | dynamic |
| » type | host_pool |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"task_id": 0,
"status": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
GET 查詢日誌匯出任務詳情
GET /ep/user-usage-flow-log-export/detail
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| task_id | query | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 0,
"user_id": 0,
"start_time": "string",
"end_time": "string",
"status": "pending",
"file_size": 0,
"record_count": 0,
"created_at": "string",
"completed_at": "string",
"file_url": "string",
"download_url": "string",
"error_message": "string"
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | pending |
| status | processing |
| status | completed |
| status | failed |
| status | canceled |
| status | no_data |
GET 查詢日誌匯出任務列表
GET /ep/user-usage-flow-log-export/list
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| page | query | integer | 否 | none |
| size | query | integer | 否 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"total": 0,
"page": 0,
"size": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | pending |
| status | processing |
| status | completed |
| status | failed |
| status | canceled |
| status | no_data |
POST 取消尚未執行的日誌匯出任務
POST /ep/user-usage-flow-log-export/cancel
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。 只能取消佇列中處於等待狀態的任務,已執行的任務無法取消。
Body 請求參數
{
"task_id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » task_id | body | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
優惠券
POST 查詢個人優惠券列表
POST /ep/user-coupon/list
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
Body 請求參數
{
"status": 0,
"page": 1,
"size": 20
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 否 | none |
| » status | body | integer | 否 | none |
| » page | body | integer | 否 | none |
| » size | body | integer | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » status | 0 |
| » status | 1 |
| » status | 2 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"page": 0,
"page_size": 0,
"page_count": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
POST 查詢個人優惠券詳情
POST /ep/user-coupon/info
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
Body 請求參數
{
"id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » id | body | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 0,
"coupon_id": 0,
"type": 0,
"status": 0,
"source": 0,
"title": "string",
"title_en": "string",
"description": "string",
"description_en": "string",
"start_amount": "string",
"start_amount_usd": "string",
"start_amount_hkd": "string",
"deduction_amount": "string",
"deduction_amount_usd": "string",
"deduction_amount_hkd": "string",
"discount_rate": "string",
"discount_ceiling_amount": "string",
"discount_ceiling_amount_usd": "string",
"discount_ceiling_amount_hkd": "string",
"created_at": "string",
"effect_at": "string",
"expired_at": "string",
"used_at": "string",
"product_types": "string",
"created_timestamp": 0,
"effect_timestamp": 0,
"expired_timestamp": 0,
"used_timestamp": 0,
"is_expired": true
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
通知管理
GET 查詢站內通知
GET /ep/notify/list
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| page | query | integer | 否 | none |
| size | query | integer | 否 | none |
| read | query | integer | 否 | none |
| type | query | integer | 否 | none |
列舉值
| 屬性 | 值 |
|---|---|
| read | 0 |
| read | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"page": 0,
"size": 0,
"total": 0,
"total_unread_count": 0,
"unread_count_by_type": {}
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| read_status | 0 |
| read_status | 1 |
GET 查詢站內通知詳情
GET /ep/notify/detail
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| id | query | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 0,
"title": "string",
"content": "string",
"type": 0,
"read_status": 0,
"created_at": "string",
"created_timestamp": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| read_status | 0 |
| read_status | 1 |
POST 將站內通知標記為已讀
POST /ep/notify/read
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
Body 請求參數
{
"id": 1
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » id | body | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
POST 批量標記站內通知為已讀
POST /ep/notify/batch-read
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
Body 請求參數
{
"ids": [1]
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » ids | body | [integer] | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
GET 查詢通知頻道配置
GET /ep/user-notify
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
GET 查詢通知信箱
GET /ep/user-notification-email/list
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}],
"max_count": 0,
"current_count": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
GET 查詢通知場景
GET /ep/user-notification-email/scenes
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [{}]
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
GET 查詢郵件信箱訂閱場景
GET /ep/user-notification-email/email-scenes
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| id | query | integer | 是 | none |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"scenes": [0],
"subscribe_all": true
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
代理配置
GET 查詢個人代理快取開關
GET /ep/proxy-cache/status
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"status": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
POST 設定個人代理快取開關
POST /ep/proxy-cache/change
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
Body 請求參數
{
"status": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » status | body | integer | 是 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » status | 0 |
| » status | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": null,
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
GET 查詢個人代理UDP 開關
GET /ep/user-proxy-config/udp
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"enabled": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| enabled | 0 |
| enabled | 1 |
POST 設定個人代理UDP 開關
POST /ep/user-proxy-config/udp
僅支援個人空間的登入態或個人API Key;團隊API Key 不支援。
Body 請求參數
{
"udp": 0
}
請求參數
| 名稱 | 位置 | 類型 | 必選 | 說明 |
|---|---|---|---|---|
| body | body | object | 是 | none |
| » udp | body | integer | 是 | none |
列舉值
| 屬性 | 值 |
|---|---|
| » udp | 0 |
| » udp | 1 |
返回範例
200 Response
{
"code": 200,
"msg": "SUCCESS",
"data": {
"enabled": 0
},
"request_id": "string"
}
回傳結果
| 狀態碼 | 狀態碼意義 | 說明 | 資料模型 |
|---|---|---|---|
| 200 | OK | HTTP 成功;請檢查業務code,200 為成功。 | Inline |
傳回資料結構
列舉值
| 屬性 | 值 |
|---|---|
| enabled | 0 |
| enabled | 1 |
資料模型
ApiKeyManageRequest
{
"team_id": "A1b2C3d4E5f6",
"id": 1
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| team_id | ResourceSpaceId | false | none | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,回應個人空間時為空字串;數字0 與字串"0" 皆非法,團隊空間使用6-12 位元團隊公開標識 | |
| id | integer | true | none | API Key ID |
OpenApiAccountProfile
{
"id": 0,
"username": "string",
"nickname": "string",
"email": "string",
"balance": "string",
"gift_balance": "string",
"currency": "string",
"language": "string",
"timezone": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | true | none | 使用者ID | |
| username | string | true | none | 使用者名稱 | |
| nickname | string | true | none | 暱稱 | |
| string | true | none | 綁定信箱 | ||
| balance | string | true | none | 儲值餘額,十進位字串 | |
| gift_balance | string | true | none | 目前贈送餘額,十進位字串 | |
| currency | string | true | none | 站點幣種 | |
| language | string | true | none | 使用者語言,未設定時使用網站語言 | |
| timezone | string | true | none | 使用者時區,未設定時使用網站時區 |
OpenApiBalanceRecord
{
"id": 0,
"re_type": 0,
"transaction_type": 0,
"balance_type": 0,
"fee": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | 資料庫數值可能序列化為字串 | |
| re_type | integer | false | none | 0 支出,1 收入 | |
| transaction_type | integer | false | none | 交易類型 | |
| balance_type | integer | false | none | 餘額類型 | |
| fee | string | false | none | 變動金額,站點幣種 |
OpenApiLogExportTask
{
"id": 0,
"user_id": 0,
"start_time": "string",
"end_time": "string",
"status": "pending",
"file_size": 0,
"record_count": 0,
"created_at": "string",
"completed_at": "string",
"file_url": "string",
"download_url": "string",
"error_message": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | 資料庫數值可能序列化為字串 | |
| user_id | integer | false | none | 詳情介面回傳 | |
| start_time | string | false | none | Ymd H:i:s;非RFC 3339 日期 | |
| end_time | string | false | none | Ymd H:i:s;非RFC 3339 日期 | |
| status | string | false | none | none | |
| file_size | integer¦null | false | none | none | |
| record_count | integer¦null | false | none | none | |
| created_at | string | false | none | Ymd H:i:s;非RFC 3339 日期 | |
| completed_at | string | false | none | Ymd H:i:s;非RFC 3339 日期 | |
| file_url | string | false | none | 完成後詳情介面返回 | |
| download_url | string | false | none | 完成後返回,有效期24 小時的簽名下載地址 | |
| error_message | string | false | none | 失敗時詳情介面可能回傳 |
列舉值
| 屬性 | 值 |
|---|---|
| status | pending |
| status | processing |
| status | completed |
| status | failed |
| status | canceled |
| status | no_data |
OpenApiCoupon
{
"id": 0,
"coupon_id": 0,
"type": 0,
"status": 0,
"source": 0,
"title": "string",
"title_en": "string",
"description": "string",
"description_en": "string",
"start_amount": "string",
"start_amount_usd": "string",
"start_amount_hkd": "string",
"deduction_amount": "string",
"deduction_amount_usd": "string",
"deduction_amount_hkd": "string",
"discount_rate": "string",
"discount_ceiling_amount": "string",
"discount_ceiling_amount_usd": "string",
"discount_ceiling_amount_hkd": "string",
"created_at": "string",
"effect_at": "string",
"expired_at": "string",
"used_at": "string",
"product_types": "string",
"created_timestamp": 0,
"effect_timestamp": 0,
"expired_timestamp": 0,
"used_timestamp": 0,
"is_expired": true
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | 資料庫數值可能序列化為字串 | |
| coupon_id | integer | false | none | 資料庫數值可能序列化為字串 | |
| type | integer | false | none | 資料庫數值可能序列化為字串 | |
| status | integer | false | none | 資料庫數值可能序列化為字串 | |
| source | integer | false | none | 資料庫數值可能序列化為字串 | |
| title | string | false | none | none | |
| title_en | string | false | none | none | |
| description | string | false | none | none | |
| description_en | string | false | none | none | |
| start_amount | string¦null | false | none | none | |
| start_amount_usd | string¦null | false | none | none | |
| start_amount_hkd | string¦null | false | none | none | |
| deduction_amount | string¦null | false | none | none | |
| deduction_amount_usd | string¦null | false | none | none | |
| deduction_amount_hkd | string¦null | false | none | none | |
| discount_rate | string¦null | false | none | none | |
| discount_ceiling_amount | string¦null | false | none | none | |
| discount_ceiling_amount_usd | string¦null | false | none | none | |
| discount_ceiling_amount_hkd | string¦null | false | none | none | |
| created_at | string¦null | false | none | Ymd H:i:s | |
| effect_at | string¦null | false | none | Ymd H:i:s | |
| expired_at | string¦null | false | none | Ymd H:i:s | |
| used_at | string¦null | false | none | Ymd H:i:s | |
| product_types | string¦null | false | none | 適用方案類型 | |
| created_timestamp | integer¦null | false | none | none | |
| effect_timestamp | integer¦null | false | none | none | |
| expired_timestamp | integer¦null | false | none | none | |
| used_timestamp | integer¦null | false | none | none | |
| is_expired | boolean | false | none | 列表介面返回 |
OpenApiNotification
{
"id": 0,
"title": "string",
"content": "string",
"type": 0,
"read_status": 0,
"created_at": "string",
"created_timestamp": 0
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | 資料庫數值可能序列化為字串 | |
| title | string | false | none | none | |
| content | string | false | none | 按請求語言渲染的內容 | |
| type | integer | false | none | 資料庫數值可能序列化為字串 | |
| read_status | integer | false | none | none | |
| created_at | string | false | none | Ymd H:i:s;非RFC 3339 日期 | |
| created_timestamp | integer | false | none | none |
列舉值
| 屬性 | 值 |
|---|---|
| read_status | 0 |
| read_status | 1 |
productTypes
9
套餐類型,9 動態住宅流量套餐、11 動態住宅IP、14靜態資料中心IP、25 靜態住宅IP
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | integer | false | none | 套餐類型,9 動態住宅流量套餐、11 動態住宅IP、14靜態資料中心IP、25 靜態住宅IP |
列舉值
| 屬性 | 值 |
|---|---|
| anonymous | 9 |
| anonymous | 11 |
| anonymous | 14 |
| anonymous | 25 |
apiKey
"pa$$word"
API Key;使用apiKeyAuth 或操作聲明的請求參數傳遞
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | string(password) | false | none | API Key;使用apiKeyAuth 或操作宣告的請求參數傳遞 |
responseCode
200
狀態碼,200 成功、3 app_key 無效
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | integer | false | none | 狀態碼,200 成功、3 app_key 無效 |
responseMsg
"success"
response message
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | string | false | none | response message |
SuccessResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
屬性
None
ErrorResponse
{
"code": 2,
"msg": "parameter error",
"data": {},
"request_id": "string"
}
屬性
None
WebV1SuccessResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {},
"request_id": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| code | integer | true | none | none | |
| msg | string | true | none | none | |
| data | object¦null | true | none | 業務數據,具體類型由介面定義 | |
| request_id | string | true | none | 請求連結追蹤ID |
WebV1ErrorResponse
{
"code": 2,
"msg": "parameter error",
"data": {},
"request_id": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| code | integer | true | none | 業務錯誤碼 |
not
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »anonymous | any | false | none | none |
continued
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| msg | string | true | none | 錯誤描述 | |
| data | object¦null | true | none | 錯誤附加數據,無附加數據時為null | |
| request_id | string | true | none | 請求連結追蹤ID |
TeamPublicId
"A1b2C3d4E5f6"
團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | string | false | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
ResourceSpaceId
"A1b2C3d4E5f6"
公開資源空間標識;請求個人空間時省略team_id 或傳空字串,回應個人空間時為空字串;數字0 和字串"0" 均非法,團隊空間使用6-12 位元團隊公開標識
屬性
oneOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | string | false | none | none |
xor
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | TeamPublicId | false | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母和數字;不下發資料庫數字主鍵 |
Team
{
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": 0,
"current_role": 1,
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | TeamPublicId | true | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母與數字;不下發資料庫數字主鍵 | |
| name | string | true | none | 團隊名稱 | |
| super_admin_user_id | integer | true | none | 超級管理員使用者ID | |
| status | integer | true | none | 團隊狀態:0=停用,1=有效,2=解散中,3=已解散 | |
| current_role | integer¦null | true | none | 目前使用者在團隊中的角色;無法確定時為null | |
| dissolving_at | string¦null | true | none | 開始解散時間 | |
| dissolved_at | string¦null | true | none | 解散完成時間 | |
| created_at | string | true | none | 建立時間 | |
| updated_at | string | true | none | 更新時間 |
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| current_role | 1 |
| current_role | 2 |
| current_role | 3 |
| current_role | 4 |
| current_role | null |
TeamAsset
{
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"status": 0,
"total_amount": 0,
"remain": 0,
"bandwidth": 0,
"concurrency": 0,
"expired_at": "string",
"created_at": "string",
"ip": "string",
"country_code": "string",
"country_name": "string",
"asn": "string",
"port": 0
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | true | none | 使用者套餐ID | |
| user_id | integer | true | none | 資源所有人使用者ID | |
| team_id | ResourceSpaceId | true | none | 公開資源空間識別;請求個人空間時省略team_id 或傳空字串,回應個人空間時為空字串;數字0 與字串"0" 皆非法,團隊空間使用6-12 位元團隊公開識別 | |
| team_user_id | integer | true | none | 實際建立成員使用者ID | |
| product_id | integer | true | none | 產品ID | |
| product_type | integer | true | none | 產品類型 | |
| parent_product_type | integer | true | none | 父產品類型 | |
| status | integer | true | none | 套餐狀態 | |
| total_amount | integer(int64) | true | none | 總量 | |
| remain | integer(int64) | true | none | 剩餘量 | |
| bandwidth | integer | false | none | 頻寬(Mbps);僅product_type=19 或11 回傳 | |
| concurrency | integer | false | none | 並發數;僅product_type=11 回傳 | |
| expired_at | string¦null | true | none | 過期時間 | |
| created_at | string | true | none | 建立時間 | |
| ip | string | false | none | 靜態IP 位址;僅product_type=19 回傳 | |
| country_code | string | false | none | 靜態IP 國家代碼;僅product_type=19 回傳 | |
| country_name | string | false | none | 靜態IP 國家名稱;僅product_type=19 回傳 | |
| asn | string | false | none | 靜態IP ASN;僅product_type=19 回傳 | |
| port | integer | false | none | 靜態IP 代理埠;僅product_type=19 回傳 |
TeamProductInfo
{
"team_id": "A1b2C3d4E5f6",
"product_types": [0],
"product_residence_remain_count": 0,
"product_residence_total_count": 0,
"pdrue2_timestamp": 0,
"remain": 0,
"total_amount": 0,
"scraping_remain": 0,
"scraping_total_amount": 0,
"scraping_timestamp": "string",
"scraping_timestamp2": 0,
"common_scraping_remain": 0,
"common_scraping_total_amount": 0,
"common_scraping_timestamp": "string",
"common_scraping_timestamp2": 0,
"pdidcr_count": 0,
"pdidcr_total": 0,
"pdidcr_traffic_remain": 0,
"pdidcr_traffic_total": 0,
"p_sitai_ip_count": 0,
"p_sitai_ip": 0,
"p_sitai_ip_total": 0,
"p_sitai_remain": 0,
"p_sitai_total": 0,
"pdidc_count": 0,
"pdidc_total": 0,
"pdidc_ip_count": 0,
"pdidc_ip_all_count": 0,
"pdispr_count": 0,
"pdispr_total": 0,
"pdispr_traffic_remain": 0,
"pdispr_traffic_total": 0,
"product_datacenter_isp_traffic_ip_count": 0,
"product_datacenter_isp_traffc_ip": 0,
"product_datacenter_isp_traffc_ip_total": 0,
"product_datacenter_isp_traffic_ip": 0,
"product_datacenter_isp_traffic_ip_total": 0,
"product_datacenter_isp_traffc_remain": 0,
"product_datacenter_isp_traffc_total": 0,
"product_datacenter_isp_traffic_remain": 0,
"product_datacenter_isp_traffic_total": 0,
"product_datacenter_isp_ip": 0,
"product_datacenter_isp_ip_total": 0,
"product_datacenter_isp_ip_count": 0,
"product_datacenter_isp_ip_all_count": 0,
"product_datacenter_isp_ip_traffic_remain": 0,
"product_datacenter_isp_ip_traffic_total": 0,
"product_agent_residence_remain_count": 0,
"product_agent_residence_total_count": 0,
"product_serp_remain": 0,
"product_serp_total": 0,
"product_serp_timestamp": "string",
"product_serp_timestamp2": 0,
"product_video_remain": 0,
"product_video_total": 0,
"product_video_timestamp": "string",
"product_video_timestamp2": 0
}
套餐統計欄位與/web_v1/user/info 保持一致;取消、退款或軟刪除記錄不計入摘要;除team_id、product_types 外,僅傳回目前網站支援產品類型對應的字段
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| team_id | TeamPublicId | true | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母與數字;不下發資料庫數字主鍵 | |
| product_types | [integer] | true | none | 團隊資源空間未取消、未軟刪除且目前網站支援的套餐類型 | |
| product_residence_remain_count | integer(int64) | false | none | 類型9 剩餘流量 | |
| product_residence_total_count | integer(int64) | false | none | 類型9 總流量 | |
| pdrue2_timestamp | integer(int64) | false | none | 類型11 最晚過期時間戳記;無團隊包時為0 | |
| remain | integer | false | none | 類型17 剩餘數量 | |
| total_amount | integer | false | none | 類型17 總數量 | |
| scraping_remain | integer(int64) | false | none | 類型18 剩餘次數 | |
| scraping_total_amount | integer(int64) | false | none | 類型18 總次數 | |
| scraping_timestamp | string | false | none | 類型18 最晚過期時間;無套餐時為"-" | |
| scraping_timestamp2 | integer(int64) | false | none | 類型18 最晚過期時間戳 | |
| common_scraping_remain | integer(int64) | false | none | 類型29 剩餘次數 | |
| common_scraping_total_amount | integer(int64) | false | none | 類型29 總次數 | |
| common_scraping_timestamp | string | false | none | 類型29 最晚過期時間;無套餐時為"-" | |
| common_scraping_timestamp2 | integer(int64) | false | none | 類型29 最晚過期時間戳 | |
| pdidcr_count | integer | false | none | 類型12 有效套餐數 | |
| pdidcr_total | integer | false | none | 類型12 套餐總數 | |
| pdidcr_traffic_remain | integer(int64) | false | none | 類型12 剩餘流量 | |
| pdidcr_traffic_total | integer(int64) | false | none | 類型12 總流量 | |
| p_sitai_ip_count | integer | false | none | 類型13 有效IP 數量 | |
| p_sitai_ip | integer | false | none | 類型13 有效套餐數 | |
| p_sitai_ip_total | integer | false | none | 類型13 總套餐數 | |
| p_sitai_remain | integer(int64) | false | none | 類型13/24 剩餘流量 | |
| p_sitai_total | integer(int64) | false | none | 類型13/24 總流量 | |
| pdidc_count | integer | false | none | 類型14 有效套餐數 | |
| pdidc_total | integer | false | none | 類型14 套餐總數 | |
| pdidc_ip_count | integer | false | none | 類型14 有效IP 數量 | |
| pdidc_ip_all_count | integer | false | none | 類型14 IP 總數 | |
| pdispr_count | integer | false | none | 類型15 有效套餐數 | |
| pdispr_total | integer | false | none | 類型15 套餐總數 | |
| pdispr_traffic_remain | integer(int64) | false | none | 類型15 剩餘流量 | |
| pdispr_traffic_total | integer(int64) | false | none | 類型15 總流量 | |
| product_datacenter_isp_traffic_ip_count | integer | false | none | 類型16 有效IP 數量 | |
| product_datacenter_isp_traffc_ip | integer | false | none | 類型16 有效套餐數;歷史相容拼字 | |
| product_datacenter_isp_traffc_ip_total | integer | false | none | 類型16 總套餐數;歷史相容拼字 | |
| product_datacenter_isp_traffic_ip | integer | false | none | 類型16 有效套餐數 | |
| product_datacenter_isp_traffic_ip_total | integer | false | none | 類型16 總套餐數 | |
| product_datacenter_isp_traffc_remain | integer(int64) | false | none | 類型16/24 剩餘流量;歷史相容拼字 | |
| product_datacenter_isp_traffc_total | integer(int64) | false | none | 類型16/24 總流量;歷史相容拼字 | |
| product_datacenter_isp_traffic_remain | integer(int64) | false | none | 類型16/24 剩餘流量 | |
| product_datacenter_isp_traffic_total | integer(int64) | false | none | 類型16/24 總流量 | |
| product_datacenter_isp_ip | integer | false | none | 類型21 或25 有效套餐數 | |
| product_datacenter_isp_ip_total | integer | false | none | 類型21 或25 總套餐數 | |
| product_datacenter_isp_ip_count | integer | false | none | 類型21 或25 有效IP 數量 | |
| product_datacenter_isp_ip_all_count | integer | false | none | 類型21 或25 IP 總數 | |
| product_datacenter_isp_ip_traffic_remain | integer(int64) | false | none | 類型21 對應類型24 剩餘流量 | |
| product_datacenter_isp_ip_traffic_total | integer(int64) | false | none | 類型21 對應類型24 總流量 | |
| product_agent_residence_remain_count | integer(int64) | false | none | 類型22 剩餘流量 | |
| product_agent_residence_total_count | integer(int64) | false | none | 類型22 總流量 | |
| product_serp_remain | integer(int64) | false | none | 類型27 剩餘次數 | |
| product_serp_total | integer(int64) | false | none | 類型27 總次數 | |
| product_serp_timestamp | string | false | none | 類型27 最晚過期時間;無套餐時為"-" | |
| product_serp_timestamp2 | integer(int64) | false | none | 類型27 最晚過期時間戳記 | |
| product_video_remain | integer(int64) | false | none | 類型28 剩餘流量 | |
| product_video_total | integer(int64) | false | none | 類型28 總流量 | |
| product_video_timestamp | string | false | none | 類型28 最晚過期時間;無套餐時為"-" | |
| product_video_timestamp2 | integer(int64) | false | none | 類型28 最晚過期時間戳 |
TeamWallet
{
"team_id": "A1b2C3d4E5f6",
"balance": 0.1,
"total_recharge_fee": 0.1,
"updated_at": "string"
}
團隊錢包,與超級管理員個人餘額隔離;金額使用目前網站預設貨幣,最多4 位小數。
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| team_id | TeamPublicId | true | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母與數字;不下發資料庫數字主鍵 | |
| balance | number(double) | true | none | 目前可用團隊餘額 | |
| total_recharge_fee | number(double) | true | none | 目前未消費的團隊儲值本金,不含個人餘額轉入金額 | |
| updated_at | string | true | none | 錢包最近變更時間 |
TeamWalletRecord
{
"id": 1,
"team_id": "A1b2C3d4E5f6",
"operator_user_id": 0,
"creator": {
"user_id": 0,
"display_name": "string",
"nickname": "string",
"username": "string",
"email": "string",
"phone": "string"
},
"direction": 0,
"transaction_type": 1,
"amount": 0.1,
"after_balance": 0.1,
"link_id": 0,
"request_id": "string",
"remark": "string",
"created_at": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | true | none | none | |
| team_id | TeamPublicId | true | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母與數字;不下發資料庫數字主鍵 | |
| operator_user_id | integer | true | none | 操作人,系統退款為0 | |
| creator | TeamCreator | false | none | none | |
| direction | integer | true | none | 0=支出,1=收入 | |
| transaction_type | integer | true | none | 1=充值入賬,2=個人餘額轉入,3=餘額消費,4=退款或充值退款扣回,5=轉回個人餘額 | |
| amount | number(double) | true | none | 本次變動金額,方向以direction 表示 | |
| after_balance | number(double) | true | none | 變動後的團隊錢包餘額 | |
| link_id | integer | true | none | 關聯訂單ID;個人餘額轉入時為操作使用者ID | |
| request_id | string | true | none | none | |
| remark | string | true | none | none | |
| created_at | string | true | none | none |
列舉值
| 屬性 | 值 |
|---|---|
| direction | 0 |
| direction | 1 |
| transaction_type | 1 |
| transaction_type | 2 |
| transaction_type | 3 |
| transaction_type | 4 |
| transaction_type | 5 |
TeamCreator
{
"user_id": 0,
"display_name": "string",
"nickname": "string",
"username": "string",
"email": "string",
"phone": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| user_id | integer | true | none | 操作人使用者ID;系統操作為0 | |
| display_name | string | true | none | 展示名稱,依序取暱稱、使用者名稱、信箱、手機號碼 | |
| nickname | string | true | none | none | |
| username | string | true | none | none | |
| string | true | none | 非管理員視角為脫敏值 | ||
| phone | string | true | none | 非管理員視角為脫敏值 |
TeamResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": 0,
"current_role": 1,
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | Team | false | none | none |
TeamListResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": "A1b2C3d4E5f6",
"name": "string",
"super_admin_user_id": 1,
"status": "[",
"current_role": "[",
"dissolving_at": "string",
"dissolved_at": "string",
"created_at": "string",
"updated_at": "string"
}
],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» list | [Team] | true | none | none | |
| »» total | integer | true | none | none | |
| »» page | integer | true | none | none | |
| »» page_size | integer | true | none | none |
TeamMemberListResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"team_member_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 1,
"role": "[",
"status": "[",
"joined_at": "string",
"nickname": "string",
"username": "string"
}
],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» list | [TeamMember] | true | none | none | |
| »» total | integer | true | none | none | |
| »» page | integer | true | none | none | |
| »» page_size | integer | true | none | none |
TeamPersonListResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"record_type": "[",
"record_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 0,
"inviter_user_id": 0,
"invite_type": "[",
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": "[",
"role": "[",
"status": "[",
"display_name": "string",
"nickname": "string",
"username": "string",
"email": "string",
"phone": "string",
"joined_at": "string",
"expired_at": "string",
"created_at": "string"
}
],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» list | [TeamPerson] | true | none | none | |
| »» total | integer | true | none | none | |
| »» page | integer | true | none | none | |
| »» page_size | integer | true | none | none |
TeamAssetResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"status": 0,
"total_amount": 0,
"remain": 0,
"bandwidth": 0,
"concurrency": 0,
"expired_at": "string",
"created_at": "string",
"ip": "string",
"country_code": "string",
"country_name": "string",
"asn": "string",
"port": 0
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | TeamAsset | false | none | none |
TeamProductInfoResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_id": "A1b2C3d4E5f6",
"product_types": [0],
"product_residence_remain_count": 0,
"product_residence_total_count": 0,
"pdrue2_timestamp": 0,
"remain": 0,
"total_amount": 0,
"scraping_remain": 0,
"scraping_total_amount": 0,
"scraping_timestamp": "string",
"scraping_timestamp2": 0,
"common_scraping_remain": 0,
"common_scraping_total_amount": 0,
"common_scraping_timestamp": "string",
"common_scraping_timestamp2": 0,
"pdidcr_count": 0,
"pdidcr_total": 0,
"pdidcr_traffic_remain": 0,
"pdidcr_traffic_total": 0,
"p_sitai_ip_count": 0,
"p_sitai_ip": 0,
"p_sitai_ip_total": 0,
"p_sitai_remain": 0,
"p_sitai_total": 0,
"pdidc_count": 0,
"pdidc_total": 0,
"pdidc_ip_count": 0,
"pdidc_ip_all_count": 0,
"pdispr_count": 0,
"pdispr_total": 0,
"pdispr_traffic_remain": 0,
"pdispr_traffic_total": 0,
"product_datacenter_isp_traffic_ip_count": 0,
"product_datacenter_isp_traffc_ip": 0,
"product_datacenter_isp_traffc_ip_total": 0,
"product_datacenter_isp_traffic_ip": 0,
"product_datacenter_isp_traffic_ip_total": 0,
"product_datacenter_isp_traffc_remain": 0,
"product_datacenter_isp_traffc_total": 0,
"product_datacenter_isp_traffic_remain": 0,
"product_datacenter_isp_traffic_total": 0,
"product_datacenter_isp_ip": 0,
"product_datacenter_isp_ip_total": 0,
"product_datacenter_isp_ip_count": 0,
"product_datacenter_isp_ip_all_count": 0,
"product_datacenter_isp_ip_traffic_remain": 0,
"product_datacenter_isp_ip_traffic_total": 0,
"product_agent_residence_remain_count": 0,
"product_agent_residence_total_count": 0,
"product_serp_remain": 0,
"product_serp_total": 0,
"product_serp_timestamp": "string",
"product_serp_timestamp2": 0,
"product_video_remain": 0,
"product_video_total": 0,
"product_video_timestamp": "string",
"product_video_timestamp2": 0
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | TeamProductInfo | false | none | 方案統計欄位與/web_v1/user/info 保持一致;取消、退款或軟刪除記錄不計入摘要;除team_id、product_types 外,僅傳回目前網站支援產品類型對應的欄位 |
TeamWalletResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_id": "A1b2C3d4E5f6",
"balance": 0.1,
"total_recharge_fee": 0.1,
"updated_at": "string"
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | TeamWallet | false | none | 團隊錢包,與超級管理員個人餘額隔離;金額使用目前網站預設貨幣,最多4 位小數。 |
TeamWalletRecordListResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 1,
"team_id": "A1b2C3d4E5f6",
"operator_user_id": 0,
"creator": {},
"direction": "[",
"transaction_type": "[",
"amount": 0.1,
"after_balance": 0.1,
"link_id": 0,
"request_id": "string",
"remark": "string",
"created_at": "string"
}
],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» list | [TeamWalletRecord] | true | none | none | |
| »» total | integer | true | none | none | |
| »» page | integer | true | none | none | |
| »» page_size | integer | true | none | none |
TeamAssetListResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"status": 0,
"total_amount": 0,
"remain": 0,
"bandwidth": 0,
"concurrency": 0,
"expired_at": "string",
"created_at": "string",
"ip": "string",
"country_code": "string",
"country_name": "string",
"asn": "string",
"port": 0
}
],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» list | [TeamAsset] | true | none | none | |
| »» total | integer | true | none | none | |
| »» page | integer | true | none | none | |
| »» page_size | integer | true | none | none |
UserApiKeyMetadata
{
"id": 1,
"api_key": "string",
"team_user_id": 0,
"remark": "string",
"status": 0,
"created_at": "string",
"updated_at": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | true | none | API Key ID | |
| api_key | string | true | none | 建立回應為完整Key;團隊清單中為脫敏值 | |
| team_user_id | integer | true | none | 團隊Key 實際持有成員ID,個人Key 為0 | |
| remark | string | true | none | 備註 | |
| status | integer | true | none | 0=停用,1=啟用 | |
| created_at | string | true | none | 建立時間 | |
| updated_at | string¦null | false | none | 更新時間 |
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
InvoiceInfo
{
"invoice_code": "string",
"name": "string",
"org_name": "string",
"first_name": "string",
"last_name": "string",
"phone": "string",
"email": "user@example.com",
"role_type": 1,
"invoice_type": 0,
"vat_id": "string",
"tax_no": "string",
"address_country": "string",
"address_city": "string",
"address_line1": "string",
"address_line2": "string",
"address_postal_code": "string",
"bank_name": "string",
"bank_account": "string",
"is_def": true
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| invoice_code | string | false | none | none | |
| name | string | false | none | none | |
| org_name | string | false | none | none | |
| first_name | string | false | none | none | |
| last_name | string | false | none | none | |
| phone | string | false | none | none | |
| string(email) | false | none | none | ||
| role_type | integer | false | none | none | |
| invoice_type | integer | false | none | none | |
| vat_id | string | false | none | none | |
| tax_no | string | false | none | none | |
| address_country | string | false | none | none | |
| address_city | string | false | none | none | |
| address_line1 | string | false | none | none | |
| address_line2 | string | false | none | none | |
| address_postal_code | string | false | none | none | |
| bank_name | string | false | none | none | |
| bank_account | string | false | none | none | |
| is_def | boolean | false | none | none |
列舉值
| 屬性 | 值 |
|---|---|
| role_type | 1 |
| role_type | 2 |
| invoice_type | 0 |
| invoice_type | 1 |
| invoice_type | 2 |
MonthlyRenewalRequest
{
"team_id": "A1b2C3d4E5f6",
"user_product_ids": [1],
"user_coupon_id": 1,
"coupon_sn": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| team_id | ResourceSpaceId | false | none | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,回應個人空間時為空字串;數字0 與字串"0" 皆非法,團隊空間使用6-12 位元團隊公開標識 | |
| user_product_ids | any | true | none | 使用者套餐ID 數組,也相容於英文逗號分隔字串 |
oneOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »anonymous | [integer] | false | none | none |
xor
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »anonymous | string | false | none | none |
continued
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| user_coupon_id | integer | false | none | none | |
| coupon_sn | string | false | none | none |
TeamInvitation
{
"id": 1,
"team_id": "A1b2C3d4E5f6",
"inviter_user_id": 1,
"invitee_user_id": 0,
"invite_type": 1,
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": 1,
"role": 2,
"status": 0,
"accepted_by_user_id": 0,
"expired_at": "2026-07-17 10:00:00",
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-07-10 10:00:00"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | true | none | 邀請ID | |
| team_id | TeamPublicId | true | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母與數字;不下發資料庫數字主鍵 | |
| inviter_user_id | integer | true | none | 邀請人使用者ID | |
| invitee_user_id | integer | true | none | 受邀用戶ID,尚未符合註冊用戶時為0 | |
| invite_type | integer | true | none | 邀請類型:1=已註冊用戶,2=郵箱,3=手機號碼 | |
| invite_country_code | integer | true | none | 手機號碼國家或地區碼,非手機號碼邀請為0 | |
| invite_target | string | true | none | 標準化後的邀請目標;已註冊使用者為user:{user_id} | |
| delivery_type | integer | true | none | 原始投遞管道:1=已註冊用戶,2=郵箱,3=手機號碼;郵箱或手機號碼匹配到已註冊用戶時仍保留原渠道 | |
| role | integer | true | none | 目標角色:2=管理員,3=普通成員 | |
| status | integer | true | none | 邀請狀態:0=待處理,1=已接受,2=已拒絕,3=已取消,4=已過期 | |
| accepted_by_user_id | integer | true | none | 接受人用戶ID,未接受時為0 | |
| expired_at | string | true | none | 過期時間,格式YYYY-MM-DD HH:mm:ss | |
| accepted_at | string¦null | true | none | 接受時間 | |
| rejected_at | string¦null | true | none | 拒絕時間 | |
| cancelled_at | string¦null | true | none | 取消時間 | |
| created_at | string | true | none | 建立時間,格式YYYY-MM-DD HH:mm:ss |
列舉值
| 屬性 | 值 |
|---|---|
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
TeamMember
{
"team_member_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 1,
"role": 1,
"status": 0,
"joined_at": "string",
"nickname": "string",
"username": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| team_member_id | integer | true | none | 成員關係ID | |
| team_id | TeamPublicId | true | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母與數字;不下發資料庫數字主鍵 | |
| user_id | integer | true | none | 成員使用者ID | |
| role | integer | true | none | 角色:1=超級管理員,2=管理員,3=普通成員,4=財務成員 | |
| status | integer | true | none | 成員狀態:0=停用,1=有效,2=已退出,3=已移除 | |
| joined_at | string¦null | true | none | 加入時間,格式YYYY-MM-DD HH:mm:ss | |
| nickname | string | true | none | 成員暱稱 | |
| username | string | true | none | 成員使用者名稱 |
列舉值
| 屬性 | 值 |
|---|---|
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
TeamPerson
{
"record_type": "member",
"record_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 0,
"inviter_user_id": 0,
"invite_type": 0,
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": 0,
"role": 1,
"status": 0,
"display_name": "string",
"nickname": "string",
"username": "string",
"email": "string",
"phone": "string",
"joined_at": "string",
"expired_at": "string",
"created_at": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| record_type | string | true | none | 記錄類型;member 為有效成員,invitation 為待處理邀請 | |
| record_id | integer | true | none | 成員關係ID 或邀請ID | |
| team_id | TeamPublicId | true | none | 團隊公開標識,首字為ASCII 字母,其餘字元僅包含ASCII 字母與數字;不下發資料庫數字主鍵 | |
| user_id | integer | true | none | 使用者ID,未註冊受邀使用者為0 | |
| inviter_user_id | integer | true | none | 邀請人使用者ID,成員記錄為0 | |
| invite_type | integer | true | none | 邀請類型,成員記錄為0 | |
| invite_country_code | integer | true | none | 手機號碼國家或地區碼,成員記錄為0 | |
| invite_target | string | true | none | 邀請目標,成員記錄為空字串 | |
| delivery_type | integer | true | none | 原始投遞管道,成員記錄為0 | |
| role | integer | true | none | 角色:1=超級管理員,2=管理員,3=普通成員,4=財務成員 | |
| status | integer | true | none | member 固定為1,invitation 固定為0 | |
| display_name | string | true | none | 統一展示名稱,依序取暱稱、使用者名稱、信箱、手機號碼;一般成員視角下聯絡方式使用脫敏值 | |
| nickname | string | true | none | 成員或已註冊受邀使用者暱稱 | |
| username | string | true | none | 成員或已註冊受邀使用者名稱 | |
| string | true | none | 郵箱;超級管理員和管理員回傳完整值,普通成員回傳帶星號的脫敏值 | ||
| phone | string | true | none | 手機號碼;超級管理員和管理員回傳完整值,普通成員回傳帶有星號的脫敏值 | |
| joined_at | string¦null | true | none | 成員加入時間,邀請記錄為null | |
| expired_at | string¦null | true | none | 邀請過期時間,成員記錄為null | |
| created_at | string | true | none | 記錄建立時間,格式YYYY-MM-DD HH:mm:ss |
列舉值
| 屬性 | 值 |
|---|---|
| record_type | member |
| record_type | invitation |
| invite_type | 0 |
| invite_type | 1 |
| invite_type | 2 |
| invite_type | 3 |
| delivery_type | 0 |
| delivery_type | 1 |
| delivery_type | 2 |
| delivery_type | 3 |
| role | 1 |
| role | 2 |
| role | 3 |
| role | 4 |
| status | 0 |
| status | 1 |
TeamInvitationResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": 1,
"team_id": "A1b2C3d4E5f6",
"inviter_user_id": 1,
"invitee_user_id": 0,
"invite_type": 1,
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": 1,
"role": 2,
"status": 0,
"accepted_by_user_id": 0,
"expired_at": "2026-07-17 10:00:00",
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-07-10 10:00:00"
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | TeamInvitation | false | none | none |
TeamMemberResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_member_id": 1,
"team_id": "A1b2C3d4E5f6",
"user_id": 1,
"role": 1,
"status": 0,
"joined_at": "string",
"nickname": "string",
"username": "string"
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | TeamMember | false | none | none |
TeamInvitationCreateResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"invitation": {
"id": 1,
"team_id": "A1b2C3d4E5f6",
"inviter_user_id": 1,
"invitee_user_id": 0,
"invite_type": 1,
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": 1,
"role": 2,
"status": 0,
"accepted_by_user_id": 0,
"expired_at": "2026-07-17 10:00:00",
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-07-10 10:00:00"
},
"invitation_token": "string",
"invitation_url": "http://example.com",
"notification_channels": {
"email": "queued",
"sms": "queued",
"site_inner_message": "created"
}
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» invitation | TeamInvitation | true | none | none | |
| »» invitation_token | string | true | none | 明文邀請令牌,僅為相容既有客戶端保留;新客戶端直接使用invitation_url | |
| »» invitation_url | string(uri) | true | none | 包含邀請令牌的前端處理連結 | |
| »» notification_channels | TeamInvitationNotificationChannels | true | none | none |
TeamInvitationNotificationChannels
{
"email": "queued",
"sms": "queued",
"site_inner_message": "created"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| string | false | none | 郵件頻道結果 | ||
| sms | string | false | none | 簡訊頻道結果 | |
| site_inner_message | string | false | none | 站內信頻道結果 |
列舉值
| 屬性 | 值 |
|---|---|
| queued | |
| failed | |
| skipped | |
| sms | queued |
| sms | failed |
| sms | skipped |
| site_inner_message | created |
| site_inner_message | exists |
| site_inner_message | failed |
TeamInvitationPreviewResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"team_name": "string",
"role": 2,
"status": 0,
"expired_at": "string"
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» team_name | string | true | none | 團隊名稱 | |
| »» role | integer | true | none | 目標角色 | |
| »» status | integer | true | none | 邀請狀態 | |
| »» expired_at | string | true | none | 過期時間,格式YYYY-MM-DD HH:mm:ss |
列舉值
| 屬性 | 值 |
|---|---|
| role | 2 |
| role | 3 |
| status | 0 |
| status | 1 |
| status | 2 |
| status | 3 |
| status | 4 |
TeamInvitationResendResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"invitation": {
"id": 1,
"team_id": "A1b2C3d4E5f6",
"inviter_user_id": 1,
"invitee_user_id": 0,
"invite_type": 1,
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": 1,
"role": 2,
"status": 0,
"accepted_by_user_id": 0,
"expired_at": "2026-07-17 10:00:00",
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-07-10 10:00:00"
},
"invitation_url": "http://example.com",
"notification_channels": {
"email": "queued",
"sms": "queued",
"site_inner_message": "created"
}
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» invitation | TeamInvitation | true | none | none | |
| »» invitation_url | string(uri) | true | none | 新的邀請處理連結;舊連結已失效 | |
| »» notification_channels | TeamInvitationNotificationChannels | true | none | none |
TeamInvitationListResponse
{
"code": 200,
"msg": "SUCCESS",
"data": {
"list": [
{
"id": 1,
"team_id": "A1b2C3d4E5f6",
"inviter_user_id": 1,
"invitee_user_id": 0,
"invite_type": "[",
"invite_country_code": 999,
"invite_target": "string",
"delivery_type": "[",
"role": "[",
"status": "[",
"accepted_by_user_id": 0,
"expired_at": "2026-07-17 10:00:00",
"accepted_at": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-07-10 10:00:00"
}
],
"total": 0,
"page": 1,
"page_size": 1
},
"request_id": "string"
}
屬性
allOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | WebV1SuccessResponse | false | none | none |
and
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| anonymous | object | false | none | none | |
| » data | object | false | none | none | |
| »» list | [TeamInvitation] | true | none | none | |
| »» total | integer | true | none | 邀請總數 | |
| »» page | integer | true | none | 目前頁碼 | |
| »» page_size | integer | true | none | 實際每頁數 |
User
{
"id": 0,
"email": "user@example.com",
"phone": "string",
"balance": 0.1,
"status": 0,
"is_real_name": true,
"created_at": "2019-08-24T14:15:22Z"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | none | |
| string(email) | false | none | none | ||
| phone | string | false | none | none | |
| balance | number(float) | false | none | none | |
| status | integer | false | none | none | |
| is_real_name | boolean | false | none | none | |
| created_at | string(date-time) | false | none | none |
Order
{
"id": 0,
"trade_no": "string",
"out_trade_no": "string",
"product_id": 0,
"product_type": 0,
"amount": 0,
"unit_price": 0.1,
"total_fee": 0.1,
"goods_fee": 0.1,
"pay_fee": 0.1,
"discount_fee": 0.1,
"handling_fee": 0.1,
"refund_fee": 0.1,
"pm_id": 0,
"pm_title": "string",
"pm_logo": "string",
"status": 0,
"title": "string",
"detail": "string",
"region_desc": "string",
"pay_at": "2019-08-24T14:15:22Z",
"pay_timestamp": 0,
"created_at": "2019-08-24T14:15:22Z",
"pay_fee_status": 0,
"invoice": {
"name": "string",
"org_name": "string",
"first_name": "string",
"last_name": "string",
"phone": "string",
"email": "user@example.com",
"role_type": 0,
"vat_id": "string",
"address_country": "string",
"address_city": "string",
"address_line1": "string",
"address_line2": "string",
"address_postal_code": "string"
}
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | 訂單ID | |
| trade_no | string | false | none | 內部訂單編號 | |
| out_trade_no | string | false | none | 外部訂單編號 | |
| product_id | integer | false | none | 套餐ID | |
| product_type | integer | false | none | 套餐類型,請參閱產品類型列舉 | |
| amount | integer | false | none | 購買數量 | |
| unit_price | number(float) | false | none | 單價 | |
| total_fee | number(float) | false | none | 訂單總價(不含折扣,含手續費) | |
| goods_fee | number(float) | false | none | 商品價格(含折扣,不含手續費) | |
| pay_fee | number(float) | false | none | 實付金額(含折扣,含手續費) | |
| discount_fee | number(float) | false | none | 優惠金額 | |
| handling_fee | number(float) | false | none | 手續費 | |
| refund_fee | number(float) | false | none | 退款金額 | |
| pm_id | integer | false | none | 付款方式ID(來自/openapi/payment/list) | |
| pm_title | string | false | none | 付款方式名稱 | |
| pm_logo | string | false | none | 付款方式Logo URL | |
| status | integer | false | none | 訂單狀態 | |
| title | string | false | none | 套餐標題 | |
| detail | string | false | none | 套餐說明 | |
| region_desc | string | false | none | 地區規格描述 | |
| pay_at | string(date-time) | false | none | 付款時間 | |
| pay_timestamp | integer | false | none | 付款時間戳記 | |
| created_at | string(date-time) | false | none | 建立時間 | |
| pay_fee_status | integer | false | none | 長短款狀態:0正常1長款(超額支付) 2短款 | |
| invoice | object | false | none | 發票資訊(僅線上付款訂單有值) | |
| » name | string | false | none | 全名 | |
| » org_name | string | false | none | 企業名稱 | |
| » first_name | string | false | none | none | |
| » last_name | string | false | none | none | |
| » phone | string | false | none | none | |
| string(email) | false | none | none | ||
| » role_type | integer | false | none | 1個人2企業 | |
| » vat_id | string | false | none | 稅號 | |
| » address_country | string | false | none | none | |
| » address_city | string | false | none | none | |
| » address_line1 | string | false | none | none | |
| » address_line2 | string | false | none | none | |
| » address_postal_code | string | false | none | none |
OrderCheckResult
{
"product_id": 0,
"amount": 0,
"discount_fee": 0.1,
"total_fee": 0.1,
"pay_fee": 0.1,
"product_type": 0,
"title": "string",
"detail": "string",
"ip_result": [
{
"ip": "string",
"price": 0.1,
"country_code": "string",
"current_time": "2019-08-24T14:15:22Z",
"renewal_time": "2019-08-24T14:15:22Z",
"country": {
"name_zh_cn": "string",
"flag": "string",
"square_flag": "string"
}
}
]
}
訂單預檢結果
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| product_id | integer | false | none | 套餐ID | |
| amount | integer | false | none | 數量 | |
| discount_fee | number(float) | false | none | 優惠金額 | |
| total_fee | number(float) | false | none | 訂單總額 | |
| pay_fee | number(float) | false | none | 實付金額 | |
| product_type | integer | false | none | 套餐類型 | |
| title | string | false | none | 套餐標題 | |
| detail | string | false | none | 套餐說明 | |
| ip_result | [object] | false | none | IP批次續費結果(僅IP續費時回傳) | |
| » ip | string | false | none | none | |
| » price | number(float) | false | none | none | |
| » country_code | string | false | none | none | |
| » current_time | string(date-time) | false | none | none | |
| » renewal_time | string(date-time) | false | none | none | |
| » country | object | false | none | none | |
| »» name_zh_cn | string | false | none | none | |
| »» flag | string | false | none | 圓形旗URL | |
| »» square_flag | string | false | none | 方形旗URL |
Product
{
"id": 0,
"title": "string",
"type": 0,
"show_type": 0,
"status": 0,
"price": 0.1,
"usd_price": 0.1,
"price_hkd": 0.1,
"original_price": 0.1,
"original_usd_price": 0.1,
"original_price_hkd": 0.1,
"local_price": 0.1,
"local_original_price": 0.1,
"preferred_currency": "string",
"support_currencies": "string",
"flow_value": 0.1,
"flow_give": 0.1,
"balance_give": 0.1,
"balance_value": 0.1,
"time_validity": 0.1,
"time_price": 0.1,
"time_days": 0,
"tip1": "string",
"tip2": "string",
"introduce": ["string"],
"region_list_id": 0,
"renew_product_list": "string",
"parent_product_type": 0,
"total_count": 0,
"remain_count": 0,
"extension_of_time_days": [0],
"time_days_price_rate": 0.1,
"desc": {
"subtitle": "string",
"flow_value": 0.1,
"flow_give": 0.1,
"balance_give": 0.1,
"time_validity": 0.1,
"time_price": 0.1,
"tip1": "string",
"tip2": "string",
"introduce": ["string"]
},
"sku": {
"bandwidth_list": [
{
"id": 0,
"value": 0,
"price": 0.1,
"price_usd": 0.1,
"price_hkd": 0.1
}
],
"duration_list": [
{
"id": 0,
"value": 0,
"price": 0.1,
"price_usd": 0.1,
"price_hkd": 0.1
}
],
"concurrency_list": [
{
"id": 0,
"value": 0,
"price": 0.1,
"price_usd": 0.1,
"price_hkd": 0.1
}
]
}
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | 套餐ID | |
| title | string | false | none | 套餐主標題 | |
| type | integer | false | none | 套件類型 | |
| show_type | integer | false | none | 展示類型:1普通2大額推薦3不可購買(需自訂) 4試用 | |
| status | integer | false | none | 狀態:1上架0下架 | |
| price | number(float) | false | none | 人民幣價格 | |
| usd_price | number(float) | false | none | 美元價格 | |
| price_hkd | number(float) | false | none | 港幣價格 | |
| original_price | number(float) | false | none | 原價(CNY) | |
| original_usd_price | number(float) | false | none | 原價(USD) | |
| original_price_hkd | number(float) | false | none | 原價(HKD) | |
| local_price | number(float) | false | none | 本地化價格(依賴preferred_currency) | |
| local_original_price | number(float) | false | none | 本地化原價(依賴preferred_currency) | |
| preferred_currency | string | false | none | 建議顯示貨幣,如usd / cny / hkd | |
| support_currencies | string | false | none | 支援的貨幣列表,逗號分隔,如usd,cny | |
| flow_value | number(float) | false | none | 流量套餐預設流量(GB) | |
| flow_give | number(float) | false | none | 贈送流量(GB) | |
| balance_give | number(float) | false | none | 餘額儲值贈送金額 | |
| balance_value | number(float) | false | none | 儲值金額 | |
| time_validity | number(float) | false | none | 包量包預設有效時長 | |
| time_price | number(float) | false | none | 包量方案每IP價格 | |
| time_days | integer | false | none | 有效期限天數,如30/90/180/365 | |
| tip1 | string | false | none | 標籤說明1 | |
| tip2 | string | false | none | 標籤說明2 | |
| introduce | [string] | false | none | 文字介紹清單 | |
| region_list_id | integer | false | none | 地區ID | |
| renew_product_list | string | false | none | 可續訂方案ID清單(逗號分隔) | |
| parent_product_type | integer | false | none | 父包類型(type=19時有效):14或25 | |
| total_count | integer | false | none | 總庫存,0表示不限制 | |
| remain_count | integer | false | none | 剩餘庫存 | |
| extension_of_time_days | [integer] | false | none | 長度倍數列表,為空或僅含1表示不支援 | |
| time_days_price_rate | number(float) | false | none | 長度價格係數,價格× (1 + (倍數-1) × rate) | |
| desc | object | false | none | 套餐描述資訊 | |
| » subtitle | string | false | none | 副標題 | |
| » flow_value | number(float) | false | none | none | |
| » flow_give | number(float) | false | none | none | |
| » balance_give | number(float) | false | none | none | |
| » time_validity | number(float) | false | none | none | |
| » time_price | number(float) | false | none | none | |
| » tip1 | string | false | none | none | |
| » tip2 | string | false | none | none | |
| » introduce | [string] | false | none | none | |
| sku | object | false | none | 規格參數(type=11時回傳) | |
| » bandwidth_list | [object] | false | none | 頻寬規格清單 | |
| »» id | integer | false | none | none | |
| »» value | integer | false | none | 頻寬值(Mbps) | |
| »» price | number(float) | false | none | none | |
| »» price_usd | number(float) | false | none | none | |
| »» price_hkd | number(float) | false | none | none | |
| » duration_list | [object] | false | none | 長度規格清單 | |
| »» id | integer | false | none | none | |
| »» value | integer | false | none | 時長(天) | |
| »» price | number(float) | false | none | none | |
| »» price_usd | number(float) | false | none | none | |
| »» price_hkd | number(float) | false | none | none | |
| » concurrency_list | [object] | false | none | 並發規格列表 | |
| »» id | integer | false | none | none | |
| »» value | integer | false | none | 並發數 | |
| »» price | number(float) | false | none | none | |
| »» price_usd | number(float) | false | none | none | |
| »» price_hkd | number(float) | false | none | none |
WhiteIp
{
"id": 0,
"ip": "string",
"remark": "string",
"created_at": "2019-08-24T14:15:22Z"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | none | |
| ip | string | false | none | none | |
| remark | string | false | none | none | |
| created_at | string(date-time) | false | none | none |
WhitelistAccount
{
"id": 0,
"username": "string",
"limit": 0,
"used": 0,
"status": 0
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | none | |
| username | string | false | none | none | |
| limit | integer | false | none | none | |
| used | integer | false | none | none | |
| status | integer | false | none | none |
Coupon
{
"id": 0,
"name": "string",
"code": "string",
"discount": 0.1,
"expire_time": "2019-08-24T14:15:22Z"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | none | |
| name | string | false | none | none | |
| code | string | false | none | none | |
| discount | number(float) | false | none | none | |
| expire_time | string(date-time) | false | none | none |
Article
{
"id": 0,
"title": "string",
"content": "string",
"created_at": "2019-08-24T14:15:22Z"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | none | |
| title | string | false | none | none | |
| content | string | false | none | none | |
| created_at | string(date-time) | false | none | none |
Pagination
{
"total": 0,
"page_no": 0,
"page_size": 0,
"total_pages": 0
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| total | integer | false | none | none | |
| page_no | integer | false | none | none | |
| page_size | integer | false | none | none | |
| total_pages | integer | false | none | none |
AutoRenewalConfig
{
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"product_type": 0,
"left_traffic": 0,
"left_days": 0,
"user_product_id": 1,
"product_id": 0,
"status": 0,
"currency": "string",
"agreed_price": 0,
"agreed_bandwidth_price": 0,
"agreed_concurrency_price": 0,
"bandwidth_id": 0,
"concurrency_id": 0,
"duration": 0,
"renew_product_id": 0,
"days_before_expire": 0,
"traffic_threshold": 0,
"parent_product_type": 0,
"created_at": "string",
"updated_at": "string"
}
單一套餐的自動續費配置快照
屬性
| 名稱| 類型| 必選| 約束| 中文名稱| 說明 | |------------------------ |------------------------------------------------------------ | ---- | ------ |------------------------------------------------------------------------------------------------------------------------------------------------ | | id | integer | false | none | | none | | user_id | integer | false | none | | none | | team_id | ResourceSpaceId | false | none | | 公開資源空間標識;請求個人空間時省略team_id 或傳空字串,回應個人空間時為空字串;數字0 與字串"0" 皆非法,團隊空間使用6-12 位元團隊公開標識 | | team_user_id | integer | false | none | | none | | product_type | integer | false | none | | none | | left_traffic | integer | false | none | | 已廢棄欄位 | | left_days | integer | false | none | | 已廢棄欄位 | | user_product_id | integer | false | none | | none | | product_id | integer | false | none | | 已廢棄欄位 | | status | integer | false | none | | 0=停用,1=啟用 | | currency | string | false | none | | none | | agreed_price | number | false | none | | 約定總價 | | agreed_bandwidth_price | number | false | none | | 套餐11 的約定頻寬單價 | | agreed_concurrency_price | number | false | none | | 套餐11 的約定並發單價 | | bandwidth_id | integer | false | none | | none | | concurrency_id | integer | false | none | | none | | duration | integer | false | none | | 續費時長,單位天 | | renew_product_id | integer | false | none | | none | | days_before_expire | integer | false | none | | none | | traffic_threshold | integer | false | none | | 流量閾值,資料庫值單位KB | | parent_product_type | integer | false | none | | none | | created_at | string | false | none | | none | | updated_at | string | false | none | | none |
列舉值
| 屬性 | 值 |
|---|---|
| status | 0 |
| status | 1 |
AutoRenewalLog
{
"id": 1,
"user_id": 1,
"team_id": "A1b2C3d4E5f6",
"team_user_id": 0,
"config_id": 0,
"user_product_id": 1,
"product_type": 0,
"renew_product_id": 0,
"order_id": 0,
"fee": 0,
"currency": "string",
"before_expired_at": "string",
"after_expired_at": "string",
"before_remain": 0,
"after_remain": 0,
"trigger_type": 0,
"status": 1,
"revoke_at": "string",
"revoke_remark": "string",
"created_at": "string",
"updated_at": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | true | none | none | |
| user_id | integer | true | none | none | |
| team_id | ResourceSpaceId | true | none | 公開資源空間識別;請求個人空間時省略team_id 或傳空字串,回應個人空間時為空字串;數字0 與字串"0" 皆非法,團隊空間使用6-12 位元團隊公開識別 | |
| team_user_id | integer | true | none | none | |
| config_id | integer | true | none | none | |
| user_product_id | integer | true | none | none | |
| product_type | integer | true | none | none | |
| renew_product_id | integer | true | none | none | |
| order_id | integer | true | none | none | |
| fee | number | true | none | none | |
| currency | string | true | none | none | |
| before_expired_at | string¦null | false | none | none | |
| after_expired_at | string¦null | false | none | none | |
| before_remain | integer(int64) | true | none | none | |
| after_remain | integer(int64) | true | none | none | |
| trigger_type | integer | true | none | 0=到期前,1=流量不足 | |
| status | integer | true | none | 1=成功,2=已撤銷,3=失敗 | |
| revoke_at | string¦null | false | none | none | |
| revoke_remark | string | true | none | none | |
| created_at | string | true | none | none | |
| updated_at | string | true | none | none |
列舉值
| 屬性 | 值 |
|---|---|
| trigger_type | 0 |
| trigger_type | 1 |
| status | 1 |
| status | 2 |
| status | 3 |
MonthlyRenewalBatch
{
"type": "current",
"start_at": "string",
"end_at": "string",
"target_expired_at": "string",
"timezone": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| type | string | true | none | none | |
| start_at | string | true | none | none | |
| end_at | string | true | none | none | |
| target_expired_at | string | true | none | none | |
| timezone | string | true | none | none |
列舉值
| 屬性 | 值 |
|---|---|
| type | current |
| type | next |
MonthlyRenewalItem
{
"id": 0,
"user_product_id": 1,
"product_id": 1,
"product_type": 0,
"parent_product_type": 0,
"title": "string",
"expired_at": "string",
"target_expired_at": "string",
"renew_days": 1,
"unit_month_price": 0,
"pay_fee": 0,
"currency": "string",
"bandwidth": 0,
"bandwidth_mbsp": 0,
"concurrency": 0,
"ip": "string",
"country_code": "string",
"paid_at": "string",
"refunded_at": "string",
"created_at": "string",
"updated_at": "string"
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | false | none | 歷史帳單明細ID | |
| user_product_id | integer | true | none | none | |
| product_id | integer | true | none | none | |
| product_type | integer | true | none | none | |
| parent_product_type | integer | true | none | none | |
| title | string | true | none | none | |
| expired_at | string | true | none | none | |
| target_expired_at | string | true | none | none | |
| renew_days | integer | true | none | none | |
| unit_month_price | number | false | none | none | |
| pay_fee | number | true | none | none | |
| currency | string | true | none | none | |
| bandwidth | integer | false | none | none | |
| bandwidth_mbsp | number | false | none | 頻寬換算值 | |
| concurrency | integer | false | none | none | |
| ip | string | false | none | 靜態IP 套餐回傳 | |
| country_code | string | false | none | 靜態IP 套餐回傳 | |
| paid_at | string¦null | false | none | none | |
| refunded_at | string¦null | false | none | none | |
| created_at | string | false | none | none | |
| updated_at | string | false | none | none |
InvoiceRecord
{
"id": 1,
"invoice_no": "string",
"invoice_amount": 0,
"invoice_download_url": "string",
"status": 0,
"remark": "string",
"order_ids": [0],
"created_at": 0,
"invoice_info": {
"invoice_code": "string",
"name": "string",
"org_name": "string",
"role_type": 1,
"invoice_type": 0
}
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| id | integer | true | none | none | |
| invoice_no | string | true | none | none | |
| invoice_amount | number | true | none | none | |
| invoice_download_url | string | true | none | none | |
| status | integer | true | none | none | |
| remark | string | true | none | none | |
| order_ids | [integer] | true | none | none | |
| created_at | integer | true | none | Unix 時間戳記 | |
| invoice_info | any | true | none | none |
oneOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »anonymous | object | false | none | none | |
| »» invoice_code | string | true | none | none | |
| »» name | string | true | none | none | |
| »» org_name | string | true | none | none | |
| »» role_type | integer | true | none | none | |
| »» invoice_type | integer | true | none | none |
xor
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »anonymous | null | false | none | none |
列舉值
| 屬性 | 值 |
|---|---|
| role_type | 1 |
| role_type | 2 |
| invoice_type | 0 |
| invoice_type | 1 |
| invoice_type | 2 |
PayCheckData
{
"trade_no": "string",
"pm_id": 0,
"pay_method": 0,
"trade_type": "string",
"country_code": "string",
"currency": "string",
"goods_fee": 0,
"discount_fee": 0,
"handling_fee": 0,
"pay_fee": 0,
"total_fee": 0,
"pay_method_info": {
"id": 0,
"type": 0,
"title": "string",
"group": "string",
"handling_rate": 0,
"handling_fee": 0,
"handling_fee_currency": "usd",
"handling_fee_converted": 0
},
"origin": {
"pm_id": 0,
"pay_method": 0,
"goods_fee": 0,
"discount_fee": 0,
"handling_fee": 0,
"pay_fee": 0,
"total_fee": 0
}
}
屬性
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| trade_no | string | true | none | none | |
| pm_id | integer | true | none | none | |
| pay_method | integer | true | none | none | |
| trade_type | string | true | none | none | |
| country_code | string | true | none | none | |
| currency | string | true | none | none | |
| goods_fee | number | true | none | none | |
| discount_fee | number | true | none | none | |
| handling_fee | number | true | none | none | |
| pay_fee | number | true | none | none | |
| total_fee | number | true | none | none | |
| pay_method_info | any | true | none | none |
oneOf
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »anonymous | object | false | none | none | |
| »» id | integer | true | none | none | |
| »» type | integer | true | none | none | |
| »» title | string | true | none | none | |
| »» group | string | true | none | none | |
| »» handling_rate | number | true | none | none | |
| »» handling_fee | number | true | none | none | |
| »» handling_fee_currency | string | true | none | none | |
| »» handling_fee_converted | number | true | none | none |
xor
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| »anonymous | null | false | none | none |
continued
| 名稱 | 類型 | 必選 | 約束 | 中文名稱 | 說明 |
|---|---|---|---|---|---|
| origin | object | true | none | none | |
| » pm_id | integer | true | none | none | |
| » pay_method | integer | true | none | none | |
| » goods_fee | number | true | none | none | |
| » discount_fee | number | true | none | none | |
| » handling_fee | number | true | none | none | |
| » pay_fee | number | true | none | none | |
| » total_fee | number | true | none | none |