Skip to Content
🚀 Welcome to Humansoft Open API Documentation

List Quotas

ดึงรายการโควตาการลาของพนักงานทั้งหมดในปีที่ระบุ รองรับการกรองตามโครงสร้างองค์กร การค้นหา การเรียงลำดับ และ Pagination

Endpoint

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

Query Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
path_actionstringYesต้องเป็น list_quotas"list_quotas"
quota_yearstringYesปีโควตา (YYYY)"2026"

Optional Parameters — Single Value Filter

ParameterTypeDefaultDescriptionExample
keywordstring-ค้นหาจากรหัส/ชื่อ/นามสกุลพนักงาน (Partial match)"สมชาย"
company_idstring-กรองตามบริษัท (Base64 encoded)"MjAyNDEyMjVDMzAyNDk1OEM5NzQ="
branch_idstring-กรองตามสาขา (Base64 encoded)"MjAyNDEyMjU0MzU4NjQ2QjM0RTQ="
department_idstring-กรองตามแผนก (Base64 encoded)"MjAyNTEwMDYxOTJGRTg4RTk3QTU="
division_idstring-กรองตามฝ่าย (Base64 encoded)-
section_idstring-กรองตามหมวด (Base64 encoded)-
position_idstring-กรองตามตำแหน่ง (Base64 encoded)"MjAyNDEyMjU4N0MyMTZEQTJDMTk="
employee_idstring-กรองตามพนักงาน (Base64 encoded)-
time_leave_flagstring-กรองตามประเภทการลา"01", "06"
language_codestring"TH"ภาษาสำหรับแสดงผล"TH", "EN"

Optional Parameters — Multiple Values Filter

ใช้สำหรับกรองหลายค่าพร้อมกัน แนะนำส่งผ่าน POST body

ParameterTypeDescription
company_listsarrayรายการบริษัท [{"id": "base64_id"}, ...]
branch_listsarrayรายการสาขา
department_listsarrayรายการแผนก
division_listsarrayรายการฝ่าย
section_listsarrayรายการหมวด
position_listsarrayรายการตำแหน่ง
employee_listsarrayรายการพนักงาน

แต่ละ item ใน array ต้องมี id field ที่เป็น Base64 encoded ถ้าส่งเป็น [] หมายถึงไม่กรองตามฟิลด์นั้น

Sorting & Pagination Parameters

ParameterTypeDefaultDescriptionValid Values
sort_bystring-ฟิลด์ที่ใช้เรียงลำดับemployee_code, employee_name, quota_year, time_leave_flag, created
sort_orderstring-ทิศทางการเรียงASC, DESC
_PAGEinteger1หมายเลขหน้า (เริ่มที่ 1)>= 1
_NUMBER_PER_PAGEinteger50จำนวนรายการต่อหน้า1-1000

Response Format

Success Response

{ "code": 200, "message": "สำเร็จ", "payload": [ { "quota_id": "202503219741427917A0", "employee_id": "202503219741427917A0", "employee_code": "EMP001", "employee_name": "สมชาย", "employee_last_name": "ใจดี", "quota_year": "2026", "time_leave_flag": "01", "time_leave_flag_name": "ลากิจได้รับค่าจ้าง", "time_leave_flag_name_en": "Leave with paid", "time_leave_flag_quota": "10", "actual": 2, "unit": "วัน", "company_name": "บริษัท ABC จำกัด", "branch_name": "สาขากรุงเทพ", "department_name": "ฝ่ายบริหาร", "position_name": "ผู้จัดการ", "created": "2026-01-10 10:30:00" } ], "_PAGINATION": { "_TOTAL_RECORDS": 150, "_PAGE": 1, "_NUMBER_PER_PAGE": 50 } }

Empty Result

{ "code": 200, "message": "สำเร็จ", "payload": [], "_PAGINATION": { "_TOTAL_RECORDS": 0, "_PAGE": 1, "_NUMBER_PER_PAGE": 50 } }

Response Fields

FieldTypeNullableDescription
payload[].quota_idstringNoID โควตา (plain text)
payload[].employee_idstringNoID พนักงาน (plain text)
payload[].employee_codestringNoรหัสพนักงาน
payload[].employee_namestringNoชื่อพนักงาน (ตาม language_code)
payload[].employee_last_namestringNoนามสกุลพนักงาน (ตาม language_code)
payload[].quota_yearstringNoปีโควตา (YYYY)
payload[].time_leave_flagstringNoรหัสประเภทการลา (01-09)
payload[].time_leave_flag_namestringNoชื่อประเภทการลา (ไทย)
payload[].time_leave_flag_name_enstringNoชื่อประเภทการลา (อังกฤษ)
payload[].time_leave_flag_quotastringNoจำนวนโควตา
payload[].actualnumberNoจำนวนที่ใช้ไปแล้ว
payload[].unitstringNoหน่วย: "วัน" หรือ "ชั่วโมง"
payload[].company_namestringYesชื่อบริษัท
payload[].branch_namestringYesชื่อสาขา
payload[].department_namestringYesชื่อแผนก
payload[].position_namestringYesชื่อตำแหน่ง
payload[].createdstringNoวันเวลาที่สร้าง (YYYY-MM-DD HH:mm:ss)
_PAGINATION._TOTAL_RECORDSnumberNoจำนวนรายการทั้งหมด
_PAGINATION._PAGEnumberNoหน้าปัจจุบัน
_PAGINATION._NUMBER_PER_PAGEnumberNoจำนวนรายการต่อหน้า

Error Response

{ "code": 400, "message": "ไม่สำเร็จ", "errors": ["Missing required parameter: 'quota_year'"] }

Code Examples

curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/salary/get-data-filter?path_action=list_quotas&quota_year=2026&_PAGE=1&_NUMBER_PER_PAGE=50&language_code=TH" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"

Notes

  • quota_year ต้องเป็นรูปแบบ YYYY เช่น "2026"
  • ชื่อพนักงานจะเปลี่ยนตาม language_code แต่ฟิลด์ _en จะส่งมาเสมอ
  • การค้นหาด้วย keyword จะ match แบบ partial กับรหัส/ชื่อ/นามสกุลพนักงาน
  • จำนวนหน้าทั้งหมด = ceil(_TOTAL_RECORDS / _NUMBER_PER_PAGE)
  • เมื่อได้ HTTP 413 ให้ใช้ filter แคบลงหรือลด _NUMBER_PER_PAGE

  • Get Quota by ID - ดูรายละเอียดโควตารายการเดียว
  • Get Quota by Employee - ดูโควตาทั้งหมดของพนักงานคนเดียว
  • Save Quota - สร้าง/อัปเดตโควตา
  • Delete Quota - ลบโควตา
Last updated on