OpenAPIOpenAPI
  • English
  • 简体中文
  • 繁體中文
  • Indonesia
  • हिंदी
  • Русский
  • Tiếng Việt
  • German
  • português
  • English
  • 简体中文
  • 繁體中文
  • Indonesia
  • हिंदी
  • Русский
  • Tiếng Việt
  • German
  • português
  • NSocks

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_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串
pagequeryinteger否none
pageSizequeryinteger否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
  }
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenonenone
» msgstringtruenonenone
» request_idstringtruenonenone
» dataobjecttruenonenone
»» list[UserApiKeyMetadata]truenonenone
»»» idintegertruenoneAPI Key ID
»»» api_keystringtruenone创建响应为完整 Key;团队列表中为脱敏值
»»» team_user_idintegertruenone团队 Key 实际持有成员 ID,个人 Key 为 0
»»» remarkstringtruenone备注
»»» statusintegertruenone0=停用,1=启用
»»» created_atstringtruenone创建时间
»»» updated_atstring¦nullfalsenone更新时间
»» totalintegertruenonenone
»» pageintegertruenonenone
»» pageSizeintegertruenonenone

枚举值

属性值
status0
status1

POST 创建 API Key

POST /ep/api-keys/create

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "remark": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» remarkbodystring否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"
}

返回结果

状态码状态码含义说明数据模型
200OK业务成功时返回完整 API Key,仅此一次Inline

返回数据结构

枚举值

属性值
status0
status1

POST 启用 API Key

POST /ep/api-keys/enable

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1
}

请求参数

名称位置类型必选说明
bodybodyApiKeyManageRequest是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 停用 API Key

POST /ep/api-keys/disable

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1
}

请求参数

名称位置类型必选说明
bodybodyApiKeyManageRequest是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 删除 API Key

POST /ep/api-keys/delete

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1
}

请求参数

名称位置类型必选说明
bodybodyApiKeyManageRequest是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 修改 API Key 备注

POST /ep/api-keys/update-remark

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1,
  "remark": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» idbodyinteger是none
» remarkbodystring是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

团队管理

POST 创建团队

POST /ep/team/create

Body 请求参数

