Tapee University api.tapee.ac.th Tapee API Gateway

Secure integration layer

API Gateway for External Systems and Tapee University Internal Data

ระบบนี้ทำหน้าที่เป็นตัวกลางระหว่างเว็บไซต์หรือแอปพลิเคชันภายนอกกับฐานข้อมูล MSSQL ภายใน โดยแยกสิทธิ์อ่านและเขียน ตรวจสอบ API key บันทึก request id และเปิดเฉพาะ endpoint ที่ได้รับอนุมัติ

Gateway Online
Database access Scoped read / write
Protocol HTTPS + API key
Approval Admin review

Integration flow

หลักการทำงาน

1

ระบบภายนอกส่งคำขอ

ส่ง request ผ่าน HTTPS พร้อม `x-api-key` และข้อมูลที่ endpoint กำหนด

2

Gateway ตรวจสอบสิทธิ์

ตรวจ API key, CORS, rate limit, ขนาด payload และสร้าง request id สำหรับติดตาม

3

อ่านหรือบันทึกข้อมูลตามสิทธิ์

แยกบัญชีฐานข้อมูลสำหรับอ่านและเขียน แต่ละ endpoint ใช้คำสั่งที่กำหนดไว้ล่วงหน้า

4

ส่งผลลัพธ์มาตรฐาน

ตอบกลับเป็น JSON พร้อม request id และไม่เปิดเผยรายละเอียดภายในเมื่อเกิด error

Request access

รูปแบบการขอใช้ API

หน่วยงานหรือผู้พัฒนาระบบภายนอกควรส่งข้อมูลต่อไปนี้ให้ผู้ดูแลระบบก่อนเปิดสิทธิ์ใช้งานจริง

ข้อมูลผู้ขอใช้

ชื่อหน่วยงาน, ผู้ประสานงาน, อีเมล, เบอร์โทร และวัตถุประสงค์ของการเชื่อมต่อ

ข้อมูลระบบต้นทาง

โดเมนหรือ IP ที่จะเรียก API, environment ที่ใช้, ปริมาณ request โดยประมาณต่อวัน

ข้อมูลที่ต้องการ

รายการข้อมูล, เงื่อนไขค้นหา, ตัวอย่างผลลัพธ์ที่ต้องใช้ และเหตุผลตามภารกิจ

ข้อตกลงความปลอดภัย

ห้ามส่งต่อ API key, ห้ามดึงข้อมูลเกินวัตถุประสงค์, ต้องแจ้งทันทีเมื่อสงสัยว่าคีย์รั่วไหล

API docs

เอกสารสำหรับผู้พัฒนาและ AI

คู่มือ API ทั้งระบบ

รายการ endpoint ทั้ง 23 รายการ พร้อมสิทธิ์ ตัวกรอง ตัวอย่างและสถานะเปิดใช้งาน

อ่านคู่มือฉบับรวม

OpenAPI สำหรับ AI และเครื่องมือ

สัญญา API แบบ JSON สำหรับนำเข้าเครื่องมือพัฒนาและให้ AI อ่านโครงสร้างคำขอ/ผลลัพธ์

เปิด OpenAPI 3.1

Health check

ใช้ตรวจสอบว่า gateway ทำงานอยู่

GET https://api.tapee.ac.th/api/health

Authenticated endpoint

endpoint ที่อ่านข้อมูลภายในต้องส่ง API key ทุกครั้ง

curl https://api.tapee.ac.th/api/v1/server-time \
  -H "x-api-key: YOUR_API_KEY"

Student data

ดึงข้อมูลนักศึกษาตามช่วงรหัสหรือระบุรหัสรายตัว

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"

Response format

ผลลัพธ์ตอบกลับเป็น JSON พร้อม request id สำหรับอ้างอิงเมื่อแจ้งปัญหา

{
  "requestId": "0d05e6b8-6c2f-4f10-92b2-2c8b64e0a950",
  "count": 1,
  "data": [
    {
      "studentId": "6601001",
      "firstName": "สมชาย",
      "lastName": "ใจดี",
      "major": "คอมพิวเตอร์ธุรกิจ",
      "faculty": "วิทยาศาสตร์",
      "level": "ปริญญาตรี",
      "citizenId": "123456"
    }
  ]
}

คู่มือ API บันทึกข้อมูล

ดูวิธีใช้ API เทียบโอน และแผน API ลงทะเบียนเรียนซึ่งยังไม่เปิดใช้งาน

อ่านคู่มือ

คู่มือ API RegisterNet

วิธีอ่านและบันทึกข้อมูล RegisterNet ครบทั้ง 11 คอลัมน์สำหรับโปรแกรมที่ได้รับสิทธิ์

อ่านคู่มือ

API SectionOrder

อ่าน เพิ่ม และแก้ข้อมูลกลุ่มเรียนครบ 10 คอลัมน์ พร้อมตัวอย่างคำขอและเงื่อนไขตัวนับ

อ่านคู่มือ

Security model

มาตรการความปลอดภัย

ไม่เปิดฐานข้อมูลโดยตรง

ระบบภายนอกเห็นเฉพาะ API ที่ได้รับอนุมัติ ไม่เห็น host, schema หรือ credential ของ MSSQL

แยกบัญชีฐานข้อมูลตามงาน

งานอ่านใช้บัญชี read-only งานบันทึกใช้บัญชีแยกและต้องผ่านสิทธิ์ API key สำหรับการเขียน

ควบคุมสิทธิ์และปริมาณ

ใช้ API key แยกตามระบบ, จำกัด origin, จำกัดจำนวน request และรองรับการยกเลิกคีย์ทันที

ตรวจสอบย้อนหลังได้

ทุก request มี request id และ log สำหรับตรวจสอบปัญหาโดยไม่บันทึกข้อมูลลับลงหน้าเว็บ