Skip to content

ACIM User Profile Query (AIS VO)

เอกสารนี้ระบุตรรกะของโปรแกรมและรายละเอียดส่วนต่อประสาน (Interface) ของ API สำหรับการดึงข้อมูลโปรไฟล์ผู้ใช้งานที่ถูกสร้างหรือปรับปรุงใหม่ (Incremental Update) เพื่อให้ระบบ ACIM นำไปใช้ปรับปรุงข้อมูลในระบบ

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

  • ชื่อระบบ: Virtual Organization (VO) on Azure Cloud
  • โมดูล: ACIM Integration
  • วัตถุประสงค์: เพื่อให้บริการข้อมูล User Profile ที่มีการเปลี่ยนแปลง (Create/Update) ในวันที่ระบุ และมีสถานะเป็น 'Active' เท่านั้น สำหรับการทำ Synchronization ข้อมูลไปยังระบบ ACIM

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

  • ชื่อ API: queryUserAllActiveProfile
  • Endpoint URL: https://sit-virtualorg-api.cdc.ais.th/api/acim/queryUserAllActiveProfile
  • HTTP Method: POST
  • การยืนยันตัวตน (Authentication): Bearer Token (ได้รับจากบริการ getAccessToken)

3. โครงสร้างข้อมูล (Data Structure)

3.1 พารามิเตอร์ขาเข้า (Request Body - JSON)

พารามิเตอร์ประเภทจำเป็นรายละเอียด
ModifiedOnStringใช่วันที่ที่มีการแก้ไขข้อมูลในรูปแบบ DD/MM/YYYY (เช่น "17/12/2025")

3.2 ตัวอย่างการตอบกลับเมื่อสำเร็จ (Success Response - JSON)

json
{
    "status": true,
    "code": "100",
    "message": "success",
    "userAllActiveProfile": [
        {
            "userName": "somjateh",
            "firstNameEn": "Somjate",
            "lastNameEn": "Homsakmongkol",
            "employeeEmailID": "somjateh@ais.co.th",
            "locationCode": "1100",
            "locationNameEN": "Shop AIS Tower 2",
            "divisionCode": "1-DG2-74",
            "divisionName": "Shop AIS Tower 2",
            "positionCode": "1-2CKTKZ1",
            "positionName": "ST2 Serenade Supervisor",
            "positionType": "Supervisor",
            "ascPositionName": "ST2 Serenade Supervisor",
            "ascStatus": "Active",
            "createdOn": "08/11/2022 02:54:15",
            "modifiedOn": "17/12/2025 15:46:39"
        }
    ]
}

4. ตรรกะการประมวลผล (Processing Logic)

  • ระบบจะค้นหาข้อมูลผู้ใช้งานที่มีการ Create หรือ Update ในวันที่ระบุผ่านพารามิเตอร์ ModifiedOn
  • กรองเฉพาะผู้ใช้งานที่มีสถานะเป็น Active เท่านั้น
  • ข้อมูลที่ระบบ ACIM จะนำไป Update ได้แก่:
    • locationCode, locationNameEN, divisionCode, divisionName, positionCode, positionName, positionType, ascPositionName, ascStatus
  • ข้อมูลที่จะ ไม่มีการ Update (ใช้เพื่อการตรวจสอบ):
    • userName, firstNameEn, lastNameEn

5. สถานการณ์การทดสอบ (Test Scenarios)

5.1 สถานการณ์ทางธุรกิจ (Business Scenarios)

รหัสสถานการณ์รายละเอียดผลลัพธ์ที่คาดหวัง
SN-001ใส่วันที่ที่ถูกต้องตามรูปแบบ DD/MM/YYYY200 OK / ข้อมูลแสดงถูกต้องตามวันที่ระบุ
SN-003ใส่วันที่ที่ไม่มีข้อมูลการเปลี่ยนแปลง200 OK / resultCode = 100 (No modified User found)
SN-004ใส่วันที่ล่วงหน้า200 OK / resultCode = 100 (No modified User found)
SN-005ใส่วันที่ผิดรูปแบบ (Wrong Format)200 OK / resultCode = 200 (Invalid Request)
SN-006ใส่วันที่ที่เป็นค่าว่างหรือ Null200 OK / resultCode = 200 (Required Value Missing)

5.2 สถานการณ์ทางเทคนิคและข้อผิดพลาด (Technical & Error Scenarios)

รหัสสถานการณ์เงื่อนไขข้อผิดพลาดผลลัพธ์ที่คาดหวัง
SN-007คำขอไม่ถูกต้อง (Invalid Request)HTTP 200 / resultCode = 200
SN-011Token ไม่ถูกต้องหรือไม่ถูกส่งมาHTTP 401 / resultCode = 900 (Unauthorized)
SN-012Access Token หมดอายุHTTP 401 / resultCode = 900 (Unauthorized)
SN-013URL ผิด (Unknown Command)HTTP 404 / resultCode = 900
SN-014เรียกใช้งานด้วย Method 'GET'HTTP 405 / resultCode = 900
SN-015เรียกใช้งานด้วย Method 'PUT'HTTP 405 / resultCode = 900
SN-016เกิดข้อผิดพลาดภายในระบบHTTP 500 / resultCode = 900
SN-017หยุดการทำงานของ Azure Container AppHTTP 404 Not Found