ข้อมูลผู้ขอใช้
ชื่อหน่วยงาน, ผู้ประสานงาน, อีเมล, เบอร์โทร และวัตถุประสงค์ของการเชื่อมต่อ
api.tapee.ac.th
Tapee API Gateway
Secure integration layer
ระบบนี้ทำหน้าที่เป็นตัวกลางระหว่างเว็บไซต์หรือแอปพลิเคชันภายนอกกับฐานข้อมูล MSSQL ภายใน โดยจำกัดสิทธิ์เป็น read-only, ตรวจสอบ API key, บันทึก request id และกำหนด endpoint ตามที่ได้รับอนุมัติเท่านั้น
Integration flow
ส่ง request ผ่าน HTTPS พร้อม `x-api-key` และข้อมูลที่ endpoint กำหนด
ตรวจ API key, CORS, rate limit, ขนาด payload และสร้าง request id สำหรับติดตาม
เชื่อมต่อฐานข้อมูลเดิมด้วยบัญชี read-only และใช้ query ที่ระบบกำหนดไว้ล่วงหน้า
ตอบกลับเป็น JSON พร้อม request id และไม่เปิดเผยรายละเอียดภายในเมื่อเกิด error
Request access
หน่วยงานหรือผู้พัฒนาระบบภายนอกควรส่งข้อมูลต่อไปนี้ให้ผู้ดูแลระบบก่อนเปิดสิทธิ์ใช้งานจริง
ชื่อหน่วยงาน, ผู้ประสานงาน, อีเมล, เบอร์โทร และวัตถุประสงค์ของการเชื่อมต่อ
โดเมนหรือ IP ที่จะเรียก API, environment ที่ใช้, ปริมาณ request โดยประมาณต่อวัน
รายการข้อมูล, เงื่อนไขค้นหา, ตัวอย่างผลลัพธ์ที่ต้องใช้ และเหตุผลตามภารกิจ
ห้ามส่งต่อ API key, ห้ามดึงข้อมูลเกินวัตถุประสงค์, ต้องแจ้งทันทีเมื่อสงสัยว่าคีย์รั่วไหล
API docs
ใช้ตรวจสอบว่า gateway ทำงานอยู่
GET https://api.tapee.ac.th/api/health
endpoint ที่อ่านข้อมูลภายในต้องส่ง API key ทุกครั้ง
curl https://api.tapee.ac.th/api/v1/server-time \
-H "x-api-key: YOUR_API_KEY"
ดึงข้อมูลนักศึกษาตามช่วงรหัสหรือระบุรหัสรายตัว
curl "https://api.tapee.ac.th/api/v1/students?years=67-69" \
-H "x-api-key: YOUR_API_KEY"
curl "https://api.tapee.ac.th/api/v1/students?studentIds=6601001,6601002" \
-H "x-api-key: YOUR_API_KEY"
ผลลัพธ์ตอบกลับเป็น JSON พร้อม request id สำหรับอ้างอิงเมื่อแจ้งปัญหา
{
"requestId": "0d05e6b8-6c2f-4f10-92b2-2c8b64e0a950",
"count": 1,
"data": [
{
"studentId": "6601001",
"firstName": "สมชาย",
"lastName": "ใจดี",
"major": "คอมพิวเตอร์ธุรกิจ",
"faculty": "วิทยาศาสตร์",
"citizenId": "123456"
}
]
}
Security model
ระบบภายนอกเห็นเฉพาะ API ที่ได้รับอนุมัติ ไม่เห็น host, schema หรือ credential ของ MSSQL
การเชื่อมต่อใช้สิทธิ์ read-only และ backend จำกัดให้ endpoint ใช้ query แบบอ่านข้อมูลเท่านั้น
ใช้ API key แยกตามระบบ, จำกัด origin, จำกัดจำนวน request และรองรับการยกเลิกคีย์ทันที
ทุก request มี request id และ log สำหรับตรวจสอบปัญหาโดยไม่บันทึกข้อมูลลับลงหน้าเว็บ