Core API — รายงานการใช้งานและยอดเครดิต
สร้าง Dashboard ของคุณเอง จากข้อมูลบัญชี iApp ของคุณ — Core API เปิดข้อมูลการใช้งาน API และเครดิตของคุณเป็น JSON แบบอ่านอย่างเดียว (ตัวเลขชุดเดียวกับที่แสดงบน iApp dashboard) เพื่อให้คุณดึงไปใช้ใน Grafana, Google Sheets, ระบบหลังบ้านของคุณ, Slack bot หรืออะไรก็ตามที่คุยกับ HTTP ได้
- ใช้ API key เดิม ที่ใช้เรียก AI API อยู่แล้ว — ไม่ต้องตั้งค่าเพิ่ม
- อ่านอย่างเดียวโดยการออกแบบ — ทุก endpoint เป็น
GET; ต่อให้ key หลุด ก็ไม่สามารถแก้ไขบัญชีผ่าน API นี้ได้ - ไม่มีข้อมูลส่วนบุคคล (PII) — ผลลัพธ์มีเฉพาะข้อมูลเชิงเทคนิค (เวลา, path, สถานะ, เครดิต, latency) ไม่มีชื่อ อีเมล IP หรือเนื้อหาคำขอ
- รายงานแยกตาม key — ออก API key หนึ่งอันต่อหนึ่งแอปพลิเคชันหรือหนึ่งลูกค้าปลายทาง แล้ววัดการใช้งานของแต่ละ key แยกกันได้
- ฟรี — การเรียก Core API ไม่หักเครดิต
Base URL: https://iapp.co.th/api/core/v1
ไปที่ API Key Management เพื่อดู key ของคุณหรือสร้าง key ใหม่
Endpoints
| Method | Path | คำอธิบาย |
|---|---|---|
GET | /ping | ทดสอบว่า API key ใช้งานได้ |
GET | /credits | ยอดเครดิตคงเหลือ |
GET | /usage/summary | สถิติการใช้งานแบบสรุปตามช่วงเวลา |
GET | /usage/timeseries | การใช้งานตามช่วงเวลา (ราย ชั่วโมง/วัน/สัปดาห์/เดือน) — พร้อมทำกราฟ |
GET | /usage/services | แยกตามบริการ (จำนวนคำขอ เครดิต latency อัตรา error) |
GET | /usage/keys | แยกตาม API key — หนึ่งแถวต่อหนึ่ง key พร้อมชื่อ key |
GET | /usage/records | รายการเรียก API รายรายการ พร้อม ตัวกรอง เรียงลำดับ และแบ่งหน้า |
ทุก endpoint ต้องส่ง header apikey พารามิเตอร์วันที่รับทั้งรูปแบบ YYYY-MM-DD และ ISO 8601 เต็มรูปแบบ หากไม่ระบุช่วงเวลา ค่าเริ่มต้นคือ 30 วันล่าสุด
การยืนยันตัวตน
ส่ง API key ใน header ชื่อ apikey (ใช้ 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"
}
}
เรียก Core API จาก backend, cron job หรือเครื่องมือ BI ของคุณ — อย่าเรียกจาก JavaScript ในเบราว์เซอร์เด็ดขาด เพราะใครก็ตามที่เปิดดู source ของหน้าเว็บจะเห็น 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"
}
}
เหมาะกับการทำระบบแจ้งเตือนเครดิตใกล้หมด: ตั้ง cron ตรวจทุกชั่วโมงแล้วแจ้งเตือนเมื่อ balance ต่ำกว่าเกณฑ์ที่กำหนด
สรุปการใช้งาน
GET /usage/summary — ตัวเลขภาพรวมของช่วงเวลา
| พารามิเตอร์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
startDate | date | 30 วันก่อน | เริ่มต้นช่วงเวลา |
endDate | date | ปัจจุบัน | สิ้นสุดช่วงเวลา |
apiKeyId | uuid | — | เฉพาะคำขอที่เรียกด้วย API key นี้ — ใช้ keyId จาก /usage/keys |
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 }
]
}
}
การใช้งานตามช่วงเวลา (Timeseries)
GET /usage/timeseries — จำนวนคำขอและเครดิตต่อช่วงเวลา พร้อมป้อนเข้ากราฟได้ทันที
| พารามิเตอร์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
startDate | date | 30 วันก่อน | เริ่มต้นช่วงเวลา |
endDate | date | ปัจจุบัน | สิ้นสุดช่วงเวลา |
groupBy | enum | day | hour, day, week หรือ month |
apiKeyId | uuid | — | เฉพ าะคำขอที่เรียกด้วย API key นี้ — ใช้ keyId จาก /usage/keys |
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 }
]
}
}
เวลาของแต่ละ bucket เป็น UTC — แปลงเป็นเวลาไทย (UTC+7) ตอนแสดงผล
แยกตามบริการ
GET /usage/services — หนึ่งแถวต่อหนึ่งบริการ iApp ที่คุณเรียก พร้อมตัวชี้วัดคุณภาพ
| พารามิเตอร์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
startDate / endDate | date | 30 วันล่าสุด | ช่วงเวลารายงาน |
sortBy | enum | requests | requests, credits, latency หรือ errorRate |
sortOrder | enum | desc | asc หรือ desc |
apiKeyId | uuid | — | เฉพาะคำขอที่เรียกด้วย API key นี้ — ใช้ keyId จาก /usage/keys |
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 ที่ถูกใช้ในช่วงเวลาน ั้น — endpoint สำหรับผู้ให้บริการต่อ (reseller) และระบบหลายผู้เช่า (multi-tenant): สร้าง key หนึ่งอันต่อหนึ่งแอปพลิเคชันหรือหนึ่งลูกค้าปลายทางใน 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 คือ id ของ key จากหน้า API Key Management — ไม่ใช่ตัว key เอง นำไปใส่เป็นพารามิเตอร์ apiKeyId ใน /usage/summary, /usage/timeseries, /usage/services หรือ /usage/records เพื่อจำกัดรายงานใด ๆ ให้เหลือเฉพาะ key นั้น key ที่ถูกลบออกจากบัญชีแล้วจะยังปรากฏอยู่ (เพื่อให้ยอดรวมของบัญชีตรงกัน) โดย keyId, keyName และ keyPrefix เป็น null