Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Submit Leave

ยื่นคำขอลาใหม่

ใช้ API นี้เพื่อสร้างคำขอลาใหม่ ระบบจะตรวจสอบข้อมูลและส่งเข้าสู่ขั้นตอนการอนุมัติอัตโนมัติ

Endpoint

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

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
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

{ "employee_code": "EMP001", "absence_flag_lv": "absence-01", "effective_hour": "2026-01-15 08:00:00", "expire_hour": "2026-01-15 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-15 17:00:00", "description": "ไม่สบาย มีไข้", "approve_flag": "01", "created": "2026-01-13 09:00:00" } }

Error Response - Validation Failed (HTTP 400)

{ "code": 400, "message": "Validation failed", "errors": [ "Missing required parameter: 'employee_code'", "'effective_hour' must be in format YYYY-MM-DD HH:MM:SS" ] }

Error Response - Employee Not Found (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "Employee not found" }

Error Response - Duplicate Leave (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "มีการลาซ้ำซ้อนกับเอกสารที่มีอยู่แล้ว" }

Error Response - Document Limit (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "ไม่สามารถขอเอกสารเกิน 2 ฉบับ ต่อวัน" }

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เวลาสิ้นสุด
descriptionstringรายละเอียด
approve_flagstringสถานะการอนุมัติ
createddatetimeวันเวลาที่สร้าง

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/time-leave/submit" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_code": "EMP001", "absence_flag_lv": "absence-01", "effective_hour": "2026-01-15 08:00:00", "expire_hour": "2026-01-15 17:00:00", "time_leave_desc": "ไม่สบาย มีไข้" }'

Validation Rules

ParameterValidationError Message
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

ข้อจำกัดการยื่นคำขอ:

  • ไม่สามารถยื่นคำขอในงวดเงินเดือนที่ปิดแล้ว
  • เวลาสิ้นสุดต้องมากกว่าหรือเท่ากับเวลาเริ่มต้น
  • ไม่สามารถยื่นเอกสารซ้ำซ้อนกับช่วงเวลาที่มีอยู่แล้ว
  • จำกัดการยื่นเอกสารไม่เกิน 2 ฉบับต่อวัน
  • ต้องตรวจสอบว่าพนักงานมีอยู่ในระบบ

Error Handling

ErrorCauseSolution
Missing required parameter: 'employee_code'ไม่ได้ส่ง employee_codeตรวจสอบ request body
Employee not foundไม่พบพนักงานตรวจสอบ employee_code
มีการลาซ้ำซ้อนกับเอกสารที่มีอยู่แล้วช่วงเวลาซ้ำกับคำขอที่มีอยู่ตรวจสอบช่วงเวลา
ไม่สามารถขอเอกสารเกิน 2 ฉบับ ต่อวันเกินจำนวนเอกสารต่อวันรอวันถัดไป
ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้วงวดเงินเดือนปิดแล้วเลือกวันที่ในงวดที่เปิดอยู่

Notes

Use Cases

  1. พนักงานยื่นคำขอลา - สร้างคำขอผ่าน Self-service
  2. HR สร้างคำขอแทน - สร้างคำขอให้พนักงานที่ไม่มี access
  3. Import ข้อมูลจากระบบภายนอก - นำเข้าข้อมูลการลาจากระบบอื่น

Time Format

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

File Attachment

  • ส่งไฟล์แนบเป็น Base64 encoded string ใน image_content
  • รองรับไฟล์รูปภาพ (PNG, JPG, etc.)
Last updated on