API Specification Doc

คู่มือการใช้งาน API สำหรับแลกเปลี่ยนข้อมูลระหว่างหน่วยงาน กองทุนเงินให้กู้ยืมเพื่อการศึกษา และ กองทุนเพื่อความเสมอภาคทางการศึกษา (สำหรับ กยศ. ดึงข้อมูลจาก กสศ.)

Description

คู่มือฉบับนี้ จัดทำขึ้นมาเพื่ออธิบายข้อตกลงการใช้ API ในการรับส่งข้อมูลระหว่างหน่วยงานกองทุนเงินให้กู้ยืมเพื่อการศึกษา กับ กองทุนเพื่อความเสมอภาคทางการศึกษา

Key สำหรับการส่งข้อมูล

รูปแบบของข้อมูลในการส่ง

API List

API Name API Desc
/auth/login ใช้สำหรับ login เพื่อรับ token ในการใช้งาน API
/api/get_from_eef ใช้สำหรับรับข้อมูล

API List

1. Service: Login ใช้สำหรับ Login เพื่อรับ token ในการใช้งาน API

Request

API Type: Restful Web Service
Content-Type: application/json
Method: POST
URL: { base_path }/auth/login
Type Parameters Values
POST username ชื่อผู้ใช้
POST password รหัสผ่าน
ตัวอย่างการส่ง (request)
{ 
  method: 'POST',
  url: ‘{base_path }/auth/login’,
  headers: { 'content-type': 'application/json' },
  body: { username: 'username', password: 'password' },
  json: true 
};
ตัวอย่าง Response Status 200
{
  "user": 
    {
        "_id": "c2cba2b0f5e611eab1d9f343ebc67b45",
        "user": "username",
        "application": "slf",
        "profile": {
            "title": "นาย",
            "firstname": "ทดสอบ",
            "lastname": "นามสกุลทดสอบ",
            "email": "email@gmail.com",
            "tel": "0988888888"
        },
        "roles": [
            "exchange"
        ],
        "timestamp": "1600018448906"
    },
    "token": "eyJhbGcxxxxxxxxxxxxxxxxx.xxxxx"
 }
ตัวอย่าง Response Status 400
{
    "message": "Invalid Username",
    "user": false
}

2. Service: get_from_eef ใช้สำหรับรับข้อมูล Request

API Type: Restful Web Service
Content-Type: application/json
Method: POST
URL: {base_path}/api/get_from_eef
Type Parameters Values
HEADERS Authorization JWT (เว้นวรรค + token ที่ได้จากการ login ในข้อ 1)
POST citizenID รหัสประจำตัว 13 หลัก
ตัวอย่างการส่ง (request)
{ 
    method: 'POST',
      url: ‘{base_path }/api/get_from_eef ‘,
      headers: 
       { 
       Authorization: 'JWT eyJhbGciOiJSUzIxxxxI6IkpXVCJ9.eyJfaWQiOiJjMxxx',
        'content-type': 'application/json' 
       },
      body: { citizenID: '0222222222221' },
       json: true
};
ตัวอย่าง Response Status 200
{     
    "data":"Wj0DLJ7amnJrug94nFZTppSOSv1VpFijG6sNp8hZX8gqVs7ZEK5g1UooLFLVBPnvEF3aNNgRjBjo4UmBg4Q31ufx1iO0qBSoPC8BoCeR0eec1p3eEQ+VDJT87njHK1DoDmZ3l+5y9WNMKpwX3mA2onuXvhIUsjU/0UI1VxUU7jzdupKCPWhYk6Ngg20BuhaS1zP6zqm+MCvr83XMhDPhpKkxpl/ywsfqvc1AgslCxid/KW9y9rJQyjabYGur/IBVJQQ4FNw2OW9DtvDAuGvMkSdz5SXa7TmYn1beRlwXvL3auDiNr3Rvje/Yno+"
}
ตัวอย่าง Response Status 401
Unauthorized
Author : Theerawut Thaweephattharawong
Email : Theerawutt53@gmail.com

git clone https://gitlab.com/theerawutt53/eef-slf.git &&
cd eef-slf &&
npm install &&
npm start