{
  "name": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» namebodystring是团队名称

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
status0
status1
status2
status3
current_role1
current_role2
current_role3
current_role4
current_rolenull

GET 当前用户可访问的团队列表

GET /ep/team/list

请求参数

名称位置类型必选说明
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 1,
    "page_size": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
status0
status1
status2
status3
current_role1
current_role2
current_role3
current_role4
current_rolenull

GET 团队详情

GET /ep/team/detail

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
status0
status1
status2
status3
current_role1
current_role2
current_role3
current_role4
current_rolenull

POST 修改团队名称

POST /ep/team/update-name

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "name": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» namebodystring是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
status0
status1
status2
status3
current_role1
current_role2
current_role3
current_role4
current_rolenull

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"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» namebodystring是团队名称确认,必须与团队当前名称完全一致
» verify_typebodystring否二次验证方式;需要验证时与 verify_code 一起提交
» verify_codebodystring否二次验证码;处于 15 分钟信任状态时可不传

枚举值

属性值
» verify_typephone
» verify_typeemail
» verify_typewechat
» verify_typetotp

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
status0
status1
status2
status3
current_role1
current_role2
current_role3
current_role4
current_rolenull

GET 查询团队解散状态

GET /ep/team/dissolve-status

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
status0
status1
status2
status3
current_role1
current_role2
current_role3
current_role4
current_rolenull

团队资产

GET 团队套餐信息

GET /ep/team/product-info

返回指定团队资源空间的套餐摘要,字段与 /web_v1/user/info 的套餐字段保持一致, 不返回团队超级管理员的个人资料、余额或内部数字团队 ID。积分套餐详细信息请使用 /web_v1/credit/info。

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

GET 团队资产列表

GET /ep/team/assets

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是none
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 1,
    "page_size": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

GET 可划入团队的个人资产

GET /ep/team/assets/personal-candidates

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是none
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 1,
    "page_size": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

POST 个人资产划入团队

POST /ep/team/assets/move-in

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» user_product_idbodyinteger是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

POST 团队资产移回个人

POST /ep/team/assets/move-out

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» user_product_idbodyinteger是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

团队钱包

GET 查询团队钱包

GET /ep/team/wallet/detail

需要 VIEW_BILLING 权限。团队钱包独立于超级管理员和成员的个人余额。

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

GET 查询团队钱包流水

GET /ep/team/wallet/records

需要 VIEW_BILLING 权限。流水金额始终为正数,资金增减由 direction 字段表示。

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是none
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 1,
    "page_size": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
direction0
direction1
transaction_type1
transaction_type2
transaction_type3
transaction_type4
transaction_type5

POST 个人余额转入团队钱包

POST /ep/team/wallet/transfer-in

仅团队超级管理员具有 TRANSFER_BALANCE 权限。原子扣减其个人充值余额后增加团队钱包;转入金额不计入 total_recharge_fee,且不支持转回个人余额。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "amount": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» amountbodynumber(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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

POST 团队余额转回个人账户

POST /ep/team/wallet/transfer-out

仅超级管理员登录态可调用。原子扣减团队钱包并增加其个人充值余额;不改变团队或个人的累计充值金额。解散中的团队可用于回收余额,已解散团队不能调用。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "amount": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» amountbodynumber(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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

团队成员

GET 团队成员列表

GET /ep/team/members

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是none
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 1,
    "page_size": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
role1
role2
role3
role4
status0
status1
status2
status3

GET 团队人员统一列表

GET /ep/team/people

返回有效成员;超级管理员和管理员还会看到待处理邀请。其他邀请状态仅保留在邀请历史列表中。

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是none
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 1,
    "page_size": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
record_typemember
record_typeinvitation
invite_type0
invite_type1
invite_type2
invite_type3
delivery_type0
delivery_type1
delivery_type2
delivery_type3
role1
role2
role3
role4
status0
status1

POST 调整成员角色

POST /ep/team/members/update-role

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "team_member_id": 1,
  "role": 2
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» team_member_idbodyinteger是none
» rolebodyinteger是none

枚举值

属性值
» role2
» role3

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
role1
role2
role3
role4
status0
status1
status2
status3

POST 移除团队成员

POST /ep/team/members/remove

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "team_member_id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» team_member_idbodyinteger是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data.status=3Inline

返回数据结构

枚举值

属性值
role1
role2
role3
role4
status0
status1
status2
status3

POST 退出团队

POST /ep/team/members/leave

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data.status=2Inline

返回数据结构

枚举值

属性值
role1
role2
role3
role4
status0
status1
status2
status3

团队邀请

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}}"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» invite_typebodyinteger是1=已注册用户,2=邮箱,3=手机号
» rolebodyinteger是2=管理员,3=普通成员
» user_idbodyinteger否invite_type=1 时必填
» emailbodystring(email)否invite_type=2 时必填
» country_codebodyinteger否invite_type=3 时必填
» phonebodystring否invite_type=3 时必填
» invitation_url_templatebodystring否本站前端定义的相对路径模板;必须以单个 / 开头、不得包含域名或换行,且必须且只能包含一个 占位符
»anonymousbodyobject否none
»» invite_typebodyany否none
»anonymousbodyobject否none
»» invite_typebodyany否none
»anonymousbodyobject否none
»» invite_typebodyany否none

枚举值

属性值
» invite_type1
» invite_type2
» invite_type3
» role2
» role3

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 code,200 为业务成功Inline

返回数据结构

枚举值

属性值
invite_type1
invite_type2
invite_type3
delivery_type1
delivery_type2
delivery_type3
role2
role3
status0
status1
status2
status3
status4
emailqueued
emailfailed
emailskipped
smsqueued
smsfailed
smsskipped
site_inner_messagecreated
site_inner_messageexists
site_inner_messagefailed

GET 团队邀请列表

GET /ep/team/invitations

仅团队超级管理员或管理员可访问;返回前会将已到期的待处理邀请更新为已过期。

请求参数

名称位置类型必选说明
team_idqueryTeamPublicId是团队公开标识
pagequeryinteger否页码,从 1 开始
page_sizequeryinteger否每页数量

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 1,
    "page_size": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
invite_type1
invite_type2
invite_type3
delivery_type1
delivery_type2
delivery_type3
role2
role3
status0
status1
status2
status3
status4

GET 预览团队邀请

GET /ep/team/invitations/preview

使用一次性 invitation_token 匿名预览邀请;链接中不使用邀请数字 ID。

请求参数

名称位置类型必选说明
invitation_tokenquerystring是邀请链接携带的非空明文一次性令牌

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "team_name": "string",
    "role": 2,
    "status": 0,
    "expired_at": "string"
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
role2
role3
status0
status1
status2
status3
status4

POST 重发团队邀请通知

POST /ep/team/invitations/resend

重投原始发送渠道;已注册用户同时发送站内信。重发会轮换令牌,之前的所有邀请链接立即失效。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "invitation_id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» invitation_idbodyinteger是邀请 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
invite_type1
invite_type2
invite_type3
delivery_type1
delivery_type2
delivery_type3
role2
role3
status0
status1
status2
status3
status4
emailqueued
emailfailed
emailskipped
smsqueued
smsfailed
smsskipped
site_inner_messagecreated
site_inner_messageexists
site_inner_messagefailed

POST 接受团队邀请

POST /ep/team/invitations/accept

当前登录用户使用一次性 invitation_token 接受邀请,必须与邀请目标匹配且属于邀请所属站点;不需要传 team_id。

Body 请求参数

{
  "invitation_token": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» invitation_tokenbodystring是明文一次性邀请令牌

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 为成员对象Inline

返回数据结构

枚举值

属性值
role1
role2
role3
role4
status0
status1
status2
status3

POST 拒绝团队邀请

POST /ep/team/invitations/reject

当前登录用户使用一次性 invitation_token 拒绝与本人匹配的邀请;不需要传 team_id。

Body 请求参数

{
  "invitation_token": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» invitation_tokenbodystring是明文一次性邀请令牌

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data.status=2Inline

返回数据结构

枚举值

属性值
invite_type1
invite_type2
invite_type3
delivery_type1
delivery_type2
delivery_type3
role2
role3
status0
status1
status2
status3
status4

POST 取消团队邀请

POST /ep/team/invitations/cancel

取消指定团队内的待处理邀请,操作人必须有权邀请该目标角色。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "invitation_id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyTeamPublicId是团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» invitation_idbodyinteger是邀请 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data.status=3Inline

返回数据结构

枚举值

属性值
invite_type1
invite_type2
invite_type3
delivery_type1
delivery_type2
delivery_type3
role2
role3
status0
status1
status2
status3
status4

积分管理

GET 获取积分套餐信息

GET /web_v1/credit/info

查询当前资源空间的积分套餐摘要。团队空间要求 USE_ASSETS 权限;此接口同时支持登录态、个人 API Key 和团队 API Key。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串;团队 API Key 可省略,传入时必须与 Key 一致

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 为积分等级、总量、剩余量、重置时间和自动补充状态Inline

返回数据结构

POST 设置余额自动补充积分

POST /web_v1/credit/update-auto-supplement

登录态设置当前资源空间的自动补充开关。团队空间要求 USE_OWNER_PAYMENT_CAPABILITIES 权限,当前仅团队超级管理员可操作;团队空间默认关闭。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "status": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» statusbodyinteger是0=关闭,1=开启

枚举值

属性值
» status0
» status1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data.status 为更新后的开关状态Inline

返回数据结构

GET 获取积分消耗记录

GET /web_v1/credit/consumption-logs

登录态或 API Key 分页查询当前资源空间的积分消耗记录。团队空间要求 VIEW_BILLING 权限。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
pagequeryinteger否none
page_sizequeryinteger否none
start_datequerystring(date)否开始日期,按站点时区解释
end_datequerystring(date)否结束日期,按站点时区解释
consumption_typequerystring否消耗类型

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 list、page、page_size、total_count 和 total_pageInline

返回数据结构

GET 获取积分重置记录

GET /web_v1/credit/reset-logs

登录态或 API Key 分页查询当前资源空间的积分重置记录。团队空间要求 VIEW_BILLING 权限。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含积分重置记录及分页信息Inline

返回数据结构

GET 获取积分统计

GET /web_v1/credit/stats

登录态或 API Key 查询当前资源空间按消耗类型聚合的积分统计。团队空间要求 VIEW_BILLING 权限。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_datequerystring(date)否开始日期,按站点时区解释
end_datequerystring(date)否结束日期,按站点时区解释

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 by_type 和 totalInline

返回数据结构

GET 获取按天积分统计

GET /web_v1/credit/daily-stats

登录态或 API Key 查询当前资源空间的按天积分消耗,默认最近 7 天。团队普通成员仅返回本人实际消费;具备 VIEW_BILLING 权限的管理员、超级管理员和财务成员返回团队全量数据。历史未记录消费成员的团队日志仅对全量视图可见。 API Key 查询最多包含 31 个自然日(含首尾),开始日期不得晚于结束日期。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_datequerystring(date)否开始日期,默认 6 天前
end_datequerystring(date)否结束日期,默认今天
consumption_typequerystring否可选消耗类型
fill_gapsqueryinteger否是否补齐缺失日期

枚举值

属性值
fill_gaps0
fill_gaps1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 daily_stats 和 summaryInline

返回数据结构

GET 获取按小时积分统计

GET /web_v1/credit/hourly-stats

登录态或 API Key 查询当前资源空间的按小时积分消耗,默认最近 7 天。团队空间要求 VIEW_BILLING 权限。 API Key 查询最多包含 31 个自然日(含首尾),开始日期不得晚于结束日期。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_datequerystring(date)否开始日期,默认 6 天前
end_datequerystring(date)否结束日期,默认今天
consumption_typequerystring否可选消耗类型
fill_gapsqueryinteger否是否补齐缺失小时

枚举值

属性值
fill_gaps0
fill_gaps1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 hourly_stats 和 summaryInline

返回数据结构

GET 获取积分套餐信息

GET /ep/credit/info

查询当前资源空间的积分套餐摘要。团队空间要求 USE_ASSETS 权限;此接口同时支持登录态、个人 API Key 和团队 API Key。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串;团队 API Key 可省略,传入时必须与 Key 一致

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 为积分等级、总量、剩余量、重置时间和自动补充状态Inline

返回数据结构

GET 获取积分消耗记录

GET /ep/credit/consumption-logs

登录态或 API Key 分页查询当前资源空间的积分消耗记录。团队空间要求 VIEW_BILLING 权限。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
pagequeryinteger否none
page_sizequeryinteger否none
start_datequerystring(date)否开始日期,按站点时区解释
end_datequerystring(date)否结束日期,按站点时区解释
consumption_typequerystring否消耗类型

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 list、page、page_size、total_count 和 total_pageInline

返回数据结构

GET 获取积分重置记录

GET /ep/credit/reset-logs

登录态或 API Key 分页查询当前资源空间的积分重置记录。团队空间要求 VIEW_BILLING 权限。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
pagequeryinteger否none
page_sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含积分重置记录及分页信息Inline

返回数据结构

GET 获取积分统计

GET /ep/credit/stats

登录态或 API Key 查询当前资源空间按消耗类型聚合的积分统计。团队空间要求 VIEW_BILLING 权限。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_datequerystring(date)否开始日期,按站点时区解释
end_datequerystring(date)否结束日期,按站点时区解释

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 by_type 和 totalInline

返回数据结构

GET 获取按天积分统计

GET /ep/credit/daily-stats

登录态或 API Key 查询当前资源空间的按天积分消耗,默认最近 7 天。团队普通成员仅返回本人实际消费;具备 VIEW_BILLING 权限的管理员、超级管理员和财务成员返回团队全量数据。历史未记录消费成员的团队日志仅对全量视图可见。 API Key 查询最多包含 31 个自然日(含首尾),开始日期不得晚于结束日期。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_datequerystring(date)否开始日期,默认 6 天前
end_datequerystring(date)否结束日期,默认今天
consumption_typequerystring否可选消耗类型
fill_gapsqueryinteger否是否补齐缺失日期

枚举值

属性值
fill_gaps0
fill_gaps1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 daily_stats 和 summaryInline

返回数据结构

GET 获取按小时积分统计

GET /ep/credit/hourly-stats

登录态或 API Key 查询当前资源空间的按小时积分消耗,默认最近 7 天。团队空间要求 VIEW_BILLING 权限。 API Key 查询最多包含 31 个自然日(含首尾),开始日期不得晚于结束日期。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_datequerystring(date)否开始日期,默认 6 天前
end_datequerystring(date)否结束日期,默认今天
consumption_typequerystring否可选消耗类型
fill_gapsqueryinteger否是否补齐缺失小时

枚举值

属性值
fill_gaps0
fill_gaps1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 hourly_stats 和 summaryInline

返回数据结构

Xcrawl Activity Log

GET 获取 Xcrawl 近期任务列表

GET /web_v1/xcrawl-activity-log/recent-runs

登录态查询当前资源空间的单任务列表和汇总。团队空间要求 USE_ASSETS;普通成员仅能查看自己创建凭据产生的任务,管理员和超级管理员可查看全团队任务。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
pagequeryinteger否none
page_sizequeryinteger否none
endpointquerystring否端点类型
statusquerystring否none
start_timequerystring否用户时区时间,格式 Y-m-d H:i:s
end_timequerystring否用户时区时间,包含结束边界
urlquerystring否目标 URL 或 Data scraper 标识
job_idquerystring否任务 ID 前缀

枚举值

属性值
statuspending
statuscrawling
statuscompleted
statusfailed

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含分页 list 和 metadataInline

返回数据结构

GET 获取 Xcrawl Crawl Result

GET /web_v1/xcrawl-activity-log/crawl-result

登录态查询当前资源空间指定任务的 Crawl Result。团队空间要求 USE_ASSETS,并按成员可见凭据范围校验任务归属。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
job_idquerystring是任务 ID

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 job_id 和 crawl_resultInline

返回数据结构

GET 获取 Xcrawl 任务详情与日志

GET /web_v1/xcrawl-activity-log/activity-logs

登录态查询当前资源空间指定单任务及其结果详情。团队空间要求 USE_ASSETS,并按成员可见凭据范围校验任务归属。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
job_idquerystring是任务 ID
pagequeryinteger否crawl/data 子结果页码
page_sizequeryinteger否crawl/data 子结果分页数量

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 job 和按 endpoint 变化的 detailInline

返回数据结构

GET 获取 Data URL 聚合统计

GET /web_v1/xcrawl-activity-log/data-url-summary

登录态聚合当前资源空间的 Data scraper 任务。团队空间要求 USE_ASSETS,结果遵循成员可见凭据范围。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
limitqueryinteger否返回数量;0 返回空列表

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data.list 为 scraper 聚合结果Inline

返回数据结构

GET 获取批量爬取近期任务列表

GET /web_v1/xcrawl-activity-log/batch-recent-runs

登录态查询当前资源空间的批任务列表和汇总。团队空间要求 USE_ASSETS;普通成员仅能查看自己创建凭据产生的任务,管理员和超级管理员可查看全团队任务。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
pagequeryinteger否none
page_sizequeryinteger否none
endpointquerystring否端点类型,通常为 batch_scrape
statusquerystring否none
start_timequerystring否用户时区时间,格式 Y-m-d H:i:s
end_timequerystring否用户时区时间,包含结束边界
batch_idquerystring否批任务 ID 前缀

枚举值

属性值
statuspending
statuscrawling
statuscompleted
statusfailed

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含分页 list 和 metadataInline

返回数据结构

GET 获取批量爬取任务详情与日志

GET /web_v1/xcrawl-activity-log/batch-activity-logs

登录态查询当前资源空间指定批任务及其子项结果。团队空间要求 USE_ASSETS,并按成员可见凭据范围校验任务归属。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
batch_idquerystring是批任务 ID
pagequeryinteger否子项页码
page_sizequeryinteger否子项分页数量

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {},
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;业务成功时 data 包含 job 和批任务 detailInline

返回数据结构

代理账户管理

GET 代理账户列表

GET /ep/whitelist-account/list

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串;团队 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
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» coderesponseCodefalsenone状态码,200 成功、3 app_key 无效
» msgstringfalsenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» idintegerfalsenone账户编号
»»» usernamestringfalsenone代理账户名
»»» passwordstringfalsenone代理账户密码
»»» created_atstringfalsenone添加时间
»»» remarkstringfalsenone备注
»»» product_typeproductTypesfalsenone套餐类型,9 动态住宅流量套餐、11 动态住宅IP、14静态数据中心IP、25 静态住宅IP
»»» usage_flowintegerfalsenone已使用流量,单位:KB
»»» limit_flowintegerfalsenone自定义流量上限:单位GB最大102400,0 不限制
»»» statusintegerfalsenone启用状态:1启用,0停用

枚举值

属性值
product_type9
product_type11
product_type14
product_type25

POST 检测代理账户可设置的流量限制

POST /ep/whitelist-account/check

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "account": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» accountbodystring否编辑已有代理账户时传入账号名称

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "isAgent": 0,
    "trendMax": 0,
    "staticMax": 0,
    "maxLimit": 0,
    "minLimit": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
isAgent0
isAgent1

GET 获取动态代理子账号配额与已用数量

GET /ep/whitelist-account/child-account

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "totalChildAccount": 0,
    "usedChildAccount": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功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
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountsbodystring是账户密码,请按格式 username:password 填写,账户和密码仅支持数字和字母,禁止输入任何特殊符号或空格,冒号隔开账户和密码。支持批量添加,英文逗号(,)分隔代理账户。
» remarkbodystring否代理账户描述
» product_typebodyproductTypes否套餐类型,9 动态住宅流量套餐、11 动态住宅IP、14静态数据中心IP、25 静态住宅IP

枚举值

属性值
» product_type9
» product_type11
» product_type14
» product_type25

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 删除代理账户

POST /ep/whitelist-account/delete

请注意删除后无法恢复,已使用流量等无法查询。删除约有5分钟等待时间,在此期间仍可能产生费用。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "app_key": "stringstringstringstringstringst",
  "accounts": "user01,user02"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountsbodystring是代理账户,仅支持数字和字母。支持批量操作,英文逗号(,)分隔代理账户

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 禁用代理账户

POST /ep/whitelist-account/disable

禁用约有5分钟等待时间,在此期间仍可能产生费用。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "app_key": "stringstringstringstringstringst",
  "accounts": "user01,user02"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountsbodystring是代理账户,仅支持数字和字母。支持批量操作,英文逗号(,)分隔代理账户

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 启用代理账户

POST /ep/whitelist-account/enable

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "app_key": "stringstringstringstringstringst",
  "accounts": "user01,user02"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountsbodystring是代理账户,仅支持数字和字母。支持批量操作,英文逗号(,)分隔代理账户

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 修改代理账户密码

POST /ep/whitelist-account/change-password

请注意修改后有5分钟等待时间,在此期间旧密码仍可能正常使用。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "app_key": "stringstringstringstringstringst",
  "account": "user",
  "password": "pass"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountbodystring是代理账户,仅支持数字和字母。
» passwordbodystring是代理账户新密码,仅支持数字和字母。

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 修改代理账户备注

POST /ep/whitelist-account/change-remark

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "app_key": "stringstringstringstringstringst",
  "account": "user",
  "remark": ""
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountbodystring是代理账户,仅支持数字和字母。
» remarkbodystring是代理账户新备注,32个中文或64个英文以内。

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 修改代理账户流量上限

POST /ep/whitelist-account/change-limit

请注意流量统计可能有5分钟以内延迟,即实际消耗流量可能超过此限制。

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "app_key": "stringstringstringstringstringst",
  "account": "user",
  "limit": 0
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountbodystring是代理账户,仅支持数字和字母。
» limitbodyinteger否流量限制,单位:GB,0为不设上限

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 快速创建代理账户

POST /ep/whitelist-account/quick-add

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "product_type": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» product_typebodyinteger是none

返回示例

200 Response

{
  "code": 0,
  "msg": "string",
  "request_id": "string",
  "data": {
    "username": "string",
    "password": "string"
  }
}

返回结果

状态码状态码含义说明数据模型
200OK业务成功时返回新账户和密码Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenonenone
» msgstringfalsenonenone
» request_idstringfalsenonenone
» dataanyfalsenonenone

oneOf

名称类型必选约束中文名说明
»»anonymousobjectfalsenonenone
»»» usernamestringtruenonenone
»»» passwordstringtruenonenone

xor

名称类型必选约束中文名说明
»»anonymousnullfalsenonenone

POST 修改代理账户每日流量上限

POST /ep/whitelist-account/change-daily-limit

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "account": "string",
  "daily_limit": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» accountbodystring是none
» daily_limitbodyinteger否单位 GB

返回结果

状态码状态码含义说明数据模型
200OK操作成功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
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» accountbodystring是none
» passwordbodystring否none
» remarkbodystring否none
» limitbodyinteger否总流量上限,单位 GB
» daily_limitbodyinteger否每日流量上限,单位 GB
» statusbodyinteger否none
» udpbodyinteger否none

枚举值

属性值
» status0
» status1
» udp0
» udp1

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 刷新当前资源空间的代理账户认证缓存

POST /ep/whitelist-account/refresh

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

GET 指定产品类型的代理账户配额

GET /ep/whitelist-account/quota

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
product_typequeryinteger是none

返回示例

200 Response

{
  "code": 0,
  "msg": "string",
  "request_id": "string",
  "data": {
    "usage": 0,
    "limit": 0,
    "expand": 0
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenonenone
» msgstringfalsenonenone
» request_idstringfalsenonenone
» dataobjectfalsenonenone
»» usageintegertruenonenone
»» limitintegertruenonenone
»» expandintegertruenonenone

GET 所有产品类型的代理账户配额

GET /ep/whitelist-account/quotas

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none

返回示例

200 Response

{
  "code": 0,
  "msg": "string",
  "request_id": "string",
  "data": {
    "list": [
      {
        "product_type": 0,
        "limit": 0,
        "usage": 0
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenonenone
» msgstringfalsenonenone
» request_idstringfalsenonenone
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» product_typeintegerfalsenonenone
»»» limitintegerfalsenonenone
»»» usageintegerfalsenonenone

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
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» accountbodystring是代理账户名
» passwordbodystring否新密码,6-16 位数字或字母;不传则不修改
» remarkbodystring否新备注
» limitbodyinteger否流量上限,单位 GB,0 表示不限制
» daily_limitbodyinteger否每日流量上限,单位 GB,0 表示不限制
» statusbodyinteger否启用状态
» udpbodyinteger否UDP 支持开关,仅对套餐类型 14、16、21、25 生效

枚举值

属性值
» status0
» status1
» udp0
» udp1

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功
» msgstringfalsenone状态消息
» datanullfalsenonenone

GET 生成代理连接信息

GET /ep/whitelist-account/format

支持个人和团队 API Key。仅返回当前资源空间内有权访问的代理账号,支持套餐类型 9、11、12。JSON/XML 返回结构化账密列表;txt/csv 返回按 f 格式拼接的连接串。

请求参数

名称位置类型必选说明
acqueryinteger是代理账号 ID 或用户名;兼容参数 account
aequerystring否none
stquerystring否none
ctquerystring否none
lfqueryinteger否none
nqueryinteger否none
fqueryinteger否仅影响 txt/csv 的连接串格式
typequerystring否none
lbquerystring否none
epquerystring否none
team_idqueryResourceSpaceId否none

枚举值

属性值
f1
f2
f3
f4
f5
typejson
typexml
typetxt
typecsv

返回示例

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>

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。WebV1SuccessResponse

IP白名单

GET IP 白名单列表

GET /ep/proxy-ip/list

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串
product_typequeryinteger否套餐类型编号

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "ip": "1.1.1.1",
        "remark": "string",
        "product_type": 0,
        "created_at": "string"
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功
» msgstringfalsenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» ipstringfalsenone白名单 IP
»»» remarkstringfalsenone备注
»»» product_typeintegerfalsenone套餐类型
»»» created_atstringfalsenone创建时间

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
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» ipsbodystring是需要添加的白名单 IP,多个用英文逗号或换行分隔
» remarkbodystring否备注
» product_typebodyinteger否套餐类型编号
» user_product_idbodyinteger否用户套餐 ID,套餐类型为 11 时必填

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功
» msgstringfalsenone状态消息
» datanullfalsenonenone

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"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» app_keybodystring否授权密钥
» ipsbodystring是需要删除的白名单 IP,多个用英文逗号分隔
» verify_typebodystring否验证类型:phone、email、wechat、totp
» verify_codebodystring否验证码

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功
» msgstringfalsenone状态消息
» datanullfalsenonenone

POST 修改 IP 白名单备注

POST /ep/white-ip/change-remark

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "ip": "192.168.0.1",
  "remark": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» ipbodystring(ipv4)是none
» remarkbodystring是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 刷新当前资源空间 IP 白名单认证缓存

POST /ep/white-ip/refresh

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

GET 指定产品类型的 IP 白名单配额

GET /ep/white-ip/quota

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
product_typequeryinteger是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

GET 所有产品类型的 IP 白名单配额

GET /ep/white-ip/quotas

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

IP提取

GET IP 提取数量按天统计

GET /ep/user-extract-ip/days

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_datequerystring(date)否默认 6 天前
end_datequerystring(date)否默认今天
product_typequeryinteger否none

枚举值

属性值
product_type9
product_type17
product_type22

返回示例

200 Response

{
  "code": 0,
  "msg": "string",
  "request_id": "string",
  "data": {
    "list": [
      {
        "count": 0,
        "date": "2019-08-24"
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenonenone
» msgstringfalsenonenone
» request_idstringfalsenonenone
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» countintegertruenonenone
»»» datestring(date)truenonenone

GET 提取IP

GET /ep/ip/v3

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否团队 Key 可省略;传入时必须与 Key 绑定团队一致
app_keyquerystring(password)是访问密钥
ccquerystring否国家或地区
statequerystring否省或州
cityquerystring否城市
formatquerystring否获取格式
lbquerystring否间隔符,仅text格式有效
numquerynumber否提取数量
lifequerynumber否保持周期-分钟
epquerystring否代理网络

枚举值

属性值
epus
ephk
epde

返回示例

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"
      ]
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[any]falsenonenone

GET 动态地区城市列表V4

GET /ep/ip/dcl4

按用户名获取城市列表,需要登录认证,且账户必须属于当前用户

请求参数

名称位置类型必选说明
usernamequerystring是代理账户用户名

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "cache": true,
    "list": [
      {
        "City": "Los Angeles",
        "Area": "US",
        "State": "California"
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功
» msgstringfalsenone状态消息
» dataobjectfalsenonenone
»» cachebooleanfalsenone是否来自缓存
»» list[object]falsenonenone
»»» Citystringfalsenone城市
»»» Areastringfalsenone地区
»»» Statestringfalsenone州/省

GET 动态地区州/省列表V4

GET /ep/ip/dsl4

按用户名获取州/省列表,需要登录认证,且账户必须属于当前用户

请求参数

名称位置类型必选说明
usernamequerystring是代理账户用户名

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "cache": true,
    "list": [
      {
        "City": "Los Angeles",
        "Area": "US",
        "State": "California"
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功
» msgstringfalsenone状态消息
» dataobjectfalsenonenone
»» cachebooleanfalsenone是否来自缓存
»» list[object]falsenonenone
»»» Citystringfalsenone城市
»»» Areastringfalsenone地区
»»» Statestringfalsenone州/省

GET 动态地区州/省城市融合列表V4

GET /ep/ip/dal4

按用户名获取州/省和城市的融合列表,按地区分组。需要登录认证,且账户必须属于当前用户

请求参数

名称位置类型必选说明
usernamequerystring是代理账户用户名

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "cache": true,
    "list": [
      {
        "Area": "US",
        "states": [
          {
            "State": null,
            "cities": null
          }
        ]
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功
» msgstringfalsenone状态消息
» dataobjectfalsenonenone
»» cachebooleanfalsenone是否来自缓存
»» list[object]falsenone地区列表
»»» Areastringfalsenone地区代码
»»» states[object]falsenone州/省列表
»»»» Statestringfalsenone州/省名称
»»»» cities[string]falsenone城市列表

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
          }
        ]
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenone列表
»»» name_zh_cnstringfalsenone国家或地区名称
»»» name_enstringfalsenone国家或地区名称
»»» continent_codestringfalsenone大洲代码
»»» country_codestringfalsenone国家或地区代码
»»» items[object]falsenone省或州
»»»» citystringfalsenone城市名称
»»»» statestringfalsenone省或州名称代码
»»»» continent_codestringfalsenone大洲代码
»»»» country_codestringfalsenone国家或地区代码

GET 城市搜索

GET /ep/ip/dynamic-citys/search

请求参数

名称位置类型必选说明
country_codequerystring是国家或地区代码
statequerystring是州或省代码

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": ["string"]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[string]falsenone列表

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
          }
        ]
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenone列表
»»» name_zh_cnstringfalsenone国家或地区名称
»»» name_enstringfalsenone国家或地区名称
»»» continent_codestringfalsenone大洲代码
»»» country_codestringfalsenone国家或地区代码
»»» items[object]falsenone省或州
»»»» statestringfalsenone省或州名称代码
»»»» continent_codestringfalsenone大洲代码
»»»» country_codestringfalsenone国家或地区代码

GET 州/省搜索

GET /ep/ip/dynamic-states/search

请求参数

名称位置类型必选说明
country_codequerystring是国家或地区代码

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": ["string"]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[string]falsenone列表

POST 获取已分配的数据中心静态 IP 列表

POST /ep/ip/get-datacenter-assign-ip-list

已废弃,推荐使用 /openapi/user-product/datacenter-isp-ip-list。为兼容旧客户端,本接口使用 POST 方法,但筛选参数均从 query 读取。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串;团队 Key 可省略,传入时必须与 Key 一致
areaquerystring否国家/地区代码
statusqueryinteger否0=所有,1=有效,2=过期
trade_noquerystring否订单号
created_atqueryarray[string]否创建时间范围,必须同时传开始和结束时间

枚举值

属性值
status0
status1
status2

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

GET 提取已购买静态IP列表

GET /ep/ip/get-static-ip

请求参数

名称位置类型必选说明
country_codequerystring否国家或地区代码
product_typequerynumber否产品类型, 25:静态住宅IP, 14: 数据中心IP
trade_noquerystring否通过订单号筛选IP
pagequerynumber否页码
sizequerynumber否每页数量
statusquerynumber否状态, 1:有效, 2:无效, 3:即将过期, 4:维护中

枚举值

属性值
product_type14
product_type25
status1 - 2 - 3 - 4

返回示例

200 Response

{}

返回结果

状态码状态码含义说明数据模型
200OKnoneInline

返回数据结构

GET 获取在售地区静态IP数量

GET /ep/ip/static-ip-region

请求参数

名称位置类型必选说明
ispqueryinteger否ISP 筛选,不传则不筛选(站点 1/4/5 除外默认为 1)
asnqueryinteger否是否返回 ASN 分组数据
exclusivequeryinteger否是否按独享库存统计

详细说明

isp: ISP 筛选,不传则不筛选(站点 1/4/5 除外默认为 1)

值描述
0数据中心静态IP(IDC)
1家庭住宅静态IP(ISP)

asn: 是否返回 ASN 分组数据

值描述
0不返回 ASN 分组数据(默认)
1返回 ASN 分组数据

exclusive: 是否按独享库存统计

值描述
0按当前用户/共享组口径统计(默认)
1排除所有已分配IP,仅统计可用库存

枚举值

属性值
isp0
isp1
asn0
asn1
exclusive0
exclusive1

返回示例

200 Response

{
  "code": 200,
  "msg": "请求成功",
  "data": {
    "list": [
      {
        "code": "US",
        "number": 55
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» codestringtruenone国家或地区代码
»»» numberintegertruenone数量

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"
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» codestringtruenone国家或地区代码,ISO 3166-1 alpha-2
»»» numberintegertruenone当前站点可用数据中心 IP 数量
»»» name_zh_cnstringfalsenone国家或地区中文名称
»»» name_enstringfalsenone国家或地区英文名称
»»» square_flagstringfalsenone方形旗帜图片 URL

流量日志查询

POST 近期使用流量按天汇总

POST /ep/user-usage-flow/days

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "days": 7,
  "product_type": 0,
  "username": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» daysbodyinteger否none
» product_typebodyinteger否none
» usernamebodystring否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [
      {
        "days": "2019-08-24",
        "flow": 0
      }
    ],
    "days": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

POST 代理账户历史使用流量

POST /ep/user-usage-flow/username-total

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [
      {
        "username": "string",
        "flow": 0
      }
    ]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

POST 导出代理账户月度使用流量

POST /ep/user-usage-flow/export-csv

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键

返回示例

200 Response

返回结果

状态码状态码含义说明数据模型
200OKGBK 编码 CSV 文件string

GET 套餐流量总量与剩余量

GET /ep/user-usage-flow/flow-total

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
unitquerystring否none

枚举值

属性值
unitKB
unitMB
unitGB
unitTB
unitPB

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "limit": 0,
    "total": 0,
    "remain": 0,
    "unit": "KB",
    "timestamp": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
unitKB
unitMB
unitGB
unitTB
unitPB

GET 每日速率图

GET /ep/user-usage-flow/rate-graph

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
startquerystring(date)否none
endquerystring(date)否none
usernamequerystring否none
user_product_idqueryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [
      {
        "date": "2019-08-24",
        "rate": 0,
        "corrent": 0
      }
    ]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

GET 每日缓存流量统计

GET /ep/user-usage-flow/cache-total

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_timequerystring否none
end_timequerystring否none
product_typequeryinteger否none
usernamequerystring否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [
      {
        "day": "2019-08-24",
        "cache_flow": 0,
        "cache_reduce_flow": 0
      }
    ]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

GET 使用流量按天汇总

GET /ep/user-usage-flow/total

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串
app_keyquerystring(password)是认证密钥
start_timequerystring(Y-m-d H:i:s)否起始时间,可精确到秒。请注意,日志记录有5分钟以内延迟。默认7天以内。
end_timequerystring(Y-m-d H:i:s)否截止时间,可精确到秒。请注意,日志记录有5分钟以内延迟。默认当前时间。
usernamequerystring否子账户名称,默认查询所有账户,可指定子账户。请注意如果您添加了相同名称的子账户,此查询将返回同名代理账户的所有使用记录。
product_typequerynumber否套餐类型

返回示例

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "day": "2022-08-01",
        "flow": 0
      }
    ]
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» daystringfalsenone日期
»»» flowintegerfalsenone消耗流量,单位KB

代理日志

GET 客户端 IP 代理访问统计

GET /ep/http-t-dom/list-v2

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_timequerystring(date)否none
end_timequerystring(date)否none
exportquerystring否none

枚举值

属性值
exportcsv

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKJSON 统计结果;export=csv 时返回 CSV 文件string

GET 客户端 IP 访问占比

GET /ep/http-t-dom/client-ip-proportion

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
start_timequerystring(date)否none
end_timequerystring(date)否none
exportquerystring否none

枚举值

属性值
exportcsv

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKJSON 占比结果;export=csv 时返回 CSV 文件string

月度续费账单

GET 当前月度汇总续费账单

GET /ep/monthly-renewal-bill

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
typecurrent
typenext

POST 检查月度汇总续费订单

POST /ep/monthly-renewal-bill/check

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_ids": [1],
  "user_coupon_id": 1,
  "coupon_sn": "string"
}

请求参数

名称位置类型必选说明
bodybodyMonthlyRenewalRequest是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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
typecurrent
typenext

POST 创建月度汇总续费订单

POST /ep/monthly-renewal-bill/create

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_ids": [1],
  "user_coupon_id": 1,
  "coupon_sn": "string"
}

请求参数

名称位置类型必选说明
bodybodyMonthlyRenewalRequest是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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

GET 月度汇总续费历史账单

GET /ep/monthly-renewal-bill/history

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
trade_noquerystring否none
start_datequerystring(date)否none
end_datequerystring(date)否none
pagequeryinteger否none
sizequeryinteger否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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

发票管理

GET 发票抬头详情

GET /ep/user-invoice/info

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
invoice_codequerystring否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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

枚举值

属性值
role_type1
role_type2
invoice_type0
invoice_type1
invoice_type2

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
}

请求参数

名称位置类型必选说明
bodybodyany是none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功,data 为 nullInline

返回数据结构

GET 发票抬头列表

GET /ep/user-invoice/list

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
role_type1
role_type2
invoice_type0
invoice_type1
invoice_type2

POST 删除发票抬头

POST /ep/user-invoice/delete

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "invoice_code": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» invoice_codebodystring是none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功,data 为 nullInline

返回数据结构

GET 开票记录列表

GET /ep/user-invoice/record-list

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
statusqueryinteger否none

枚举值

属性值
status0
status1
status2
status3
status4

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
role_type1
role_type2
invoice_type0
invoice_type1
invoice_type2

POST 提交开票申请

POST /ep/user-invoice/submit

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "invoice_code": "string",
  "order_ids": [0]
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» invoice_codebodystring是none
» order_idsbody[integer]是none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "invoice_id": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

POST 取消开票申请

POST /ep/user-invoice/cancel

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "invoice_id": 1,
  "reason": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» invoice_idbodyinteger是none
» reasonbodystring否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功,data 为 nullInline

返回数据结构

GET 开票金额统计

GET /ep/user-invoice/statistics

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "invoiceable_amount": 0,
    "invoiced_amount": 0,
    "processing_amount": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

GET 可开票订单列表

GET /ep/user-invoice/invoiceable-orders

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [
      {
        "id": 1,
        "order_no": "string",
        "pay_fee": 0,
        "created_at": 0
      }
    ]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

套餐查询

GET 已购套餐列表

GET /ep/user-product/list

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串
app_keyquerystring(password)是认证密钥
trade_noquerystring否订单号,请输入完整订单号。不支持模糊搜索。
pagequerynumber否分页,默认:1
sizequerynumber否分页显示数量,默认:20
product_typequerynumber否套餐类型

返回示例

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
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegertruenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringtruenone状态消息
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» idintegerfalsenone套餐编号
»»» created_atstringfalsenone套餐生效时间
»»» expired_atstringfalsenone套餐过期时间,过期后流量无法使用。
»»» product_typeproductTypesfalsenone套餐类型,9 动态住宅流量套餐、11 动态住宅IP、14静态数据中心IP、25 静态住宅IP
»»» trade_nostringfalsenone订单交易号
»»» orderobjectfalsenonenone
»»»» created_atstringfalsenone订单创建时间
»»»» pay_atstringfalsenone订单支付时间
»»»» titlestringfalsenone订单描述
»» pageintegertruenone当前分页
»» page_sizeintegerfalsenone分页大小
»» total_countintegerfalsenone总记录数量
»» total_pageintegerfalsenone总分页数量

枚举值

属性值
product_type9
product_type11
product_type14
product_type25

GET 用户套餐数据汇总

GET /ep/user-product/summary

获取用户套餐的统计汇总信息,包括总量、有效量、临期量、过期量等

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串
app_keyquerystring(password)是认证密钥
product_typequeryinteger否产品类型,仅支持 9(动态流量套餐)、12(长效IDC流量套餐)

枚举值

属性值
product_type9
product_type12

返回示例

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
  }
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

状态码 200

名称类型必选约束中文名说明
» codeintegerfalsenone状态码,200 成功、3 app_key 无效、156 账户未实名认证
» msgstringfalsenone状态消息
» dataobjectfalsenonenone
»» totalintegerfalsenone流量/IP总量(单位:KB)
»» total_countintegerfalsenone套餐总个数
»» effectiveintegerfalsenone有效剩余量(单位:KB)
»» effective_countintegerfalsenone有效套餐个数
»» effective_totalintegerfalsenone有效总量(单位:KB)
»» effective_usedintegerfalsenone有效已使用量(单位:KB)
»» temporaryintegerfalsenone临期总量(7天内到期,单位:KB)
»» temporary_countintegerfalsenone临期套餐个数(7天内到期)
»» expiredintegerfalsenone过期剩余量(单位:KB)
»» expired_countintegerfalsenone过期套餐个数
»» usedintegerfalsenone已使用总量(单位: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"
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» statusbodyinteger否none
» pagebodyinteger否none
» sizebodyinteger否none
» user_product_idbodyinteger否none
» country_codebodystring否none
» product_typebodyinteger否none
» ipbodystring(ipv4)否none
» auto_renewalbodyinteger否none
» support_renewalbodyinteger否none
» remaining_daysbodyinteger否none
» limit_daysbodyinteger否none
» sortbodystring否none
» remarkbodystring否none

枚举值

属性值
» auto_renewal0
» auto_renewal1
» support_renewal0
» support_renewal1
» sortexp_asc
» sortexp_desc

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 删除已过期套餐

POST /ep/user-product/delete

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» idbodyinteger是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 批量删除已过期套餐

POST /ep/user-product/batch-delete

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "ids": [1]
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» idsbody[integer]是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 修改套餐备注

POST /ep/user-product/change-remark

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1,
  "remark": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» idbodyinteger是none
» remarkbodystring是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 批量设置静态 IP UDP 开关

POST /ep/user-product/set-ip-udp

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "ids": [1],
  "udp": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» idsbody[integer]是none
» udpbodyinteger是none

枚举值

属性值
» udp0
» udp1

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

套餐管理

POST 更换数据中心 ISP 静态 IP

POST /ep/user-product/change-datacenter-isp-ip

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1,
  "country_code": "string",
  "ip": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» idbodyinteger是用户套餐 ID
» country_codebodystring否目标国家/地区代码;不传时优先沿用当前 IP 国家/地区
» ipbodystring否目标 IP 前缀筛选

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "ip_id": 1,
    "ip": "string",
    "country_code": "string"
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

GET 获取静态 IP 更换记录

GET /ep/user-product/ip-change-log

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否资源空间标识;个人空间省略或传空字符串
pagequeryinteger否none
page_sizequeryinteger否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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

POST 设置单个套餐的自动续费开关

POST /ep/user-product/set-auto-renewal

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_id": 1,
  "status": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» user_product_idbodyinteger是none
» statusbodyinteger否0=停用,1=启用

枚举值

属性值
» status0
» status1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "id": 1
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

POST 批量设置套餐自动续费开关

POST /ep/user-product/batch-set-auto-renewal

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_ids": [1],
  "status": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» user_product_idsbody[integer]是none
» statusbodyinteger否0=停用,1=启用

枚举值

属性值
» status0
» status1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "results": [
      {
        "user_product_id": 1,
        "success": true,
        "id": 1
      }
    ]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功;每个套餐独立返回处理结果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
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» product_typebodyinteger是none
» days_before_expirebodyinteger否none
» traffic_thresholdbodyinteger否单位 GB,仅 9/12/24 支持
» renewal_cycle_daysbodyinteger否仅 11/14/16/25 支持,且必须是当前在售产品周期
»anonymousbodyobject否none
»anonymousbodyobject否none
»anonymousbodyobject否none

枚举值

属性值
» product_type9
» product_type11
» product_type12
» product_type14
» product_type16
» product_type24
» product_type25

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功,data 为 nullInline

返回数据结构

POST 获取产品类型的默认自动续费参数

POST /ep/user-product/get-auto-renewal-default-config

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "product_type": 9
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» product_typebodyinteger否不传则返回全部支持类型

枚举值

属性值
» product_type9
» product_type11
» product_type12
» product_type14
» product_type16
» product_type24
» product_type25

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
product_type9
product_type11
product_type12
product_type14
product_type16
product_type24
product_type25
sourceuser
sourcesystem
sourceuser
sourcesystem
traffic_sourceuser
traffic_sourcesystem

POST 获取单个套餐自动续费配置和续费预览

POST /ep/user-product/get-auto-renewal

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» user_product_idbodyinteger是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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
time_unitday
time_unithour
status0
status1

POST 获取自动续费执行记录

POST /ep/user-product/auto-renewal-logs

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_id": 1,
  "page": 1,
  "size": 20
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» user_product_idbodyinteger否不传则查询当前空间全部记录
» pagebodyinteger否none
» sizebodyinteger否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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

枚举值

属性值
trigger_type0
trigger_type1
status1
status2
status3

订单管理

GET 订单列表

GET /ep/order/list

团队空间订单额外返回 creator,表示实际下单成员;管理员和超级管理员可见完整联系方式,其他角色返回脱敏联系方式。

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否订单资源空间标识;个人空间省略或传空字符串
page_noqueryinteger否none
page_sizequeryinteger否none
trade_noquerystring否订单编号
start_timequerystring(date-time)否开始时间(包含),如 2024-01-01 00:00:00
end_timequerystring(date-time)否结束时间(不包含)
statusqueryinteger否订单状态
product_typequeryinteger否产品类型
invoicequeryinteger否发票状态:0不限制 1已开发票 -1未开发票(可补开)
pay_fee_statusqueryinteger否长短款筛选:1超额支付 2短款支付

详细说明

status: 订单状态

状态描述
0待支付
1已支付
2超时未支付已取消
3已退款

product_type: 产品类型

产品类型描述
3余额充值
9动态流量套餐
11动态全球包时套餐V2
12长效IDC流量套餐
13住宅静态IP流量套餐
14数据中心静态IP套餐
15长效ISP流量套餐
16静态流量套餐
17动态IP数量套餐
18web-scraper
19静态IP续费
20静态IP更换配额
21静态流量套餐v2
24静态流量附加包套餐
25住宅静态IP套餐
26补单 - 部分支付渠道需要用户手动填写金额,如:虚拟币,若发生短款,需要联系客服通过此种产品进行补支付
27Serp
28Video

枚举值

属性值
status0
status1
status2
status3
product_type3
product_type9
product_type11
product_type12
product_type14
product_type16
product_type17
product_type18
product_type19
product_type21
product_type24
product_type25
product_type26
product_type27
product_type28
invoice-1
invoice0
invoice1
pay_fee_status1
pay_fee_status2

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OK成功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
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» pidbodyinteger是套餐ID,来自 /openapi/product 接口返回的 id 字段
» upidsbodystring否续费套餐ID列表(逗号分隔),来自 /openapi/user-product/list 或 /openapi/ip/get-static-ip 接口返回的 id 字段
» amountbodynumber否新购套餐数量
» pm_idbodyinteger是支付方式ID,来自 /openapi/payment/list 或 /openapi/payment/groups 接口返回的 id 字段
» region_listbodystring否购买静态IP时指定区域+数量+ASN编号,格式:地区,数量,ASN
» coupon_snbodystring否优惠券编号
» use_invitation_registration_discountbodyboolean否是否使用邀请注册优惠
» renew_durationbodyinteger否续费时长-静态IP可选
» product_sku_bandwidth_idbodyinteger否套餐11:带宽套餐ID
» product_sku_concurrency_idbodyinteger否套餐11:并发套餐ID
» product_sku_duration_idbodyinteger否套餐type=11必填:时长规格ID
» etdbodyinteger否时长倍数,从套餐 extension_of_time_days 获取,2代表天数×2,价格上浮
» recharge_amountbodyinteger否套餐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"
}

返回结果

状态码状态码含义说明数据模型
200OK创建成功Inline

返回数据结构

POST 取消订单

POST /ep/order/close

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "trade_no": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» trade_nobodystring是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

GET 订单详情

GET /ep/order/info

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
trade_noquerystring是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请继续判断响应体 codeInline

返回数据结构

GET 订单详情 V2

GET /ep/order/info-v2

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
order_idquerystring是客户端加密后的订单 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;订单已支付或已取消时可能以业务错误 code 携带订单数据Inline

返回数据结构

POST 历史订单补开发票

POST /ep/order/reissue-invoice

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "trade_no_list": ["string"]
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» trade_no_listbody[string]是none

返回结果

状态码状态码含义说明数据模型
200OK操作成功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
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» pidbodyinteger是套餐ID
» upidsbodystring否IP续费:用户套餐ID列表,逗号分隔
» amountbodyinteger否购买数量
» pm_idbodyinteger是支付方式ID
» region_listbodystring否静态IP购买地区+数量,格式:地区ID,数量
» coupon_snbodystring否优惠券编号
» renew_durationbodystring否IP续费时长:1m=1个月,2m=2个月,em=下个月月底
» product_sku_bandwidth_idbodyinteger否套餐type=11必填:带宽规格ID
» product_sku_concurrency_idbodyinteger否套餐type=11必填:并发规格ID
» product_sku_duration_idbodyinteger否套餐type=11必填:时长规格ID
» etdbodyinteger否时长倍数,从套餐 extension_of_time_days 获取
» recharge_amountbodynumber否套餐type=3必填:充值金额

枚举值

属性值
» renew_duration1m
» renew_duration2m
» renew_durationem

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OK预检成功Inline

返回数据结构

支付管理

POST 拉起订单支付

POST /ep/pay

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
trade_noquerystring是none
pm_idqueryinteger否none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 后台开单未支付订单拉起支付

POST /ep/pay/index-choose

Body 请求参数

{
  "team_id": "A1b2C3d4E5f6",
  "trade_no": "string",
  "pay_method": 0,
  "pm_id": 0,
  "trade_type": "string"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» team_idbodyany否公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
»»anonymousbodystring否none
»»anonymousbodyTeamPublicId否团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
» trade_nobodystring是none
» pay_methodbodyinteger否none
» pm_idbodyinteger否none
» trade_typebodystring否none

返回结果

状态码状态码含义说明数据模型
200OK操作成功None

POST 支付校验和费用预览

POST /ep/pay/pay-check

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
trade_noquerystring是none
pm_idqueryinteger否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"
}

返回结果

状态码状态码含义说明数据模型
200OK请求成功Inline

返回数据结构

GET 直接渲染 Web 支付页

GET /ep/pay/web-direct-pay

请求参数

名称位置类型必选说明
team_idqueryResourceSpaceId否none
trade_noquerystring是none
pm_idqueryinteger否none

返回示例

200 Response

"string"

返回结果

状态码状态码含义说明数据模型
200OKHTML 支付页string

GET 获取支付方式列表

GET /ep/payment/list

请求参数

名称位置类型必选说明
trade_noquerystring否订单号 - 部分订单需要获取特定支付方式时可传入
currencyquerystring否货币单位

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OK获取成功Inline

返回数据结构

GET 获取支付方式列表

GET /ep/payment/groups

请求参数

名称位置类型必选说明
trade_noquerystring否订单号 - 部分订单需要获取特定支付方式时可传入

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [
      {
        "name": "string",
        "logos": [null],
        "items": [null]
      }
    ]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK获取成功Inline

返回数据结构

营销

GET 充值赠金比例

GET /ep/activity/balance-recharge-gift-ratio

充值赠金比例

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [null]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKOKInline

返回数据结构

产品

GET 产品列表

GET /ep/product

获取当前站点可购买的套餐列表,支持按类型、有效期等条件筛选。

请求参数

名称位置类型必选说明
typequeryinteger否套餐类型,见 Product.type 枚举说明。不传则返回所有类型。
parent_product_typequeryinteger否父套餐类型,仅 type=19(IP续费)时有效,用于筛选产品线:14=数据中心 25=住宅
time_daysqueryany否有效期天数筛选,支持单值或数组,如 30 / [30,90,365]
show_typequeryany否展示类型筛选,支持单值或数组

详细说明

type: 套餐类型,见 Product.type 枚举说明。不传则返回所有类型。

枚举值

属性值
parent_product_type14
parent_product_type25

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKOKInline

返回数据结构

账户管理

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

GET 查询个人余额流水

GET /ep/wallet/change-list

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

请求参数

名称位置类型必选说明
re_typequeryinteger否none
transaction_typequeryinteger否none
balance_typequeryinteger否none
pagequeryinteger否none
page_sizequeryinteger否none

枚举值

属性值
re_type0
re_type1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "page": 0,
    "page_size": 0,
    "total_count": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 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"
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» start_timebodyinteger是开始 Unix 时间戳,秒
» end_timebodyinteger是结束 Unix 时间戳,秒
» typebodystring否none

枚举值

属性值
» typedynamic
» typehost_pool

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "task_id": 0,
    "status": "string"
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

GET 查询日志导出任务详情

GET /ep/user-usage-flow-log-export/detail

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

请求参数

名称位置类型必选说明
task_idqueryinteger是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

枚举值

属性值
statuspending
statusprocessing
statuscompleted
statusfailed
statuscanceled
statusno_data

GET 查询日志导出任务列表

GET /ep/user-usage-flow-log-export/list

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

请求参数

名称位置类型必选说明
pagequeryinteger否none
sizequeryinteger否none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "total": 0,
    "page": 0,
    "size": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

枚举值

属性值
statuspending
statusprocessing
statuscompleted
statusfailed
statuscanceled
statusno_data

POST 取消尚未执行的日志导出任务

POST /ep/user-usage-flow-log-export/cancel

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。 仅能取消队列中处于等待状态的任务,已经执行的任务无法取消。

Body 请求参数

{
  "task_id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» task_idbodyinteger是none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

优惠券

POST 查询个人优惠券列表

POST /ep/user-coupon/list

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

Body 请求参数

{
  "status": 0,
  "page": 1,
  "size": 20
}

请求参数

名称位置类型必选说明
bodybodyobject否none
» statusbodyinteger否none
» pagebodyinteger否none
» sizebodyinteger否none

枚举值

属性值
» status0
» status1
» status2

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}],
    "page": 0,
    "page_size": 0,
    "page_count": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

POST 查询个人优惠券详情

POST /ep/user-coupon/info

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

Body 请求参数

{
  "id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» idbodyinteger是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

通知管理

GET 查询站内通知

GET /ep/notify/list

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

请求参数

名称位置类型必选说明
pagequeryinteger否none
sizequeryinteger否none
readqueryinteger否none
typequeryinteger否none

枚举值

属性值
read0
read1

返回示例

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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

枚举值

属性值
read_status0
read_status1

GET 查询站内通知详情

GET /ep/notify/detail

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

请求参数

名称位置类型必选说明
idqueryinteger是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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

枚举值

属性值
read_status0
read_status1

POST 将站内通知标记为已读

POST /ep/notify/read

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

Body 请求参数

{
  "id": 1
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» idbodyinteger是none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

POST 批量标记站内通知为已读

POST /ep/notify/batch-read

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

Body 请求参数

{
  "ids": [1]
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» idsbody[integer]是none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

GET 查询通知渠道配置

GET /ep/user-notify

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "list": [{}]
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

GET 查询邮箱订阅场景

GET /ep/user-notification-email/email-scenes

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

请求参数

名称位置类型必选说明
idqueryinteger是none

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "scenes": [0],
    "subscribe_all": true
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

枚举值

属性值
status0
status1

POST 设置个人代理缓存开关

POST /ep/proxy-cache/change

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

Body 请求参数

{
  "status": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» statusbodyinteger是none

枚举值

属性值
» status0
» status1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": null,
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 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"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

枚举值

属性值
enabled0
enabled1

POST 设置个人代理 UDP 开关

POST /ep/user-proxy-config/udp

仅支持个人空间的登录态或个人 API Key;团队 API Key 不支持。

Body 请求参数

{
  "udp": 0
}

请求参数

名称位置类型必选说明
bodybodyobject是none
» udpbodyinteger是none

枚举值

属性值
» udp0
» udp1

返回示例

200 Response

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "enabled": 0
  },
  "request_id": "string"
}

返回结果

状态码状态码含义说明数据模型
200OKHTTP 成功;请检查业务 code,200 为成功。Inline

返回数据结构

枚举值

属性值
enabled0
enabled1

数据模型

ApiKeyManageRequest

{
  "team_id": "A1b2C3d4E5f6",
  "id": 1
}

属性

名称类型必选约束中文名说明
team_idResourceSpaceIdfalsenone公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
idintegertruenoneAPI Key ID

OpenApiAccountProfile

{
  "id": 0,
  "username": "string",
  "nickname": "string",
  "email": "string",
  "balance": "string",
  "gift_balance": "string",
  "currency": "string",
  "language": "string",
  "timezone": "string"
}

属性

名称类型必选约束中文名说明
idintegertruenone用户 ID
usernamestringtruenone用户名
nicknamestringtruenone昵称
emailstringtruenone绑定邮箱
balancestringtruenone充值余额,十进制字符串
gift_balancestringtruenone当前赠送余额,十进制字符串
currencystringtruenone站点币种
languagestringtruenone用户语言,未配置时使用站点语言
timezonestringtruenone用户时区,未配置时使用站点时区

OpenApiBalanceRecord

{
  "id": 0,
  "re_type": 0,
  "transaction_type": 0,
  "balance_type": 0,
  "fee": "string"
}

属性

名称类型必选约束中文名说明
idintegerfalsenone数据库数值可能序列化为字符串
re_typeintegerfalsenone0 支出,1 收入
transaction_typeintegerfalsenone交易类型
balance_typeintegerfalsenone余额类型
feestringfalsenone变动金额,站点币种

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"
}

属性

名称类型必选约束中文名说明
idintegerfalsenone数据库数值可能序列化为字符串
user_idintegerfalsenone详情接口返回
start_timestringfalsenoneY-m-d H:i:s;非 RFC 3339 日期
end_timestringfalsenoneY-m-d H:i:s;非 RFC 3339 日期
statusstringfalsenonenone
file_sizeinteger¦nullfalsenonenone
record_countinteger¦nullfalsenonenone
created_atstringfalsenoneY-m-d H:i:s;非 RFC 3339 日期
completed_atstringfalsenoneY-m-d H:i:s;非 RFC 3339 日期
file_urlstringfalsenone完成后详情接口返回
download_urlstringfalsenone完成后返回,有效期 24 小时的签名下载地址
error_messagestringfalsenone失败时详情接口可能返回

枚举值

属性值
statuspending
statusprocessing
statuscompleted
statusfailed
statuscanceled
statusno_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
}

属性

名称类型必选约束中文名说明
idintegerfalsenone数据库数值可能序列化为字符串
coupon_idintegerfalsenone数据库数值可能序列化为字符串
typeintegerfalsenone数据库数值可能序列化为字符串
statusintegerfalsenone数据库数值可能序列化为字符串
sourceintegerfalsenone数据库数值可能序列化为字符串
titlestringfalsenonenone
title_enstringfalsenonenone
descriptionstringfalsenonenone
description_enstringfalsenonenone
start_amountstring¦nullfalsenonenone
start_amount_usdstring¦nullfalsenonenone
start_amount_hkdstring¦nullfalsenonenone
deduction_amountstring¦nullfalsenonenone
deduction_amount_usdstring¦nullfalsenonenone
deduction_amount_hkdstring¦nullfalsenonenone
discount_ratestring¦nullfalsenonenone
discount_ceiling_amountstring¦nullfalsenonenone
discount_ceiling_amount_usdstring¦nullfalsenonenone
discount_ceiling_amount_hkdstring¦nullfalsenonenone
created_atstring¦nullfalsenoneY-m-d H:i:s
effect_atstring¦nullfalsenoneY-m-d H:i:s
expired_atstring¦nullfalsenoneY-m-d H:i:s
used_atstring¦nullfalsenoneY-m-d H:i:s
product_typesstring¦nullfalsenone适用套餐类型
created_timestampinteger¦nullfalsenonenone
effect_timestampinteger¦nullfalsenonenone
expired_timestampinteger¦nullfalsenonenone
used_timestampinteger¦nullfalsenonenone
is_expiredbooleanfalsenone列表接口返回

OpenApiNotification

{
  "id": 0,
  "title": "string",
  "content": "string",
  "type": 0,
  "read_status": 0,
  "created_at": "string",
  "created_timestamp": 0
}

属性

名称类型必选约束中文名说明
idintegerfalsenone数据库数值可能序列化为字符串
titlestringfalsenonenone
contentstringfalsenone按请求语言渲染的内容
typeintegerfalsenone数据库数值可能序列化为字符串
read_statusintegerfalsenonenone
created_atstringfalsenoneY-m-d H:i:s;非 RFC 3339 日期
created_timestampintegerfalsenonenone

枚举值

属性值
read_status0
read_status1

productTypes

9

套餐类型,9 动态住宅流量套餐、11 动态住宅IP、14静态数据中心IP、25 静态住宅IP

属性

名称类型必选约束中文名说明
anonymousintegerfalsenone套餐类型,9 动态住宅流量套餐、11 动态住宅IP、14静态数据中心IP、25 静态住宅IP

枚举值

属性值
anonymous9
anonymous11
anonymous14
anonymous25

apiKey

"pa$$word"

API Key;使用 apiKeyAuth 或操作声明的请求参数传递

属性

名称类型必选约束中文名说明
anonymousstring(password)falsenoneAPI Key;使用 apiKeyAuth 或操作声明的请求参数传递

responseCode

200

状态码,200 成功、3 app_key 无效

属性

名称类型必选约束中文名说明
anonymousintegerfalsenone状态码,200 成功、3 app_key 无效

responseMsg

"success"

response message

属性

名称类型必选约束中文名说明
anonymousstringfalsenoneresponse 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"
}

属性

名称类型必选约束中文名说明
codeintegertruenonenone
msgstringtruenonenone
dataobject¦nulltruenone业务数据,具体类型由接口定义
request_idstringtruenone请求链路追踪 ID

WebV1ErrorResponse

{
  "code": 2,
  "msg": "parameter error",
  "data": {},
  "request_id": "string"
}

属性

名称类型必选约束中文名说明
codeintegertruenone业务错误码

not

名称类型必选约束中文名说明
»anonymousanyfalsenonenone

continued

名称类型必选约束中文名说明
msgstringtruenone错误描述
dataobject¦nulltruenone错误附加数据,无附加数据时为 null
request_idstringtruenone请求链路追踪 ID

TeamPublicId

"A1b2C3d4E5f6"

团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键

属性

名称类型必选约束中文名说明
anonymousstringfalsenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键

ResourceSpaceId

"A1b2C3d4E5f6"

公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识

属性

oneOf

名称类型必选约束中文名说明
anonymousstringfalsenonenone

xor

名称类型必选约束中文名说明
anonymousTeamPublicIdfalsenone团队公开标识,首字符为 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"
}

属性

名称类型必选约束中文名说明
idTeamPublicIdtruenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
namestringtruenone团队名称
super_admin_user_idintegertruenone超级管理员用户 ID
statusintegertruenone团队状态:0=禁用,1=有效,2=解散中,3=已解散
current_roleinteger¦nulltruenone当前用户在团队中的角色;无法确定时为 null
dissolving_atstring¦nulltruenone开始解散时间
dissolved_atstring¦nulltruenone解散完成时间
created_atstringtruenone创建时间
updated_atstringtruenone更新时间

枚举值

属性值
status0
status1
status2
status3
current_role1
current_role2
current_role3
current_role4
current_rolenull

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
}

属性

名称类型必选约束中文名说明
idintegertruenone用户套餐 ID
user_idintegertruenone资源所有人用户 ID
team_idResourceSpaceIdtruenone公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
team_user_idintegertruenone实际创建成员用户 ID
product_idintegertruenone产品 ID
product_typeintegertruenone产品类型
parent_product_typeintegertruenone父产品类型
statusintegertruenone套餐状态
total_amountinteger(int64)truenone总量
remaininteger(int64)truenone剩余量
bandwidthintegerfalsenone带宽(Mbps);仅 product_type=19 或 11 返回
concurrencyintegerfalsenone并发数;仅 product_type=11 返回
expired_atstring¦nulltruenone过期时间
created_atstringtruenone创建时间
ipstringfalsenone静态 IP 地址;仅 product_type=19 返回
country_codestringfalsenone静态 IP 国家代码;仅 product_type=19 返回
country_namestringfalsenone静态 IP 国家名称;仅 product_type=19 返回
asnstringfalsenone静态 IP ASN;仅 product_type=19 返回
portintegerfalsenone静态 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_idTeamPublicIdtruenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
product_types[integer]truenone团队资源空间未取消、未软删除且当前站点支持的套餐类型
product_residence_remain_countinteger(int64)falsenone类型 9 剩余流量
product_residence_total_countinteger(int64)falsenone类型 9 总流量
pdrue2_timestampinteger(int64)falsenone类型 11 最晚过期时间戳;无团队套餐时为 0
remainintegerfalsenone类型 17 剩余数量
total_amountintegerfalsenone类型 17 总数量
scraping_remaininteger(int64)falsenone类型 18 剩余次数
scraping_total_amountinteger(int64)falsenone类型 18 总次数
scraping_timestampstringfalsenone类型 18 最晚过期时间;无套餐时为 "-"
scraping_timestamp2integer(int64)falsenone类型 18 最晚过期时间戳
common_scraping_remaininteger(int64)falsenone类型 29 剩余次数
common_scraping_total_amountinteger(int64)falsenone类型 29 总次数
common_scraping_timestampstringfalsenone类型 29 最晚过期时间;无套餐时为 "-"
common_scraping_timestamp2integer(int64)falsenone类型 29 最晚过期时间戳
pdidcr_countintegerfalsenone类型 12 有效套餐数量
pdidcr_totalintegerfalsenone类型 12 套餐总数
pdidcr_traffic_remaininteger(int64)falsenone类型 12 剩余流量
pdidcr_traffic_totalinteger(int64)falsenone类型 12 总流量
p_sitai_ip_countintegerfalsenone类型 13 有效 IP 数量
p_sitai_ipintegerfalsenone类型 13 有效套餐数量
p_sitai_ip_totalintegerfalsenone类型 13 套餐总数
p_sitai_remaininteger(int64)falsenone类型 13/24 剩余流量
p_sitai_totalinteger(int64)falsenone类型 13/24 总流量
pdidc_countintegerfalsenone类型 14 有效套餐数量
pdidc_totalintegerfalsenone类型 14 套餐总数
pdidc_ip_countintegerfalsenone类型 14 有效 IP 数量
pdidc_ip_all_countintegerfalsenone类型 14 IP 总数
pdispr_countintegerfalsenone类型 15 有效套餐数量
pdispr_totalintegerfalsenone类型 15 套餐总数
pdispr_traffic_remaininteger(int64)falsenone类型 15 剩余流量
pdispr_traffic_totalinteger(int64)falsenone类型 15 总流量
product_datacenter_isp_traffic_ip_countintegerfalsenone类型 16 有效 IP 数量
product_datacenter_isp_traffc_ipintegerfalsenone类型 16 有效套餐数量;历史兼容拼写
product_datacenter_isp_traffc_ip_totalintegerfalsenone类型 16 套餐总数;历史兼容拼写
product_datacenter_isp_traffic_ipintegerfalsenone类型 16 有效套餐数量
product_datacenter_isp_traffic_ip_totalintegerfalsenone类型 16 套餐总数
product_datacenter_isp_traffc_remaininteger(int64)falsenone类型 16/24 剩余流量;历史兼容拼写
product_datacenter_isp_traffc_totalinteger(int64)falsenone类型 16/24 总流量;历史兼容拼写
product_datacenter_isp_traffic_remaininteger(int64)falsenone类型 16/24 剩余流量
product_datacenter_isp_traffic_totalinteger(int64)falsenone类型 16/24 总流量
product_datacenter_isp_ipintegerfalsenone类型 21 或 25 有效套餐数量
product_datacenter_isp_ip_totalintegerfalsenone类型 21 或 25 套餐总数
product_datacenter_isp_ip_countintegerfalsenone类型 21 或 25 有效 IP 数量
product_datacenter_isp_ip_all_countintegerfalsenone类型 21 或 25 IP 总数
product_datacenter_isp_ip_traffic_remaininteger(int64)falsenone类型 21 对应类型 24 剩余流量
product_datacenter_isp_ip_traffic_totalinteger(int64)falsenone类型 21 对应类型 24 总流量
product_agent_residence_remain_countinteger(int64)falsenone类型 22 剩余流量
product_agent_residence_total_countinteger(int64)falsenone类型 22 总流量
product_serp_remaininteger(int64)falsenone类型 27 剩余次数
product_serp_totalinteger(int64)falsenone类型 27 总次数
product_serp_timestampstringfalsenone类型 27 最晚过期时间;无套餐时为 "-"
product_serp_timestamp2integer(int64)falsenone类型 27 最晚过期时间戳
product_video_remaininteger(int64)falsenone类型 28 剩余流量
product_video_totalinteger(int64)falsenone类型 28 总流量
product_video_timestampstringfalsenone类型 28 最晚过期时间;无套餐时为 "-"
product_video_timestamp2integer(int64)falsenone类型 28 最晚过期时间戳

TeamWallet

{
  "team_id": "A1b2C3d4E5f6",
  "balance": 0.1,
  "total_recharge_fee": 0.1,
  "updated_at": "string"
}

团队钱包,与超级管理员个人余额隔离;金额使用当前站点默认货币,最多 4 位小数。

属性

名称类型必选约束中文名说明
team_idTeamPublicIdtruenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
balancenumber(double)truenone当前可用团队余额
total_recharge_feenumber(double)truenone当前未消费的团队充值本金,不含个人余额转入金额
updated_atstringtruenone钱包最近变更时间

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"
}

属性

名称类型必选约束中文名说明
idintegertruenonenone
team_idTeamPublicIdtruenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
operator_user_idintegertruenone操作人,系统退款为 0
creatorTeamCreatorfalsenonenone
directionintegertruenone0=支出,1=收入
transaction_typeintegertruenone1=充值入账,2=个人余额转入,3=余额消费,4=退款或充值退款扣回,5=转回个人余额
amountnumber(double)truenone本次变动金额,方向由 direction 表示
after_balancenumber(double)truenone变动后的团队钱包余额
link_idintegertruenone关联订单 ID;个人余额转入时为操作用户 ID
request_idstringtruenonenone
remarkstringtruenonenone
created_atstringtruenonenone

枚举值

属性值
direction0
direction1
transaction_type1
transaction_type2
transaction_type3
transaction_type4
transaction_type5

TeamCreator

{
  "user_id": 0,
  "display_name": "string",
  "nickname": "string",
  "username": "string",
  "email": "string",
  "phone": "string"
}

属性

名称类型必选约束中文名说明
user_idintegertruenone操作人用户 ID;系统操作为 0
display_namestringtruenone展示名称,依次取昵称、用户名、邮箱、手机号
nicknamestringtruenonenone
usernamestringtruenonenone
emailstringtruenone非管理员视角为脱敏值
phonestringtruenone非管理员视角为脱敏值

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataTeamfalsenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» list[Team]truenonenone
»» totalintegertruenonenone
»» pageintegertruenonenone
»» page_sizeintegertruenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» list[TeamMember]truenonenone
»» totalintegertruenonenone
»» pageintegertruenonenone
»» page_sizeintegertruenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» list[TeamPerson]truenonenone
»» totalintegertruenonenone
»» pageintegertruenonenone
»» page_sizeintegertruenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataTeamAssetfalsenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataTeamProductInfofalsenone套餐统计字段与 /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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataTeamWalletfalsenone团队钱包,与超级管理员个人余额隔离;金额使用当前站点默认货币,最多 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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» list[TeamWalletRecord]truenonenone
»» totalintegertruenonenone
»» pageintegertruenonenone
»» page_sizeintegertruenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» list[TeamAsset]truenonenone
»» totalintegertruenonenone
»» pageintegertruenonenone
»» page_sizeintegertruenonenone

UserApiKeyMetadata

{
  "id": 1,
  "api_key": "string",
  "team_user_id": 0,
  "remark": "string",
  "status": 0,
  "created_at": "string",
  "updated_at": "string"
}

属性

名称类型必选约束中文名说明
idintegertruenoneAPI Key ID
api_keystringtruenone创建响应为完整 Key;团队列表中为脱敏值
team_user_idintegertruenone团队 Key 实际持有成员 ID,个人 Key 为 0
remarkstringtruenone备注
statusintegertruenone0=停用,1=启用
created_atstringtruenone创建时间
updated_atstring¦nullfalsenone更新时间

枚举值

属性值
status0
status1

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_codestringfalsenonenone
namestringfalsenonenone
org_namestringfalsenonenone
first_namestringfalsenonenone
last_namestringfalsenonenone
phonestringfalsenonenone
emailstring(email)falsenonenone
role_typeintegerfalsenonenone
invoice_typeintegerfalsenonenone
vat_idstringfalsenonenone
tax_nostringfalsenonenone
address_countrystringfalsenonenone
address_citystringfalsenonenone
address_line1stringfalsenonenone
address_line2stringfalsenonenone
address_postal_codestringfalsenonenone
bank_namestringfalsenonenone
bank_accountstringfalsenonenone
is_defbooleanfalsenonenone

枚举值

属性值
role_type1
role_type2
invoice_type0
invoice_type1
invoice_type2

MonthlyRenewalRequest

{
  "team_id": "A1b2C3d4E5f6",
  "user_product_ids": [1],
  "user_coupon_id": 1,
  "coupon_sn": "string"
}

属性

名称类型必选约束中文名说明
team_idResourceSpaceIdfalsenone公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
user_product_idsanytruenone用户套餐 ID 数组,也兼容英文逗号分隔字符串

oneOf

名称类型必选约束中文名说明
»anonymous[integer]falsenonenone

xor

名称类型必选约束中文名说明
»anonymousstringfalsenonenone

continued

名称类型必选约束中文名说明
user_coupon_idintegerfalsenonenone
coupon_snstringfalsenonenone

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"
}

属性

名称类型必选约束中文名说明
idintegertruenone邀请 ID
team_idTeamPublicIdtruenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
inviter_user_idintegertruenone邀请人用户 ID
invitee_user_idintegertruenone受邀用户 ID,尚未匹配注册用户时为 0
invite_typeintegertruenone邀请类型:1=已注册用户,2=邮箱,3=手机号
invite_country_codeintegertruenone手机号国家或地区码,非手机号邀请为 0
invite_targetstringtruenone标准化后的邀请目标;已注册用户为 user:{user_id}
delivery_typeintegertruenone原始投递渠道:1=已注册用户,2=邮箱,3=手机号;邮箱或手机号匹配到已注册用户时仍保留原渠道
roleintegertruenone目标角色:2=管理员,3=普通成员
statusintegertruenone邀请状态:0=待处理,1=已接受,2=已拒绝,3=已取消,4=已过期
accepted_by_user_idintegertruenone接受人用户 ID,未接受时为 0
expired_atstringtruenone过期时间,格式 YYYY-MM-DD HH:mm:ss
accepted_atstring¦nulltruenone接受时间
rejected_atstring¦nulltruenone拒绝时间
cancelled_atstring¦nulltruenone取消时间
created_atstringtruenone创建时间,格式 YYYY-MM-DD HH:mm:ss

枚举值

属性值
invite_type1
invite_type2
invite_type3
delivery_type1
delivery_type2
delivery_type3
role2
role3
status0
status1
status2
status3
status4

TeamMember

{
  "team_member_id": 1,
  "team_id": "A1b2C3d4E5f6",
  "user_id": 1,
  "role": 1,
  "status": 0,
  "joined_at": "string",
  "nickname": "string",
  "username": "string"
}

属性

名称类型必选约束中文名说明
team_member_idintegertruenone成员关系 ID
team_idTeamPublicIdtruenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
user_idintegertruenone成员用户 ID
roleintegertruenone角色:1=超级管理员,2=管理员,3=普通成员,4=财务成员
statusintegertruenone成员状态:0=禁用,1=有效,2=已退出,3=已移除
joined_atstring¦nulltruenone加入时间,格式 YYYY-MM-DD HH:mm:ss
nicknamestringtruenone成员昵称
usernamestringtruenone成员用户名

枚举值

属性值
role1
role2
role3
role4
status0
status1
status2
status3

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_typestringtruenone记录类型;member 为有效成员,invitation 为待处理邀请
record_idintegertruenone成员关系 ID 或邀请 ID
team_idTeamPublicIdtruenone团队公开标识,首字符为 ASCII 字母,其余字符仅包含 ASCII 字母和数字;不下发数据库数字主键
user_idintegertruenone用户 ID,未注册受邀用户为 0
inviter_user_idintegertruenone邀请人用户 ID,成员记录为 0
invite_typeintegertruenone邀请类型,成员记录为 0
invite_country_codeintegertruenone手机号国家或地区码,成员记录为 0
invite_targetstringtruenone邀请目标,成员记录为空字符串
delivery_typeintegertruenone原始投递渠道,成员记录为 0
roleintegertruenone角色:1=超级管理员,2=管理员,3=普通成员,4=财务成员
statusintegertruenonemember 固定为 1,invitation 固定为 0
display_namestringtruenone统一展示名称,依次取昵称、用户名、邮箱、手机号;普通成员视角下联系方式使用脱敏值
nicknamestringtruenone成员或已注册受邀用户昵称
usernamestringtruenone成员或已注册受邀用户名
emailstringtruenone邮箱;超级管理员和管理员返回完整值,普通成员返回带星号的脱敏值
phonestringtruenone手机号;超级管理员和管理员返回完整值,普通成员返回带星号的脱敏值
joined_atstring¦nulltruenone成员加入时间,邀请记录为 null
expired_atstring¦nulltruenone邀请过期时间,成员记录为 null
created_atstringtruenone记录创建时间,格式 YYYY-MM-DD HH:mm:ss

枚举值

属性值
record_typemember
record_typeinvitation
invite_type0
invite_type1
invite_type2
invite_type3
delivery_type0
delivery_type1
delivery_type2
delivery_type3
role1
role2
role3
role4
status0
status1

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataTeamInvitationfalsenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataTeamMemberfalsenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» invitationTeamInvitationtruenonenone
»» invitation_tokenstringtruenone明文邀请令牌,仅为兼容既有客户端保留;新客户端直接使用 invitation_url
»» invitation_urlstring(uri)truenone包含邀请令牌的前端处理链接
»» notification_channelsTeamInvitationNotificationChannelstruenonenone

TeamInvitationNotificationChannels

{
  "email": "queued",
  "sms": "queued",
  "site_inner_message": "created"
}

属性

名称类型必选约束中文名说明
emailstringfalsenone邮件渠道结果
smsstringfalsenone短信渠道结果
site_inner_messagestringfalsenone站内信渠道结果

枚举值

属性值
emailqueued
emailfailed
emailskipped
smsqueued
smsfailed
smsskipped
site_inner_messagecreated
site_inner_messageexists
site_inner_messagefailed

TeamInvitationPreviewResponse

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "team_name": "string",
    "role": 2,
    "status": 0,
    "expired_at": "string"
  },
  "request_id": "string"
}

属性

allOf

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» team_namestringtruenone团队名称
»» roleintegertruenone目标角色
»» statusintegertruenone邀请状态
»» expired_atstringtruenone过期时间,格式 YYYY-MM-DD HH:mm:ss

枚举值

属性值
role2
role3
status0
status1
status2
status3
status4

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» invitationTeamInvitationtruenonenone
»» invitation_urlstring(uri)truenone新的邀请处理链接;旧链接已失效
»» notification_channelsTeamInvitationNotificationChannelstruenonenone

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

名称类型必选约束中文名说明
anonymousWebV1SuccessResponsefalsenonenone

and

名称类型必选约束中文名说明
anonymousobjectfalsenonenone
» dataobjectfalsenonenone
»» list[TeamInvitation]truenonenone
»» totalintegertruenone邀请总数
»» pageintegertruenone当前页码
»» page_sizeintegertruenone实际每页数量

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"
}

属性

名称类型必选约束中文名说明
idintegerfalsenonenone
emailstring(email)falsenonenone
phonestringfalsenonenone
balancenumber(float)falsenonenone
statusintegerfalsenonenone
is_real_namebooleanfalsenonenone
created_atstring(date-time)falsenonenone

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"
  }
}

属性

名称类型必选约束中文名说明
idintegerfalsenone订单ID
trade_nostringfalsenone内部订单编号
out_trade_nostringfalsenone外部订单编号
product_idintegerfalsenone套餐ID
product_typeintegerfalsenone套餐类型,见产品类型枚举
amountintegerfalsenone购买数量
unit_pricenumber(float)falsenone单价
total_feenumber(float)falsenone订单总价(不含折扣,含手续费)
goods_feenumber(float)falsenone商品价格(含折扣,不含手续费)
pay_feenumber(float)falsenone实付金额(含折扣,含手续费)
discount_feenumber(float)falsenone优惠金额
handling_feenumber(float)falsenone手续费
refund_feenumber(float)falsenone退款金额
pm_idintegerfalsenone支付方式ID(来自 /openapi/payment/list)
pm_titlestringfalsenone支付方式名称
pm_logostringfalsenone支付方式Logo URL
statusintegerfalsenone订单状态
titlestringfalsenone套餐标题
detailstringfalsenone套餐描述
region_descstringfalsenone地区规格描述
pay_atstring(date-time)falsenone支付时间
pay_timestampintegerfalsenone支付时间戳
created_atstring(date-time)falsenone创建时间
pay_fee_statusintegerfalsenone长短款状态:0正常 1长款(超额支付) 2短款
invoiceobjectfalsenone发票信息(仅线上支付订单有值)
» namestringfalsenone全名
» org_namestringfalsenone企业名称
» first_namestringfalsenonenone
» last_namestringfalsenonenone
» phonestringfalsenonenone
» emailstring(email)falsenonenone
» role_typeintegerfalsenone1个人 2企业
» vat_idstringfalsenone税号
» address_countrystringfalsenonenone
» address_citystringfalsenonenone
» address_line1stringfalsenonenone
» address_line2stringfalsenonenone
» address_postal_codestringfalsenonenone

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_idintegerfalsenone套餐ID
amountintegerfalsenone数量
discount_feenumber(float)falsenone优惠金额
total_feenumber(float)falsenone订单总额
pay_feenumber(float)falsenone实付金额
product_typeintegerfalsenone套餐类型
titlestringfalsenone套餐标题
detailstringfalsenone套餐描述
ip_result[object]falsenoneIP批量续费结果(仅IP续费时返回)
» ipstringfalsenonenone
» pricenumber(float)falsenonenone
» country_codestringfalsenonenone
» current_timestring(date-time)falsenonenone
» renewal_timestring(date-time)falsenonenone
» countryobjectfalsenonenone
»» name_zh_cnstringfalsenonenone
»» flagstringfalsenone圆形旗帜URL
»» square_flagstringfalsenone方形旗帜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
      }
    ]
  }
}

