Skip to content

MyCrop User Profile Query (AIS VO)

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

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

  • ชื่อระบบ: Virtual Organization (VO) on Azure Cloud
  • โมดูล: MyCrop Integration / MyChannel Interface
  • วัตถุประสงค์: เพื่อใช้ในการนำเข้าข้อมูลคำสั่งซื้อแบบกลุ่ม (Import Batch Order) โดยการตรวจสอบข้อมูลสิทธิ์และสถานที่ปฏิบัติงาน (Location) ของผู้ใช้งานจากระบบ VO

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

  • ชื่อ API: queryUserProfile (MyCrop-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 ตัวอย่างการตอบกลับเมื่อสำเร็จ (Success Response - JSON)

json
{
    "status": true,
    "code": "100",
    "message": "Success",
    "aisEmployeeHierarchy": [
        {
            "subProfile": "Employee",
            "userName": "tanisths",
            "firstName": "Tanistha",
            "lastName": "Subpreecha",
            "email": "tanisths@ais.co.th",
            "mobileNo": "0800000001",
            "period": "",
            "startDate": "03/11/2025 08:00:00",
            "endDate": "",
            "Status": "ACTIVE",
            "pinCode": "00000121",
            "ascCode": "",
            "locationCode": "1011",
            "chnSaleCode": "AISSHOP",
            "Listposition": [
                {
                    "employeeDivisionType": "Sales",
                    "positionName": "Sales-Support and Co-Ordination Supervisor",
                    "positionType": "Supervisor"
                }
            ],
            "locationNameTH": "คอปเปอร์เลท-บิซิเนส",
            "locationNameEN": "Corporate-Business"
        }
    ]
}

3.2 ตัวอย่างการตอบกลับเมื่อไม่พบผู้ใช้งาน (User Not Found Response - JSON)

json
{
    "status": false,
    "code": "200",
    "message": "ERROR: MyChannel: UserName not found",
    "aisEmployeeHierarchy": null
}

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

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

รหัสสถานการณ์รายละเอียดผลลัพธ์ที่คาดหวัง
SN-001Import Batch Order ด้วย Username ที่มีข้อมูลตรงกับ VO แต่พารามิเตอร์ไม่ถูกต้อง200 OK / resultCode = 200 (request parameter(s) are invalid)
SN-002Import Batch Order ด้วย Username ที่มีข้อมูลตรงกับ VO ครบถ้วน200 OK / นำเข้าข้อมูลสำเร็จ (Success)
SN-003Import Batch Order ด้วย Username ที่มีข้อมูลใน VO แต่ไม่มี Location Code200 OK / แสดง Error: ไม่พบข้อมูล Location กรุณาขอสิทธิ์เข้าใช้งานระบบ SFF ก่อน
SN-004Import Batch Order ด้วย Username ที่ไม่มีข้อมูลบน VO200 OK / แสดง Error: UserName not found

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

รหัสสถานการณ์เงื่อนไขข้อผิดพลาดผลลัพธ์ที่คาดหวัง
SN-005เรียกใช้งาน getAccessToken สำเร็จHTTP 200 / resultCode = 100
SN-006เรียกใช้งาน queryUserProfile สำเร็จHTTP 200 / resultCode = 100
SN-007พารามิเตอร์ของคำขอไม่ถูกต้องHTTP 200 / resultCode = 200 (Invalid Param)
SN-008ไม่พบ Resource (Path ไม่ถูกต้อง)HTTP 404 Not Found
SN-009Token ไม่ถูกต้องหรือไม่ถูกส่งมาHTTP 401 Unauthorized
SN-011Access Token หมดอายุHTTP 401 Unauthorized / Token expired
SN-012ขาดพารามิเตอร์ [userprofile]HTTP 200 / Required Value Missing [userprofile]
SN-013ขาดพารามิเตอร์ [username]HTTP 200 / Required Value Missing [username]
SN-014เรียกใช้งานด้วย Method 'GET'HTTP 405 Method Not Allowed
SN-015เรียกใช้งานด้วย Method 'PUT'HTTP 405 Method Not Allowed
SN-016เกิดข้อผิดพลาดภายในระบบHTTP 500 Internal Server Error
SN-018หยุดการทำงานของ Azure Container AppHTTP 404 Not Found / Service Unavailable

5. การบันทึกข้อมูล (Logging)

  • ระบบ MyCrop จะบันทึก Log การเรียก API ลงในตาราง CCIS_TBL_WS_ACCESS_LOG เมื่อสำเร็จ
  • หากเกิดข้อผิดพลาด จะบันทึก Log ลงในตาราง CCIS_TBL_ERROR_LOG พร้อมระบุ error_message