Update Adjust
แก้ไขเอกสารขอเพิ่มเวลาทำงานที่มีอยู่
ใช้ API นี้เพื่อแก้ไขรายละเอียดเอกสารขอเพิ่มเวลา เช่น ประเภทเอกสาร รายการเวลา คำอธิบาย หรือรูปภาพแนบ โดยเอกสารต้องยังไม่ถูกอนุมัติ
Endpoint
POST /api/v1/open-apis/time-adjust/updateRequest Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
time_adjust_id | string | Yes | รหัสเอกสารที่ต้องการแก้ไข (Base64 encoded) | MjAyNjAyMThBQjEyM0NENDU2RUY= |
employee_code | string | Yes | รหัสพนักงาน | EMP001 |
time_adjust_dt | string | Yes | วันที่เอกสาร (YYYY-MM-DD) | 2026-02-18 |
time_adjust_flag_lv | string | Yes | ประเภทเอกสาร (ดูรายการจาก Get Adjust Types) | 01 |
time_adjust_list_dt | array | Yes | รายการเวลา (สูงสุด 4 รายการ) | ดูตัวอย่างด้านล่าง |
Optional Parameters
| Parameter | Type | Default | Description | Example |
|---|---|---|---|---|
time_adjust_desc | string | "" | คำอธิบายเพิ่มเติม | แก้ไขเวลาตามที่หัวหน้าแนะนำ |
extra_round | string | "N" | งวดพิเศษ (Y/N) | N |
base64 | string | "" | รูปภาพแนบ (Base64 encoded) — จะแทนที่รูปเดิม | data:image/png;base64,... |
time_adjust_list_dt Structure
แต่ละรายการใน array time_adjust_list_dt ประกอบด้วย:
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
start_time | string | Yes | เวลาเข้างาน (HH:mm) | 08:30 |
end_time | string | Yes | เวลาออกงาน (HH:mm) | 17:30 |
Request Body Example
{
"time_adjust_id": "MjAyNjAyMThBQjEyM0NENDU2RUY=",
"employee_code": "EMP001",
"time_adjust_dt": "2026-02-18",
"time_adjust_flag_lv": "01",
"time_adjust_desc": "แก้ไขเวลาตามที่หัวหน้าแนะนำ",
"extra_round": "N",
"time_adjust_list_dt": [
{
"start_time": "08:30",
"end_time": "12:00"
},
{
"start_time": "13:00",
"end_time": "17:30"
}
]
}Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": {
"time_adjust_id": "20260218AB123CD456EF",
"employee_code": "EMP001",
"time_adjust_dt": "2026-02-18",
"time_adjust_flag_lv": "01",
"time_adjust_desc": "แก้ไขเวลาตามที่หัวหน้าแนะนำ",
"approve_flag": "01",
"updated_at": "2026-02-18 16:45:00"
}
}Error Response - Validation Failed (HTTP 422)
{
"code": 422,
"message": "Validation failed",
"errors": [
"Missing required parameter: 'time_adjust_id'",
"'time_adjust_dt' must be in format YYYY-MM-DD"
]
}Error Response - Document Not Found (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "ไม่พบเอกสารขอเพิ่มเวลา"
}Error Response - Salary Period Closed (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้ว"
}Error Response - Cut-off Date Exceeded (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "เกินกำหนดวันสุดท้ายการส่งเอกสาร"
}Response Fields
| Field | Type | Description |
|---|---|---|
time_adjust_id | string | รหัสเอกสารที่แก้ไข |
employee_code | string | รหัสพนักงาน |
time_adjust_dt | string | วันที่เอกสาร |
time_adjust_flag_lv | string | ประเภทเอกสาร |
time_adjust_desc | string | คำอธิบายเพิ่มเติม |
approve_flag | string | สถานะการอนุมัติ |
updated_at | datetime | วันเวลาที่แก้ไข |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/time-adjust/update" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"time_adjust_id": "MjAyNjAyMThBQjEyM0NENDU2RUY=",
"employee_code": "EMP001",
"time_adjust_dt": "2026-02-18",
"time_adjust_flag_lv": "01",
"time_adjust_desc": "แก้ไขเวลาตามที่หัวหน้าแนะนำ",
"time_adjust_list_dt": [
{
"start_time": "08:30",
"end_time": "12:00"
},
{
"start_time": "13:00",
"end_time": "17:30"
}
]
}'Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
time_adjust_id | ต้องระบุและเป็น string | Missing required parameter: 'time_adjust_id' |
employee_code | ต้องระบุและเป็น string | Missing required parameter: 'employee_code' |
time_adjust_dt | ต้องระบุและรูปแบบ YYYY-MM-DD | 'time_adjust_dt' must be in format YYYY-MM-DD |
time_adjust_flag_lv | ต้องระบุและเป็นประเภทที่เปิดใช้งาน | 'time_adjust_flag_lv' is not valid or not enabled |
time_adjust_list_dt | ต้องระบุและเป็น array 1-4 รายการ | 'time_adjust_list_dt' must be an array with 1 to 4 items |
extra_round | ต้องเป็น Y หรือ N (ถ้าระบุ) | 'extra_round' must be Y or N |
Business Rules
ข้อจำกัดการแก้ไข:
- ต้องเป็นเจ้าของเอกสารเท่านั้นจึงจะแก้ไขได้
- ไม่สามารถแก้ไขเอกสารที่อนุมัติแล้ว
- ไม่สามารถแก้ไขเอกสารที่ถูกลบไปแล้ว
- ไม่สามารถแก้ไขในงวดเงินเดือนที่ปิดแล้ว (ยกเว้นใช้
extra_round=Y) - ไม่สามารถแก้ไขเกิน cut-off date ที่กำหนด (ยกเว้น HR)
การแทนที่รายการเวลา (Full Replace)
ระบบจะ แทนที่รายการเวลาทั้งหมด ทุกครั้งที่แก้ไข โดยจะลบรายการเดิมทั้งหมดและเพิ่มรายการใหม่ตามที่ส่งมา ไม่ใช่การ merge กับรายการเดิม ดังนั้นต้องส่งรายการเวลาครบทั้งหมดที่ต้องการในทุกครั้ง
รายการเวลา
- รายการเวลาจำกัดสูงสุด 4 รายการ ต่อเอกสาร
- ถ้าส่งเกิน 4 รายการ ระบบจะรับเฉพาะ 4 รายการแรก
รูปภาพแนบ
- ถ้าส่ง
base64ใหม่ ระบบจะแทนที่รูปเดิม - ระบบจะจัดเก็บรูปภาพอัตโนมัติ
สิทธิ์พิเศษ HR
- HR สามารถข้ามการตรวจสอบ cut-off date ได้
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'time_adjust_id' | ไม่ได้ส่ง time_adjust_id | ตรวจสอบ request body |
Missing required parameter: 'employee_code' | ไม่ได้ส่ง employee_code | ตรวจสอบ request body |
ไม่พบเอกสารขอเพิ่มเวลา | ไม่พบเอกสาร หรือเอกสารถูกลบไปแล้ว | ตรวจสอบ time_adjust_id |
ไม่สามารถแก้ไขเอกสารที่อนุมัติแล้ว | เอกสารอนุมัติแล้ว | ไม่สามารถแก้ไขได้ |
ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้ว | งวดเงินเดือนปิดแล้ว | ใช้ extra_round=Y หรือติดต่อ HR |
เกินกำหนดวันสุดท้ายการส่งเอกสาร | เกิน cut-off date | ติดต่อ HR เพื่อดำเนินการแทน |
'time_adjust_list_dt' must be an array with 1 to 4 items | รายการเวลาไม่ถูกต้อง | ส่ง array 1-4 รายการ |
Notes
Use Cases
- แก้ไขรายการเวลา - เปลี่ยนเวลาเข้า-ออกงานที่ขอเพิ่ม
- เปลี่ยนประเภทเอกสาร - เปลี่ยนจาก “ลืมลงเวลา” เป็น “ทำงานนอกสถานที่”
- เพิ่มรายละเอียด - อัพเดทคำอธิบายเพิ่มเติม
- เปลี่ยนรูปภาพแนบ - แทนที่รูปหลักฐานด้วยรูปใหม่
ข้อควรระวัง
- ต้องส่ง
time_adjust_list_dtครบทุกรายการที่ต้องการ เพราะระบบจะแทนที่ทั้งหมด - หากต้องการคงรายการเวลาเดิม ให้ดึงข้อมูลจาก Get Adjust Detail แล้วส่งกลับมาพร้อมการแก้ไข
Related APIs
- Get Adjust Detail - ดึงรายละเอียดเอกสารขอเพิ่มเวลา
- Submit Adjust - ยื่นเอกสารขอเพิ่มเวลาใหม่
- Delete Adjust - ลบเอกสารขอเพิ่มเวลา
- Get Adjust Types - ดึงรายการประเภทการขอเพิ่มเวลา
Last updated on