属性

名称类型必选约束中文名说明
idintegerfalsenone套餐ID
titlestringfalsenone套餐主标题
typeintegerfalsenone套餐类型
show_typeintegerfalsenone展示类型:1普通 2大额推荐 3不可购买(需定制) 4试用
statusintegerfalsenone状态:1上架 0下架
pricenumber(float)falsenone人民币价格
usd_pricenumber(float)falsenone美元价格
price_hkdnumber(float)falsenone港币价格
original_pricenumber(float)falsenone原价(CNY)
original_usd_pricenumber(float)falsenone原价(USD)
original_price_hkdnumber(float)falsenone原价(HKD)
local_pricenumber(float)falsenone本地化价格(依赖 preferred_currency)
local_original_pricenumber(float)falsenone本地化原价(依赖 preferred_currency)
preferred_currencystringfalsenone推荐显示货币,如 usd / cny / hkd
support_currenciesstringfalsenone支持的货币列表,逗号分隔,如 usd,cny
flow_valuenumber(float)falsenone流量套餐默认流量(GB)
flow_givenumber(float)falsenone赠送流量(GB)
balance_givenumber(float)falsenone余额充值赠送金额
balance_valuenumber(float)falsenone充值金额
time_validitynumber(float)falsenone包量套餐默认有效时长
time_pricenumber(float)falsenone包量套餐每IP价格
time_daysintegerfalsenone有效期天数,如 30/90/180/365
tip1stringfalsenone标签说明1
tip2stringfalsenone标签说明2
introduce[string]falsenone文本介绍列表
region_list_idintegerfalsenone地区ID
renew_product_liststringfalsenone可续订套餐ID列表(逗号分隔)
parent_product_typeintegerfalsenone父套餐类型(type=19时有效):14或25
total_countintegerfalsenone总库存,0表示不限制
remain_countintegerfalsenone剩余库存
extension_of_time_days[integer]falsenone时长倍数列表,为空或仅含1表示不支持
time_days_price_ratenumber(float)falsenone时长价格系数,价格 × (1 + (倍数-1) × rate)
descobjectfalsenone套餐描述信息
» subtitlestringfalsenone副标题
» flow_valuenumber(float)falsenonenone
» flow_givenumber(float)falsenonenone
» balance_givenumber(float)falsenonenone
» time_validitynumber(float)falsenonenone
» time_pricenumber(float)falsenonenone
» tip1stringfalsenonenone
» tip2stringfalsenonenone
» introduce[string]falsenonenone
skuobjectfalsenone规格参数(type=11时返回)
» bandwidth_list[object]falsenone带宽规格列表
»» idintegerfalsenonenone
»» valueintegerfalsenone带宽值(Mbps)
»» pricenumber(float)falsenonenone
»» price_usdnumber(float)falsenonenone
»» price_hkdnumber(float)falsenonenone
» duration_list[object]falsenone时长规格列表
»» idintegerfalsenonenone
»» valueintegerfalsenone时长(天)
»» pricenumber(float)falsenonenone
»» price_usdnumber(float)falsenonenone
»» price_hkdnumber(float)falsenonenone
» concurrency_list[object]falsenone并发规格列表
»» idintegerfalsenonenone
»» valueintegerfalsenone并发数
»» pricenumber(float)falsenonenone
»» price_usdnumber(float)falsenonenone
»» price_hkdnumber(float)falsenonenone

