Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Daily In Month Calendar

ดึงข้อมูลปฏิทินรายวันในช่วงวันที่ระบุ แสดงตารางเวลาทำงาน พร้อมกรองตามประเภท (วันทำงาน, วันหยุด, ลา, OT, แก้เวลา, ขาดงาน)

Endpoint

GET /api/v1/open-apis/salary/get-data-filter?path_action=daily_in_month_calendar

สิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลเงินเดือนของพนักงาน (payroll:read:self)

Request Parameters

ParameterTypeRequiredDescriptionExample
employee_codestringYesรหัสพนักงาน"EMP001"
start_datestringYesวันที่เริ่มต้น (YYYY-MM-DD)"2026-02-01"
end_datestringYesวันที่สิ้นสุด (YYYY-MM-DD)"2026-02-28"
time_flagstringNoกรองตามประเภท (ดูตารางด้านล่าง)"00"
language_codestringNoภาษา: TH หรือ EN (ค่าเริ่มต้น: TH)"TH"

time_flag Values

ValueDescription
"00"กรองเฉพาะวันทำงาน
"01"กรองเฉพาะวันหยุดนักขัตฤกษ์
"03"กรองเฉพาะวันหยุดพนักงาน
"99"กรองเฉพาะวันที่มีเอกสารลา
"98"กรองเฉพาะวันที่มีเอกสารแก้เวลา
"97"กรองเฉพาะวันที่มีเอกสาร OT
"96"กรองเฉพาะวันที่ขาดงาน
ไม่ระบุแสดงทุกวัน (ไม่กรอง)

start_date ต้องไม่มากกว่า end_date แนะนำให้จำกัดช่วงวันที่ไม่เกิน 31 วัน


Response Format

Success Response

{ "code": 200, "message": "Success", "payload": [ { "time_attendance_group_transac_id": "20260201ABC123456789", "work_date": "2026-02-01", "day_status": "วันหยุดพนักงาน", "work_cycle_code": "WC002", "work_cycle_start_time": "2026-02-01 09:00:00", "work_cycle_end_time": "2026-02-01 18:00:00", "holiday_flag_lv": "03", "holiday_count": "1", "work_time_count": "0", "time": [], "time_lost": [], "time_leave": [], "work_cycle_change": [], "holiday_change": [], "time_adjust": [], "ot_work": [], "custom_attendance": { "is_absent_full_day": false, "is_absent_half_day": false, "is_morning": false, "is_late": true, "is_lunch_over": false, "is_lunch_under": false, "is_early_out": false, "is_after_work": false, "is_work_error": false }, "custom_day_type": "work_day", "custom_leave": { "has_leave": false, "doc_status": null, "show_absent_until_approved": false }, "custom_ot": { "has_ot": false, "doc_status": null, "requested_hours": 0.0, "actual_ot_hours": 0.0, "approved_hours": 0.0 }, "custom_color": "green", "custom_status": "วันทำงาน", "custom_display_statuses": ["วันทำงาน", "สาย"] }, { "time_attendance_group_transac_id": "20260218DEF987654321", "work_date": "2026-02-18", "day_status": "วันทำงาน", "work_cycle_code": "WC002", "work_cycle_start_time": "2026-02-18 09:00:00", "work_cycle_end_time": "2026-02-18 18:00:00", "holiday_flag_lv": "00", "holiday_count": "0", "work_time_count": "2", "late_sum_time": "00:05:00", "time": [ { "time_attendance_transac_id": "20260218IN123", "attendance_datetime": "2026-02-18 09:05:00", "work_type_lv": "01", "time_attendance_type_lv": "Manual" }, { "time_attendance_transac_id": "20260218OUT456", "attendance_datetime": "2026-02-18 18:10:00", "work_type_lv": "02", "time_attendance_type_lv": "Manual" } ], "time_lost": [], "time_leave": [], "work_cycle_change": [], "holiday_change": [], "time_adjust": [], "ot_work": [], "custom_attendance": { "is_absent_full_day": false, "is_absent_half_day": false, "is_morning": false, "is_late": true, "is_lunch_over": false, "is_lunch_under": false, "is_early_out": false, "is_after_work": false, "is_work_error": false }, "custom_day_type": "work_day", "custom_leave": { "has_leave": false, "doc_status": null, "show_absent_until_approved": false }, "custom_ot": { "has_ot": false, "doc_status": null, "requested_hours": 0.0, "actual_ot_hours": 0.0, "approved_hours": 0.0 }, "custom_color": "green", "custom_status": "วันทำงาน", "custom_display_statuses": ["วันทำงาน", "สาย"] } ] }

Key Response Fields

Response เป็น array ของวันทำงาน แต่ละ element มีฟิลด์ดังนี้:

