Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Slip Normal

ดึงสลิปเงินเดือนของพนักงานในรอบเดือนที่ระบุ สร้างไฟล์ PDF และส่งคืนตามรูปแบบที่เลือก (Inline, Download, หรือ File URL)

Endpoint

GET /api/v1/open-apis/salary/get-data-filter?path_action=slip_normal

Request Parameters

ParameterTypeRequiredDescriptionExample
employee_codestringYesรหัสพนักงาน"EMP001"
year_monthstringNoรอบเงินเดือน (YYYY-MM) ถ้าไม่ส่งจะใช้รอบปัจจุบัน"2026-02"
outputstringNoรูปแบบ output (ค่าเริ่มต้น: "I")"F"
slip_encryptionstringNoเข้ารหัส PDF: "Y" หรือไม่ระบุ"Y"

output Values

ValueDescription
"I"Inline - ส่งคืน PDF เป็น base64 encoded string (ค่าเริ่มต้น)
"D"Download - ส่งคืนเป็นไฟล์ PDF สำหรับดาวน์โหลด
"F"File URL - ส่งคืน URL ของไฟล์ PDF

แนะนำให้ใช้ output=F สำหรับ Mobile App เพื่อลดขนาด payload และแสดง PDF ใน WebView ได้ง่าย

ก่อนเรียก API นี้ ควรเรียก Calculate Month ก่อน เพื่อให้มีข้อมูลสลิปในระบบ


Response Format

Success Response - output = “F” (File URL)

{ "code": 200, "message": "Success", "payload": "https://openapi.humansoft.co.th/exports/slip_202602_EMP001.pdf" }

Success Response - output = “I” (Inline)

{ "code": 200, "message": "Success", "payload": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIK..." }

Success Response - output = “D” (Download)

ส่งคืนเป็นไฟล์ PDF พร้อม HTTP headers:

  • Content-Type: application/pdf
  • Content-Disposition: attachment; filename="slip_YYYYMM_EMPCODE.pdf"

Key Response Fields

outputpayload TypeDescription
"F"stringURL ของไฟล์ PDF
"I"stringPDF content เป็น base64 encoded string
"D"binaryไฟล์ PDF

Error Response

{ "code": 404, "message": "Slip not found for employee: EMP001, month: 2026-02", "payload": [] }
HTTP StatusDescription
400พารามิเตอร์ไม่ถูกต้อง หรือไม่มีวันเกิดสำหรับเข้ารหัส
401API Key ไม่ถูกต้องหรือไม่ได้ส่ง
404ไม่พบพนักงาน, ไม่พบรอบเดือน, หรือไม่พบสลิป
500ไม่พบ template สลิป หรือระบบขัดข้อง

Code Examples

curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/salary/get-data-filter?path_action=slip_normal&employee_code=EMP001&year_month=2026-02&output=F" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"

Notes

  • หากระบุ slip_encryption = "Y" ระบบจะเข้ารหัส PDF ด้วยวันเกิดพนักงาน (รูปแบบ ddmmyyyy เช่น 15011990)
  • พนักงานต้องมีวันเกิดในระบบเพื่อใช้ฟีเจอร์เข้ารหัส
  • การสร้าง PDF อาจใช้เวลา ขึ้นอยู่กับ template และจำนวนรายการ
  • แนะนำให้ cache URL สำหรับ output = "F" เพื่อไม่ต้องสร้าง PDF ซ้ำ

  • Calculate Month - คำนวณเงินเดือน ควรเรียกก่อน slip_normal
  • Salary Summary - ดูสรุปเงินเดือนก่อนดูสลิป
  • Daily In Month - ดูรายละเอียดการคำนวณ
  • Current Month - ดูรอบเดือนปัจจุบัน เพื่อหา year_month
Last updated on