WhiteIp

{
  "id": 0,
  "ip": "string",
  "remark": "string",
  "created_at": "2019-08-24T14:15:22Z"
}

属性

名称类型必选约束中文名说明
idintegerfalsenonenone
ipstringfalsenonenone
remarkstringfalsenonenone
created_atstring(date-time)falsenonenone

WhitelistAccount

{
  "id": 0,
  "username": "string",
  "limit": 0,
  "used": 0,
  "status": 0
}

属性

名称类型必选约束中文名说明
idintegerfalsenonenone
usernamestringfalsenonenone
limitintegerfalsenonenone
usedintegerfalsenonenone
statusintegerfalsenonenone

Coupon

{
  "id": 0,
  "name": "string",
  "code": "string",
  "discount": 0.1,
  "expire_time": "2019-08-24T14:15:22Z"
}

属性

名称类型必选约束中文名说明
idintegerfalsenonenone
namestringfalsenonenone
codestringfalsenonenone
discountnumber(float)falsenonenone
expire_timestring(date-time)falsenonenone

Article

{
  "id": 0,
  "title": "string",
  "content": "string",
  "created_at": "2019-08-24T14:15:22Z"
}

属性

名称类型必选约束中文名说明
idintegerfalsenonenone
titlestringfalsenonenone
contentstringfalsenonenone
created_atstring(date-time)falsenonenone

