Get Holiday Change List
ดึงรายการคำขอเปลี่ยนวันหยุดตามเงื่อนไขที่กำหนด พร้อมรองรับการ filter และ pagination
ใช้ API นี้เพื่อดึงรายการคำขอเปลี่ยนวันหยุด ติดตามสถานะการอนุมัติ หรือสร้างรายงานสรุป
Endpoint
GET /api/v1/open-apis/holiday-change/get-listRequest Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
start_date | string | Yes | วันที่เริ่มต้น (YYYY-MM-DD) | 2026-01-01 |
end_date | string | Yes | วันที่สิ้นสุด (YYYY-MM-DD) | 2026-01-31 |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | No | รหัสพนักงาน | EMP001 |
approve_flag | string | No | สถานะการอนุมัติ (01, 02, 03) | 01 |
holiday_mode_lv | string | No | โหมดการเปลี่ยน (change, switch) | change |
holiday_flag_lv | string | No | ประเภทวันหยุด (00, 01, 03, 04) | 01 |
keyword | string | No | คำค้นหา (ชื่อ, รหัสพนักงาน) | สมชาย |
company_id | string | No | ID บริษัท | Q09NMQ== |
branch_id | string | No | ID สาขา | QlIwMDE= |
department_id | string | No | ID แผนก | REVQMDE= |
sort_by | string | No | เรียงตาม field | holiday_change_dt |
sort_order | string | No | ลำดับการเรียง (ASC, DESC) | DESC |
_PAGE | number | No | หน้าที่ต้องการ | 1 |
_NUMBER_PER_PAGE | number | No | จำนวนรายการต่อหน้า (1-1000) | 20 |
Approve Flag Values
| Value | Status | Description |
|---|---|---|
01 | Pending | รออนุมัติทั้งหมด (รวม 04-08) |
02 | Approved | อนุมัติแล้ว |
03 | Not Approved | ไม่อนุมัติ |
Sort By Options
holiday_change_dt- วันที่เปลี่ยนวันหยุด (default)employee_code- รหัสพนักงานapprove_flag- สถานะการอนุมัติcreated- วันที่สร้าง
Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": [
{
"holiday_change_id": "SENIMDAxMjM=",
"employee_code": "EMP001",
"employee_name": "สมชาย",
"employee_last_name": "ใจดี",
"employee_nickname": "ชาย",
"employee_name_en": "Somchai",
"employee_last_name_en": "Jaidee",
"employee_nickname_en": "Chai",
"holiday_change_dt": "2026-01-15",
"holiday_mode_lv": "change",
"holiday_mode_name": "เปลี่ยนวันหยุด",
"holiday_mode_name_en": "Change Holiday",
"holiday_flag_lv": "00",
"holiday_type": "Workday",
"holiday_change_desc": "เปลี่ยนเป็นวันทำงานเนื่องจากต้องประชุมลูกค้า",
"approve_flag": "01",
"approve_status": "Pending",
"approve_id": "QVBQMDAxMjM=",
"approve_upd": "2026-01-13 10:30:00",
"approve_remark": "",
"created": "2026-01-13 09:00:00",
"created_by": "EMP001",
"last_upd": "2026-01-13 10:30:00",
"last_upd_by": "EMP001"
}
],
"_PAGINATION": {
"_TOTAL_RECORDS": 25,
"_PAGE": 1,
"_NUMBER_PER_PAGE": 20
}
}Success Response - Switch Mode
{
"code": 200,
"message": "สำเร็จ",
"payload": [
{
"holiday_change_id": "SENIMDAxMjQ=",
"employee_code": "EMP002",
"employee_name": "สมหญิง",
"employee_last_name": "รักดี",
"holiday_change_dt": "2026-01-18",
"holiday_mode_lv": "switch",
"holiday_mode_name": "สลับวันหยุด",
"holiday_mode_name_en": "Switch Holiday",
"holiday_flag_lv": "03",
"holiday_type": "Employee Holiday",
"holiday_switch_dt": "2026-01-20",
"switch_holiday_flag_lv_from": "00",
"switch_holiday_flag_lv_to": "03",
"approve_flag": "02",
"approve_status": "Approved",
"created": "2026-01-12 14:00:00"
}
],
"_PAGINATION": {
"_TOTAL_RECORDS": 1,
"_PAGE": 1,
"_NUMBER_PER_PAGE": 1
}
}Success Response - No Data (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": [],
"_PAGINATION": {
"_TOTAL_RECORDS": 0,
"_PAGE": 1,
"_NUMBER_PER_PAGE": 0
}
}Error Response (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"errors": [
"Missing required parameter: 'start_date'",
"'end_date' must be in format YYYY-MM-DD"
]
}Response Fields
| Field | Type | Description |
|---|---|---|
holiday_change_id | string | ID ของคำขอเปลี่ยนวันหยุด |
employee_code | string | รหัสพนักงาน |
employee_name | string | ชื่อพนักงาน (ไทย) |
employee_last_name | string | นามสกุลพนักงาน (ไทย) |
employee_nickname | string | ชื่อเล่น (ไทย) |
employee_name_en | string | ชื่อพนักงาน (อังกฤษ) |
employee_last_name_en | string | นามสกุลพนักงาน (อังกฤษ) |
employee_nickname_en | string | ชื่อเล่น (อังกฤษ) |
holiday_change_dt | string | วันที่ต้องการเปลี่ยน |
holiday_mode_lv | string | โหมดการเปลี่ยน (change, switch) |
holiday_mode_name | string | ชื่อโหมด (ไทย) |
holiday_mode_name_en | string | ชื่อโหมด (อังกฤษ) |
holiday_flag_lv | string | รหัสประเภทวันหยุด |
holiday_type | string | ชื่อประเภทวันหยุด (อังกฤษ) |
holiday_change_desc | string | เหตุผลการเปลี่ยน |
approve_flag | string | รหัสสถานะการอนุมัติ |
approve_status | string | ชื่อสถานะการอนุมัติ |
approve_id | string | ID ผู้อนุมัติ |
approve_upd | datetime | วันเวลาที่อนุมัติ |
approve_remark | string | หมายเหตุการอนุมัติ |
created | datetime | วันเวลาที่สร้าง |
created_by | string | ผู้สร้าง |
last_upd | datetime | วันเวลาที่แก้ไขล่าสุด |
last_upd_by | string | ผู้แก้ไขล่าสุด |
Switch Mode Additional Fields
| Field | Type | Description |
|---|---|---|
holiday_switch_dt | string | วันที่สลับไป |
switch_holiday_flag_lv_from | string | ประเภทวันเดิม |
switch_holiday_flag_lv_to | string | ประเภทวันใหม่ |
Code Examples
cURL
curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/get-list?start_date=2026-01-01&end_date=2026-01-31&approve_flag=01&_NUMBER_PER_PAGE=20" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
start_date | ต้องระบุและรูปแบบ YYYY-MM-DD | Missing required parameter: 'start_date' |
end_date | ต้องระบุและรูปแบบ YYYY-MM-DD | Missing required parameter: 'end_date' |
end_date | ต้อง >= start_date | 'end_date' must be greater than or equal to 'start_date' |
approve_flag | ต้องเป็น 01, 02, หรือ 03 | 'approve_flag' must be one of: 01, 02, 03 |
holiday_mode_lv | ต้องเป็น change หรือ switch | 'holiday_mode_lv' must be 'change' or 'switch' |
holiday_flag_lv | ต้องเป็น 00, 01, 03, หรือ 04 | 'holiday_flag_lv' must be one of: 00, 01, 03, 04 |
_NUMBER_PER_PAGE | ต้องเป็นตัวเลข 1-1000 | '_NUMBER_PER_PAGE' must be a number between 1 and 1000 |
Notes
approve_flag = '01'จะดึงรายการที่รออนุมัติทุกระดับ (01, 04-08)- ข้อมูล switch mode จะมี field เพิ่มเติม (
holiday_switch_dt,switch_holiday_flag_lv_from,switch_holiday_flag_lv_to)
Use Cases
- แสดงรายการรออนุมัติ - ใช้
approve_flag=01เพื่อดึงคำขอที่รออนุมัติ - ค้นหาตามพนักงาน - ใช้
employee_codeหรือkeywordเพื่อค้นหา - รายงานประจำเดือน - ใช้
start_dateและend_dateของเดือนนั้น - Filter ตามแผนก - ใช้
department_idเพื่อกรองตามแผนก
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'start_date' | ไม่ได้ส่ง start_date | ตรวจสอบ query parameter |
'start_date' must be in format YYYY-MM-DD | รูปแบบวันที่ไม่ถูกต้อง | ใช้รูปแบบ YYYY-MM-DD |
'end_date' must be greater than or equal to 'start_date' | end_date น้อยกว่า start_date | ตรวจสอบช่วงวันที่ |
Employee not found: XXX | ไม่พบพนักงาน | ตรวจสอบ employee_code |
Related APIs
- Get Holiday Types - ดึงรายการประเภทวันหยุด
- Submit Holiday Change - ยื่นคำขอเปลี่ยนวันหยุด
Last updated on