Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Delete Holiday Change

ลบคำขอเปลี่ยนวันหยุด

ใช้ API นี้เพื่อลบคำขอเปลี่ยนวันหยุดที่ยื่นผิดพลาดหรือไม่ต้องการแล้ว ระบบจะทำการลบข้อมูลและอัพเดท quota ของพนักงาน

Endpoint

POST /api/v1/open-apis/holiday-change/delete

Request Parameters

ParameterTypeRequiredDescriptionExample
holiday_change_idstringYesID ของคำขอที่ต้องการลบ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

FieldTypeDescription
holiday_change_idstringID ของคำขอที่ลบ
employee_idstringID ของพนักงาน
holiday_change_dtstringวันที่ของคำขอ
deleted_atdatetimeวันเวลาที่ลบ

Code Examples

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

ParameterValidationError Message
holiday_change_idต้องระบุและเป็น stringMissing required parameter: 'holiday_change_id'

Business Rules

ข้อจำกัดการลบ:

  • ไม่สามารถลบคำขอที่ลบไปแล้ว
  • ไม่สามารถลบในงวดเงินเดือนที่ปิดแล้ว
  • การลบคำขอจะเปลี่ยนสถานะข้อมูล สามารถตรวจสอบผลลัพธ์ได้จาก response
  • ระบบจะอัพเดท quota ของพนักงานโดยอัตโนมัติ
  • Feed และ notifications ที่เกี่ยวข้องจะถูกลบด้วย

Side Effects

เมื่อลบคำขอสำเร็จ ระบบจะ:

  1. ลบคำขอ - ข้อมูลคำขอจะไม่แสดงในระบบอีกต่อไป
  2. Update Quota - คำนวณ quota ใหม่
  3. ลบข้อมูลที่เกี่ยวข้อง - ลบ log ที่เกี่ยวข้อง
  4. ลบการแจ้งเตือน - ลบ feed ของพนักงานและ HR

Error Handling

ErrorCauseSolution
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

  1. ยกเลิกคำขอผิดพลาด - ลบคำขอที่ยื่นผิดวันหรือผิดประเภท
  2. ทำความสะอาดข้อมูล - ลบคำขอที่ไม่ต้องการแล้ว
  3. แก้ไขข้อมูล - ลบคำขอเดิมก่อนสร้างใหม่ (กรณีไม่สามารถ update ได้)
Last updated on