Pagination

{
  "total": 0,
  "page_no": 0,
  "page_size": 0,
  "total_pages": 0
}

属性

名称类型必选约束中文名说明
totalintegerfalsenonenone
page_nointegerfalsenonenone
page_sizeintegerfalsenonenone
total_pagesintegerfalsenonenone

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"
}

单个套餐的自动续费配置快照

属性

名称类型必选约束中文名说明
idintegerfalsenonenone
user_idintegerfalsenonenone
team_idResourceSpaceIdfalsenone公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
team_user_idintegerfalsenonenone
product_typeintegerfalsenonenone
left_trafficintegerfalsenone已废弃字段
left_daysintegerfalsenone已废弃字段
user_product_idintegerfalsenonenone
product_idintegerfalsenone已废弃字段
statusintegerfalsenone0=停用,1=启用
currencystringfalsenonenone
agreed_pricenumberfalsenone约定总价
agreed_bandwidth_pricenumberfalsenone套餐 11 的约定带宽单价
agreed_concurrency_pricenumberfalsenone套餐 11 的约定并发单价
bandwidth_idintegerfalsenonenone
concurrency_idintegerfalsenonenone
durationintegerfalsenone续费时长,单位天
renew_product_idintegerfalsenonenone
days_before_expireintegerfalsenonenone
traffic_thresholdintegerfalsenone流量阈值,数据库值单位 KB
parent_product_typeintegerfalsenonenone
created_atstringfalsenonenone
updated_atstringfalsenonenone

