Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Submit Holiday Change

ยื่นคำขอเปลี่ยนวันหยุดใหม่ เพื่อเปลี่ยนประเภทของวันใดวันหนึ่ง

ใช้ API นี้เพื่อสร้างคำขอเปลี่ยนวันหยุดใหม่ เช่น เปลี่ยนจากวันหยุดเป็นวันทำงาน หรือเปลี่ยนจากวันทำงานเป็นวันหยุด

Endpoint

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

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
employee_codestringYesรหัสพนักงานEMP001
holiday_change_dtstringYesวันที่ต้องการเปลี่ยน (Y-m-d)2026-01-15
holiday_flag_lvstringYesประเภทวันหยุดที่ต้องการเปลี่ยนเป็น00

Optional Parameters

ParameterTypeRequiredDescriptionExample
holiday_change_descstringNoเหตุผลการเปลี่ยนต้องประชุมลูกค้า
image_contentstringNoรูปภาพ (Base64 encoded)data:image/png;base64,...

Holiday Flag Values

CodeประเภทDescription
00วันทำงานWorkday
01วันหยุดนักขัตฤกษ์Public Holiday
03วันหยุดพนักงานEmployee Holiday
04วันหยุดพิเศษSpecial Holiday (ใช้โควตาลาพักร้อน)

Request Body Example

{ "employee_code": "EMP001", "holiday_change_dt": "2026-01-15", "holiday_flag_lv": "00", "holiday_change_desc": "ต้องประชุมลูกค้า" }

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "สำเร็จ", "payload": { "holiday_change_id": "SENIMDAxMjM=", "employee_id": "RU1QMDE=", "employee_code": "EMP001", "holiday_change_dt": "2026-01-15", "holiday_flag_lv": "00", "holiday_change_desc": "ต้องประชุมลูกค้า", "approve_flag": "01", "created": "2026-01-13 10:30:00" } }

Error Response - Validation Failed (HTTP 400)

{ "code": 400, "message": "Validation failed", "errors": [ "Missing required parameter: 'employee_code'", "'holiday_change_dt' must be in Y-m-d format" ] }

Error Response - Duplicate Request (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "error": "มีการขอเปลี่ยนวันหยุดในวันนี้แล้ว" }

Error Response - Salary Period Closed (HTTP 400)

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

Response Fields

FieldTypeDescription
holiday_change_idstringID ของคำขอที่สร้างใหม่
employee_idstringID ของพนักงาน
employee_codestringรหัสพนักงาน
holiday_change_dtstringวันที่เปลี่ยน
holiday_flag_lvstringประเภทวันหยุด
holiday_change_descstringเหตุผลการเปลี่ยน
approve_flagstringสถานะการอนุมัติ (เริ่มต้น 01 = Pending)
createddatetimeวันเวลาที่สร้าง

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/submit" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_code": "EMP001", "holiday_change_dt": "2026-01-15", "holiday_flag_lv": "00", "holiday_change_desc": "ต้องประชุมลูกค้า" }'

Example: Submit with Image

// แปลงรูปภาพเป็น Base64 const fileInput = document.getElementById('imageInput') const file = fileInput.files[0] const reader = new FileReader() reader.onload = async function(e) { const base64Image = e.target.result // data:image/png;base64,... const response = await fetch( 'https://openapi.humansoft.co.th/api/v1/open-apis/holiday-change/submit', { method: 'POST', headers: { 'Ocp-Apim-Subscription-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ employee_code: 'EMP001', holiday_change_dt: '2026-01-15', holiday_flag_lv: '00', holiday_change_desc: 'ต้องประชุมลูกค้า', image_content: base64Image }) } ) const data = await response.json() console.log(data) } reader.readAsDataURL(file)

Validation Rules

ParameterValidationError Message
employee_codeต้องระบุMissing required parameter: 'employee_code'
holiday_change_dtต้องระบุและรูปแบบ Y-m-d'holiday_change_dt' must be in Y-m-d format
holiday_flag_lvต้องระบุMissing required parameter: 'holiday_flag_lv'

Business Rules

ข้อจำกัดการยื่นคำขอ:

  • ไม่สามารถยื่นคำขอซ้ำในวันเดียวกันได้
  • ไม่สามารถยื่นคำขอในงวดเงินเดือนที่ปิดแล้ว
  • อาจมี cut-off date จำกัดวันที่สามารถยื่นได้
  • อาจมี quota จำกัดจำนวนคำขอต่องวด

Error Handling

ErrorCauseSolution
Missing required parameter: 'employee_code'ไม่ได้ส่ง employee_codeตรวจสอบ request body
Employee not found: XXXไม่พบพนักงานตรวจสอบ employee_code
มีการขอเปลี่ยนวันหยุดในวันนี้แล้วมีคำขอซ้ำตรวจสอบคำขอที่มีอยู่
ไม่สามารถขอเอกสารได้ เนื่องจากอยู่ในงวดเงินเดือนที่ปิดแล้วงวดเงินเดือนปิดแล้วติดต่อ HR
ไม่สามารถขอเอกสารได้ เนื่องจากเกินกำหนดวันที่ขอเอกสารแล้วเกิน cut-off dateติดต่อ HR
ไม่สามารถขอเอกสารได้ เนื่องจากเกินจำนวนโควตาการขอเอกสารเกิน quotaรอถึงงวดถัดไป
Last updated on