Submit Adjust
ยื่นเอกสารขอเพิ่มเวลาทำงานใหม่
ใช้ API นี้เพื่อสร้างเอกสารขอเพิ่มเวลาทำงานใหม่ ระบบจะตรวจสอบข้อมูลและส่งเข้าสู่ขั้นตอนการอนุมัติอัตโนมัติ
Endpoint
POST /api/v1/open-apis/time-adjust/submitRequest Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | EMP001 |
time_adjust_dt | string | Yes | วันที่เอกสาร (YYYY-MM-DD) | 2026-02-18 |
time_adjust_flag_lv | string | Yes | ประเภทเอกสาร (ดู Get Adjust Types) | 01 |
time_adjust_list_dt | array | Yes | รายการเวลา (สูงสุด 4 รายการ) | ดูตัวอย่างด้านล่าง |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
time_adjust_desc | string | No | คำอธิบายเพิ่มเติม | ลืมลงเวลาเนื่องจากประชุม |
extra_round | string | No | งวดพิเศษ (Y/N) ค่าเริ่มต้น: N | N |
base64 | string | No | รูปภาพแนบ (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
| Field | Type | Description |
|---|---|---|
time_adjust_id | string | รหัสเอกสารที่สร้าง (ใช้สำหรับ API อื่น) |
employee_code | string | รหัสพนักงาน |
time_adjust_dt | string | วันที่เอกสาร |
time_adjust_flag_lv | string | ประเภทเอกสาร |
time_adjust_desc | string | คำอธิบาย |
approve_flag | string | สถานะการอนุมัติ (เริ่มต้น: 01 = รออนุมัติ) |
created | datetime | วันเวลาที่สร้าง |
Code Examples
cURL
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
| Parameter | Validation | Error Message |
|---|---|---|
employee_code | ต้องระบุและเป็น string | Missing 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
เมื่อสร้างเอกสารสำเร็จ ระบบจะ:
- Set Initial Status - ตั้งสถานะเป็น Pending (
01) - Create Notification - ส่งการแจ้งเตือนไปยังผู้อนุมัติอัตโนมัติ
- Store Attachment - ถ้ามีรูปภาพแนบ ระบบจะจัดเก็บรูปภาพอัตโนมัติ
Error Handling
| Error | Cause | Solution |
|---|---|---|
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
- พนักงานยื่นคำขอเพิ่มเวลา - สร้างเอกสารผ่าน Self-service เมื่อลืมลงเวลาหรือระบบมีปัญหา
- HR สร้างเอกสารแทน - สร้างเอกสารให้พนักงานที่ไม่มี access (HR สามารถข้ามการตรวจสอบ cut-off date และโควตาได้)
- Batch Submit - สร้างเอกสารหลายรายการพร้อมกัน
Time Format
time_adjust_dtใช้รูปแบบYYYY-MM-DDเช่น2026-02-18time_adjust_list_dtแต่ละรายการใช้รูปแบบYYYY-MM-DD HH:MM:SSเช่น2026-02-18 09:00:00
File Attachment
- ส่งรูปภาพแนบเป็น Base64 encoded string ใน
base64 - รองรับไฟล์รูปภาพ (PNG, JPG, etc.)
- ระบบจะจัดเก็บรูปภาพอัตโนมัติ
Related APIs
- Get Adjust Types - ดึงรายการประเภทการขอเพิ่มเวลา
- Get Adjust List - ดึงรายการเอกสารขอเพิ่มเวลา
- Update Adjust - แก้ไขเอกสารขอเพิ่มเวลา
- Delete Adjust - ลบเอกสารขอเพิ่มเวลา
Last updated on