Update Leave
แก้ไขคำขอลาที่มีอยู่
ใช้ API นี้เพื่อแก้ไขรายละเอียดคำขอลา เช่น ช่วงเวลา ประเภทการลา หรือรายละเอียด
Endpoint
POST /api/v1/open-apis/time-leave/updateRequest Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
time_leave_id | string | Yes | ID ของคำขอที่ต้องการแก้ไข | VExWMDAxMjM= |
employee_code | string | Yes | รหัสพนักงาน | EMP001 |
absence_flag_lv | string | Yes | ประเภทการลา (absence-01 หรือ 01) | absence-01 |
effective_hour | string | Yes | เวลาเริ่มต้น (YYYY-MM-DD HH:MM:SS) | 2026-01-15 08:00:00 |
expire_hour | string | Yes | เวลาสิ้นสุด (YYYY-MM-DD HH:MM:SS) | 2026-01-15 17:00:00 |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
time_leave_desc | string | No | รายละเอียด/เหตุผล | แก้ไขเหตุผลการลา |
image_content | string | No | ไฟล์แนบ (Base64 encoded) | data:image/png;base64,... |
Request Body Example
{
"time_leave_id": "VExWMDAxMjM=",
"employee_code": "EMP001",
"absence_flag_lv": "absence-01",
"effective_hour": "2026-01-15 08:00:00",
"expire_hour": "2026-01-16 17:00:00",
"time_leave_desc": "แก้ไขเหตุผลการลา"
}Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": {
"time_leave_id": "VExWMDAxMjM=",
"employee_id": "RU1QMDE=",
"employee_code": "EMP001",
"type": "01",
"start_dt": "2026-01-15 08:00:00",
"end_dt": "2026-01-16 17:00:00",
"absence_day": 2.0,
"absence_sum_time": 16.0,
"description": "แก้ไขเหตุผลการลา",
"approve_flag": "01",
"updated_at": "2026-01-13 14:30:00"
}
}Error Response - Not Found (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Time leave record not found"
}Error Response - Already Approved (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "ไม่สามารถแก้ไขเอกสารที่อนุมัติแล้ว"
}Error Response - Already Deleted (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Cannot update deleted time leave record"
}Error Response - Salary Period Closed (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้ว"
}Response Fields
| Field | Type | Description |
|---|---|---|
time_leave_id | string | ID ของคำขอที่แก้ไข |
employee_id | string | ID ของพนักงาน |
employee_code | string | รหัสพนักงาน |
type | string | ประเภทการลา |
start_dt | datetime | เวลาเริ่มต้น |
end_dt | datetime | เวลาสิ้นสุด |
absence_day | number | จำนวนวันลา |
absence_sum_time | number | จำนวนชั่วโมงลารวม |
description | string | รายละเอียด |
approve_flag | string | สถานะการอนุมัติ |
updated_at | datetime | วันเวลาที่แก้ไข |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/time-leave/update" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"time_leave_id": "VExWMDAxMjM=",
"employee_code": "EMP001",
"absence_flag_lv": "absence-01",
"effective_hour": "2026-01-15 08:00:00",
"expire_hour": "2026-01-16 17:00:00",
"time_leave_desc": "แก้ไขเหตุผลการลา"
}'Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
time_leave_id | ต้องระบุและเป็น string | Missing required parameter: 'time_leave_id' |
employee_code | ต้องระบุและเป็น string | Missing required parameter: 'employee_code' |
absence_flag_lv | ต้องระบุและเป็น 01-08 หรือ 10-20 | 'absence_flag_lv' must be 01 to 08 or 10 to 20 |
effective_hour | ต้องระบุและรูปแบบ YYYY-MM-DD HH:MM:SS | 'effective_hour' must be in format YYYY-MM-DD HH:MM:SS |
expire_hour | ต้องระบุและรูปแบบ YYYY-MM-DD HH:MM:SS | 'expire_hour' must be in format YYYY-MM-DD HH:MM:SS |
expire_hour | ต้อง >= effective_hour | 'expire_hour' must be greater than or equal to 'effective_hour' |
Business Rules
ข้อจำกัดการแก้ไข:
- ไม่สามารถแก้ไขคำขอที่อนุมัติแล้ว (approve_flag = 02)
- ไม่สามารถแก้ไขคำขอที่ลบไปแล้ว
- ไม่สามารถแก้ไขในงวดเงินเดือนที่ปิดแล้ว
- ถ้าเปลี่ยนช่วงเวลา ระบบจะคำนวณจำนวนวันลาใหม่
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'time_leave_id' | ไม่ได้ส่ง time_leave_id | ตรวจสอบ request body |
Time leave record not found | ไม่พบคำขอ | ตรวจสอบ time_leave_id |
Cannot update deleted time leave record | คำขอถูกลบไปแล้ว | ไม่สามารถแก้ไขได้ |
ไม่สามารถแก้ไขเอกสารที่อนุมัติแล้ว | คำขออนุมัติแล้ว | ไม่สามารถแก้ไขได้ |
ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้ว | งวดเงินเดือนปิดแล้ว | ติดต่อ HR |
มีการลาซ้ำซ้อนกับเอกสารที่มีอยู่แล้ว | ช่วงเวลาซ้ำกับคำขออื่น | ตรวจสอบช่วงเวลา |
Notes
Use Cases
- แก้ไขช่วงเวลา - เปลี่ยนวันเริ่มต้นหรือสิ้นสุด
- เปลี่ยนประเภทการลา - เปลี่ยนจากลาป่วยเป็นลากิจ
- เพิ่มรายละเอียด - อัพเดทเหตุผลการลา
- แนบไฟล์เพิ่มเติม - อัพโหลดใบรับรองแพทย์
Time Format
effective_hourและexpire_hourใช้รูปแบบYYYY-MM-DD HH:MM:SS- ตัวอย่าง:
2026-01-15 08:00:00
Related APIs
- Get Leave List - ดึงรายการคำขอลา
- Submit Leave - ยื่นคำขอลาใหม่
- Delete Leave - ลบคำขอลา
Last updated on