Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Get Adjust Detail

ดึงรายละเอียดเอกสารขอเพิ่มเวลาทำงานรายการเดียว โดยระบุ time_adjust_id ของเอกสารที่ต้องการ

ใช้ API นี้เพื่อแสดงรายละเอียดเอกสาร ตรวจสอบข้อมูลก่อนอนุมัติ/แก้ไข หรือตรวจสอบสถานะการอนุมัติ สามารถส่ง authorize_id เพื่อตรวจสอบว่าผู้ใช้มีสิทธิ์อนุมัติเอกสารนี้หรือไม่ (authorize_flag)

Endpoint

GET /api/v1/open-apis/time-adjust/get-detail

สิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลการยื่นเอกสาร (document:manage)

Request Parameters

Required Parameters

ParameterTypeRequiredDescription
time_adjust_idstringYesรหัสเอกสาร (Base64)

Optional Parameters

ParameterTypeDefaultDescription
authorize_idstring-ID ผู้ใช้ที่ต้องการตรวจสิทธิ์อนุมัติ (Base64) ใช้คำนวณ authorize_flag
authorize_linestring-ส่ง true เพื่อให้ authorize_flag พิจารณาเฉพาะสายการอนุมัติของผู้ใช้ตาม authorize_id (ไม่นับสิทธิ์ HR ของผู้เรียก API) หากไม่ต้องการ ให้ละ parameter นี้ไว้
language_codestringTHภาษาของชื่อในข้อมูล เช่น ชื่อพนักงาน ประเภทเอกสาร และสถานะ (TH หรือ EN)

การส่ง authorize_line=false จะให้ผลเหมือนส่ง true หากไม่ต้องการตรวจตามสายการอนุมัติ ให้ละ authorize_line ออกจาก request

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "สำเร็จ", "payload": { "time_adjust_id": "20251127D4573C421639", "employee_id": "20251127D4573C421639", "employee_code": "EMP001", "employee_name": "สมชาย", "employee_last_name": "ใจดี", "employee_nickname": "ชาย", "employee_name_en": "Somchai", "employee_last_name_en": "Jaidee", "photograph": "https://cdn.humansoft.co.th/.../images/userPlaceHolder.png", "time_adjust_dt": "2026-02-25", "time_adjust_flag_lv": "01", "flag_name": "ลืมลงเวลา", "flag_name_en": "Forget to enter time", "time_adjust_desc": "ลืมรูดบัตรเข้างาน", "image_url": "https://cdn.humansoft.co.th/.../image/a1B2c3D4e5F6.png", "time_adjust_list": [ { "time_adjust_list_id": "20251127D4573C421639", "time_adjust_list_dt": "2026-02-25 08:00:00" } ], "header": "สมชาย ใจดี (ชาย) ยื่นขอ \"ลืมลงเวลา\"", "detail": "ขอวันที่ 25/02/2026 เวลา 08:00\nหมายเหตุ : ลืมรูดบัตรเข้างาน\n", "approve_flag": "01", "approve_flag_name": "รออนุมัติ", "approve_by": "สมหญิง มากมาย", "approve_remark": null, "read_only_flag": "N", "authorize_flag": true, "company_name": "บริษัท ABC", "branch_name": "สำนักงานใหญ่", "department_name": "แผนกขาย", "position_name": "พนักงาน", "work_cycle_code": "A", "work_cycle_time": "08:00 - 12:00 - 13:00 - 17:00", "time": [ { "type": "new", "value": "2026-02-25 08:00:00" }, { "type": "old", "value": "2026-02-25 17:02:00" } ], "created": "2026-02-25 11:36:06", "created_format": "25/02/2026 11:36" } }

Error Response - Validation Failed (HTTP 422)

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

Error Response - Document Not Found (HTTP 404)

{ "code": 404, "message": "ไม่พบข้อมูลเอกสาร" }

Error Response - Failed (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "<รายละเอียดข้อผิดพลาด>" }

Response Fields

Document Info

