Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Update Warning Letter

API สำหรับแก้ไขจดหมายเตือนที่มีอยู่ ได้แก่ ระดับใบเตือน วันที่ และรายละเอียด รวมถึงแนบไฟล์เพิ่ม โดยส่งมาเฉพาะข้อมูลที่ต้องการแก้ — ข้อมูลที่ไม่ได้ส่งจะคงค่าเดิม แก้ไขได้เฉพาะจดหมายเตือนที่พนักงานยังไม่รับทราบ (approve_flag = 01)

Endpoint

POST /api/v1/open-apis/warning-letter/update

สิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลการยื่นเอกสาร (document:manage)

Request Body

ส่งแบบ multipart/form-data (ใช้ได้ทั้งกรณีแนบและไม่แนบไฟล์)

Required Parameters

ParameterTypeRequiredDescriptionExample
warning_letter_idstringYesID ของจดหมายเตือนที่ต้องการแก้ไข (Base64)"MjAyNTExMjdENDU3M0M0MjE2Mzk="

Optional Parameters

ต้องส่งอย่างน้อย 1 อย่าง: warning_letter_flag_lv, warning_letter_dt, warning_letter_desc หรือไฟล์แนบ

ParameterTypeRequiredDescriptionExample
warning_letter_flag_lvstringNoระดับใบเตือนใหม่ (ดู Warning Letter Levels)"05"
warning_letter_dtstringNoวันที่ใหม่ รูปแบบ YYYY-MM-DD — ต้องไม่เป็นวันในอนาคต (เวลาประเทศไทย)"2026-10-16"
warning_letter_descstringNoรายละเอียดใหม่ ไม่เกิน 5,000 ตัวอักษร — ส่งค่าว่าง "" (หรือช่องว่างล้วน) เพื่อล้างรายละเอียด"แนบบันทึกข้อความเพิ่มเติม"
employee_codestringNoใช้ยืนยันว่าเป็นจดหมายเตือนของพนักงานคนนี้เท่านั้น ต้องตรงกับพนักงานเดิม (เปลี่ยนพนักงานไม่ได้)"EMP001"
_image[]fileNoรูปภาพ JPG/PNG ที่ต้องการแนบเพิ่ม[Binary Data]
_doc[]fileNoเอกสาร PDF ที่ต้องการแนบเพิ่ม[Binary Data]
langstringNoภาษาของ message: TH (ค่าเริ่มต้น) หรือ EN"EN"
  • ส่ง warning_letter_flag_lv หรือ warning_letter_dt เป็นค่าว่างจะถือว่าไม่ได้ส่ง (คงค่าเดิม)
  • ไฟล์ที่แนบจะถูก เพิ่ม ต่อจากไฟล์เดิม ไม่ได้แทนที่ — หากต้องการลบไฟล์เดิมให้ใช้ Delete File
  • ห้ามส่งข้อมูลที่ระบบกำหนดเอง เช่น employee_id, approve_flag, created, last_upd — หากส่งมาจะได้ HTTP 422 พร้อมข้อความ '<field>' is not allowed

File Attachment Rules

ใช้เงื่อนไขเดียวกับ Submit โดยจำนวนไฟล์และขนาดรวม นับรวมไฟล์ที่แนบอยู่เดิม ด้วย — รูปภาพรวมกันไม่เกิน 2,048 KB และไม่เกิน 10 ไฟล์ เอกสารรวมกันไม่เกิน 2,048 KB และไม่เกิน 10 ไฟล์ ต่อจดหมายเตือน 1 ใบ

Response Format

Success Response

คืนข้อมูลของจดหมายเตือนหลังแก้ไข ในรูปแบบเดียวกับ Get Detail

{ "code": 200, "message": "แก้ไขจดหมายเตือนสำเร็จ", "payload": { "warning_letter_id": "20251127D4573C421639", "employee_code": "EMP001", "employee_name": "สมชาย ใจดี", "employee_name_en": "Somchai Jaidee", "warning_letter_dt": "2026-10-15", "warning_letter_flag_lv": "05", "warning_letter_flag_name": "หนังสือตักเตือนเป็นลายลักษณ์อักษร", "warning_letter_flag_name_en": "Written Warning Letter", "warning_letter_desc": "แนบบันทึกข้อความเพิ่มเติม", "approve_flag": "01", "approve_flag_name": "แจ้งพนักงานแล้ว", "approve_flag_name_en": "Informed", "created": "2026-10-15 09:12:44", "last_upd": "2026-10-16 14:20:05", "images": [], "files": [ { "warning_letter_file_id": "20251127F6E5D4C3B2A1", "file_name": "memo.pdf", "mime_type": "application/pdf", "file_size": 48211, "url": "https://cdn.humansoft.co.th/.../file/9b8c7d6e5f4a3b2c.pdf" } ] } }

อาจมี warnings เมื่อบันทึกสำเร็จแต่งานต่อเนื่องบางส่วนไม่สำเร็จ — ข้อความที่เป็นไปได้เหมือน Submit (ไม่ต้องส่งคำขอซ้ำ)

Error Response

ข้อมูลไม่ผ่านการตรวจสอบ (422)

{ "code": 422, "message": "การตรวจสอบข้อมูลล้มเหลว", "errors": [ "nothing to update: send warning_letter_flag_lv, warning_letter_dt, warning_letter_desc or a file" ] }

