Skip to content

CCSM Sales Person Profile Update (AIS VO)

เอกสารนี้ระบุตรรกะของโปรแกรมและรายละเอียดส่วนต่อประสาน (Interface) ของ API สำหรับการสร้างและปรับปรุงข้อมูลพนักงานขาย (ASC Profile) จากระบบ CCSM เข้าสู่ระบบ AIS Virtual Organization (VO)

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

  • ชื่อระบบ: Virtual Organization (VO) on Azure Cloud
  • โมดูล: CCSM Integration
  • วัตถุประสงค์: เพื่อรับข้อมูลพนักงานขาย (ASC - Authorized Sales Channel) ทั้งกลุ่ม Partner และกลุ่ม Employee (Direct Sale, Sale Promoter) เพื่อนำมาสร้างหรือปรับปรุงข้อมูลในระบบ VO ให้เป็นปัจจุบัน

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

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

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

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

json
{
  "LocationCode": "40551",
  "LocationName": "Rungsuriya",
  "RegionCode": "RONE",
  "SubRegionCode": "XU",
  "ListSalePerson": [
    {
      "PersonType": "ASC",
      "PersonCode": "604931",
      "FirstNameTH": "ธนกฤต",
      "LastNameTH": "พรหมมา",
      "FirstNameEN": "Thanakrit",
      "LastNameEN": "Phromma",
      "ASCCatagory": "Partner Online",
      "ASCPosition": "sale Online",
      "ASCMobile": "0800000001",
      "ASCStatus": "ACTIVE",
      "EfftiveDT": "20260218_123000",
      "ResignDT": null,
      "Username": null,
      "UserRole": null,
      "PinCode": null
    }
  ]
}

3.2 รายละเอียดฟิลด์ใน ListSalePerson

ฟิลด์ประเภทรายละเอียด
PersonTypeStringประเภทบุคคล (เช่น ASC)
PersonCodeStringรหัสพนักงาน (Key หลัก)
FirstNameTH / LastNameTHStringชื่อ-นามสกุล ภาษาไทย
ASCCatagoryStringหมวดหมู่ ASC (เช่น Partner Online, DS - Mass)
ASCPositionStringตำแหน่งงาน ASC
ASCStatusStringสถานะ (ACTIVE / INACTIVE)
EfftiveDTStringวันที่มีผล (รูปแบบ YYYYMMDD_HHMMSS)
UsernameStringAIS Username (ถ้ามี)

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

  1. กรณีพนักงานกลุ่ม Partner (ไม่มี Username):
    • ระบบจะสร้างข้อมูลในตาราง Usermaster โดยกำหนด FromCCSM = "Y" และ UserType = "Partner"
    • สร้างข้อมูลในตาราง AscProfile
  2. กรณีพนักงานกลุ่ม Employee (มี Username จาก OM):
    • ระบบจะตรวจสอบข้อมูลใน Usermaster (ที่ถูกสร้างโดย OM)
    • ปรับปรุงค่า FromCCSM = "Y" และ UserType = "Employee"
    • สร้างหรือปรับปรุงข้อมูลในตาราง AscProfile
  3. การบันทึก Log:
    • บันทึกประวัติการเปลี่ยนแปลงในตาราง LogAudit
    • บันทึกรายละเอียดการประมวลผลในตาราง LogBatch

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

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

รหัสสถานการณ์รายละเอียด
SN-001สร้าง UserMaster และ AscProfile สำหรับกลุ่ม Partner ใหม่
SN-002สร้าง AscProfile สำหรับกลุ่ม Employee (Direct Sale/Sale Promoter) ที่มีข้อมูลจาก OM อยู่แล้ว
SN-003ปรับปรุงข้อมูลพนักงานกลุ่ม Partner
SN-004ปรับปรุงข้อมูลพนักงานกลุ่ม Employee
SN-006ปิดการใช้งาน (Inactive) พนักงานกลุ่ม Partner
SN-007ปิดการใช้งาน (Inactive) พนักงานกลุ่ม Employee
SN-008เปิดการใช้งาน (Set Active) พนักงานกลุ่ม Partner ที่เคย Inactive
SN-009เปิดการใช้งาน (Set Active) พนักงานกลุ่ม Employee ที่เคย Inactive

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

รหัสสถานการณ์เงื่อนไขข้อผิดพลาดผลลัพธ์ที่คาดหวัง
SN-010ประมวลผลสำเร็จHTTP 200 / resultCode = 100
SN-011คำขอไม่ถูกต้อง (Invalid Request)HTTP 200 / resultCode = 200
SN-013ขาดข้อมูลที่จำเป็น (Required Value Missing)HTTP 200 / resultCode = 200
SN-015Token ไม่ถูกต้องหรือไม่ถูกส่งมาHTTP 401 / resultCode = 900 (Unauthorized)
SN-017URL ผิด (Unknown Command)HTTP 404 / resultCode = 900
SN-018เรียกใช้งานด้วย Method 'GET'HTTP 405 / resultCode = 900
SN-020เกิดข้อผิดพลาดภายในระบบHTTP 500 / resultCode = 900