FieldTypeNullableDescription
time_adjust_idstringNoรหัสเอกสาร
time_adjust_dtstringNoวันที่เอกสาร (รูปแบบ YYYY-MM-DD)
time_adjust_flag_lvstringNoรหัสประเภทเอกสาร (ดู Get Adjust Types)
flag_namestringNoชื่อประเภทเอกสาร ตามภาษาที่ระบุใน language_code
flag_name_enstringNoชื่อประเภทเอกสาร (ภาษาอังกฤษ)
time_adjust_descstringYesคำอธิบายเพิ่มเติม
image_urlstringYesURL ของไฟล์แนบ, null หากไม่มีไฟล์แนบ
time_adjust_listarrayNoรายการเวลาที่ขอเพิ่มในเอกสาร (สูงสุด 4 รายการ เรียงตามเวลา)
headerstringNoหัวข้อเอกสาร (ชื่อพนักงานและประเภทเอกสาร ตามภาษา)
detailstringNoรายละเอียดเอกสาร (วันที่ เวลาที่ขอ และหมายเหตุ ตามภาษา)

time_adjust_list Object Elements

FieldTypeNullableDescription
time_adjust_list_idstringNoรหัสรายการเวลา
time_adjust_list_dtstringNoวันเวลาที่ขอเพิ่ม (รูปแบบ YYYY-MM-DD HH:mm:ss)

Approval Info

FieldTypeNullableDescription
approve_flagstringNoรหัสสถานะการอนุมัติ 01-08 ตามจริงของเอกสาร (ดูความหมายที่ Get Adjust List)
approve_flag_namestringNoชื่อสถานะการอนุมัติ ตามภาษา
approve_bystringNoชื่อผู้ใช้ที่บันทึกเป็นผู้ดำเนินการล่าสุดของเอกสาร — ผ่าน Open API คือผู้ใช้ตาม authorize_id ที่ส่งตอนยื่น แก้ไข หรืออนุมัติ (ค่าว่างหากไม่มี)
approve_remarkstringYesหมายเหตุจากผู้อนุมัติ
read_only_flagstringNoสถานะงวดเงินเดือนที่ครอบคลุม time_adjust_dt: Y = งวดเป็นแบบอ่านอย่างเดียว, N = ไม่ใช่ (เป็น N เมื่อไม่พบงวด หรือวันที่อยู่ในรอบ OT/รอบเวลาทำงานที่ยังเปิดอยู่)
authorize_flagbooleanNoผู้ใช้ตาม authorize_id มีสิทธิ์อนุมัติเอกสารนี้หรือไม่ (ดู authorize_line)

Employee Info

FieldTypeNullableDescription
employee_idstringNoID ของพนักงาน
employee_codestringNoรหัสพนักงาน (รหัสประจำตัว)
employee_namestringNoชื่อพนักงาน ตามภาษาที่ระบุใน language_code
employee_last_namestringNoนามสกุลพนักงาน ตามภาษา
employee_nicknamestringYesชื่อเล่น ตามภาษา
employee_name_enstringYesชื่อพนักงาน (ภาษาอังกฤษ)
employee_last_name_enstringYesนามสกุล (ภาษาอังกฤษ)
photographstringYesURL รูปโปรไฟล์พนักงาน

Organization Info

FieldTypeNullableDescription
company_namestringYesชื่อบริษัท ตามภาษา (ไม่มี field นี้หากไม่พบข้อมูลบริษัทของพนักงาน)
branch_namestringYesชื่อสาขา ตามภาษา
department_namestringYesชื่อแผนก ตามภาษา
division_namestringYesชื่อส่วนงาน (ภาษาไทย)
section_namestringYesชื่อฝ่าย (ภาษาไทย)
position_namestringYesชื่อตำแหน่ง ตามภาษา

Work & Time Info

FieldTypeNullableDescription
work_cycle_codestringYesรหัสกะการทำงานของวันที่เอกสาร (ไม่มี field นี้หากไม่มีข้อมูลกะของวันนั้น)
work_cycle_timestringYesเวลาเข้างาน - เริ่มพัก - สิ้นสุดพัก - เวลาออกงาน (เช่น 08:00 - 12:00 - 13:00 - 17:00) ไม่มี field นี้หากไม่มีข้อมูลกะของวันนั้น
timearrayNoเวลาที่บันทึกไว้แล้วของวันนั้น รวมกับเวลาที่ขอเพิ่มในเอกสาร เรียงตามเวลา
createdstringNoวันเวลาที่สร้างเอกสาร (รูปแบบ YYYY-MM-DD HH:mm:ss)
created_formatstringNoวันเวลาที่สร้างเอกสาร (แสดงผล เช่น 25/02/2026 11:36)

