Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Import JSON

รับข้อมูลแถวที่ parse จาก Excel แล้ว (เป็น JSON array) เพื่อสร้าง/แทนที่การตั้งค่าสวัสดิการพนักงานตามปีที่ระบุ ใช้เมื่อฝั่ง client อ่านไฟล์ Excel เองแล้วแปลงเป็น JSON

Endpoint

POST /api/v1/open-apis/welfare/excel_import_json

Request Body

ParameterTypeRequiredDescriptionExample
json_dataarrayYesArray ของแถวข้อมูล โดยแต่ละแถวใช้ key ตาม columnดูตัวอย่าง
yearstringYesปีสวัสดิการ (YYYY)"2026"

โครงสร้าง json_data แต่ละแถว

KeyFieldDescription
Aemployee_codeรหัสพนักงาน
Fsalary_type_codeรหัสประเภทสวัสดิการ
Hwelfare_prev_amtยอดยกมาจากปีก่อน (รองรับ comma เช่น "5,000")
Iwelfare_quota_amtวงเงินสวัสดิการ (รองรับ comma เช่น "20,000")

Request Body Example

{ "year": "2026", "json_data": [ { "A": "EMP001", "F": "SAL_MED", "H": "5,000", "I": "20,000" }, { "A": "EMP002", "F": "SAL_MED", "H": "", "I": "15,000" } ] }

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "สำเร็จ", "payload": { "year": "2026", "json_data": [ { "A": "EMP001", "F": "SAL_MED", "H": "5,000", "I": "20,000" }, { "A": "EMP002", "F": "SAL_MED", "H": "", "I": "15,000" } ], "log_data": { "all_record": 2, "insert_record": 1, "update_record": 1 } } }

Response Fields

FieldTypeNullableDescription
yearstringNoปีสวัสดิการ
json_dataarrayNoข้อมูลแถวที่ส่งมา (echo กลับ)
log_data.all_recordintegerNoจำนวนแถวที่ประมวลผล
log_data.insert_recordintegerNoจำนวนแถวที่เพิ่มใหม่ (ไม่มี Config เดิม)
log_data.update_recordintegerNoจำนวนแถวที่แทนที่ (มี Config เดิมและถูกแทนที่)

Error Response - Missing json_data (HTTP 400)

{ "code": 400, "message": "Exception File type not support" }

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/welfare/excel_import_json" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "year": "2026", "json_data": [ { "A": "EMP001", "F": "SAL_MED", "H": "5,000", "I": "20,000" }, { "A": "EMP002", "F": "SAL_MED", "H": "", "I": "15,000" } ] }'

Notes

ข้อควรทราบ:

  • แถวที่ key A ว่างจะทำให้ หยุดประมวลผลทันที (แถวหลังจากนั้นจะถูกข้ามทั้งหมด)
  • ถ้า employee_code หรือ salary_type_code ไม่พบในระบบ แถวนั้นจะไม่สร้างข้อมูล (ข้ามไป)
  • ตัวเลขใน key H และ I รองรับ comma separator เช่น "20,000.00"
  • การทำงานเป็น Replace: ลบ Config เดิมที่มี salary_type, employee, welfare_year เดียวกัน แล้วสร้างใหม่
  • Endpoint นี้ไม่มี ID ที่ต้องส่งเป็น Base64 — ใช้ employee_code และ salary_type_code เป็นตัวอ้างอิง
Last updated on