跳到主要内容

Core API — 用量报告与积分余额

Core API 以 JSON 返回您账户的 API 用量和积分余额,数据与仪表盘一致,可用于自建报表、仪表盘和告警。它使用您现有的 API key;所有端点均为 GET,调用免费且不计入用量,响应不含任何个人信息。

  • Base URL: https://iapp.co.th/api/core/v1
  • 请求头: apikey: YOUR_API_KEY(也可用 x-api-key)。您的 key 在 API Key Management 中。
curl "https://iapp.co.th/api/core/v1/credits" \
-H "apikey: YOUR_API_KEY"
{
"success": true,
"data": {
"balance": 1234.56,
"currency": "IC",
"validUntil": "2027-01-31T16:59:59.000Z"
}
}

请从服务器、定时任务或 BI 工具调用,切勿在浏览器 JavaScript 中调用:key 会暴露在页面源码中,且浏览器调用已被 CORS 阻止。

端点​

端点返回
/ping确认 key 可用
/credits剩余积分余额(IC)
/usage/summary某时段的核心指标:请求数、积分、平均延迟、成功率、调用最多的端点
/usage/timeseries按小时、天、周或月统计的请求数与积分
/usage/services每个服务一行:请求数、积分、延迟、错误率
/usage/keys每个 API key 一行,附带 key 名称
/usage/records每次调用一行,支持筛选、排序与分页

所有 /usage/* 端点都接受 startDate 和 endDate(YYYY-MM-DD 或 ISO 8601;默认最近 30 天)。除 /usage/keys 外,还接受 apiKeyId,用于只统计某一个 key。

参数与响应​

除通用参数外没有其他参数。

curl "https://iapp.co.th/api/core/v1/usage/summary?startDate=2026-08-01&endDate=2026-08-05" \
-H "apikey: YOUR_API_KEY"
{
"success": true,
"data": {
"period": { "startDate": "2026-08-01T00:00:00.000Z", "endDate": "2026-08-05T00:00:00.000Z" },
"totalRequests": 18342,
"totalCredits": 2311.75,
"avgLatencyMs": 412,
"successRate": 99.12,
"topEndpoints": [
{ "endpoint": "/thai-ocr/v3.5/ocr-document", "requests": 9120, "credits": 1824.0 },
{ "endpoint": "/v3/store/data/thai-legal/search", "requests": 4210, "credits": 421.0 }
]
}
}

按 API key 统计​

在 API Key Management 中为每个应用或每个客户创建一个 API key。/usage/keys 为每个 key 返回一行,附带 keyId,即 key 的 id 而非 key 本身;将其作为 apiKeyId 传给其他任意 /usage/* 端点,即可只统计该 key。已删除的 key 仍会出现,其 keyId、keyName、keyPrefix 为 null,以保证账户总量对得上。

示例​

import requests

BASE = "https://iapp.co.th/api/core/v1"
HEADERS = {"apikey": "YOUR_API_KEY"}

credits = requests.get(f"{BASE}/credits", headers=HEADERS).json()["data"]
series = requests.get(
f"{BASE}/usage/timeseries",
headers=HEADERS,
params={"startDate": "2026-08-01", "groupBy": "day"},
).json()["data"]

print(f"余额: {credits['balance']:.2f} IC")
for point in series["points"]:
print(f"{point['date'][:10]} {point['requests']:>6} 次调用 {point['credits']:>8.2f} IC")

使用 Postman 时,导入 collection 和 Production 环境,再设置 apikey 变量即可。

限制​

  • 每个 API key 每分钟 120 次请求,超出返回 HTTP 429。仪表盘每 30–60 秒拉取一次已足够。
  • 调用完成后几秒内即出现在用量记录中;积分余额为实时数据。
  • 历史数据的保留期与网页仪表盘相同。如需长期归档,请定期拉取 /usage/records 并自行保存。

数据处理​

此 API 只读:无法创建 key、消费积分、修改设置或删除任何内容。响应不含姓名、邮箱、用户 ID、客户端 IP、请求头或请求与响应内容;端点路径会去除查询字符串,API key 只显示前缀,从不显示完整的 key。key 只能访问其所属账户,不属于该账户的 apiKeyId 返回 404;如果 key 泄露,请在 API Key Management 中吊销,用量历史不会丢失。

错误​

HTTPCode含义
400VALIDATION_ERROR参数错误;error.details.errors 列出每个问题
401UNAUTHORIZED缺少或无效的 API key
403FORBIDDEN账户未激活
404NOT_FOUNDapiKeyId 不是本账户的 key
429TOO_MANY_REQUESTS该 key 每分钟超过 120 次请求
503SERVICE_UNAVAILABLE后端临时故障;请退避重试

所有错误共用同一结构:

{
"success": false,
"error": { "code": "UNAUTHORIZED", "message": "Invalid API key." }
}

© 2026 iApp Technology Co., Ltd.服务条款隐私政策系统状态sale@iapp.co.th