Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Update Adjust

แก้ไขเอกสารขอเพิ่มเวลาทำงานที่มีอยู่

ใช้ API นี้เพื่อแก้ไขรายละเอียดเอกสารขอเพิ่มเวลา เช่น ประเภทเอกสาร รายการเวลา คำอธิบาย หรือรูปภาพแนบ โดยเอกสารต้องยังไม่ถูกอนุมัติ

Endpoint

POST /api/v1/open-apis/time-adjust/update

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
time_adjust_idstringYesรหัสเอกสารที่ต้องการแก้ไข (Base64 encoded)MjAyNjAyMThBQjEyM0NENDU2RUY=
employee_codestringYesรหัสพนักงานEMP001
time_adjust_dtstringYesวันที่เอกสาร (YYYY-MM-DD)2026-02-18
time_adjust_flag_lvstringYesประเภทเอกสาร (ดูรายการจาก Get Adjust Types)01
time_adjust_list_dtarrayYesรายการเวลา (สูงสุด 4 รายการ)ดูตัวอย่างด้านล่าง

Optional Parameters

ParameterTypeDefaultDescriptionExample
time_adjust_descstring""คำอธิบายเพิ่มเติมแก้ไขเวลาตามที่หัวหน้าแนะนำ
extra_roundstring"N"งวดพิเศษ (Y/N)N
base64string""รูปภาพแนบ (Base64 encoded) — จะแทนที่รูปเดิมdata:image/png;base64,...

time_adjust_list_dt Structure

แต่ละรายการใน array time_adjust_list_dt ประกอบด้วย:

FieldTypeRequiredDescriptionExample
start_timestringYesเวลาเข้างาน (HH:mm)08:30
end_timestringYesเวลาออกงาน (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

FieldTypeDescription
time_adjust_idstringรหัสเอกสารที่แก้ไข
employee_codestringรหัสพนักงาน
time_adjust_dtstringวันที่เอกสาร
time_adjust_flag_lvstringประเภทเอกสาร
time_adjust_descstringคำอธิบายเพิ่มเติม
approve_flagstringสถานะการอนุมัติ
updated_atdatetimeวันเวลาที่แก้ไข

Code Examples

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

ParameterValidationError Message
time_adjust_idต้องระบุและเป็น stringMissing required parameter: 'time_adjust_id'
employee_codeต้องระบุและเป็น stringMissing 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

ErrorCauseSolution
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

  1. แก้ไขรายการเวลา - เปลี่ยนเวลาเข้า-ออกงานที่ขอเพิ่ม
  2. เปลี่ยนประเภทเอกสาร - เปลี่ยนจาก “ลืมลงเวลา” เป็น “ทำงานนอกสถานที่”
  3. เพิ่มรายละเอียด - อัพเดทคำอธิบายเพิ่มเติม
  4. เปลี่ยนรูปภาพแนบ - แทนที่รูปหลักฐานด้วยรูปใหม่

ข้อควรระวัง

  • ต้องส่ง time_adjust_list_dt ครบทุกรายการที่ต้องการ เพราะระบบจะแทนที่ทั้งหมด
  • หากต้องการคงรายการเวลาเดิม ให้ดึงข้อมูลจาก Get Adjust Detail แล้วส่งกลับมาพร้อมการแก้ไข
  • Get Adjust Detail - ดึงรายละเอียดเอกสารขอเพิ่มเวลา
  • Submit Adjust - ยื่นเอกสารขอเพิ่มเวลาใหม่
  • Delete Adjust - ลบเอกสารขอเพิ่มเวลา
  • Get Adjust Types - ดึงรายการประเภทการขอเพิ่มเวลา
Last updated on