当前调用策略
单 IP 每 10 分钟 600 次;单兑换码每 5 分钟 360 次;批量接口单次最多 20 条。
GET
/api/v1/redeem/inventory查询统一直充库存
只返回库存充足、少量现货或暂时无货,不暴露具体数量。Plus 与 Pro 套餐共享同一状态。
curl "https://your-domain/api/v1/redeem/inventory"POST
/api/v1/redeem/verify根据兑换码自动识别产品
只提交完整兑换码,即可获得产品品牌、具体套餐、交付类型和应提交的充值凭证字段。已使用兑换码还会返回关联订单与最终结果;该查询不创建订单、不占库存。
curl -X POST "https://your-domain/api/v1/redeem/verify" \
-H "Content-Type: application/json" \
-d '{ "redeemCode": "GATAI-XXXXX-XXXXX-XXXXX-XXXXX" }'识别结果示例
{
"code": 0,
"data": {
"product": {
"family": "claude",
"name": "Claude",
"plan_code": "claude-max-5x",
"plan_name": "Claude Max 5x",
"delivery_type": "activation_code"
},
"required_credential": {
"type": "claude_session_key",
"label": "Claude SessionKey",
"request_field": "credential.sessionInfo"
},
"code_status": "unused",
"can_recharge": true
}
}POST
/api/v1/redeem/verify/batch批量识别最多 20 个兑换码
支持 redeemCodes 字符串数组、items 对象数组,以及同行兼容字段 card_keys;每项都返回自己的 product 与 required_credential,不会因单项错误中断整批。
curl -X POST "https://your-domain/api/v1/redeem/verify/batch" \
-H "Content-Type: application/json" \
-d '{
"redeemCodes": [
"GATAI-XXXXX-XXXXX-XXXXX-XXXXX",
"GATAI-YYYYY-YYYYY-YYYYY-YYYYY"
]
}'POST
/api/v1/redeem/session/validate提交前预检 ChatGPT Session
不创建订单、不占库存,仅识别 Session JSON 必要结构与账号姓名、邮箱;Claude 或 UID 产品请直接按 verify 返回的 required_credential 提交。
curl -X POST "https://your-domain/api/v1/redeem/session/validate" \
-H "Content-Type: application/json" \
-d '{ "redeemCode": "GATAI-...", "token": { "user": { "email": "user@example.com" }, "account": { "id": "account-example" }, "accessToken": "<access-token>" } }'POST
/api/v1/redeem/direct按兑换码产品创建直充订单
服务端会再次根据兑换码确定产品,并按 required_credential 验证资料;调用方不需要传套餐才能路由。
curl -X POST "https://your-domain/api/v1/redeem/direct" \
-H "Content-Type: application/json" \
-d '{
"redeemCode": "GATAI-XXXXX-XXXXX-XXXXX-XXXXX",
"subscriptionExpiredConfirmed": false,
"credential": {
"sessionInfo": {
"user": { "email": "user@example.com" },
"account": { "id": "account-example" },
"accessToken": "<chatgpt_access_token>"
}
}
}'redeemCode必填,后台生成的完整兑换码
credential必填,按 verify 返回的 required_credential.request_field 提交
expectedPlanCode可选安全校验;服务端会自动根据兑换码识别产品,不需要依赖该字段
subscriptionExpiredConfirmed仅重试“会员未到期”时使用,必须由用户确认已到期且取消后传 true
credential.sessionInfoChatGPT Session JSON 或 Claude SessionKey 等会话凭证
credential.uid仅 ID 类型产品使用;Claude 填写 Organization ID(UUID),例如 01a07318-304f-4deb-98ef-448c3723b4b0
POST
/api/v1/redeem/status查询充值状态与最终结果
未使用、处理中或已使用的兑换码都可作为查询凭证;可额外传 orderNo 防止串单。sync=false 只读本地最新状态。
curl -X POST "https://your-domain/api/v1/redeem/status" \
-H "Content-Type: application/json" \
-d '{ "redeemCode": "GATAI-XXXXX-XXXXX-XXXXX-XXXXX", "orderNo": "MC...", "sync": true }'pendingprocessingsuccessfailed
POST
/api/v1/redeem/status/batch批量查询最多 20 笔
适合商城定时对账;默认不强制同步上游,每笔成功或失败独立返回。除 items 外也兼容 redeemCodes 与 card_keys 字符串数组。
curl -X POST "https://your-domain/api/v1/redeem/status/batch" \
-H "Content-Type: application/json" \
-d '{
"sync": false,
"items": [
{ "redeemCode": "GATAI-XXXXX-XXXXX-XXXXX-XXXXX", "orderNo": "MC..." },
{ "redeemCode": "GATAI-YYYYY-YYYYY-YYYYY-YYYYY" }
]
}'POST
/api/v1/redeem/attempts查询完整重试链
返回每次提交、上游尝试和已脱敏失败原因,不暴露银行卡和上游凭证。
curl -X POST "https://your-domain/api/v1/redeem/attempts" \
-H "Content-Type: application/json" \
-d '{ "redeemCode": "GATAI-XXXXX-XXXXX-XXXXX-XXXXX", "orderNo": "MC..." }'统一响应
同时判断 HTTP 状态码和业务 code,并保留 X-Request-Id 供售后排查。
{
"code": 0,
"message": "success",
"data": {
"api_version": "1.4",
"request_id": "req_...",
"order_no": "MC...",
"task_id": "MC...",
"status": "processing",
"terminal": false,
"progress_percent": 70,
"next_action": { "code": "poll_status", "poll_after_ms": 2500 }
}
}2xx + code=0
业务成功
4xx
参数、兑换码或状态错误
5xx
保留兑换码与订单号后补查
安全要求
不要在日志、埋点、工单或截图中记录 accessToken、sessionToken、银行卡或完整兑换码。生产环境必须使用 HTTPS。