Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Get Holiday Change List

ดึงรายการคำขอเปลี่ยนวันหยุดตามเงื่อนไขที่กำหนด พร้อมรองรับการ filter และ pagination

ใช้ API นี้เพื่อดึงรายการคำขอเปลี่ยนวันหยุด ติดตามสถานะการอนุมัติ หรือสร้างรายงานสรุป

Endpoint

GET /api/v1/open-apis/holiday-change/get-list

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
start_datestringYesวันที่เริ่มต้น (YYYY-MM-DD)2026-01-01
end_datestringYesวันที่สิ้นสุด (YYYY-MM-DD)2026-01-31

Optional Parameters

ParameterTypeRequiredDescriptionExample
employee_codestringNoรหัสพนักงานEMP001
approve_flagstringNoสถานะการอนุมัติ (01, 02, 03)01
holiday_mode_lvstringNoโหมดการเปลี่ยน (change, switch)change
holiday_flag_lvstringNoประเภทวันหยุด (00, 01, 03, 04)01
keywordstringNoคำค้นหา (ชื่อ, รหัสพนักงาน)สมชาย
company_idstringNoID บริษัทQ09NMQ==
branch_idstringNoID สาขาQlIwMDE=
department_idstringNoID แผนกREVQMDE=
sort_bystringNoเรียงตาม fieldholiday_change_dt
sort_orderstringNoลำดับการเรียง (ASC, DESC)DESC
_PAGEnumberNoหน้าที่ต้องการ1
_NUMBER_PER_PAGEnumberNoจำนวนรายการต่อหน้า (1-1000)20

Approve Flag Values

ValueStatusDescription
01Pendingรออนุมัติทั้งหมด (รวม 04-08)
02Approvedอนุมัติแล้ว
03Not 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

FieldTypeDescription
holiday_change_idstringID ของคำขอเปลี่ยนวันหยุด
employee_codestringรหัสพนักงาน
employee_namestringชื่อพนักงาน (ไทย)
employee_last_namestringนามสกุลพนักงาน (ไทย)
employee_nicknamestringชื่อเล่น (ไทย)
employee_name_enstringชื่อพนักงาน (อังกฤษ)
employee_last_name_enstringนามสกุลพนักงาน (อังกฤษ)
employee_nickname_enstringชื่อเล่น (อังกฤษ)
holiday_change_dtstringวันที่ต้องการเปลี่ยน
holiday_mode_lvstringโหมดการเปลี่ยน (change, switch)
holiday_mode_namestringชื่อโหมด (ไทย)
holiday_mode_name_enstringชื่อโหมด (อังกฤษ)
holiday_flag_lvstringรหัสประเภทวันหยุด
holiday_typestringชื่อประเภทวันหยุด (อังกฤษ)
holiday_change_descstringเหตุผลการเปลี่ยน
approve_flagstringรหัสสถานะการอนุมัติ
approve_statusstringชื่อสถานะการอนุมัติ
approve_idstringID ผู้อนุมัติ
approve_upddatetimeวันเวลาที่อนุมัติ
approve_remarkstringหมายเหตุการอนุมัติ
createddatetimeวันเวลาที่สร้าง
created_bystringผู้สร้าง
last_upddatetimeวันเวลาที่แก้ไขล่าสุด
last_upd_bystringผู้แก้ไขล่าสุด

Switch Mode Additional Fields

FieldTypeDescription
holiday_switch_dtstringวันที่สลับไป
switch_holiday_flag_lv_fromstringประเภทวันเดิม
switch_holiday_flag_lv_tostringประเภทวันใหม่

Code Examples

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

ParameterValidationError Message
start_dateต้องระบุและรูปแบบ YYYY-MM-DDMissing required parameter: 'start_date'
end_dateต้องระบุและรูปแบบ YYYY-MM-DDMissing 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

  1. แสดงรายการรออนุมัติ - ใช้ approve_flag=01 เพื่อดึงคำขอที่รออนุมัติ
  2. ค้นหาตามพนักงาน - ใช้ employee_code หรือ keyword เพื่อค้นหา
  3. รายงานประจำเดือน - ใช้ start_date และ end_date ของเดือนนั้น
  4. Filter ตามแผนก - ใช้ department_id เพื่อกรองตามแผนก

Error Handling

ErrorCauseSolution
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
Last updated on