Skip to content

MyChannel User Profile Query (AIS VO)

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

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

  • ชื่อระบบ: Virtual Organization (VO) on Azure Cloud
  • โมดูล: MyChannel Integration
  • วัตถุประสงค์: เพื่อให้บริการข้อมูล User Profile, Position และ Location แก่ระบบ MyChannel สำหรับการตรวจสอบสิทธิ์และแสดงข้อมูลผู้ใช้งานให้ถูกต้องตามประเภทพนักงาน (AIS Shop, 3BB Shop, Direct Sale)

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

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

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

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

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

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

json
{
    "status": true,
    "code": "100",
    "message": "Success",
    "aisEmployeeHierarchy": [
        {
            "subProfile": "Employee",
            "userName": "chiraphr",
            "firstName": "chiraphan",
            "lastName": "rawangwong",
            "email": "chiraphr@ais.co.th",
            "mobileNo": "0895004537",
            "period": "",
            "startDate": "01/08/2008 00:00:00",
            "endDate": "",
            "Status": "ACTIVE",
            "pinCode": "23440",
            "ascCode": "",
            "locationCode": "1100",
            "chnSaleCode": "AISSHOP",
            "Listposition": [
                {
                    "employeeDivisionType": "Outlet",
                    "positionName": "ST2 Serenade Officer",
                    "positionType": "Officer"
                }
            ],
            "locationNameTH": "สาขาอาคารเอไอเอส 2",
            "locationNameEN": "Shop AIS Tower 2"
        }
    ]
}

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

  1. การตรวจสอบสิทธิ์: ระบบตรวจสอบ Access Token ที่แนบมาใน Header
  2. การดึงข้อมูล: ค้นหาข้อมูลจาก UserMaster, Location, และ Position โดยใช้ username
  3. การจัดการประเภทพนักงาน:
    • AIS Shop: คืนค่า locationCode, locationName, positionType ตามจริง
    • 3BB Shop: คืนค่าข้อมูลตำแหน่งและสถานที่ของ 3BB หากมีข้อมูลในระบบ
    • Direct Sale: แสดงข้อมูล positionType และรายละเอียดที่เกี่ยวข้อง
  4. กรณีไม่พบข้อมูล: หากไม่พบ User ในระบบ VO แต่มีในระบบอื่น หรือไม่มีข้อมูลเลย ให้คืนค่า Error ตามที่กำหนด

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

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

รหัสสถานการณ์รายละเอียดผลลัพธ์ที่คาดหวัง
SN-001AIS Shop (Officer)แสดงข้อมูล Location (1100), Position (Officer) ถูกต้อง
SN-0023BB Shop (Manager)แสดงข้อมูล Location, Position (Manager) ถูกต้อง
SN-003ไม่มี User ในระบบ VOHTTP 200 / Error: UserName not found
SN-0043BB Shop (ไม่มีข้อมูลฝั่ง AIS)แสดงข้อมูล 3BB Shop ถูกต้อง
SN-005Direct Sale (Officer)แสดงข้อมูล Direct Sale ถูกต้อง
SN-006Direct Sale ลาออกจาก Shop (ยังเป็น Employee)แสดงสถานะและข้อมูลปัจจุบันถูกต้อง

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

รหัสสถานการณ์เงื่อนไขข้อผิดพลาดผลลัพธ์ที่คาดหวัง
SN-007เรียกใช้งาน getAccessToken สำเร็จHTTP 200 / resultCode = 100
SN-008คำขอไม่ถูกต้อง (Invalid Request)HTTP 200 / resultCode = 200
SN-009พารามิเตอร์ไม่ถูกต้อง (Invalid Param)HTTP 200 / resultCode = 200
SN-010ไม่พบชื่อผู้ใช้งานHTTP 200 / resultCode = 200 (UserName not found)
SN-011ขาดพารามิเตอร์ userprofileHTTP 200 / Required Value Missing
SN-012ขาดพารามิเตอร์ usernameHTTP 200 / Required Value Missing
SN-013Token ไม่ถูกต้อง/หายHTTP 401 Unauthorized
SN-014Token หมดอายุHTTP 401 Unauthorized / Token expired
SN-015URL ผิด (Unknown Command)HTTP 404 Not Found
SN-016ใช้ Method GETHTTP 405 Method Not Allowed
SN-017ใช้ Method PUTHTTP 405 Method Not Allowed
SN-018ข้อผิดพลาดภายในระบบHTTP 500 Internal Server Error