Core API — 用量报告与积分余额
基于您的 iApp 账户数据构建您自己的仪表盘。Core API 以干净的只读 JSON 形式开放您的 API 用量与积分数据(与 iApp 仪表盘 显示的数字同源),可直接接入 Grafana、Google Sheets、您的管理后台、Slack 机器人或任何支持 HTTP 的工具。
- 同一个 API key — 与调用 AI API 的 key 相同,无需额外配置
- 设计上只读 — 所有端点均为
GET;即使 key 泄露,也无法通过此 API 修改您的账户 - 无个人信息(PII) — 响应仅包含技术遥测数据(时间戳、路径、状态码、积分、延迟),绝不包含姓名、邮箱、IP 或请求内容
- 按 key 报表 — 为每个应用或每个终端客户签发一个 API key,即可分别计量每个 key 的用量
- 免费 — 调用 Core API 不消耗积分
Base URL: https://iapp.co.th/api/core/v1
前往 API Key Management 查看您的 key 或申请新的 key。
端点一览
| Method | Path | 说明 |
|---|---|---|
GET | /ping | 验证 API key 是否有效 |
GET | /credits | 剩余积分余额 |
GET | /usage/summary | 指定时间范围的用量汇总统计 |
GET | /usage/timeseries | 按 小时/天/周/月 分桶的用量时间序列 — 可直接绘图 |
GET | /usage/services | 按服务拆分(请求数、积分、延迟、错误率) |
GET | /usage/keys | 按 API key 拆分 — 每个 key 一行,附带 key 名称 |
GET | /usage/records | 逐条 API 调用记录,支持筛选、排序与分页 |
所有端点都需要 apikey 请求头。日期参数接受 YYYY-MM-DD 或完整 ISO 8601 格式;未指定时默认统计最近 30 天。
身份验证
在 apikey 请求头中传入您的 API key(x-api-key 也可以):
curl "https://iapp.co.th/api/core/v1/ping" \
-H "apikey: YOUR_API_KEY"
{
"success": true,
"data": {
"ok": true,
"apiKeyPrefix": "iapp_liv...",
"timestamp": "2026-08-05T09:30:00.000Z"
}
}
请从您的后端、定时任务或 BI 工具调用 Core API — 切勿在浏览器 JavaScript 中调用。任何能查看页面源码的人都能拿到您的 API key。(我们也有意通过 CORS 阻止浏览器调用。)
积分余额
GET /credits — 您剩余的 iApp 积分(IC)。
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"
}
}
非常适合做余额不足告警:每小时轮询一次,当 balance 低于阈值时通知自己。
用量汇总
GET /usage/summary — 一段时间的核心指标。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
startDate | date | 30 天前 | 起始时间 |
endDate | date | 当前 | 结束时间 |
apiKeyId | uuid | — | 仅统计该 API key 的调用 — 取 /usage/keys 返回的 keyId |
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 }
]
}
}
用量时间序列
GET /usage/timeseries — 每个时间桶的请求数与积分,可直接输入图表库。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
startDate | date | 30 天前 | 起始时间 |
endDate | date | 当前 | 结束时间 |
groupBy | enum | day | hour、day、week 或 month |
apiKeyId | uuid | — | 仅统计该 API key 的调用 — 取 /usage/keys 返回的 keyId |
curl "https://iapp.co.th/api/core/v1/usage/timeseries?startDate=2026-08-01&endDate=2026-08-05&groupBy=day" \
-H "apikey: YOUR_API_KEY"
{
"success": true,
"data": {
"period": { "startDate": "2026-08-01T00:00:00.000Z", "endDate": "2026-08-05T00:00:00.000Z" },
"groupBy": "day",
"points": [
{ "date": "2026-08-01T00:00:00.000Z", "requests": 4102, "credits": 512.25 },
{ "date": "2026-08-02T00:00:00.000Z", "requests": 3876, "credits": 488.5 },
{ "date": "2026-08-03T00:00:00.000Z", "requests": 5211, "credits": 651.0 }
]
}
}
时间桶的时间戳为 UTC — 渲染时请转换为本地时区。
按服务拆分
GET /usage/services — 您调用过的每个 iApp 服务一行,附带质量指标。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
startDate / endDate | date | 最近 30 天 | 统计区间 |
sortBy | enum | requests | requests、credits、latency 或 errorRate |
sortOrder | enum | desc | asc 或 desc |
apiKeyId | uuid | — | 仅统计该 API key 的调用 — 取 /usage/keys 返回的 keyId |
curl "https://iapp.co.th/api/core/v1/usage/services?sortBy=credits&sortOrder=desc" \
-H "apikey: YOUR_API_KEY"
{
"success": true,
"data": {
"period": { "startDate": "2026-07-06T09:30:00.000Z", "endDate": "2026-08-05T09:30:00.000Z" },
"services": [
{ "service": "document-ocr", "requests": 9120, "credits": 1824.0, "avgLatencyMs": 890, "errorRate": 0.4 },
{ "service": "thai-legal", "requests": 4210, "credits": 421.0, "avgLatencyMs": 210, "errorRate": 0.1 }
]
}
}
按 API key 拆分
GET /usage/keys — 统计期内每个被使用的 API key 一行。这是转售(reseller)与多租户场景的核心端点:在 API Key Management 中为每个应用或每个终端客户创建一个 key,每一行即计量其中一个。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
startDate / endDate | date | 最近 30 天 | 统计区间 |
sortBy | enum | requests | requests、credits 或 lastUsed |
sortOrder | enum | desc | asc 或 desc |
curl "https://iapp.co.th/api/core/v1/usage/keys?startDate=2026-08-01" \
-H "apikey: YOUR_API_KEY"
{
"success": true,
"data": {
"period": { "startDate": "2026-08-01T00:00:00.000Z", "endDate": "2026-08-24T00:00:00.000Z" },
"keys": [
{
"keyId": "0d9c7c2e-59a4-4f6b-9f1e-3f6f6f0a1b2c",
"keyName": "customer-a-production",
"keyPrefix": "iapp_live_ab",
"requests": 9120,
"credits": 1824.0,
"errorRate": 0.4,
"avgLatencyMs": 890,
"lastUsedAt": "2026-08-23T14:22:31.000Z"
},
{
"keyId": "b4f0a2d1-7c3e-4d5a-8e9f-1a2b3c4d5e6f",
"keyName": "customer-b-production",
"keyPrefix": "iapp_live_cd",
"requests": 4210,
"credits": 421.0,
"errorRate": 0.1,
"avgLatencyMs": 210,
"lastUsedAt": "2026-08-24T08:01:12.000Z"
}
]
}
}
keyId 是 API Key Management 中该 key 的 id — 绝不是 key 本身。把它作为 apiKeyId 参数传给 /usage/summary、/usage/timeseries、/usage/services 或 /usage/records,即可把任意报表限定到该 key。已从账户中删除的 key 仍会出现(以保证账户总量对得上),其 keyId、keyName