Update OT
แก้ไขคำขอ OT ที่มีอยู่
ใช้ API นี้เพื่อแก้ไขรายละเอียดคำขอ OT เช่น เวลาเริ่มต้น/สิ้นสุด ประเภท OT หรือรายละเอียด
Endpoint
POST /api/v1/open-apis/overtime/updateRequest Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ot_work_id | string | Yes | ID ของคำขอที่ต้องการแก้ไข | T1QwMDEyMw== |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ot_work_dt | string | No | วันที่ทำ OT (YYYY-MM-DD) | 2026-01-16 |
ot_work_start_hour | string | No | เวลาเริ่มต้น (YYYY-MM-DD HH:mm:ss) | 2026-01-16 18:00:00 |
ot_work_end_hour | string | No | เวลาสิ้นสุด (YYYY-MM-DD HH:mm:ss) | 2026-01-16 22:00:00 |
ot_work_type_lv | string | No | ประเภท OT (01-08) | 03 |
ot_work_desc | string | No | รายละเอียด/เหตุผล | แก้ไขเวลา 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
| Field | Type | Description |
|---|---|---|
ot_work_id | string | ID ของคำขอที่แก้ไข |
employee_code | string | รหัสพนักงาน |
ot_work_dt | string | วันที่ทำ OT |
ot_work_start_hour | datetime | เวลาเริ่มต้น |
ot_work_end_hour | datetime | เวลาสิ้นสุด |
ot_work_type_lv | string | ประเภท OT |
ot_work_hour | string | จำนวนชั่วโมง OT |
last_upd | datetime | วันเวลาที่แก้ไข |
Code Examples
cURL
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
| Parameter | Validation | Error Message |
|---|---|---|
ot_work_id | ต้องระบุและเป็น string | Missing 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
เมื่อแก้ไขคำขอสำเร็จ ระบบจะ:
- Recalculate OT Hours - คำนวณชั่วโมง OT ใหม่ (ถ้าเปลี่ยนเวลา)
- Update Notification - อัพเดทการแจ้งเตือน
- Update Feed - อัพเดท feed สำหรับพนักงาน
Error Handling
| Error | Cause | Solution |
|---|---|---|
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
- แก้ไขเวลา OT - เปลี่ยนเวลาเริ่มต้นหรือสิ้นสุด
- เปลี่ยนประเภท OT - เปลี่ยนจาก OT 1.5x เป็น OT 2.0x
- เพิ่มรายละเอียด - อัพเดทเหตุผลการทำ OT
Partial Update
API นี้รองรับการ update บางส่วน:
- ส่งเฉพาะ field ที่ต้องการแก้ไข
- field ที่ไม่ได้ส่งจะคงค่าเดิม
Related APIs
- Get OT List - ดึงรายการคำขอ OT
- Submit OT - ยื่นคำขอ OT ใหม่
- Delete OT - ลบคำขอ OT
Last updated on