Delete Holiday Change
ลบคำขอเปลี่ยนวันหยุด
ใช้ API นี้เพื่อลบคำขอเปลี่ยนวันหยุดที่ยื่นผิดพลาดหรือไม่ต้องการแล้ว ระบบจะทำการลบข้อมูลและอัพเดท quota ของพนักงาน
Endpoint
POST /api/v1/open-apis/holiday-change/deleteRequest Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
holiday_change_id | string | Yes | ID ของคำขอที่ต้องการลบ | SENIMDAxMjM= |
Request Body Example
{
"holiday_change_id": "SENIMDAxMjM="
}Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "ลบเอกสารสำเร็จ",
"payload": {
"holiday_change_id": "SENIMDAxMjM=",
"employee_id": "RU1QMDE=",
"holiday_change_dt": "2026-01-15",
"deleted_at": "2026-01-13 14:30:00"
}
}Error Response - Not Found (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Holiday change record not found"
}Error Response - Already Deleted (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Holiday change record already deleted"
}Error Response - Salary Period Closed (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "ไม่สามารถลบได้ งวดเงินเดือนปิดแล้ว"
}Response Fields
| Field | Type | Description |
|---|---|---|
holiday_change_id | string | ID ของคำขอที่ลบ |
employee_id | string | ID ของพนักงาน |
holiday_change_dt | string | วันที่ของคำขอ |
deleted_at | datetime | วันเวลาที่ลบ |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/delete" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"holiday_change_id": "SENIMDAxMjM="
}'Step-by-step: Find and Delete
// Step 1: ค้นหาคำขอที่ต้องการลบ
const params = new URLSearchParams({
start_date: '2026-01-01',
end_date: '2026-01-31',
employee_code: 'EMP001',
approve_flag: '01' // เฉพาะ Pending
})
const listResponse = await fetch(
`https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/get-list?${params}`,
{
headers: { 'Ocp-Apim-Subscription-Key': 'YOUR_API_KEY' }
}
)
const listData = await listResponse.json()
const requestToDelete = listData.payload.find(
item => item.holiday_change_dt === '2026-01-15'
)
if (!requestToDelete) {
console.log('ไม่พบคำขอ')
} else {
// Step 2: ลบคำขอ
const deleteResponse = await fetch(
'https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/delete',
{
method: 'POST',
headers: {
'Ocp-Apim-Subscription-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
holiday_change_id: requestToDelete.holiday_change_id
})
}
)
const deleteData = await deleteResponse.json()
console.log('Delete result:', deleteData)
}Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
holiday_change_id | ต้องระบุและเป็น string | Missing required parameter: 'holiday_change_id' |
Business Rules
ข้อจำกัดการลบ:
- ไม่สามารถลบคำขอที่ลบไปแล้ว
- ไม่สามารถลบในงวดเงินเดือนที่ปิดแล้ว
- การลบคำขอจะเปลี่ยนสถานะข้อมูล สามารถตรวจสอบผลลัพธ์ได้จาก response
- ระบบจะอัพเดท quota ของพนักงานโดยอัตโนมัติ
- Feed และ notifications ที่เกี่ยวข้องจะถูกลบด้วย
Side Effects
เมื่อลบคำขอสำเร็จ ระบบจะ:
- ลบคำขอ - ข้อมูลคำขอจะไม่แสดงในระบบอีกต่อไป
- Update Quota - คำนวณ quota ใหม่
- ลบข้อมูลที่เกี่ยวข้อง - ลบ log ที่เกี่ยวข้อง
- ลบการแจ้งเตือน - ลบ feed ของพนักงานและ HR
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: 'holiday_change_id' | ไม่ได้ส่ง holiday_change_id | ตรวจสอบ request body |
Holiday change record not found | ไม่พบคำขอ | ตรวจสอบ holiday_change_id |
Holiday change record already deleted | คำขอถูกลบไปแล้ว | ไม่ต้องดำเนินการ |
ไม่สามารถลบได้ งวดเงินเดือนปิดแล้ว | งวดเงินเดือนปิดแล้ว | ติดต่อ HR |
Notes
Use Cases
- ยกเลิกคำขอผิดพลาด - ลบคำขอที่ยื่นผิดวันหรือผิดประเภท
- ทำความสะอาดข้อมูล - ลบคำขอที่ไม่ต้องการแล้ว
- แก้ไขข้อมูล - ลบคำขอเดิมก่อนสร้างใหม่ (กรณีไม่สามารถ update ได้)
Related APIs
- Get Holiday Change List - ดึงรายการคำขอเปลี่ยนวันหยุด
- Submit Holiday Change - ยื่นคำขอเปลี่ยนวันหยุดใหม่
- Update Holiday Change - แก้ไขคำขอเปลี่ยนวันหยุด
Last updated on