0%

创建 AceDataCloud 平台服务申请

「申请(Application)」表示当前账户对某个服务的订阅关系——必须先申请,才能再为这个申请创建 API 凭证、调用业务接口。首次申请一个服务会自动获得该服务设定的免费额度(如 1 Credit),可立即试用。

ℹ️ 本接口属于 AceDataCloud 平台管理 API,统一前缀 https://platform.acedata.cloud/api/v1/。完整接口索引见获取 AceDataCloud 平台文档列表

完整的对接流程

新用户从注册到调通第一个业务接口,通常走这 5 步:

  1. 拿到账户令牌管理 AceDataCloud 平台账户令牌
  2. 挑选服务获取 AceDataCloud 平台服务列表
  3. 创建申请(本文档) → 自动获得免费额度
  4. 创建 API 凭证创建 AceDataCloud 平台 API 凭证
  5. 调用业务接口 → 用得到的 32 位 Token 调 https://api.acedata.cloud/<path>

接口概览

内容
方法 POST
URL https://platform.acedata.cloud/api/v1/applications/
鉴权 ✅ 需要账户令牌
Content-Type application/json

鉴权说明(如何获取账户令牌)

请求头:

1
Authorization: Bearer platform-v1-92eb****629c

账户令牌(Account Token)是开发者通过 API 管理自己账户资源的”账号级密钥”。获取方式:

  1. 控制台一键创建(推荐):登录 AceDataCloud 平台Account Token 控制台 → 点「创建」即可获得 platform-v1- 开头的令牌。
  2. API 创建:用已有的账户令牌或浏览器登录态 JWT 调用 POST /api/v1/platform-tokens/,详见管理 AceDataCloud 平台账户令牌

⚠️ 账户令牌与密码同等敏感,禁止写入前端代码或公开仓库。一旦泄露立即在控制台删除并重建。

请求体

参数 类型 必填 说明
service_id UUID 要申请的服务 ID。可从服务列表items[].id 获取

请求示例

cURL

1
2
3
4
5
curl -X POST 'https://platform.acedata.cloud/api/v1/applications/' \
-H 'accept: application/json' \
-H 'authorization: Bearer platform-v1-92eb****629c' \
-H 'content-type: application/json' \
-d '{"service_id": "38ecf158-36f2-42f2-8e7f-6786cdfc2452"}'

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import requests

PLATFORM_TOKEN = "platform-v1-92eb****629c"
SERVICE_ID = "38ecf158-36f2-42f2-8e7f-6786cdfc2452"

resp = requests.post(
"https://platform.acedata.cloud/api/v1/applications/",
headers={
"accept": "application/json",
"authorization": f"Bearer {PLATFORM_TOKEN}",
"content-type": "application/json",
},
json={"service_id": SERVICE_ID},
timeout=10,
)

if resp.status_code == 201:
app = resp.json()
print(f"申请成功!application_id={app['id']}")
print(f"赠送免费额度:{app['remaining_amount']} {app.get('unit', '')}")
elif resp.status_code == 400 and resp.json().get("code") == "duplication":
print("⚠️ 已经申请过此服务,请到 /applications/ 列表里找到现成的 application_id")
else:
print(f"申请失败:HTTP {resp.status_code} - {resp.text}")

Node.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const PLATFORM_TOKEN = 'platform-v1-92eb****629c'
const SERVICE_ID = '38ecf158-36f2-42f2-8e7f-6786cdfc2452'

const resp = await fetch('https://platform.acedata.cloud/api/v1/applications/', {
method: 'POST',
headers: {
accept: 'application/json',
authorization: `Bearer ${PLATFORM_TOKEN}`,
'content-type': 'application/json',
},
body: JSON.stringify({ service_id: SERVICE_ID }),
})

if (resp.status === 201) {
const app = await resp.json()
console.log('application_id =', app.id)
} else {
console.error(await resp.text())
}

响应示例

成功(HTTP 201)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"id": "82f57141-2323-4453-8730-60f7d833a2da",
"service_id": "38ecf158-36f2-42f2-8e7f-6786cdfc2452",
"remaining_amount": 1.0,
"used_amount": 0.0,
"paid": false,
"user_id": "89518d07-5560-4b05-92c1-667f3ddf6a4b",
"disabled": false,
"allow_consume_global": false,
"scope": "Individual",
"type": "Usage",
"expired_at": null,
"tags": null,
"metadata": null,
"client_ip": null,
"client_fingerprint": null,
"created_at": "2026-04-26T07:52:27.462400Z",
"updated_at": "2026-04-26T07:52:27.462400Z"
}

返回字段结构与获取 AceDataCloud 平台服务申请详情一致。

已申请过(HTTP 400)

1
2
3
4
5
{
"detail": "Item already exists.",
"code": "duplication",
"trace_id": "1a87524f8cbba0b790b2951e2e43117e"
}

这是设计上的硬限制:每个用户对每个服务只能有一个 Application。已存在时通过获取 AceDataCloud 平台服务申请列表查找现成的。

服务不存在(HTTP 404)

1
2
3
4
5
{
"detail": "Service not found.",
"code": "not_found",
"trace_id": "..."
}

服务需要审核(HTTP 403)

1
2
3
4
5
{
"detail": "This service requires manual verification.",
"code": "need_verify",
"trace_id": "..."
}

如果服务的 need_verify=true(在服务列表里可看到该字段),需走工单流程申请白名单。

错误处理

HTTP code 含义
400 duplication 该服务已被当前账户申请过
400 invalid service_id 缺失或格式错误
401 not_authenticated 缺少账户令牌或令牌已被删除
403 need_verify 服务需要审核,请走工单流程
404 not_found 服务不存在或已下线

错误响应统一格式:

1
2
3
4
5
{
"detail": "...",
"code": "...",
"trace_id": "..."
}

实用提示

  • 申请是免费操作:仅在创建 Application 时赠送一次性免费额度,不会扣余额。免费额度用完后调用业务接口才会失败,提示需要充值。
  • 是否需要付费看 paid 字段:刚申请时 paid=false,调用创建 AceDataCloud 平台充值订单 完成支付后变为 true
  • disabled=true 表示被暂时禁用——比如风控触发、欠费等。被禁用时业务接口会返回 403
  • 批量申请 N 个服务:先调 services/?limit=100 拿到所有 service_id,然后并发调本接口,遇到 duplication 跳过即可。

相关接口