Update Employee Workday
แก้ไขรูปแบบวันทำงาน (Workday Pattern) ของพนักงาน รวมถึงการตั้งค่ากะการทำงานในแต่ละวันของสัปดาห์
ใช้ API นี้เพื่อเปลี่ยนกะการทำงานในแต่ละวัน หรือกำหนดวันหยุดใหม่
Endpoint
POST /api/v1/open-apis/holiday/update-employee-workdayRequest Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | EMP001 |
work_cycle_format | string | Yes | รูปแบบวันทำงาน (Work Cycle Format ID) | WF001 |
day_lists | array | Yes | รายการกะการทำงานในแต่ละวัน | ดูตัวอย่างด้านล่าง |
day_lists Structure
[
{ "day": "Mon", "id": "WC001", "code": "A" },
{ "day": "Tue", "id": "WC001", "code": "A" },
{ "day": "Wed", "id": "WC001", "code": "A" },
{ "day": "Thu", "id": "WC001", "code": "A" },
{ "day": "Fri", "id": "WC001", "code": "A" },
{ "day": "Sat", "id": "OFF", "code": "OFF" },
{ "day": "Sun", "id": "OFF", "code": "OFF" }
]| Field | Type | Required | Description |
|---|---|---|---|
day | string | Yes | รหัสวัน (Mon, Tue, Wed, Thu, Fri, Sat, Sun) |
id | string | Yes | Work Cycle ID หรือ OFF สำหรับวันหยุด |
code | string | No | รหัสกะการทำงาน (เช่น A, B, C) |
Request Body Example
{
"employee_code": "EMP001",
"work_cycle_format": "WF001",
"day_lists": [
{"day": "Mon", "id": "WC001", "code": "A"},
{"day": "Tue", "id": "WC001", "code": "A"},
{"day": "Wed", "id": "WC001", "code": "A"},
{"day": "Thu", "id": "WC001", "code": "A"},
{"day": "Fri", "id": "WC001", "code": "A"},
{"day": "Sat", "id": "OFF", "code": "OFF"},
{"day": "Sun", "id": "OFF", "code": "OFF"}
]
}Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": {
"employee_id": "RU1QMDE=",
"employee_code": "EMP001",
"employee_name": "สมชาย ใจดี",
"employee_name_en": "Somchai Jaidee",
"holiday_format": "WF001",
"holiday_apply_config": "01",
"holiday_day_json": "{\"Mon\":\"WC001\",\"Tue\":\"WC001\",\"Wed\":\"WC001\",\"Thu\":\"WC001\",\"Fri\":\"WC001\",\"Sat\":\"OFF\",\"Sun\":\"OFF\"}",
"holiday_lists": {
"Mon": "A : 08:00-17:00",
"Tue": "A : 08:00-17:00",
"Wed": "A : 08:00-17:00",
"Thu": "A : 08:00-17:00",
"Fri": "A : 08:00-17:00",
"Sat": "วันหยุด",
"Sun": "วันหยุด"
},
"updated": "2026-01-13 10:30:00"
}
}Error Response - Validation Failed (HTTP 400)
{
"code": 400,
"message": "Validation failed",
"errors": [
"Missing required parameter: 'work_cycle_format'",
"Missing 'day' in day_lists[0]"
]
}Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/holiday/update-employee-workday" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"employee_code": "EMP001",
"work_cycle_format": "WF001",
"day_lists": [
{ "day": "Mon", "id": "WC001", "code": "A" },
{ "day": "Tue", "id": "WC001", "code": "A" },
{ "day": "Wed", "id": "WC001", "code": "A" },
{ "day": "Thu", "id": "WC001", "code": "A" },
{ "day": "Fri", "id": "WC001", "code": "A" },
{ "day": "Sat", "id": "OFF", "code": "OFF" },
{ "day": "Sun", "id": "OFF", "code": "OFF" }
]
}'Common Workday Patterns
รูปแบบ 1: ทำงานจันทร์-ศุกร์ หยุดเสาร์-อาทิตย์
{
"day_lists": [
{ "day": "Mon", "id": "WC001", "code": "A" },
{ "day": "Tue", "id": "WC001", "code": "A" },
{ "day": "Wed", "id": "WC001", "code": "A" },
{ "day": "Thu", "id": "WC001", "code": "A" },
{ "day": "Fri", "id": "WC001", "code": "A" },
{ "day": "Sat", "id": "OFF", "code": "OFF" },
{ "day": "Sun", "id": "OFF", "code": "OFF" }
]
}รูปแบบ 2: ทำงาน 6 วัน หยุดวันอาทิตย์
{
"day_lists": [
{ "day": "Mon", "id": "WC001", "code": "A" },
{ "day": "Tue", "id": "WC001", "code": "A" },
{ "day": "Wed", "id": "WC001", "code": "A" },
{ "day": "Thu", "id": "WC001", "code": "A" },
{ "day": "Fri", "id": "WC001", "code": "A" },
{ "day": "Sat", "id": "WC002", "code": "B" },
{ "day": "Sun", "id": "OFF", "code": "OFF" }
]
}รูปแบบ 3: กะผลัดเปลี่ยน
{
"day_lists": [
{ "day": "Mon", "id": "WC001", "code": "A" },
{ "day": "Tue", "id": "WC002", "code": "B" },
{ "day": "Wed", "id": "WC001", "code": "A" },
{ "day": "Thu", "id": "WC002", "code": "B" },
{ "day": "Fri", "id": "WC001", "code": "A" },
{ "day": "Sat", "id": "OFF", "code": "OFF" },
{ "day": "Sun", "id": "OFF", "code": "OFF" }
]
}Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
employee_code | ต้องระบุและเป็น string | Missing required parameter: 'employee_code' |
work_cycle_format | ต้องระบุและเป็น string | Missing required parameter: 'work_cycle_format' |
day_lists | ต้องเป็น array และไม่ว่าง | 'day_lists' must be an array |
day_lists[].day | ต้องระบุในทุก entry | Missing 'day' in day_lists[X] |
day_lists[].id | ต้องระบุในทุก entry | Missing 'id' in day_lists[X] |
Important Notes
- การเปลี่ยนแปลงจะมีผลกับการคำนวณเวลาทำงานและการลงเวลา
- ถ้าเปลี่ยน
work_cycle_formatข้อมูลวันทำงานเดิมจะถูกล้าง - ถ้า
work_cycle_formatเดิมเหมือนกัน ระบบจะรักษาข้อมูลวันที่ไม่ได้ส่งมาไว้
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'employee_code' | ไม่ได้ส่ง employee_code | ตรวจสอบ request body |
Missing required parameter: 'work_cycle_format' | ไม่ได้ส่ง work_cycle_format | ตรวจสอบ request body |
'day_lists' must be an array | day_lists ไม่ใช่ array | ส่งเป็น array ของ objects |
Missing 'day' in day_lists[X] | ไม่ได้ระบุ day ใน entry | เพิ่ม day ใน entry ที่ระบุ |
Employee not found with code: XXX | ไม่พบพนักงาน | ตรวจสอบ employee_code |
Related APIs
- Get Employee Workday - ดึงรูปแบบวันทำงาน
Last updated on