time Object Elements

FieldTypeNullableDescription
typestringNoold = เวลาที่บันทึกในระบบลงเวลาแล้ว, new = เวลาที่ขอเพิ่มในเอกสาร (หากเวลาตรงกันจะแสดงเป็น new)
valuestringNoค่าเวลา (รูปแบบ YYYY-MM-DD HH:mm:ss)

Code Examples

# ดึงรายละเอียดเอกสาร curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/time-adjust/get-detail?time_adjust_id=MjAyNTExMjdENDU3M0M0MjE2Mzk=" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" # ดึงรายละเอียดพร้อมตรวจสอบสิทธิ์อนุมัติตามสายการอนุมัติ curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/time-adjust/get-detail?time_adjust_id=MjAyNTExMjdENDU3M0M0MjE2Mzk=&authorize_id=MjAyNjA0MzBVU0VSMDAwMDAx&authorize_line=true" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"

Error Handling

ErrorCauseSolution
401 UnauthorizedAPI Key ไม่ถูกต้องหรือหมดอายุตรวจสอบ Ocp-Apim-Subscription-Key header
404 Not Foundไม่พบเอกสารตาม time_adjust_id ที่ระบุ หรือเอกสารถูกลบแล้วตรวจสอบ time_adjust_id ว่าถูกต้องและเข้ารหัส Base64 แล้ว
422 Validation Failedไม่ส่ง time_adjust_idตรวจสอบ required parameters
400 Failedเกิดข้อผิดพลาดระหว่างดึงข้อมูล (รายละเอียดอยู่ใน error)ลองใหม่อีกครั้ง หากยังไม่สำเร็จโปรดติดต่อทีมสนับสนุน
500 System Errorเกิดข้อผิดพลาดภายในระบบลองใหม่อีกครั้ง หากยังไม่สำเร็จโปรดติดต่อทีมสนับสนุน

Notes

  • ค่า time_adjust_id ได้จาก doc_id ใน API Get Adjust List หรือจาก response ของ Submit Adjust ซึ่งเป็นค่า raw ต้องเข้ารหัส Base64 ก่อนส่ง
  • authorize_flag คำนวณจากผู้ใช้ตาม authorize_id ควรส่ง authorize_id เพื่อให้ค่านี้สะท้อนสิทธิ์ของผู้ใช้ที่ต้องการตรวจ
  • หากไม่ส่ง authorize_line ระบบจะนับสิทธิ์ HR ของผู้เรียก API ด้วย ทำให้ authorize_flag อาจเป็น true แม้ผู้ใช้ไม่อยู่ในสายการอนุมัติ หากส่ง authorize_line=true จะพิจารณาเฉพาะสายการอนุมัติ

Use Cases

  1. แสดงรายละเอียดเอกสาร - ใช้แสดงข้อมูลครบถ้วนของเอกสารขอเพิ่มเวลา เช่น ประเภทเอกสาร, รายการเวลา, ไฟล์แนบ, สถานะการอนุมัติ
  2. ตรวจสอบก่อนอนุมัติ - ผู้อนุมัติดูรายละเอียดเอกสารก่อนตัดสินใจอนุมัติหรือปฏิเสธ โดยส่ง authorize_id (และ authorize_line=true หากต้องการตรวจตามสายการอนุมัติ) เพื่อตรวจสอบสิทธิ์
  3. ตรวจสอบสถานะ - ใช้ฟิลด์ approve_flag และ approve_flag_name เพื่อแสดงสถานะการอนุมัติปัจจุบัน
  4. เตรียมข้อมูลก่อนแก้ไข - ใช้ time_adjust_list เป็นรายการเวลาเดิมเมื่อเรียก Update Adjust
  • Get Adjust List - ดึงรายการเอกสารขอเพิ่มเวลา (ใช้เพื่อหา time_adjust_id)
  • Update Adjust - แก้ไขเอกสารขอเพิ่มเวลา
  • Approve Adjust - อนุมัติหรือปฏิเสธเอกสาร
  • Delete Adjust - ลบเอกสารขอเพิ่มเวลา
Last updated on