Skip to Content
🚀 Welcome to Humansoft Open API Documentation
DocumentationWebhookTime Leave Events

Time Leave Events

Events ที่เกี่ยวข้องกับเอกสารคำร้องขอลางาน

ข้อมูลใน body ของแต่ละ Event ประกอบด้วยฟิลด์พื้นฐานของเอกสาร, ข้อมูลพนักงาน, สถานะการอนุมัติ และข้อมูลเฉพาะของประเภทการลา (ชื่อประเภทลา, สิทธิ์การรับค่าจ้าง, ยอดโควต้าคงเหลือ)


time_leave.created

เกิดขึ้นเมื่อสร้างคำร้องขอลางานใหม่

ตัวอย่าง Payload:

{ "request_id": "req_tl12345678", "event": "time_leave.created", "event_occurred_at": "2025-01-24 10:30:00", "body": { "time_leave_id": "L2501001", "employee_id": "20250101ABCD1234", "effective_dt": "2025-01-24", "expire_dt": "2025-01-24", "effective_hour": "2025-01-24 08:00:00", "expire_hour": "2025-01-24 17:00:00", "absence_flag_lv": "01", "time_leave_desc": "เป็นไข้หวัด", "absence_day": "1.0000", "absence_sum_time": "08:00:00", "absence_total": "1.00", "time_leave_day": "1", "time_leave_hour": "8", "time_leave_path": null, "approve_flag": "01", "approve_id": "", "approve_upd": null, "approve_remark": null, "approve_method": "01", "document_approve_flag": "01", "document_created_by": "EMP001", "document_last_upd_by": "EMP001", "employee_code": "EMP001", "employee_title_lv": "01", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001", "full_name": "สมชาย ใจดี", "approval_status": "Pending", "source": "hms_admin", "resource_type": "time_leave", "actor_id": "EMP001", "time_leave_flag_name": "ลาป่วย", "time_leave_flag_name_en": "Sick Leave", "time_leave_flag_unit": "Daily", "time_leave_flag_paid_01": 100, "time_leave_flag_paid_02": 100, "time_leave_flag_paid_04": 100, "flag_paid_type_name": "ได้รับค่าจ้างทุกประเภท", "flag_paid_type_name_en": "Paid leave (all employee types)", "total_quota": 30, "used_quota": 0, "remaining_quota": 30, "employee_title_name": "นาย", "leave_period_type": "full_day" } }

time_leave.updated

เกิดขึ้นเมื่อแก้ไขข้อมูลใบลา

ตัวอย่าง Payload:

{ "request_id": "req_tl12345679", "event": "time_leave.updated", "event_occurred_at": "2025-01-24 10:35:00", "body": { "time_leave_id": "L2501001", "employee_id": "20250101ABCD1234", "effective_dt": "2025-01-24", "expire_dt": "2025-01-24", "effective_hour": "2025-01-24 08:00:00", "expire_hour": "2025-01-24 17:00:00", "absence_flag_lv": "01", "time_leave_desc": "เป็นไข้หวัดใหญ่ (อัปเดตอาการ)", "absence_day": "1.0000", "absence_sum_time": "08:00:00", "absence_total": "1.00", "time_leave_day": "1", "time_leave_hour": "8", "time_leave_path": null, "approve_flag": "01", "approve_id": "", "approve_upd": null, "approve_remark": null, "approve_method": "01", "document_approve_flag": "01", "document_created_by": "EMP001", "document_last_upd_by": "EMP001", "employee_code": "EMP001", "employee_title_lv": "01", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001", "full_name": "สมชาย ใจดี", "approval_status": "Pending", "source": "hms_admin", "resource_type": "time_leave", "actor_id": "EMP001", "time_leave_flag_name": "ลาป่วย", "time_leave_flag_name_en": "Sick Leave", "time_leave_flag_unit": "Daily", "time_leave_flag_paid_01": 100, "time_leave_flag_paid_02": 100, "time_leave_flag_paid_04": 100, "flag_paid_type_name": "ได้รับค่าจ้างทุกประเภท", "flag_paid_type_name_en": "Paid leave (all employee types)", "total_quota": 30, "used_quota": 0, "remaining_quota": 30, "employee_title_name": "นาย", "leave_period_type": "full_day" } }

time_leave.deleted

เกิดขึ้นเมื่อลบหรือยกเลิกใบลา

ตัวอย่าง Payload:

{ "request_id": "req_tl12345680", "event": "time_leave.deleted", "event_occurred_at": "2025-01-24 10:40:00", "body": { "time_leave_id": "L2501001", "employee_id": "20250101ABCD1234", "absence_flag_lv": "01", "effective_dt": "2025-01-24", "effective_hour": "2025-01-24 08:30:00", "expire_dt": "2025-01-24", "expire_hour": "2025-01-24 17:30:00", "absence_day": "1.0000", "absence_sum_time": "08:00:00", "absence_total": "1.00", "time_leave_day": "1", "time_leave_hour": "8", "time_leave_desc": "เป็นไข้หวัดใหญ่ (อัปเดตอาการ)", "time_leave_path": null, "approve_flag": "01", "approve_id": "", "approve_upd": null, "approve_remark": null, "approve_method": "01", "document_approve_flag": "01", "document_created_by": "EMP001", "document_last_upd_by": "EMP001", "employee_code": "EMP001", "employee_title_lv": "01", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001", "full_name": "สมชาย ใจดี", "approval_status": "Pending", "source": "hms_admin", "resource_type": "time_leave", "actor_id": "EMP001", "time_leave_flag_name": "ลาป่วย", "time_leave_flag_name_en": "Sick Leave", "time_leave_flag_unit": "Daily", "time_leave_flag_paid_01": 100, "time_leave_flag_paid_02": 100, "time_leave_flag_paid_04": 100, "flag_paid_type_name": "ได้รับค่าจ้างทุกประเภท", "flag_paid_type_name_en": "Paid leave (all employee types)", "total_quota": 30, "used_quota": 0, "remaining_quota": 30, "employee_title_name": "นาย", "leave_period_type": "full_day" } }

เมื่อได้รับ event นี้ เอกสารใบลาถูกลบออกจากระบบแล้ว ไม่สามารถกู้คืนได้


time_leave.approval_progressed

เกิดขึ้นเมื่อมีการดำเนินการอนุมัติตามสายงาน (ผ่านบางขั้นแต่ยังไม่เสร็จสิ้น)

ตัวอย่าง Payload:

{ "request_id": "req_tl12345681", "event": "time_leave.approval_progressed", "event_occurred_at": "2025-01-24 11:00:00", "body": { "time_leave_id": "L2501001", "employee_id": "20250101ABCD1234", "absence_flag_lv": "01", "effective_dt": "2025-01-24", "effective_hour": "2025-01-24 08:30:00", "expire_dt": "2025-01-24", "expire_hour": "2025-01-24 17:30:00", "absence_day": "1.0000", "absence_sum_time": "08:00:00", "absence_total": "1.00", "time_leave_day": "1", "time_leave_hour": "8", "time_leave_desc": "เป็นไข้หวัด", "time_leave_path": null, "approve_flag": "04", "approve_id": "MGR001", "approve_upd": "2025-01-24 11:00:00", "approve_remark": "รับทราบอาการ", "approve_method": "01", "document_approve_flag": "01", "document_created_by": "EMP001", "document_last_upd_by": "MGR001", "employee_code": "EMP001", "employee_title_lv": "01", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001", "full_name": "สมชาย ใจดี", "approval_status": "Approval Progressed Step 1", "source": "hms_admin", "resource_type": "time_leave", "actor_id": "MGR001", "time_leave_flag_name": "ลาป่วย", "time_leave_flag_name_en": "Sick Leave", "time_leave_flag_unit": "Daily", "time_leave_flag_paid_01": 100, "time_leave_flag_paid_02": 100, "time_leave_flag_paid_04": 100, "flag_paid_type_name": "ได้รับค่าจ้างทุกประเภท", "flag_paid_type_name_en": "Paid leave (all employee types)", "total_quota": 30, "used_quota": 0, "remaining_quota": 30, "employee_title_name": "นาย", "leave_period_type": "full_day" } }

actor_id คือผู้อนุมัติที่ดำเนินการในขั้นตอนนี้ ส่วน document_created_by คือผู้ขอลา


time_leave.approved

เกิดขึ้นเมื่อใบลาได้รับการอนุมัติเสร็จสมบูรณ์ (ผ่านทุกขั้นตอนของสายอนุมัติ)

ตัวอย่าง Payload:

{ "request_id": "req_tl12345682", "event": "time_leave.approved", "event_occurred_at": "2025-01-24 11:30:00", "body": { "time_leave_id": "L2501001", "employee_id": "20250101ABCD1234", "absence_flag_lv": "01", "effective_dt": "2025-01-24", "effective_hour": "2025-01-24 08:30:00", "expire_dt": "2025-01-24", "expire_hour": "2025-01-24 17:30:00", "absence_day": "1.0000", "absence_sum_time": "08:00:00", "absence_total": "1.00", "time_leave_day": "1", "time_leave_hour": "8", "time_leave_desc": "เป็นไข้หวัด", "time_leave_path": null, "approve_flag": "02", "approve_id": "MGR002", "approve_upd": "2025-01-24 11:30:00", "approve_remark": "อนุมัติให้พักผ่อน", "approve_method": "01", "document_approve_flag": "02", "document_created_by": "EMP001", "document_last_upd_by": "MGR002", "employee_code": "EMP001", "employee_title_lv": "01", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001", "full_name": "สมชาย ใจดี", "approval_status": "Approved", "source": "hms_admin", "resource_type": "time_leave", "actor_id": "MGR002", "time_leave_flag_name": "ลาป่วย", "time_leave_flag_name_en": "Sick Leave", "time_leave_flag_unit": "Daily", "time_leave_flag_paid_01": 100, "time_leave_flag_paid_02": 100, "time_leave_flag_paid_04": 100, "flag_paid_type_name": "ได้รับค่าจ้างทุกประเภท", "flag_paid_type_name_en": "Paid leave (all employee types)", "total_quota": 30, "used_quota": 1, "remaining_quota": 29, "employee_title_name": "นาย", "leave_period_type": "full_day" } }

หลังอนุมัติแล้ว used_quota และ remaining_quota จะอัปเดตตามวันลาที่ใช้ไป


time_leave.rejected

เกิดขึ้นเมื่อใบลาถูกปฏิเสธ

ตัวอย่าง Payload:

{ "request_id": "req_tl12345683", "event": "time_leave.rejected", "event_occurred_at": "2025-01-24 11:35:00", "body": { "time_leave_id": "L2501001", "employee_id": "20250101ABCD1234", "absence_flag_lv": "01", "effective_dt": "2025-01-24", "effective_hour": "2025-01-24 08:30:00", "expire_dt": "2025-01-24", "expire_hour": "2025-01-24 17:30:00", "absence_day": "1.0000", "absence_sum_time": "08:00:00", "absence_total": "1.00", "time_leave_day": "1", "time_leave_hour": "8", "time_leave_desc": "เป็นไข้หวัด", "time_leave_path": null, "approve_flag": "03", "approve_id": "MGR002", "approve_upd": "2025-01-24 11:35:00", "approve_remark": "ข้อมูลไม่ครบถ้วน", "approve_method": "01", "document_approve_flag": "03", "document_created_by": "EMP001", "document_last_upd_by": "MGR002", "employee_code": "EMP001", "employee_title_lv": "01", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001", "full_name": "สมชาย ใจดี", "approval_status": "Rejected", "source": "hms_admin", "resource_type": "time_leave", "actor_id": "MGR002", "time_leave_flag_name": "ลาป่วย", "time_leave_flag_name_en": "Sick Leave", "time_leave_flag_unit": "Daily", "time_leave_flag_paid_01": 100, "time_leave_flag_paid_02": 100, "time_leave_flag_paid_04": 100, "flag_paid_type_name": "ได้รับค่าจ้างทุกประเภท", "flag_paid_type_name_en": "Paid leave (all employee types)", "total_quota": 30, "used_quota": 0, "remaining_quota": 30, "employee_title_name": "นาย", "leave_period_type": "full_day" } }

Body Fields Reference

Base Document Fields (มีในทุก event)

FieldTypeDescription
employee_idstringรหัสพนักงานในระบบ (Internal ID)
employee_codestringรหัสพนักงาน
employee_title_lvstringรหัสคำนำหน้าชื่อ
employee_title_namestringชื่อคำนำหน้า เช่น นาย, นาง, นางสาว (เพิ่มให้อัตโนมัติ)
full_namestringชื่อ-นามสกุลพนักงาน
company_idstringรหัสบริษัท
branch_idstringรหัสสาขา
department_idstringรหัสแผนก
position_idstringรหัสตำแหน่ง
approve_flag / document_approve_flagstringรหัสสถานะการอนุมัติ (01=Pending, 02=Approved, 03=Rejected, 04+=Step X)
approve_idstringรหัสพนักงานผู้อนุมัติ (ถ้ามี)
approve_updstringวันที่และเวลาที่อนุมัติ (YYYY-MM-DD HH:mm:ss)
approve_remarkstringหมายเหตุการอนุมัติ
approve_methodstringรหัสวิธีการอนุมัติ (เช่น 01, 02)
approval_statusstringสถานะการอนุมัติ (เช่น Pending, Approved, Rejected)
document_created_bystringรหัสพนักงานผู้สร้างคำร้อง/เอกสาร
document_last_upd_bystringรหัสพนักงานผู้อัปเดต/อนุมัติเอกสารล่าสุด
sourcestringแหล่งที่มาของการทำรายการ (เช่น hms_admin, openapi)
resource_typestringประเภทของเอกสาร (เช่น time_leave, overtime)
actor_idstringรหัสผู้ใช้งานที่ทำให้เกิด Event นี้ (เช่น ผู้ขอ, ผู้อนุมัติตามสายงาน)

Time Leave Fields

FieldTypeDescription
time_leave_idstringรหัสเอกสารลางาน
absence_flag_lvstringรหัสประเภทการลาในระบบ
effective_dtstringวันที่เริ่มต้นการลา (YYYY-MM-DD)
effective_hourstringวันที่และเวลาเริ่มต้นการลา (YYYY-MM-DD HH:mm:ss)
expire_dtstringวันที่สิ้นสุดการลา (YYYY-MM-DD)
expire_hourstringวันที่และเวลาสิ้นสุดการลา (YYYY-MM-DD HH:mm:ss)
absence_daystringจำนวนวันที่ลา
absence_sum_timestringจำนวนเวลาที่ลา (HH:mm:ss)
absence_totalstringยอดรวมการลา (ตามหน่วยของประเภทการลา)
time_leave_daystringจำนวนวันที่ลา
time_leave_hourstringจำนวนชั่วโมงที่ลา
time_leave_descstringเหตุผลหรือหมายเหตุการลา
time_leave_pathstringพาธไฟล์แนบ (ถ้ามี)
time_leave_flag_namestringชื่อประเภทการลา (ภาษาไทย)
time_leave_flag_name_enstringชื่อประเภทการลา (ภาษาอังกฤษ)
time_leave_flag_unitstringหน่วยของการลา (Daily = รายวัน, Hourly = รายชั่วโมง)
leave_period_typestringรูปแบบช่วงเวลาลา (full_day, morning, afternoon, specific_time) (Optional)
flag_paid_type_namestringสิทธิ์การรับค่าจ้าง (เช่น ได้รับค่าจ้างทุกประเภท, ไม่ได้รับค่าจ้าง)
flag_paid_type_name_enstringสิทธิ์การรับค่าจ้าง (ภาษาอังกฤษ)
total_quotanumberโควต้าวันลาทั้งหมดของประเภทนี้ในปีปัจจุบัน
used_quotanumberจำนวนโควต้าที่ถูกใช้ไปแล้ว
remaining_quotanumberจำนวนโควต้าที่คงเหลือใช้งานได้

สรุป Time Leave Events

Event Codeคำอธิบาย
time_leave.createdสร้างคำร้องขอลางานใหม่
time_leave.updatedแก้ไขข้อมูลใบลา
time_leave.deletedลบหรือยกเลิกใบลา
time_leave.approval_progressedดำเนินการอนุมัติตามสายงาน (ยังไม่เสร็จสิ้น)
time_leave.approvedใบลาได้รับการอนุมัติเสร็จสมบูรณ์
time_leave.rejectedใบลาถูกปฏิเสธ
Last updated on