Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Update Leave

แก้ไขคำขอลาที่มีอยู่

ใช้ API นี้เพื่อแก้ไขรายละเอียดคำขอลา เช่น ช่วงเวลา ประเภทการลา หรือรายละเอียด

Endpoint

POST /api/v1/open-apis/time-leave/update

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
time_leave_idstringYesID ของคำขอที่ต้องการแก้ไขVExWMDAxMjM=
employee_codestringYesรหัสพนักงานEMP001
absence_flag_lvstringYesประเภทการลา (absence-01 หรือ 01)absence-01
effective_hourstringYesเวลาเริ่มต้น (YYYY-MM-DD HH:MM:SS)2026-01-15 08:00:00
expire_hourstringYesเวลาสิ้นสุด (YYYY-MM-DD HH:MM:SS)2026-01-15 17:00:00

Optional Parameters

ParameterTypeRequiredDescriptionExample
time_leave_descstringNoรายละเอียด/เหตุผลแก้ไขเหตุผลการลา
image_contentstringNoไฟล์แนบ (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

FieldTypeDescription
time_leave_idstringID ของคำขอที่แก้ไข
employee_idstringID ของพนักงาน
employee_codestringรหัสพนักงาน
typestringประเภทการลา
start_dtdatetimeเวลาเริ่มต้น
end_dtdatetimeเวลาสิ้นสุด
absence_daynumberจำนวนวันลา
absence_sum_timenumberจำนวนชั่วโมงลารวม
descriptionstringรายละเอียด
approve_flagstringสถานะการอนุมัติ
updated_atdatetimeวันเวลาที่แก้ไข

Code Examples

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

ParameterValidationError Message
time_leave_idต้องระบุและเป็น stringMissing required parameter: 'time_leave_id'
employee_codeต้องระบุและเป็น stringMissing 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

ErrorCauseSolution
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

  1. แก้ไขช่วงเวลา - เปลี่ยนวันเริ่มต้นหรือสิ้นสุด
  2. เปลี่ยนประเภทการลา - เปลี่ยนจากลาป่วยเป็นลากิจ
  3. เพิ่มรายละเอียด - อัพเดทเหตุผลการลา
  4. แนบไฟล์เพิ่มเติม - อัพโหลดใบรับรองแพทย์

Time Format

  • effective_hour และ expire_hour ใช้รูปแบบ YYYY-MM-DD HH:MM:SS
  • ตัวอย่าง: 2026-01-15 08:00:00
Last updated on