价格意图(Price Intent)机制是本 API 的核心特性,支持四种灵活的访问模式:
模式 1: 自动支付(Auto Price) — 推荐
场景:AI Agent 自动化调用,不需要知道价格,余额够就直接扣
做法:提供 crawlerAutoPrice: true 参数
响应:余额足够 → 200 + 按资源定价扣费;余额不足 → 402
为什么推荐自动支付?
1. 一次请求:无需先发现价格再确认,直接完成支付,请求次数减半
2. 处理更快:省去价格协商环节,平均响应时间更短
3. 集成简单:只需 Header 带 Token + Body 加 "crawlerAutoPrice": true,代码最简洁
4. 适合自动化:AI Agent、批量爬取、实时数据获取等场景的最佳选择
请求示例(推荐)
curl -X POST https://cdn.aisa.one/api/v1/access/verify \
-H "Content-Type: application/json" \
-H "X-AISA-Crawler-Token: crawler_abc123" \
-d '{
"publisherDomain": "example.com",
"resourceUrl": "/premium/article-123",
"crawlerAutoPrice": true
}'
响应示例 - 成功 (200)
{
"accessGranted": true,
"charged": true,
"chargeAmount": 0.10,
"currency": "USD",
"crawler": {
"id": 123,
"email": "[email protected]",
"remainingBalance": 49.90
},
"crawlerIdentification": {
"recognized": true,
"identifier": "gptbot"
},
"transaction": {
"transactionUuid": "txn-abc-123",
"timestamp": "2026-04-16T10:30:00Z"
},
"message": "Access granted - payment processed",
"statusCode": 200
}
模式 2: 价格发现(Price Discovery)
场景:首次访问资源,不知道价格,希望先查询定价
做法:不提供任何价格参数
响应:返回 402 + 资源价格信息(不会扣费)
请求示例
{
"publisherDomain": "example.com",
"resourceUrl": "/premium/article-123",
"crawlerToken": "crawler_xxx"
}
响应示例 (402)
{
"accessGranted": false,
"requiresPayment": true,
"priceDiscovery": true,
"error": "price_required",
"price": 0.10,
"currency": "USD",
"rule": {
"id": 456,
"urlPattern": "/premium/*",
"accessMode": "pay",
"price": 0.10,
"billingType": "one-time"
},
"crawlerIdentification": {
"recognized": false,
"identifier": "unknown"
},
"message": "Payment required - price discovery",
"statusCode": 402,
"onboarding": "https://cdn.aisa.one/cdn/guide.html",
"timestamp": "2026-04-16T10:30:00Z"
}
模式 3: 精确价格(Exact Price)
场景:已知价格,需要确认价格后支付(二次请求)
做法:提供 crawlerExactPrice 参数
响应:价格匹配 → 200 + 扣费;价格不匹配 → 402 + 错误信息
请求示例
{
"publisherDomain": "example.com",
"resourceUrl": "/premium/article-123",
"crawlerToken": "crawler_xxx",
"crawlerExactPrice": "USD 0.10"
}
响应示例 - 成功 (200)
{
"accessGranted": true,
"charged": true,
"chargeAmount": 0.10,
"currency": "USD",
"crawler": {
"id": 123,
"email": "[email protected]",
"remainingBalance": 49.90
},
"crawlerIdentification": {
"recognized": true,
"identifier": "gptbot"
},
"transaction": {
"transactionUuid": "txn-abc-123",
"timestamp": "2026-04-16T10:30:00Z"
},
"message": "Access granted - payment processed",
"statusCode": 200
}
响应示例 - 价格不匹配 (402)
{
"accessGranted": false,
"requiresPayment": true,
"error": "price_mismatch",
"price": 0.15,
"currency": "USD",
"crawlerIdentification": {
"recognized": true,
"identifier": "gptbot"
},
"message": "Price mismatch - offered exact price does not match resource price",
"statusCode": 402,
"onboarding": "https://cdn.aisa.one/cdn/guide.html"
}
模式 4: 最高价格(Max Price)
场景:设置价格上限,只要资源价格不超过上限就自动支付
做法:提供 crawlerMaxPrice 参数
响应:价格 ≤ 上限 → 200 + 扣费;价格 > 上限 → 402 + 价格信息
请求示例
{
"publisherDomain": "example.com",
"resourceUrl": "/premium/article-123",
"crawlerToken": "crawler_xxx",
"crawlerMaxPrice": "USD 0.50"
}
响应示例 - 成功 (200)
{
"accessGranted": true,
"charged": true,
"chargeAmount": 0.10,
"currency": "USD",
"crawlerIdentification": {
"recognized": true,
"identifier": "gptbot"
},
"message": "Access granted - payment processed",
"statusCode": 200
}
响应示例 - 超过预算 (402)
{
"accessGranted": false,
"requiresPayment": true,
"priceTooHigh": true,
"error": "price_too_high",
"price": 0.60,
"currency": "USD",
"crawlerIdentification": {
"recognized": true,
"identifier": "gptbot"
},
"message": "Resource price exceeds crawler maximum price",
"statusCode": 402,
"onboarding": "https://cdn.aisa.one/cdn/guide.html"
}
重要提示
1. crawlerAutoPrice、crawlerExactPrice、crawlerMaxPrice 三者互斥,不能同时提供
2. 价格格式必须为:"货币代码 金额",如 "USD 0.10"(仅 exactPrice/maxPrice 需要)
3. 模式 1 自动支付适合大多数场景,模式 3 适合二次确认,模式 4 适合预算控制