Get OT List
ดึงรายการคำขอ OT ตามเงื่อนไขที่กำหนด พร้อมรองรับการ filter และ pagination
ใช้ API นี้เพื่อดึงรายการคำขอ OT ติดตามสถานะการอนุมัติ หรือสร้างรายงานสรุป
Endpoint
GET /api/v1/open-apis/overtime/get-listสิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลการยื่นเอกสาร (document:manage)
Request Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
start_date | string | Yes | วันที่เริ่มต้น (YYYY-MM-DD) — กรองตาม ot_work_dt | 2026-01-01 |
end_date | string | Yes | วันที่สิ้นสุด (YYYY-MM-DD) ต้องไม่น้อยกว่า start_date — กรองตาม ot_work_dt | 2026-01-31 |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | No | รหัสพนักงาน | EMP001 |
approve_flag | string | No | สถานะการอนุมัติ (01, 02, 03) — ดู Approve Flag Values | 01 |
ot_work_flag_lv | string | No | ประเภท OT (01-08) — response จะคืนเป็น OT_X_X format | 02 |
keyword | string | No | คำค้นหาบางส่วนจากชื่อ นามสกุล ชื่อเล่น (ไทย/อังกฤษ) หรือรหัสพนักงาน | สมชาย |
company_id | string | No | ID บริษัท (Base64) | MjAyNTExMjdENDU3M0M0MjE2Mzk= |
branch_id | string | No | ID สาขา (Base64) | MjAyNTExMjdENDU3M0M0MjE2Mzk= |
department_id | string | No | ID แผนก (Base64) | MjAyNTExMjdENDU3M0M0MjE2Mzk= |
sort_by | string | No | เรียงตาม field — ดู Sort By Options | ot_work_dt |
sort_order | string | No | ลำดับการเรียง (ASC, DESC — ตัวพิมพ์เล็กก็ได้) | DESC |
_PAGE | number | No | หน้าที่ต้องการ (ค่าเริ่มต้น 1) | 1 |
_NUMBER_PER_PAGE | number | No | จำนวนรายการต่อหน้า (1-100, ค่าเริ่มต้น 10) | 10 |
Approve Flag Values
| Value | Status | Description |
|---|---|---|
01 | Pending | เอกสารที่ยังไม่สิ้นสุดการอนุมัติ — ดึงสถานะ 01, 04, 05, 06, 07, 08 |
02 | Approved | อนุมัติแล้ว |
03 | Not Approved | ไม่อนุมัติ |
Sort By Options
ot_work_dt- วันที่ทำ OT (default, เรียงจากเก่าไปใหม่)employee_code- รหัสพนักงานapprove_flag- สถานะการอนุมัติcreated- วันที่สร้างot_work_hour- จำนวนชั่วโมง OT ที่ระบบคำนวณ (ใช้สำหรับเรียงลำดับเท่านั้น ไม่มี field นี้ใน response)
เมื่อเรียงตาม ot_work_dt (ค่าเริ่มต้น) ผลการเรียงจะกลับด้านกับ sort_order — ไม่ส่งหรือส่ง DESC จะได้วันที่ทำ OT จากเก่าไปใหม่ ส่วน ASC จะได้จากใหม่ไปเก่า การเรียงตาม field อื่นเป็นไปตาม sort_order ตามปกติ
Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": [
{
"ot_work_id": "20251127D4573C421639",
"employee_code": "EMP001",
"employee_name": "สมชาย",
"employee_last_name": "ใจดี",
"employee_nickname": "ชาย",
"employee_name_en": "Somchai",
"employee_last_name_en": "Jaidee",
"employee_nickname_en": "Chai",
"ot_work_dt": "2026-01-15",
"ot_work_start_hour": "2026-01-15 18:00:00",
"ot_work_end_hour": "2026-01-15 21:00:00",
"ot_work_flag_lv": "OT_1_5",
"ot_work_flag_name": "OT 1.5",
"ot_work_flag_name_en": "OT 1.5x",
"ot_work_desc": "ทำงานเพิ่มเติมตามโปรเจค",
"approve_flag": "01",
"approve_status": "Pending",
"approve_id": "20251127D4573C421639",
"approve_upd": "2026-01-13 10:30:00",
"approve_remark": "",
"created": "2026-01-13 09:00:00",
"created_by": "20251127D4573C421639",
"last_upd": "2026-01-13 10:30:00",
"last_upd_by": "20251127D4573C421639",
"image_url": "https://cdn.humansoft.co.th/.../image/a1B2c3D4e5F6.png"
}
],
"_PAGINATION": {
"_TOTAL_RECORDS": 25,
"_PAGE": 1,
"_NUMBER_PER_PAGE": 20
}
}Success Response - No Data (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": [],
"_PAGINATION": {
"_TOTAL_RECORDS": 0,
"_PAGE": 1,
"_NUMBER_PER_PAGE": 10
}
}Error Response - Validation Failed (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"errors": [
"Missing required parameter: 'start_date'",
"'end_date' must be in format YYYY-MM-DD"
]
}Error Response - Employee Not Found (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Employee not found: EMP001"
}ข้อผิดพลาดจากการตรวจสอบ parameter จะอยู่ใน errors (array) ส่วนข้อผิดพลาดอื่น (เช่น ไม่พบพนักงาน) จะอยู่ใน error (string)
Response Fields
| Field | Type | Description |
|---|---|---|
ot_work_id | string | ID ของคำขอ OT |
employee_code | string | รหัสพนักงาน |
employee_name | string | ชื่อพนักงาน (ไทย) |
employee_last_name | string | นามสกุลพนักงาน (ไทย) |
employee_nickname | string | ชื่อเล่น (ไทย) |
employee_name_en | string | ชื่อพนักงาน (อังกฤษ) |
employee_last_name_en | string | นามสกุลพนักงาน (อังกฤษ) |
employee_nickname_en | string | ชื่อเล่น (อังกฤษ) |
ot_work_dt | string | วันที่ของรอบกะการทำงานที่ OT นี้สังกัด (YYYY-MM-DD) |
ot_work_start_hour | datetime | เวลาเริ่มต้น |
ot_work_end_hour | datetime | เวลาสิ้นสุด |
ot_work_flag_lv | string | ประเภท OT ในรูปแบบ string (OT_1_0-OT_7_0) |
ot_work_flag_name | string | ชื่อประเภท OT (ไทย) |
ot_work_flag_name_en | string | ชื่อประเภท OT (อังกฤษ) |
ot_work_desc | string | รายละเอียดการทำ OT |
approve_flag | string | รหัสสถานะการอนุมัติ |
approve_status | string | ชื่อสถานะการอนุมัติ (ดูตาราง Approve Status Values) |
approve_id | string | user ID ของผู้ดำเนินการกับสถานะเอกสารล่าสุด (ผู้ยื่น/ผู้แก้ไข หรือผู้อนุมัติ) |
approve_upd | datetime | วันเวลาที่ดำเนินการกับสถานะเอกสารล่าสุด |
approve_remark | string | หมายเหตุการอนุมัติ |
created | datetime | วันเวลาที่สร้าง |
created_by | string | user ID ของผู้สร้างเอกสาร |
last_upd | datetime | วันเวลาที่แก้ไขล่าสุด |
last_upd_by | string | user ID ของผู้แก้ไขล่าสุด |
image_url | string | null | URL ของไฟล์แนบ, null หากไม่มีไฟล์แนบ |
Approve Status Values
approve_flag | approve_status | Description |
|---|---|---|
01 | Pending | รออนุมัติ |
02 | Approved | อนุมัติแล้ว |
03 | Not Approved | ไม่อนุมัติ |
04 | Manager Approved | ผ่านการอนุมัติขั้นที่ 1 แล้ว รอขั้นถัดไป |
05 | Recheck | ส่งกลับตรวจสอบอีกครั้ง |
06 | Manager Approved | ผ่านการอนุมัติขั้นที่ 2 แล้ว รอขั้นถัดไป |
07 | Manager Approved | ผ่านการอนุมัติขั้นที่ 3 แล้ว รอขั้นถัดไป |
08 | Manager Approved | ผ่านการอนุมัติขั้นที่ 4 แล้ว รอขั้นถัดไป |
| ค่าอื่น | unknown | — |
Code Examples
cURL
curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/overtime/get-list?start_date=2026-01-01&end_date=2026-01-31&approve_flag=01&_NUMBER_PER_PAGE=20" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
start_date | ต้องระบุ | Missing required parameter: 'start_date' |
start_date | ต้องอยู่ในรูปแบบ YYYY-MM-DD | 'start_date' must be in format YYYY-MM-DD |
start_date | ต้องเป็นวันที่ที่มีอยู่จริงตามปฏิทิน | 'start_date' is not a valid date |
end_date | ต้องระบุ | Missing required parameter: 'end_date' |
end_date | ต้องอยู่ในรูปแบบ YYYY-MM-DD | 'end_date' must be in format YYYY-MM-DD |
end_date | ต้องเป็นวันที่ที่มีอยู่จริงตามปฏิทิน | 'end_date' is not a valid date |
end_date | ต้อง >= start_date | 'end_date' must be greater than or equal to 'start_date' |
approve_flag | ต้องเป็น 01, 02, หรือ 03 | 'approve_flag' must be one of: 01, 02, 03 |
ot_work_flag_lv | ต้องเป็น 01-08 | 'ot_work_flag_lv' must be one of: 01, 02, 03, 04, 05, 06, 07, 08 |
sort_by | ต้องเป็นค่าใน Sort By Options | 'sort_by' must be one of: ot_work_dt, employee_code, approve_flag, created, ot_work_hour |
sort_order | ต้องเป็น ASC หรือ DESC | 'sort_order' must be either 'ASC' or 'DESC' |
_PAGE | ต้องเป็นตัวเลขตั้งแต่ 1 ขึ้นไป | '_PAGE' must be a positive number |
_NUMBER_PER_PAGE | ต้องเป็นตัวเลข 1-100 | '_NUMBER_PER_PAGE' must be a number between 1 and 100 |
Notes
approve_flag = '01'จะดึงรายการที่ยังไม่สิ้นสุดการอนุมัติทั้งหมด (01,04,05,06,07,08) รวมถึงสถานะ05(Recheck)start_dateและend_dateใช้กรองตามot_work_dtโดยรวมทั้งวันเริ่มต้นและวันสิ้นสุด- คำขอที่ถูกลบแล้วจะไม่แสดงในรายการ
Use Cases
- แสดงรายการรออนุมัติ - ใช้
approve_flag=01เพื่อดึงคำขอที่รออนุมัติ - ค้นหาตามพนักงาน - ใช้
employee_codeหรือkeywordเพื่อค้นหา - รายงานประจำเดือน - ใช้
start_dateและend_dateของเดือนนั้น - Filter ตามแผนก - ใช้
department_idเพื่อกรองตามแผนก - Filter ตามประเภท OT - ใช้
ot_work_flag_lvเพื่อกรองตามประเภท
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'start_date' | ไม่ได้ส่ง start_date | ตรวจสอบ query parameter |
'start_date' must be in format YYYY-MM-DD | รูปแบบวันที่ไม่ถูกต้อง | ใช้รูปแบบ YYYY-MM-DD |
'end_date' must be greater than or equal to 'start_date' | end_date น้อยกว่า start_date | ตรวจสอบช่วงวันที่ |
Employee not found: EMP001 | ไม่พบพนักงานจาก employee_code (อยู่ใน field error) | ตรวจสอบ employee_code |
Related APIs
- Get OT Types - ดึงรายการประเภท OT
- Submit OT - ยื่นคำขอ OT ใหม่
Last updated on