Skip to content

MO User Profile Query (AIS VO)

เอกสารนี้ระบุตรรกะของโปรแกรมและรายละเอียดส่วนต่อประสาน (Interface) ของ API สำหรับการดึงข้อมูลโปรไฟล์ผู้ใช้งานของโมดูล MO (Management Organization) ภายในระบบ AIS Virtual Organization (VO)

1. ภาพรวมโครงการ (Project Overview)

  • ชื่อระบบ: Virtual Organization (VO) on Azure Cloud
  • โมดูล: MO Integration / MyChannel Interface
  • วัตถุประสงค์: เพื่อตรวจสอบและดึงข้อมูลโปรไฟล์ผู้ใช้งาน (Location, Position, Division) โดยเปรียบเทียบข้อมูลระหว่างระบบ VO และระบบต้นทาง MO

2. รายละเอียด API Interface

  • ชื่อ API: queryUserProfile
  • Endpoint URL: https://sit-virtualorg-api.cdc.ais.th/api/mychannel/queryUserProfile
  • HTTP Method: POST
  • การยืนยันตัวตน (Authentication): Bearer Token (ได้รับจากบริการ getAccessToken)
  • Request Headers:
    • Content-Type: application/json
    • Authorization: Bearer <Access_Token>

3. พารามิเตอร์ขาเข้า (Request Parameters - JSON)

พารามิเตอร์ประเภทจำเป็นรายละเอียด
usernameStringใช่AIS Username ของพนักงานที่ต้องการสอบถามข้อมูล
userprofileStringไม่ตัวระบุโปรไฟล์เฉพาะหรือประเภทสำหรับการกรองข้อมูล

4. ตรรกะทางธุรกิจและสถานการณ์การทดสอบ (Business Logic & Scenarios)

ระบบจะต้องจัดการกับสถานการณ์การเปรียบเทียบข้อมูลที่หลากหลายระหว่างฐานข้อมูล VO และระบบต้นทาง MO

4.1 สถานการณ์การเชื่อมต่อข้อมูล (Integration Scenarios)

รหัสสถานการณ์รายละเอียด
SN-001Back office ที่มี location บน VO โดย location ของ MO ไม่ตรงกับ VO
SN-002Back office ที่มี location บน VO โดย location ของ MO ตรงกับ VO
SN-003Back office ที่มี location บน VO โดย location ของ MO ตรงกับ VO (ไม่ตรงแค่ position)
SN-004Back office ที่ไม่มี location = Null บน VO
SN-005AIS Shop ที่มี location บน VO โดย location ของ MO ไม่ตรงกับ VO
SN-006AIS Shop ที่ไม่มี location บน VO โดย location ของ MO ตรงกับ VO
SN-007ไม่มี user บน VO (แต่มีที่ MO)

4.2 สถานการณ์การจัดการข้อผิดพลาด (Error Handling Scenarios)

รหัสสถานการณ์เงื่อนไขข้อผิดพลาดผลลัพธ์ที่คาดหวัง (HTTP Status / Result)
SN-008Invalid Request200 OK / resultCode = 200 (Invalid Request)
SN-009Request parameter(s) are invalid200 OK / resultCode = 200 (Invalid Param)
SN-010UserName not found200 OK / resultCode = 200 (UserName not found)
SN-011Required Value Missing [userprofile]200 OK / resultCode = 200 (Missing Param)
SN-012Required Value Missing [username]200 OK / resultCode = 200 (Missing Param)
SN-013Unauthorized: Access token is missing or invalid401 Unauthorized
SN-014Unknown Command404 Not Found / 400 Bad Request
SN-015The requested resource does not support http method 'GET'405 Method Not Allowed
SN-016The requested resource does not support http method 'PUT'405 Method Not Allowed
SN-017Internal Server Error500 Internal Server Error
SN-018Token timeout401 Unauthorized / Token Expired
SN-019Stop Azure Container AppService Unavailable / Timeout

5. สรุปขั้นตอนการทำงาน (Data Flow)

  1. ระบบรับคำขอ POST พร้อมกับ username
  2. ระบบตรวจสอบความถูกต้องของ Access Token
  3. ระบบสืบค้นข้อมูลจากตาราง UserMaster และ Location ในฐานข้อมูล VO
  4. ระบบเปรียบเทียบข้อมูลกับระบบต้นทาง MO
  5. ระบบส่งคืนข้อมูลโปรไฟล์ที่รวมกันแล้ว (Position → Division → Location)