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
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
date_from | string | Yes | วันที่เริ่มต้นของจดหมายเตือน รูปแบบ YYYY-MM-DD | "2026-10-01" |
date_to | string | Yes | วันที่สิ้นสุดของจดหมายเตือน รูปแบบ YYYY-MM-DD — ต้องไม่ก่อน date_from และห่างจาก date_from ไม่เกิน 366 วัน | "2026-10-31" |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | No | กรองเฉพาะจดหมายเตือนของพนักงานคนนี้ | "EMP001" |
warning_letter_flag_lv | string | No | กรองตามระดับใบเตือน (ดู Warning Letter Levels) | "04" |
approve_flag | string | No | กรองตามสถานะการรับทราบ: 01 = แจ้งพนักงานแล้ว, 02 = พนักงานรับทราบแล้ว | "01" |
_PAGE | integer | No | หน้าที่ต้องการ (ค่าเริ่มต้น 1) | 1 |
_NUMBER_PER_PAGE | integer | No | จำนวนรายการต่อหน้า 1–100 (ค่าเริ่มต้น 10) | 20 |
lang | string | No | ภาษาของ 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 เพื่อดูไฟล์แนบ)
| Field | Type | Description |
|---|---|---|
_PAGINATION._TOTAL_RECORDS | integer | จำนวนรายการทั้งหมดที่ตรงเงื่อนไข |
_PAGINATION._PAGE | integer | หน้าปัจจุบัน |
_PAGINATION._NUMBER_PER_PAGE | integer | จำนวนรายการต่อหน้า |
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 characters | employee_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 Status | Description |
|---|---|
400 | เกิดข้อผิดพลาดระหว่างประมวลผล (message: กระบวนการล้มเหลว) |
403 | API Key ไม่มีสิทธิ์ document:manage |
422 | Parameter ไม่ผ่านการตรวจสอบ หรือไม่พบพนักงานตาม employee_code |
500 | เกิดข้อผิดพลาดที่เซิร์ฟเวอร์ (message: เกิดข้อผิดพลาดที่เซิร์ฟเวอร์) |
Code Examples
cURL
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ที่ไม่ถูกต้องให้อัตโนมัติ แต่จะคืน HTTP422 warning_letter_idใน Response เป็นค่า raw — เมื่อนำไปใช้กับ Get Detail หรือ API อื่น ต้อง encode เป็น Base64 ก่อน
Related APIs
- Get Detail - ดูรายละเอียดจดหมายเตือนพร้อมไฟล์แนบ
- Submit - สร้างจดหมายเตือน
- Warning Letter Overview - ค่าระดับใบเตือนและสถานะการรับทราบ
Last updated on