Submit Holiday Change
ยื่นคำขอเปลี่ยนวันหยุดใหม่ เพื่อเปลี่ยนประเภทของวันใดวันหนึ่ง
ใช้ API นี้เพื่อสร้างคำขอเปลี่ยนวันหยุดใหม่ เช่น เปลี่ยนจากวันหยุดเป็นวันทำงาน หรือเปลี่ยนจากวันทำงานเป็นวันหยุด
Endpoint
POST /api/v1/open-apis/holiday-change/submitRequest Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | EMP001 |
holiday_change_dt | string | Yes | วันที่ต้องการเปลี่ยน (Y-m-d) | 2026-01-15 |
holiday_flag_lv | string | Yes | ประเภทวันหยุดที่ต้องการเปลี่ยนเป็น | 00 |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
holiday_change_desc | string | No | เหตุผลการเปลี่ยน | ต้องประชุมลูกค้า |
image_content | string | No | รูปภาพ (Base64 encoded) | data:image/png;base64,... |
Holiday Flag Values
| Code | ประเภท | Description |
|---|---|---|
00 | วันทำงาน | Workday |
01 | วันหยุดนักขัตฤกษ์ | Public Holiday |
03 | วันหยุดพนักงาน | Employee Holiday |
04 | วันหยุดพิเศษ | Special Holiday (ใช้โควตาลาพักร้อน) |
Request Body Example
{
"employee_code": "EMP001",
"holiday_change_dt": "2026-01-15",
"holiday_flag_lv": "00",
"holiday_change_desc": "ต้องประชุมลูกค้า"
}Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": {
"holiday_change_id": "SENIMDAxMjM=",
"employee_id": "RU1QMDE=",
"employee_code": "EMP001",
"holiday_change_dt": "2026-01-15",
"holiday_flag_lv": "00",
"holiday_change_desc": "ต้องประชุมลูกค้า",
"approve_flag": "01",
"created": "2026-01-13 10:30:00"
}
}Error Response - Validation Failed (HTTP 400)
{
"code": 400,
"message": "Validation failed",
"errors": [
"Missing required parameter: 'employee_code'",
"'holiday_change_dt' must be in Y-m-d format"
]
}Error Response - Duplicate Request (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "มีการขอเปลี่ยนวันหยุดในวันนี้แล้ว"
}Error Response - Salary Period Closed (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "ไม่สามารถขอเอกสารได้ เนื่องจากอยู่ในงวดเงินเดือนที่ปิดแล้ว"
}Response Fields
| Field | Type | Description |
|---|---|---|
holiday_change_id | string | ID ของคำขอที่สร้างใหม่ |
employee_id | string | ID ของพนักงาน |
employee_code | string | รหัสพนักงาน |
holiday_change_dt | string | วันที่เปลี่ยน |
holiday_flag_lv | string | ประเภทวันหยุด |
holiday_change_desc | string | เหตุผลการเปลี่ยน |
approve_flag | string | สถานะการอนุมัติ (เริ่มต้น 01 = Pending) |
created | datetime | วันเวลาที่สร้าง |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/submit" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"employee_code": "EMP001",
"holiday_change_dt": "2026-01-15",
"holiday_flag_lv": "00",
"holiday_change_desc": "ต้องประชุมลูกค้า"
}'Example: Submit with Image
// แปลงรูปภาพเป็น Base64
const fileInput = document.getElementById('imageInput')
const file = fileInput.files[0]
const reader = new FileReader()
reader.onload = async function(e) {
const base64Image = e.target.result // data:image/png;base64,...
const response = await fetch(
'https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/submit',
{
method: 'POST',
headers: {
'Ocp-Apim-Subscription-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
employee_code: 'EMP001',
holiday_change_dt: '2026-01-15',
holiday_flag_lv: '00',
holiday_change_desc: 'ต้องประชุมลูกค้า',
image_content: base64Image
})
}
)
const data = await response.json()
console.log(data)
}
reader.readAsDataURL(file)Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
employee_code | ต้องระบุ | Missing required parameter: 'employee_code' |
holiday_change_dt | ต้องระบุและรูปแบบ Y-m-d | 'holiday_change_dt' must be in Y-m-d format |
holiday_flag_lv | ต้องระบุ | Missing required parameter: 'holiday_flag_lv' |
Business Rules
ข้อจำกัดการยื่นคำขอ:
- ไม่สามารถยื่นคำขอซ้ำในวันเดียวกันได้
- ไม่สามารถยื่นคำขอในงวดเงินเดือนที่ปิดแล้ว
- อาจมี cut-off date จำกัดวันที่สามารถยื่นได้
- อาจมี quota จำกัดจำนวนคำขอต่องวด
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'employee_code' | ไม่ได้ส่ง employee_code | ตรวจสอบ request body |
Employee not found: XXX | ไม่พบพนักงาน | ตรวจสอบ employee_code |
มีการขอเปลี่ยนวันหยุดในวันนี้แล้ว | มีคำขอซ้ำ | ตรวจสอบคำขอที่มีอยู่ |
ไม่สามารถขอเอกสารได้ เนื่องจากอยู่ในงวดเงินเดือนที่ปิดแล้ว | งวดเงินเดือนปิดแล้ว | ติดต่อ HR |
ไม่สามารถขอเอกสารได้ เนื่องจากเกินกำหนดวันที่ขอเอกสารแล้ว | เกิน cut-off date | ติดต่อ HR |
ไม่สามารถขอเอกสารได้ เนื่องจากเกินจำนวนโควตาการขอเอกสาร | เกิน quota | รอถึงงวดถัดไป |
Related APIs
- Get Holiday Types - ดึงรายการประเภทวันหยุด
- Get Holiday Change List - ดึงรายการคำขอเปลี่ยนวันหยุด
- Update Holiday Change - แก้ไขคำขอเปลี่ยนวันหยุด
Last updated on