枚举值

属性值
status0
status1

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"
}

属性

名称类型必选约束中文名说明
idintegertruenonenone
user_idintegertruenonenone
team_idResourceSpaceIdtruenone公开资源空间标识;请求个人空间时省略 team_id 或传空字符串,响应个人空间时为空字符串;数字 0 和字符串 "0" 均非法,团队空间使用 6-12 位团队公开标识
team_user_idintegertruenonenone
config_idintegertruenonenone
user_product_idintegertruenonenone
product_typeintegertruenonenone
renew_product_idintegertruenonenone
order_idintegertruenonenone
feenumbertruenonenone
currencystringtruenonenone
before_expired_atstring¦nullfalsenonenone
after_expired_atstring¦nullfalsenonenone
before_remaininteger(int64)truenonenone
after_remaininteger(int64)truenonenone
trigger_typeintegertruenone0=到期前,1=流量不足
statusintegertruenone1=成功,2=已撤销,3=失败
revoke_atstring¦nullfalsenonenone
revoke_remarkstringtruenonenone
created_atstringtruenonenone
updated_atstringtruenonenone

枚举值

属性值
trigger_type0
trigger_type1
status1
status2
status3

MonthlyRenewalBatch

{
  "type": "current",
  "start_at": "string",
  "end_at": "string",
  "target_expired_at": "string",
  "timezone": "string"
}

