Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Get Warning Letter List

API สำหรับค้นหารายการจดหมายเตือนพนักงานภายในองค์กร ตามช่วงวันที่ของจดหมายเตือน พร้อมกรองตามพนักงาน ระดับใบเตือน และสถานะการรับทราบ และแบ่งหน้าผลลัพธ์ (Pagination)

Endpoint

POST /api/v1/open-apis/warning-letter/get-list

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

Request Body

ส่งแบบ application/json

Required Parameters

ParameterTypeRequiredDescriptionExample
date_fromstringYesวันที่เริ่มต้นของจดหมายเตือน รูปแบบ YYYY-MM-DD"2026-10-01"
date_tostringYesวันที่สิ้นสุดของจดหมายเตือน รูปแบบ YYYY-MM-DD — ต้องไม่ก่อน date_from และห่างจาก date_from ไม่เกิน 366 วัน"2026-10-31"

Optional Parameters

ParameterTypeRequiredDescriptionExample
employee_codestringNoกรองเฉพาะจดหมายเตือนของพนักงานคนนี้"EMP001"
warning_letter_flag_lvstringNoกรองตามระดับใบเตือน (ดู Warning Letter Levels)"04"
approve_flagstringNoกรองตามสถานะการรับทราบ: 01 = แจ้งพนักงานแล้ว, 02 = พนักงานรับทราบแล้ว"01"
_PAGEintegerNoหน้าที่ต้องการ (ค่าเริ่มต้น 1)1
_NUMBER_PER_PAGEintegerNoจำนวนรายการต่อหน้า 1–100 (ค่าเริ่มต้น 10)20
langstringNoภาษาของ message: TH (ค่าเริ่มต้น) หรือ EN"EN"

Request Body Example

{ "date_from": "2026-10-01", "date_to": "2026-10-31", "employee_code": "EMP001", "warning_letter_flag_lv": "04", "approve_flag": "01", "_PAGE": 1, "_NUMBER_PER_PAGE": 20 }

Response Format

Success Response

{ "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": "04", "warning_letter_flag_name": "หนังสือตักเตือนด้วยวาจา", "warning_letter_flag_name_en": "Letter of Verbal Reprimand", "warning_letter_desc": "มาสายเกิน 3 ครั้งในเดือน", "approve_flag": "01", "approve_flag_name": "แจ้งพนักงานแล้ว", "approve_flag_name_en": "Informed", "created": "2026-10-15 09:12:44", "last_upd": "2026-10-15 09:12:44" } ], "_PAGINATION": { "_TOTAL_RECORDS": 1, "_PAGE": 1, "_NUMBER_PER_PAGE": 20 } }

ถ้าไม่พบรายการที่ตรงเงื่อนไข จะได้ HTTP 200 พร้อม payload เป็น array ว่าง ([])

Response Fields

แต่ละรายการใน payload มีฟิลด์เดียวกับ Get Detail ยกเว้น images และ files (ใช้ Get Detail เพื่อดูไฟล์แนบ)

FieldTypeDescription
_PAGINATION._TOTAL_RECORDSintegerจำนวนรายการทั้งหมดที่ตรงเงื่อนไข
_PAGINATION._PAGEintegerหน้าปัจจุบัน
_PAGINATION._NUMBER_PER_PAGEintegerจำนวนรายการต่อหน้า

Error Response

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

{ "code": 422, "message": "การตรวจสอบข้อมูลล้มเหลว", "errors": [ "'date_to' must be a valid date (YYYY-MM-DD)", "'approve_flag' must be one of: 01, 02" ] }
ข้อความใน errorsสาเหตุ
'date_from' is required / 'date_to' is requiredไม่ได้ส่งวันที่
'<parameter>' must be a valid date (YYYY-MM-DD)วันที่ผิดรูปแบบหรือไม่มีอยู่จริง เช่น 2026-02-30
'date_from' must be on or before 'date_to'date_from อยู่หลัง date_to
date range must not exceed 366 daysช่วงวันที่ยาวเกิน 366 วัน
'employee_code' must be at most 50 characters without control charactersemployee_code ยาวเกิน 50 ตัวอักษร หรือมีอักขระควบคุม
'warning_letter_flag_lv' must be one of: 01, 02, ...ระดับใบเตือนไม่มีอยู่ในระบบ
'approve_flag' must be one of: 01, 02สถานะการรับทราบไม่ถูกต้อง
'_PAGE' must be a positive integer (max 100000)_PAGE ไม่ใช่จำนวนเต็มบวก หรือเกิน 100000
'_NUMBER_PER_PAGE' must be an integer between 1 and 100_NUMBER_PER_PAGE อยู่นอกช่วง 1–100
'<parameter>' must be a stringส่งค่าเป็น array, object หรือ boolean
'employee_code' not foundไม่พบพนักงานรหัสนี้ในองค์กร (ตรวจหลังจาก parameter อื่นผ่านทั้งหมดแล้ว)
HTTP StatusDescription
400เกิดข้อผิดพลาดระหว่างประมวลผล (message: กระบวนการล้มเหลว)
403API Key ไม่มีสิทธิ์ document:manage
422Parameter ไม่ผ่านการตรวจสอบ หรือไม่พบพนักงานตาม employee_code
500เกิดข้อผิดพลาดที่เซิร์ฟเวอร์ (message: เกิดข้อผิดพลาดที่เซิร์ฟเวอร์)

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/warning-letter/get-list" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "date_from": "2026-10-01", "date_to": "2026-10-31", "employee_code": "EMP001", "_PAGE": 1, "_NUMBER_PER_PAGE": 20 }'

Notes

  • รายการเรียงตาม warning_letter_dt จากใหม่ไปเก่า (วันที่เดียวกันเรียงตาม warning_letter_id)
  • ผลลัพธ์รวมจดหมายเตือนของพนักงานที่ลาออกแล้วด้วย และค้นหาด้วย employee_code ของพนักงานที่ลาออกแล้วได้
  • ระบบไม่ปรับค่า _PAGE หรือ _NUMBER_PER_PAGE ที่ไม่ถูกต้องให้อัตโนมัติ แต่จะคืน HTTP 422
  • warning_letter_id ใน Response เป็นค่า raw — เมื่อนำไปใช้กับ Get Detail หรือ API อื่น ต้อง encode เป็น Base64 ก่อน

  • Get Detail - ดูรายละเอียดจดหมายเตือนพร้อมไฟล์แนบ
  • Submit - สร้างจดหมายเตือน
  • Warning Letter Overview - ค่าระดับใบเตือนและสถานะการรับทราบ
Last updated on