ข้อความเรื่องรูปแบบข้อมูลและไฟล์แนบใช้ข้อความเดียวกับ Submit (ยกเว้น 'employee_code' not found และ is required ของ warning_letter_flag_lv, warning_letter_dt, employee_code ซึ่งไม่เกิดใน API นี้) และมีข้อความเพิ่มเติมดังนี้

ลำดับการตรวจ: รูปแบบข้อมูล (422) → มีจดหมายเตือนอยู่จริง (404) → พนักงานยังไม่รับทราบ (409) → employee_code ตรงกับเจ้าของใบ (422) → ไฟล์แนบ (422) → มีข้อมูลที่จะแก้ (422) → ข้อมูลซ้ำ (409) — ระบบจะหยุดที่ขั้นแรกที่ไม่ผ่าน ข้อผิดพลาดเรื่องรูปแบบข้อมูลและเรื่องไฟล์แนบจึงไม่ถูกรวมมาในคำตอบเดียวกัน

ข้อความใน errorsสาเหตุ
'warning_letter_id' is requiredไม่ได้ส่ง warning_letter_id
'warning_letter_id' is invalid (expected the base64 of an alphanumeric id)warning_letter_id ไม่ใช่ Base64 ของ ID ที่ถูกต้อง
'employee_code' cannot be changedemployee_code ไม่ตรงกับพนักงานของจดหมายเตือนนี้
nothing to update: send warning_letter_flag_lv, warning_letter_dt, warning_letter_desc or a fileส่งมาแค่ warning_letter_id โดยไม่มีข้อมูลที่จะแก้หรือไฟล์แนบ

ไม่พบจดหมายเตือน (404)

{ "code": 404, "message": "ไม่พบจดหมายเตือน" }

พนักงานรับทราบแล้ว (409)

{ "code": 409, "message": "พนักงานรับทราบจดหมายเตือนนี้แล้ว ไม่สามารถแก้ไขหรือลบได้" }

จดหมายเตือนซ้ำ (409) — ข้อมูลหลังแก้ไขซ้ำกับจดหมายเตือนใบอื่นของพนักงานคนเดียวกัน (วันที่และระดับเดียวกัน)

{ "code": 409, "message": "มีจดหมายเตือนของพนักงาน วันที่ และระดับเดียวกันอยู่แล้ว" }
HTTP StatusDescription
400เกิดข้อผิดพลาดระหว่างบันทึก (message: กระบวนการล้มเหลว) — ระบบยกเลิกการแก้ไขทั้งหมด รวมถึงไฟล์ที่อัปโหลดในคำขอนั้น
403API Key ไม่มีสิทธิ์ document:manage
404ไม่พบจดหมายเตือน — ID ไม่มีอยู่ ถูกลบไปแล้ว หรือเป็นของบริษัทอื่น
409พนักงานรับทราบจดหมายเตือนแล้ว หรือข้อมูลหลังแก้ไขซ้ำกับใบอื่น
422ข้อมูลหรือไฟล์แนบไม่ผ่านการตรวจสอบ
500เกิดข้อผิดพลาดที่เซิร์ฟเวอร์ (message: เกิดข้อผิดพลาดที่เซิร์ฟเวอร์) — ระบบยกเลิกการแก้ไขทั้งหมด

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/warning-letter/update" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -F "warning_letter_id=MjAyNTExMjdENDU3M0M0MjE2Mzk=" \ -F "warning_letter_flag_lv=05" \ -F "warning_letter_desc=แนบบันทึกข้อความเพิ่มเติม" \ -F "_doc[]=@/path/to/memo.pdf"

Notes

  • ทุกครั้งที่แก้ไขสำเร็จ (รวมถึงการแนบไฟล์เพิ่มอย่างเดียว) ระบบจะแจ้งเตือนพนักงานอีกครั้ง และอัปเดตการ์ดจดหมายเตือนเดิมใน News Feed เป็นข้อมูลล่าสุด
  • การส่งคำขอเดิมซ้ำจะทำให้พนักงานได้รับแจ้งเตือนซ้ำ และไฟล์ที่แนบจะถูกเพิ่มซ้ำ — หากไม่แน่ใจว่าคำขอก่อนหน้าสำเร็จหรือไม่ ให้ตรวจด้วย Get Detail ก่อนส่งใหม่
  • การตรวจข้อมูลซ้ำใช้ค่าหลังแก้ไข (ข้อมูลที่ไม่ได้ส่งใช้ค่าเดิม) และไม่นับจดหมายเตือนใบที่กำลังแก้
  • หากพนักงานกดรับทราบระหว่างที่กำลังแก้ไข ระบบจะไม่บันทึกการแก้ไขและคืน HTTP 409
  • เปลี่ยนพนักงานของจดหมายเตือนไม่ได้ — ให้ลบผ่าน Delete แล้วสร้างใหม่ผ่าน Submit

warning_letter_id ต้องส่งเป็น Base64-encoded — ค่าใน Response เป็น raw ID


  • Get Detail - ดูข้อมูลปัจจุบันก่อนแก้ไข
  • Delete File - ลบไฟล์แนบที่ไม่ต้องการ
  • Delete - ลบจดหมายเตือนทั้งใบ
Last updated on