属性

名称类型必选约束中文名说明
typestringtruenonenone
start_atstringtruenonenone
end_atstringtruenonenone
target_expired_atstringtruenonenone
timezonestringtruenonenone

枚举值

属性值
typecurrent
typenext

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"
}

属性

名称类型必选约束中文名说明
idintegerfalsenone历史账单明细 ID
user_product_idintegertruenonenone
product_idintegertruenonenone
product_typeintegertruenonenone
parent_product_typeintegertruenonenone
titlestringtruenonenone
expired_atstringtruenonenone
target_expired_atstringtruenonenone
renew_daysintegertruenonenone
unit_month_pricenumberfalsenonenone
pay_feenumbertruenonenone
currencystringtruenonenone
bandwidthintegerfalsenonenone
bandwidth_mbspnumberfalsenone带宽换算值
concurrencyintegerfalsenonenone
ipstringfalsenone静态 IP 套餐返回
country_codestringfalsenone静态 IP 套餐返回
paid_atstring¦nullfalsenonenone
refunded_atstring¦nullfalsenonenone
created_atstringfalsenonenone
updated_atstringfalsenonenone

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
  }
}

属性

名称类型必选约束中文名说明
idintegertruenonenone
invoice_nostringtruenonenone
invoice_amountnumbertruenonenone
invoice_download_urlstringtruenonenone
statusintegertruenonenone
remarkstringtruenonenone
order_ids[integer]truenonenone
created_atintegertruenoneUnix 时间戳
invoice_infoanytruenonenone

