Submit Change Request
ยื่นคำขอเปลี่ยนกะใหม่
ใช้ API นี้เพื่อยื่นคำขอเปลี่ยนกะหรือสลับกะ ระบบจะส่งเข้าสู่ขั้นตอนการอนุมัติอัตโนมัติ
Endpoint
POST /api/v1/open-apis/work-cycle-change/submitRequest Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | EMP001 |
work_cycle_change_dt | string | Yes | วันที่ต้องการเปลี่ยนกะ (YYYY-MM-DD) | 2026-01-20 |
work_cycle_mode_lv | string | Yes | โหมด (change หรือ switch) | change |
work_cycle_id | string | Yes | ID ของกะที่ต้องการเปลี่ยนไป | V0MwMDI= |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
work_cycle_change_desc | string | No | รายละเอียด/เหตุผล | ต้องไปธุระช่วงเช้า |
image_content | string | No | ไฟล์แนบ (Base64 encoded) | data:image/png;base64,... |
Switch Mode Additional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
work_cycle_switch_dt | string | Yes (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
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
| Parameter | Validation | Error Message |
|---|---|---|
employee_code | ต้องระบุและเป็น string | Missing 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
| Error | Cause | Solution |
|---|---|---|
Employee not found | ไม่พบพนักงาน | ตรวจสอบ employee_code |
ไม่สามารถเปลี่ยนกะได้ เนื่องจากวันดังกล่าวมีเอกสารทำงานล่วงเวลา | มี OT ในวันนั้น | ยกเลิก OT ก่อน |
ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้ว | งวดปิดแล้ว | เลือกวันที่ในงวดที่เปิด |
ไม่สามารถขอเอกสารได้ เนื่องจากเกินกำหนดวันที่ขอเอกสารแล้ว | เกิน Cut-off date | ติดต่อ HR |
ไม่สามารถขอเอกสารได้ เนื่องจากเกินจำนวนโควตาแล้ว | เกิน Quota limit | รอรอบถัดไป |
มีคำขอเปลี่ยนกะในวันดังกล่าวอยู่แล้ว | คำขอซ้ำ | แก้ไขคำขอเดิมแทน |
Notes
Use Cases
- พนักงานขอเปลี่ยนกะ - เปลี่ยนจากกะ A เป็นกะ B
- สลับกะกับเพื่อนร่วมงาน - สลับกะระหว่าง 2 วัน
- HR สร้างคำขอแทนพนักงาน - สร้างคำขอให้พนักงานที่ไม่มี access
หา work_cycle_id
- ใช้ Get Work Cycle Types เพื่อดู
work_cycle_idของกะทั้งหมด
Related APIs
- Get Work Cycle Types - ดูรายการกะ
- Get Change List - ดูรายการคำขอ
- Update Change Request - แก้ไขคำขอ
- Delete Change Request - ลบคำขอ
Last updated on