Get Adjust List
ดึงรายการเอกสารขอเพิ่มเวลาทำงานตามเงื่อนไขที่กำหนด รองรับ 3 โหมดการทำงาน พร้อม filter และ pagination
ใช้ API นี้เพื่อดึงรายการเอกสารขอเพิ่มเวลา ติดตามสถานะการอนุมัติ หรือสร้างรายงานสรุป รองรับ 3 โหมด: self (เอกสารตนเอง), hr (มุมมอง Manager/HR/Admin), lasted (เอกสารล่าสุด)
Endpoint
GET /api/v1/open-apis/time-adjust/get-listรองรับทั้ง GET และ POST method แนะนำให้ใช้ GET สำหรับการดึงข้อมูลทั่วไป
Request Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
mode | string | Yes | โหมดการทำงาน: self, hr, lasted | self |
year | string | Yes | กรองตามปี (YYYY) | 2026 |
approve_flag | string | Yes | สถานะการอนุมัติ (01-08) | 01 |
Optional Parameters (General)
| Parameter | Type | Default | Description | Example |
|---|---|---|---|---|
start_date | string | - | วันที่เริ่มต้น (YYYY-MM-DD) ต้องใช้คู่กับ end_date | 2026-01-01 |
end_date | string | - | วันที่สิ้นสุด (YYYY-MM-DD) ต้องใช้คู่กับ start_date | 2026-01-31 |
month | string | - | กรองตามเดือน (01-12) ต้องใช้คู่กับ year | 02 |
time_adjust_flag_lv | string | - | ประเภทการปรับเวลา (01-06) | 01 |
_PAGE | integer | 1 | หน้าปัจจุบัน | 1 |
_NUMBER_PER_PAGE | integer | 20 | จำนวนรายการต่อหน้า (สูงสุด 1000) | 20 |
Optional Parameters (HR Mode Only)
| Parameter | Type | Default | Description | Example |
|---|---|---|---|---|
employee_code | string | - | กรองตามรหัสพนักงาน | EMP001 |
keyword | string | - | ค้นหาจากชื่อ/รหัสพนักงาน | สมชาย |
company_id | string (base64) | - | กรองตามบริษัท | Q09NMQ== |
branch_id | string (base64) | - | กรองตามสาขา | QlIwMDE= |
department_id | string (base64) | - | กรองตามแผนก | REVQMDE= |
company_lists | array | - | กรองตามบริษัท (array of base64) | ["Q09NMQ=="] |
branch_lists | array | - | กรองตามสาขา (array of base64) | ["QlIwMDE="] |
department_lists | array | - | กรองตามแผนก (array of base64) | ["REVQMDE="] |
division_lists | array | - | กรองตามส่วนงาน (array of base64) | ["RElWMDE="] |
section_lists | array | - | กรองตามฝ่าย (array of base64) | ["U0VDMDE="] |
position_lists | array | - | กรองตามตำแหน่ง (array of base64) | ["UE9TMDE="] |
authorize_line | string | false | เปิดใช้สายการอนุมัติ (true/false) | true |
authorize_id | string (base64) | - | รหัสสายการอนุมัติ | QVVUMDE= |
sort_by | string | time_adjust_dt | ฟิลด์ที่ใช้เรียงลำดับ | time_adjust_dt |
sort_order | string | DESC | ทิศทางการเรียง (ASC, DESC) | DESC |
Approve Flag Values
| Value | Status | Description |
|---|---|---|
01 | Pending | รออนุมัติ (รวมสถานะ 04-08) |
02 | Approved | อนุมัติแล้ว |
03 | Not Approved | ไม่อนุมัติ |
04 | Manager Approved Step 1 | หัวหน้าอนุมัติขั้นที่ 1 |
05 | Recheck | ตรวจสอบอีกครั้ง |
06 | Manager Approved Step 2 | หัวหน้าอนุมัติขั้นที่ 2 |
07 | Manager Approved Step 3 | หัวหน้าอนุมัติขั้นที่ 3 |
08 | Manager Approved Step 4 | หัวหน้าอนุมัติขั้นที่ 4 |
เมื่อกรองด้วย approve_flag=01 จะรวมสถานะ 04-08 ด้วย (รออนุมัติทุกระดับ)
Time Adjust Flag Values
| Value | TH | EN |
|---|---|---|
01 | ลืมลงเวลา | Forget to enter time |
02 | ระบบมีปัญหา | System has a problem |
03 | เครื่องลงเวลาใช้งานไม่ได้ | Device malfunction |
04 | ไฟฟ้าดับ | Power outage |
05 | ทำงานนอกสถานที่ | Work off-site |
06 | ทำงานเกินเวลา | Overwork |
Request Body Example
Mode: self - ดูเอกสารตนเอง
{
"mode": "self",
"year": "2026",
"approve_flag": "01"
}Mode: hr - มุมมอง HR/Manager
{
"mode": "hr",
"year": "2026",
"month": "02",
"approve_flag": "01",
"department_id": "REVQMDE=",
"sort_by": "time_adjust_dt",
"sort_order": "DESC",
"_PAGE": 1,
"_NUMBER_PER_PAGE": 20
}Mode: lasted - เอกสารล่าสุด
{
"mode": "lasted",
"year": "2026",
"approve_flag": "01"
}Response Format
Success Response - Mode: self / lasted (HTTP 200)
Response จะเป็น flat array ของเอกสาร:
{
"code": 200,
"message": "สำเร็จ",
"payload": [
{
"doc_type": "Time_Adjust",
"doc_id": "202505191E74773840AB",
"employee_id": "20250322133F4624C0AD",
"work_date": "2026-02-12",
"time_adjust_dt": "2026-02-12",
"header": "สมชาย มากมี (ชาย) ยื่นขอ \"ลืมลงเวลา\"",
"detail": "ขอวันที่ 12/02/2026 เวลา \nหมายเหตุ : \n",
"status": "รออนุมัติ",
"approve_flag": "01",
"approve_by": "สมหญิง มากมาย",
"approve_remark": "",
"last_upd": "2026-02-12 17:26:49",
"last_upd_format": "12/02/2026 17:26",
"created": "2026-02-12 17:26:49",
"created_format": "12/02/2026 17:26",
"authorize_flag": true
}
],
"_PAGINATION": {
"current_page": 1,
"per_page": 20,
"total": 2,
"total_pages": 1
}
}Success Response - Mode: hr (HTTP 200)
Response จะจัดกลุ่มตามพนักงาน พร้อมข้อมูลโปรไฟล์:
{
"code": 200,
"message": "สำเร็จ",
"payload": [
{
"profile": {
"employee_id": "20260121FC89F3BB9120",
"employee_code": "EMP001",
"photograph": "images/userPlaceHolder.png",
"employee_name": "สมชาย",
"employee_last_name": "ใจดี",
"employee_nickname": "ชาย",
"position_name": "พนักงาน",
"department_name": "แผนกขาย",
"branch_name": "สำนักงานใหญ่",
"count_docs": 1
},
"docs": {
"time_adjust": [
{
"doc_type": "Time_Adjust",
"doc_id": "20260225BF89285583CF",
"employee_id": "20260121FC89F3BB9120",
"work_date": "2026-02-25",
"time_adjust_dt": "2026-02-25",
"header": "สมชาย ใจดี (ชาย) ยื่นขอ \"ลืมลงเวลา\"",
"detail": "ขอวันที่ 25/02/2026 เวลา \nหมายเหตุ : ลืมรูดบัตรเข้างาน\n",
"status": "รออนุมัติ",
"approve_flag": "01",
"approve_by": "สมหญิง มากมาย",
"approve_remark": "",
"last_upd": "2026-02-25 11:50:51",
"last_upd_format": "25/02/2026 11:50",
"created": "2026-02-25 11:36:06",
"created_format": "25/02/2026 11:36",
"authorize_flag": true
}
]
}
}
],
"_PAGINATION": {
"current_page": 1,
"per_page": 20,
"total": 1,
"total_pages": 1
}
}Success Response - No Data (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": [],
"_PAGINATION": {
"current_page": 1,
"per_page": 20,
"total": 0,
"total_pages": 0
}
}Error Response (HTTP 422)
{
"code": 422,
"message": "Validation failed",
"errors": [
"Missing required parameter: 'mode'",
"'year' must be in format YYYY"
]
}Error Response (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Employee not found"
}Response Fields
Mode: self / lasted
| Field | Type | Description |
|---|---|---|
doc_type | string | ประเภทเอกสาร (Time_Adjust) |
doc_id | string (base64) | รหัสเอกสาร |
employee_id | string (base64) | รหัสพนักงาน |
work_date | string | วันที่ทำงานที่ขอปรับ (YYYY-MM-DD) |
time_adjust_dt | string | วันที่เอกสารขอปรับเวลา (YYYY-MM-DD) |
header | string | หัวข้อเอกสาร |
detail | string | รายละเอียดเอกสาร |
status | string | ชื่อสถานะการอนุมัติ |
approve_flag | string | รหัสสถานะการอนุมัติ (01-08) |
approve_by | string | ชื่อผู้อนุมัติ |
approve_remark | string | หมายเหตุการอนุมัติ |
last_upd | string | วันเวลาอัปเดตล่าสุด (YYYY-MM-DD HH:mm:ss) |
last_upd_format | string | วันเวลาอัปเดตล่าสุด (DD/MM/YYYY HH:mm) |
created | string | วันเวลาที่สร้าง (YYYY-MM-DD HH:mm:ss) |
created_format | string | วันเวลาที่สร้าง (DD/MM/YYYY HH:mm) |
authorize_flag | boolean | สถานะสิทธิ์การอนุมัติ |
Mode: hr - Profile Fields
| Field | Type | Description |
|---|---|---|
employee_id | string (base64) | รหัสพนักงาน |
employee_code | string | รหัสพนักงาน |
photograph | string | รูปภาพโปรไฟล์ |
employee_name | string | ชื่อพนักงาน |
employee_last_name | string | นามสกุล |
employee_nickname | string | ชื่อเล่น |
position_name | string | ตำแหน่ง |
department_name | string | แผนก |
branch_name | string | สาขา |
count_docs | integer | จำนวนเอกสาร |
Mode hr จะจัดกลุ่มเอกสารตามพนักงาน โดยแต่ละรายการจะมี profile (ข้อมูลพนักงาน) และ docs.time_adjust (รายการเอกสาร)
Code Examples
cURL
curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/time-adjust/get-list?mode=self&year=2026&approve_flag=01&_NUMBER_PER_PAGE=20" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
mode | ต้องระบุและเป็น self, hr, หรือ lasted | 'mode' must be one of: self, hr, lasted |
year | ต้องระบุและเป็นรูปแบบ YYYY (4 หลัก) | 'year' must be in format YYYY |
approve_flag | ต้องระบุและเป็น 01-08 | 'approve_flag' must be one of: 01-08 |
start_date | ต้องใช้คู่กับ end_date รูปแบบ YYYY-MM-DD | 'start_date' and 'end_date' must be specified together |
end_date | ต้อง >= start_date | 'end_date' must be greater than or equal to 'start_date' |
month | ต้องเป็น 01-12 และใช้คู่กับ year | 'month' must be between 01 and 12 |
_PAGE | ต้อง >= 1 | '_PAGE' must be greater than or equal to 1 |
_NUMBER_PER_PAGE | ต้องเป็นตัวเลข 1-1000 | '_NUMBER_PER_PAGE' must be a number between 1 and 1000 |
Mode lasted ไม่ต้องระบุพารามิเตอร์วันที่ (start_date, end_date, month) ระบบจะดึงเอกสารล่าสุดอัตโนมัติ
Business Rules
- Mode
self- ดึงเฉพาะเอกสารของพนักงานเจ้าของ API Key - Mode
hr- ดึงเอกสารของพนักงานทั้งหมดที่มีสิทธิ์เข้าถึง สามารถกรองตามหน่วยงาน สาขา แผนก และสายการอนุมัติได้ - Mode
lasted- ดึงเอกสารล่าสุดโดยไม่ต้องระบุเงื่อนไขวันที่ - เมื่อกรองด้วย
approve_flag=01ระบบจะรวมสถานะรออนุมัติทุกระดับ (01, 04-08) - ข้อมูลจะถูกเรียงลำดับตาม
sort_byและsort_orderที่กำหนด (ค่าเริ่มต้น:time_adjust_dtDESC) - Pagination ค่าเริ่มต้นแสดง 20 รายการต่อหน้า สูงสุด 1000 รายการ
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'mode' | ไม่ได้ส่ง mode | ระบุ mode เป็น self, hr, หรือ lasted |
'year' must be in format YYYY | รูปแบบปีไม่ถูกต้อง | ใช้รูปแบบ YYYY เช่น 2026 |
'approve_flag' must be one of: 01-08 | ค่า approve_flag ไม่ถูกต้อง | ใช้ค่า 01-08 |
'start_date' and 'end_date' must be specified together | ระบุ start_date หรือ end_date เพียงตัวเดียว | ต้องระบุทั้ง start_date และ end_date |
'end_date' must be greater than or equal to 'start_date' | end_date น้อยกว่า start_date | ตรวจสอบช่วงวันที่ |
Employee not found | ไม่พบพนักงาน | ตรวจสอบ employee_code ที่ส่ง |
Unauthorized | API Key ไม่ถูกต้องหรือหมดอายุ | ตรวจสอบ Ocp-Apim-Subscription-Key |
Notes
- Mode
hrรองรับการกรองขั้นสูง เช่น กรองตามบริษัท สาขา แผนก ส่วนงาน ฝ่าย และตำแหน่ง โดยใช้ array ของ base64 ID - พารามิเตอร์
authorize_lineและauthorize_idใช้สำหรับกรองตามสายการอนุมัติในโหมด HR - Response ของ mode
self/lastedเป็น flat array ส่วน modehrจะจัดกลุ่มตามพนักงาน
Use Cases
- แสดงรายการรออนุมัติของตนเอง - ใช้
mode=selfกับapprove_flag=01 - HR ดูรายการทั้งหมด - ใช้
mode=hrกับ filter ตามแผนกหรือสาขา - ดูเอกสารล่าสุด - ใช้
mode=lastedสำหรับดูรายการล่าสุดโดยไม่ต้องระบุวันที่ - กรองตามประเภท - ใช้
time_adjust_flag_lvเพื่อกรองเฉพาะประเภท เช่น ลืมลงเวลา (01) - รายงานประจำเดือน - ใช้
monthและyearเพื่อกรองตามเดือน/ปี
Related APIs
- Time Adjust Overview - ภาพรวมโมดูลขอเพิ่มเวลาทำงาน
- Get Adjust Types - ดึงรายการประเภทการขอเพิ่มเวลา
- Get Adjust Detail - ดึงรายละเอียดเอกสารรายการเดียว
- Submit Adjust - ยื่นเอกสารขอเพิ่มเวลาใหม่
Last updated on