oneOf

名称类型必选约束中文名说明
»anonymousobjectfalsenonenone
»» invoice_codestringtruenonenone
»» namestringtruenonenone
»» org_namestringtruenonenone
»» role_typeintegertruenonenone
»» invoice_typeintegertruenonenone

xor

名称类型必选约束中文名说明
»anonymousnullfalsenonenone

枚举值

属性值
role_type1
role_type2
invoice_type0
invoice_type1
invoice_type2

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_nostringtruenonenone
pm_idintegertruenonenone
pay_methodintegertruenonenone
trade_typestringtruenonenone
country_codestringtruenonenone
currencystringtruenonenone
goods_feenumbertruenonenone
discount_feenumbertruenonenone
handling_feenumbertruenonenone
pay_feenumbertruenonenone
total_feenumbertruenonenone
pay_method_infoanytruenonenone

oneOf

名称类型必选约束中文名说明
»anonymousobjectfalsenonenone
»» idintegertruenonenone
»» typeintegertruenonenone
»» titlestringtruenonenone
»» groupstringtruenonenone
»» handling_ratenumbertruenonenone
»» handling_feenumbertruenonenone
»» handling_fee_currencystringtruenonenone
»» handling_fee_convertednumbertruenonenone

xor

名称类型必选约束中文名说明
»anonymousnullfalsenonenone

continued

名称类型必选约束中文名说明
originobjecttruenonenone
» pm_idintegertruenonenone
» pay_methodintegertruenonenone
» goods_feenumbertruenonenone
» discount_feenumbertruenonenone
» handling_feenumbertruenonenone
» pay_feenumbertruenonenone
» total_feenumbertruenonenone