Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Submit Change Request

ยื่นคำขอเปลี่ยนกะใหม่

ใช้ API นี้เพื่อยื่นคำขอเปลี่ยนกะหรือสลับกะ ระบบจะส่งเข้าสู่ขั้นตอนการอนุมัติอัตโนมัติ

Endpoint

POST /api/v1/open-apis/work-cycle-change/submit

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
employee_codestringYesรหัสพนักงานEMP001
work_cycle_change_dtstringYesวันที่ต้องการเปลี่ยนกะ (YYYY-MM-DD)2026-01-20
work_cycle_mode_lvstringYesโหมด (change หรือ switch)change
work_cycle_idstringYesID ของกะที่ต้องการเปลี่ยนไปV0MwMDI=

Optional Parameters

ParameterTypeRequiredDescriptionExample
work_cycle_change_descstringNoรายละเอียด/เหตุผลต้องไปธุระช่วงเช้า
image_contentstringNoไฟล์แนบ (Base64 encoded)data:image/png;base64,...

Switch Mode Additional Parameters

ParameterTypeRequiredDescriptionExample
work_cycle_switch_dtstringYes (switch)วันที่สลับกะ (YYYY-MM-DD)2026-01-21

Request Body Example

Change Mode

{ "employee_code": "EMP001", "work_cycle_change_dt": "2026-01-20", "work_cycle_mode_lv": "change", "work_cycle_id": "V0MwMDI=", "work_cycle_change_desc": "ต้องไปธุระช่วงเช้า" }

Switch Mode

{ "employee_code": "EMP001", "work_cycle_change_dt": "2026-01-20", "work_cycle_mode_lv": "switch", "work_cycle_id": "V0MwMDI=", "work_cycle_switch_dt": "2026-01-21", "work_cycle_change_desc": "สลับกะกับเพื่อนร่วมงาน" }

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "สำเร็จ", "payload": { "work_cycle_change_id": "V0NDMDAxMjM=", "employee_id": "RU1QMDE=", "employee_code": "EMP001", "work_cycle_change_dt": "2026-01-20", "work_cycle_mode_lv": "change", "work_cycle_id": "V0MwMDI=", "work_cycle_change_desc": "ต้องไปธุระช่วงเช้า", "approve_flag": "01", "created": "2026-01-14 10:30:00" } }

Error Response - Validation Failed (HTTP 400)

{ "code": 400, "message": "Validation failed", "errors": [ "Missing required parameter: 'employee_code'", "'work_cycle_change_dt' must be in Y-m-d format (e.g., 2024-01-15)" ] }

Error Response - OT Conflict (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "ไม่สามารถเปลี่ยนกะได้ เนื่องจากวันดังกล่าวมีเอกสารทำงานล่วงเวลา" }

Error Response - Salary Period Closed (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้ว" }

Error Response - Duplicate Request (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "มีคำขอเปลี่ยนกะในวันดังกล่าวอยู่แล้ว" }

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/work-cycle-change/submit" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_code": "EMP001", "work_cycle_change_dt": "2026-01-20", "work_cycle_mode_lv": "change", "work_cycle_id": "V0MwMDI=", "work_cycle_change_desc": "ต้องไปธุระช่วงเช้า" }'

Validation Rules

ParameterValidationError Message
employee_codeต้องระบุและเป็น stringMissing required parameter: 'employee_code'
work_cycle_change_dtต้องระบุและรูปแบบ YYYY-MM-DD'work_cycle_change_dt' must be in Y-m-d format
work_cycle_mode_lvต้องเป็น change หรือ switch'work_cycle_mode_lv' must be 'change' or 'switch'
work_cycle_idต้องระบุMissing required parameter: 'work_cycle_id'
work_cycle_switch_dtต้องระบุ (switch mode)Missing required parameter: 'work_cycle_switch_dt' for switch mode

Business Rules

ข้อจำกัดการยื่นคำขอ:

  • ไม่สามารถเปลี่ยนกะในวันที่มีเอกสาร OT
  • ไม่สามารถยื่นในงวดเงินเดือนที่ปิดแล้ว
  • ไม่สามารถยื่นซ้ำในวันเดียวกัน
  • มี Cut-off date ที่กำหนดได้
  • มี Quota limit จำนวนคำขอต่อรอบ

Error Handling

ErrorCauseSolution
Employee not foundไม่พบพนักงานตรวจสอบ employee_code
ไม่สามารถเปลี่ยนกะได้ เนื่องจากวันดังกล่าวมีเอกสารทำงานล่วงเวลามี OT ในวันนั้นยกเลิก OT ก่อน
ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้วงวดปิดแล้วเลือกวันที่ในงวดที่เปิด
ไม่สามารถขอเอกสารได้ เนื่องจากเกินกำหนดวันที่ขอเอกสารแล้วเกิน Cut-off dateติดต่อ HR
ไม่สามารถขอเอกสารได้ เนื่องจากเกินจำนวนโควตาแล้วเกิน Quota limitรอรอบถัดไป
มีคำขอเปลี่ยนกะในวันดังกล่าวอยู่แล้วคำขอซ้ำแก้ไขคำขอเดิมแทน

Notes

Use Cases

  1. พนักงานขอเปลี่ยนกะ - เปลี่ยนจากกะ A เป็นกะ B
  2. สลับกะกับเพื่อนร่วมงาน - สลับกะระหว่าง 2 วัน
  3. HR สร้างคำขอแทนพนักงาน - สร้างคำขอให้พนักงานที่ไม่มี access

หา work_cycle_id

  • ใช้ Get Work Cycle Types เพื่อดู work_cycle_id ของกะทั้งหมด
Last updated on