Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Update OT

แก้ไขคำขอ OT ที่มีอยู่

ใช้ API นี้เพื่อแก้ไขรายละเอียดคำขอ OT เช่น เวลาเริ่มต้น/สิ้นสุด ประเภท OT หรือรายละเอียด

Endpoint

POST /api/v1/open-apis/overtime/update

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
ot_work_idstringYesID ของคำขอที่ต้องการแก้ไขT1QwMDEyMw==

Optional Parameters

ParameterTypeRequiredDescriptionExample
ot_work_dtstringNoวันที่ทำ OT (YYYY-MM-DD)2026-01-16
ot_work_start_hourstringNoเวลาเริ่มต้น (YYYY-MM-DD HH:mm:ss)2026-01-16 18:00:00
ot_work_end_hourstringNoเวลาสิ้นสุด (YYYY-MM-DD HH:mm:ss)2026-01-16 22:00:00
ot_work_type_lvstringNoประเภท OT (01-08)03
ot_work_descstringNoรายละเอียด/เหตุผลแก้ไขเวลา OT

Request Body Example

{ "ot_work_id": "T1QwMDEyMw==", "ot_work_end_hour": "2026-01-15 22:00:00", "ot_work_desc": "แก้ไขเวลาสิ้นสุด OT" }

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "สำเร็จ", "payload": { "ot_work_id": "T1QwMDEyMw==", "employee_code": "EMP001", "ot_work_dt": "2026-01-16", "ot_work_start_hour": "2026-01-16 18:00:00", "ot_work_end_hour": "2026-01-16 22:00:00", "ot_work_type_lv": "03", "ot_work_hour": "4.00", "last_upd": "2026-01-13 14:30:00" } }

Error Response - Not Found (HTTP 400)

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

Error Response - Already Approved (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "ไม่สามารถแก้ไขได้ คำขออนุมัติแล้ว" }

Error Response - Salary Period Closed (HTTP 400)

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

Response Fields

FieldTypeDescription
ot_work_idstringID ของคำขอที่แก้ไข
employee_codestringรหัสพนักงาน
ot_work_dtstringวันที่ทำ OT
ot_work_start_hourdatetimeเวลาเริ่มต้น
ot_work_end_hourdatetimeเวลาสิ้นสุด
ot_work_type_lvstringประเภท OT
ot_work_hourstringจำนวนชั่วโมง OT
last_upddatetimeวันเวลาที่แก้ไข

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/overtime/update" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "ot_work_id": "T1QwMDEyMw==", "ot_work_end_hour": "2026-01-15 22:00:00", "ot_work_desc": "แก้ไขเวลาสิ้นสุด OT" }'

Validation Rules

ParameterValidationError Message
ot_work_idต้องระบุและเป็น stringMissing required parameter: 'ot_work_id'
ot_work_dtรูปแบบ YYYY-MM-DD (ถ้าระบุ)'ot_work_dt' must be in Y-m-d format
ot_work_start_hourรูปแบบ YYYY-MM-DD HH:mm:ss (ถ้าระบุ)'ot_work_start_hour' must be in Y-m-d H:i:s format
ot_work_end_hourรูปแบบ YYYY-MM-DD HH:mm:ss (ถ้าระบุ)'ot_work_end_hour' must be in Y-m-d H:i:s format
ot_work_end_hourต้อง > ot_work_start_hour (ถ้าระบุ)'ot_work_end_hour' must be after 'ot_work_start_hour'
ot_work_type_lvต้องเป็น 01-08 (ถ้าระบุ)'ot_work_type_lv' must be one of: 01, 02, 03, 04, 05, 06, 07, 08

Business Rules

ข้อจำกัดการแก้ไข:

  • ไม่สามารถแก้ไขคำขอที่อนุมัติแล้ว (approve_flag = 02)
  • ไม่สามารถแก้ไขในงวดเงินเดือนที่ปิดแล้ว
  • ถ้าเปลี่ยนเวลา ระบบจะคำนวณชั่วโมง OT ใหม่
  • ประเภท OT ที่เปลี่ยนต้องเปิดใช้งานในบริษัท

Side Effects

เมื่อแก้ไขคำขอสำเร็จ ระบบจะ:

  1. Recalculate OT Hours - คำนวณชั่วโมง OT ใหม่ (ถ้าเปลี่ยนเวลา)
  2. Update Notification - อัพเดทการแจ้งเตือน
  3. Update Feed - อัพเดท feed สำหรับพนักงาน

Error Handling

ErrorCauseSolution
Missing required parameter: 'ot_work_id'ไม่ได้ส่ง ot_work_idตรวจสอบ request body
OT work record not foundไม่พบคำขอตรวจสอบ ot_work_id
ไม่สามารถแก้ไขได้ คำขออนุมัติแล้วคำขออนุมัติแล้วไม่สามารถแก้ไขได้
ไม่สามารถแก้ไขได้ งวดเงินเดือนปิดแล้วงวดเงินเดือนปิดแล้วติดต่อ HR
OT type 'XX' is not enabled for this companyประเภท OT ไม่เปิดใช้ใช้ Get OT Types ดูประเภทที่ใช้ได้

Notes

Use Cases

  1. แก้ไขเวลา OT - เปลี่ยนเวลาเริ่มต้นหรือสิ้นสุด
  2. เปลี่ยนประเภท OT - เปลี่ยนจาก OT 1.5x เป็น OT 2.0x
  3. เพิ่มรายละเอียด - อัพเดทเหตุผลการทำ OT

Partial Update

API นี้รองรับการ update บางส่วน:

  • ส่งเฉพาะ field ที่ต้องการแก้ไข
  • field ที่ไม่ได้ส่งจะคงค่าเดิม
  • Get OT List - ดึงรายการคำขอ OT
  • Submit OT - ยื่นคำขอ OT ใหม่
  • Delete OT - ลบคำขอ OT
Last updated on