FieldTypeDescription
time_attendance_group_transac_idstringรหัส record รายวัน
work_datestringวันที่ (YYYY-MM-DD)
day_statusstringสถานะวัน
work_cycle_codestringรหัสกะ
holiday_flag_lvstringรหัสประเภทวันหยุด
holiday_countstringจำนวนวันหยุด: "0" หรือ "1"
work_time_countstringจำนวนรายการลงเวลา
late_sum_timestringเวลาสาย (HH:mm:ss)
timearrayรายการลงเวลาเข้า-ออก
time_lostarrayรายการขาดงาน
time_leavearrayรายการเอกสารลา
work_cycle_changearrayรายการเอกสารเปลี่ยนกะ
holiday_changearrayรายการเอกสารเปลี่ยนวันหยุด
time_adjustarrayรายการเอกสารแก้เวลา
ot_workarrayรายการเอกสาร OT
custom_attendanceobjectสรุปสถานะการเช็คอิน/เช็คเอาท์รายวัน — ดู Custom Attendance
custom_day_typestringประเภทวัน: work_day, public_holiday, employee_holiday, special_holiday
custom_leaveobjectสรุปข้อมูลการลา — ดู Custom Leave
custom_otobjectสรุปข้อมูลชั่วโมงและสถานะ OT — ดู Custom OT
custom_colorstringสีปฏิทินตามลำดับความสำคัญ: red, yellow, blue, grey, green
custom_statusstringข้อความแสดงสถานะรายวันสำหรับ UI
custom_display_statusesarrayรายการข้อความสถานะและประเภทเอกสารของวันนั้น

Custom Attendance

custom_attendance — สรุปสถานะเวลาทำงาน:

FieldTypeDescription
is_absent_full_daybooleanขาดงานเต็มวัน (รวมกรณีลาที่ยังไม่ได้รับอนุมัติ)
is_absent_half_daybooleanขาดงานครึ่งวัน
is_morningbooleanมาเช้า
is_latebooleanมาสาย
is_lunch_overbooleanพักเกินเวลา
is_lunch_underbooleanพักขาดเวลา
is_early_outbooleanกลับก่อนเวลา
is_after_workbooleanกลับหลังเวลา
is_work_errorbooleanบันทึกเวลาผิดพลาด

Custom Leave

custom_leave — สรุปเอกสารการลา:

FieldTypeDescription
has_leavebooleanมีเอกสารขอลาในวันนั้น
doc_statusstringสถานะใบลา: approved, rejected, pending, recheck หรือ null
show_absent_until_approvedbooleanแสดงเป็นสถานะขาดงานหากใบลายังไม่ผ่านการอนุมัติ

Custom OT

custom_ot — สรุปข้อมูล OT:

FieldTypeDescription
has_otbooleanมีเอกสารขอทำ OT ในวันนั้น
doc_statusstringสถานะเอกสาร OT: approved, rejected, pending, recheck หรือ null
requested_hoursnumberจำนวนชั่วโมงขอ OT จากใบคำขอ
actual_ot_hoursnumberจำนวนชั่วโมงปฏิบัติงาน OT จริง
approved_hoursnumberจำนวนชั่วโมง OT ที่อนุมัติเข้ารอบคำนวณเงินเดือน

Error Response

{ "code": 404, "message": "Employee not found with code: 9999", "payload": [] }
HTTP StatusDescription
400พารามิเตอร์ไม่ถูกต้อง เช่น วันที่ผิดรูปแบบ หรือ start_date > end_date
401API Key ไม่ถูกต้องหรือไม่ได้ส่ง
404ไม่พบพนักงาน

Code Examples

curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/salary/get-data-filter?path_action=daily_in_month_calendar&employee_code=EMP001&start_date=2026-02-01&end_date=2026-02-28&language_code=TH" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"

Notes

  • ใช้ time_flag เพื่อกรองข้อมูลและลดปริมาณ response
  • ถ้าเอกสารลาครอบคลุมหลายวัน ระบบจะแสดงในแต่ละวันที่เกี่ยวข้อง
  • ถ้ากะควบ (work_cycle_type_lv = '04') จะมีข้อมูล merge_cycle เพิ่มเติม
  • แนะนำให้จำกัดช่วงวันที่ไม่เกิน 31 วัน เพื่อประสิทธิภาพ

  • Daily In Month - ดูตารางเวลาทั้งเดือน พร้อมผลการคำนวณ
  • A Daily In Month - ดูรายละเอียดวันเดียว
  • Daily Info - ดูรายละเอียดวันทำงาน พร้อม options
  • Current Month - ดูรอบเดือนปัจจุบัน เพื่อหา start_date และ end_date
Last updated on