Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Submit Adjust

ยื่นเอกสารขอเพิ่มเวลาทำงานใหม่

ใช้ API นี้เพื่อสร้างเอกสารขอเพิ่มเวลาทำงานใหม่ ระบบจะตรวจสอบข้อมูลและส่งเข้าสู่ขั้นตอนการอนุมัติอัตโนมัติ

Endpoint

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

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
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

ParameterTypeRequiredDescriptionExample
time_adjust_descstringNoคำอธิบายเพิ่มเติมลืมลงเวลาเนื่องจากประชุม
extra_roundstringNoงวดพิเศษ (Y/N) ค่าเริ่มต้น: NN
base64stringNoรูปภาพแนบ (Base64 encoded)data:image/png;base64,...

time_adjust_list_dt Structure

แต่ละรายการใน array ต้องมี field time_adjust_list_dt ในรูปแบบ YYYY-MM-DD HH:MM:SS

[ { "time_adjust_list_dt": "2026-02-18 09:00:00" }, { "time_adjust_list_dt": "2026-02-18 18:00:00" } ]

Request Body Example

{ "employee_code": "EMP001", "time_adjust_dt": "2026-02-18", "time_adjust_flag_lv": "01", "time_adjust_desc": "ลืมลงเวลาเนื่องจากประชุม", "extra_round": "N", "time_adjust_list_dt": [ { "time_adjust_list_dt": "2026-02-18 09:00:00" }, { "time_adjust_list_dt": "2026-02-18 18:00:00" } ] }

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", "created": "2026-02-18 10:30:00" } }

Error Response - Validation Failed (HTTP 422)

{ "code": 422, "message": "Validation failed", "errors": [ "Missing required parameter: 'employee_code'", "'time_adjust_dt' must be in format YYYY-MM-DD" ] }

Error Response - Employee Not Found (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "Employee not found: EMP999" }

Error Response - Salary Period Closed (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้ว" }

Error Response - Cut-off Date Exceeded (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "เกินวันที่กำหนดส่งเอกสาร (Cut-off Date)" }

Error Response - Quota Exceeded (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "เกินโควตาที่กำหนด" }

Response Fields

FieldTypeDescription
time_adjust_idstringรหัสเอกสารที่สร้าง (ใช้สำหรับ API อื่น)
employee_codestringรหัสพนักงาน
time_adjust_dtstringวันที่เอกสาร
time_adjust_flag_lvstringประเภทเอกสาร
time_adjust_descstringคำอธิบาย
approve_flagstringสถานะการอนุมัติ (เริ่มต้น: 01 = รออนุมัติ)
createddatetimeวันเวลาที่สร้าง

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/time-adjust/submit" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_code": "EMP001", "time_adjust_dt": "2026-02-18", "time_adjust_flag_lv": "01", "time_adjust_desc": "ลืมลงเวลาเนื่องจากประชุม", "time_adjust_list_dt": [ { "time_adjust_list_dt": "2026-02-18 09:00:00" }, { "time_adjust_list_dt": "2026-02-18 18:00:00" } ] }'

Validation Rules

ParameterValidationError Message
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
time_adjust_list_dtต้องเป็น array 1-4 รายการ'time_adjust_list_dt' must be an array with 1-4 items
time_adjust_list_dt[]แต่ละรายการต้องเป็น YYYY-MM-DD HH:MM:SS'time_adjust_list_dt' must be in format YYYY-MM-DD HH:MM:SS

Business Rules

ข้อจำกัดการยื่นเอกสาร:

  • รายการเวลาจำกัดสูงสุด 4 รายการต่อเอกสาร ถ้าส่งเกิน 4 รายการ ระบบรับเฉพาะ 4 รายการแรก
  • ไม่สามารถยื่นเอกสารในงวดเงินเดือนที่ปิดแล้ว (ยกเว้นใช้ extra_round=Y)
  • ต้องไม่เกินวันที่กำหนดส่งเอกสาร (Cut-off Date) ยกเว้น HR
  • ต้องไม่เกินโควตาที่กำหนด ยกเว้น HR
  • ต้องตรวจสอบว่าพนักงานมีอยู่ในระบบ
  • ประเภทเอกสารต้องเปิดใช้งานในบริษัท

Side Effects

เมื่อสร้างเอกสารสำเร็จ ระบบจะ:

  1. Set Initial Status - ตั้งสถานะเป็น Pending (01)
  2. Create Notification - ส่งการแจ้งเตือนไปยังผู้อนุมัติอัตโนมัติ
  3. Store Attachment - ถ้ามีรูปภาพแนบ ระบบจะจัดเก็บรูปภาพอัตโนมัติ

Error Handling

ErrorCauseSolution
Missing required parameter: 'employee_code'ไม่ได้ส่ง employee_codeตรวจสอบ request body
Employee not found: XXXไม่พบพนักงานตรวจสอบ employee_code
'time_adjust_flag_lv' is not validประเภทเอกสารไม่เปิดใช้งานใช้ Get Adjust Types ดูประเภทที่ใช้ได้
ไม่สามารถบันทึกได้ งวดเงินเดือนปิดแล้วงวดเงินเดือนปิดแล้วเลือกวันที่ในงวดที่เปิดอยู่ หรือใช้ extra_round=Y
เกินวันที่กำหนดส่งเอกสาร (Cut-off Date)เกิน cut-off dateติดต่อ HR เพื่อดำเนินการแทน
เกินโควตาที่กำหนดโควตาเต็มติดต่อ HR เพื่อดำเนินการแทน

Notes

Use Cases

  1. พนักงานยื่นคำขอเพิ่มเวลา - สร้างเอกสารผ่าน Self-service เมื่อลืมลงเวลาหรือระบบมีปัญหา
  2. HR สร้างเอกสารแทน - สร้างเอกสารให้พนักงานที่ไม่มี access (HR สามารถข้ามการตรวจสอบ cut-off date และโควตาได้)
  3. Batch Submit - สร้างเอกสารหลายรายการพร้อมกัน

Time Format

  • time_adjust_dt ใช้รูปแบบ YYYY-MM-DD เช่น 2026-02-18
  • time_adjust_list_dt แต่ละรายการใช้รูปแบบ YYYY-MM-DD HH:MM:SS เช่น 2026-02-18 09:00:00

File Attachment

  • ส่งรูปภาพแนบเป็น Base64 encoded string ใน base64
  • รองรับไฟล์รูปภาพ (PNG, JPG, etc.)
  • ระบบจะจัดเก็บรูปภาพอัตโนมัติ
  • Get Adjust Types - ดึงรายการประเภทการขอเพิ่มเวลา
  • Get Adjust List - ดึงรายการเอกสารขอเพิ่มเวลา
  • Update Adjust - แก้ไขเอกสารขอเพิ่มเวลา
  • Delete Adjust - ลบเอกสารขอเพิ่มเวลา
Last updated on