通用接口
限流和配额
CokeAPI 在每个 API Key 上同时执行 RPM (每分钟请求数) 和每日调用配额两层限流。
CokeAPI 在每个 Key 上同时执行两个维度的限流,超额时返回 HTTP 429,响应头携带详细信息便于客户端退避。
两层限流模型
Prop
Type
两个维度任一触发都返回 429,client 可根据 code 区分:
| 错误码 | 触发条件 |
|---|---|
429101 rate_limit_exceeded | 1 分钟内请求数 > RPM |
429302 daily_quota_exceeded | 当日调用次数 > 每日配额 |
响应头
每次成功响应都附带:
| 响应头 | 含义 |
|---|---|
X-RateLimit-Limit | 当前 RPM 上限 |
X-RateLimit-Remaining | 本周期剩余可用次数 |
X-RateLimit-Reset | 下次重置时间 (秒) |
X-Quota-Limit | 每日配额上限 (0 = 不限) |
X-Quota-Remaining | 当日剩余配额 |
Retry-After | (仅 429 时) 建议重试间隔 (秒) |
客户端退避建议
import httpx, time
def call_with_retry(url, headers, payload, max_retries=3):
for attempt in range(max_retries):
r = httpx.post(url, headers=headers, json=payload, timeout=60)
if r.status_code == 429:
wait = int(r.headers.get("Retry-After", 1))
time.sleep(wait)
continue
return r
raise RuntimeError("rate limited after retries")调高额度
- 个人:控制台「密钥→编辑」可在合理范围内自助调整 RPM (上限 600)。
- 企业:每日配额关闭、专属账号池、峰值 6000+ RPM,联系 hi@cokeapi.com。
失败计费政策
- 超 RPM 被拒 = 不产生上游调用,不计费、不计入每日配额。
- 超每日配额 = 同上,不计费。
- 上游 502 = 全额返还已扣点数。
- 业务错误 (400/401/403) = 不计费。
设计原则:网关层拦下来的失败,客户不为之买单。