Import Salary Certificate (Bulk)
นำเข้าเอกสารหนังสือรับรองเงินเดือนหลายรายการพร้อมกัน (Bulk Import) ผ่าน JSON Array
ใช้ API นี้เพื่อสร้างคำขอหนังสือรับรองเงินเดือนจำนวนมากพร้อมกัน ระบบจะตรวจสอบแต่ละรายการและแยกรายการที่ถูกต้องจากรายการที่ไม่ถูกต้อง จากนั้นส่งเข้าคิวเพื่อประมวลผลแบบ asynchronous
Endpoint
POST /api/v1/open-apis/salary-certificate/importRequest Body
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
import_data | array | Yes | รายการเอกสารที่ต้องการนำเข้า | ดูโครงสร้างด้านล่าง |
โครงสร้าง import_data
Array ของ object ที่แต่ละรายการมีโครงสร้างดังนี้:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | "EMP001" |
request_topic | string | No | หัวข้อคำขอ | "ขอหนังสือรับรองเงินเดือน" |
request_purpose | string | Yes | วัตถุประสงค์ | "เพื่อใช้ยื่นกู้ธนาคาร" |
send_doc_address | string | Yes | ที่อยู่จัดส่ง | "ธนาคารกสิกรไทย" |
doc_language | string | Yes | ภาษาเอกสาร (TH หรือ EN) | "TH" |
publish_flag | string | No | สถานะเผยแพร่ (Y หรือ N) | "N" |
Request Body Example
{
"import_data": [
{
"employee_code": "EMP001",
"request_topic": "ขอหนังสือรับรองเงินเดือน",
"request_purpose": "เพื่อใช้ยื่นกู้สินเชื่อธนาคาร",
"send_doc_address": "ธนาคารกสิกรไทย สาขาสยาม",
"doc_language": "TH"
},
{
"employee_code": "EMP002",
"request_topic": "Salary Certificate",
"request_purpose": "For visa application",
"send_doc_address": "Embassy of Japan, Bangkok",
"doc_language": "EN"
},
{
"employee_code": "EMP003",
"request_purpose": "เพื่อสมัครบัตรเครดิต",
"send_doc_address": "ส่งทางไปรษณีย์",
"doc_language": "TH",
"publish_flag": "Y"
}
]
}Response Format
Success Response - All Valid (HTTP 200)
{
"code": 200,
"message": "Successfully enqueued for processing",
"payload": {
"valid_items_count": 3,
"invalid_items": []
}
}Success Response - Partial Success (HTTP 200)
{
"code": 200,
"message": "Successfully enqueued for processing",
"payload": {
"valid_items_count": 2,
"invalid_items": [
{
"index": 1,
"data": {
"employee_code": "999999",
"request_purpose": "Test",
"send_doc_address": "Test",
"doc_language": "TH"
},
"errors": ["Employee not found: '999999'"]
}
]
}
}Error Response - Validation Failed (HTTP 422)
{
"code": 422,
"message": "Validation failed",
"errors": [
"Missing required field: 'import_data'"
]
}Error Response - No Valid Items (HTTP 400)
{
"code": 400,
"message": "No valid data to import",
"payload": {
"invalid_items": [
{
"index": 0,
"data": {"employee_code": "999999"},
"errors": ["Employee not found: '999999'"]
}
]
}
}Error Response - Server Error (HTTP 500)
{
"code": 500,
"message": "Failed to enqueue import job",
"error": "Error message"
}Response Fields
| Field | Type | Description |
|---|---|---|
valid_items_count | integer | จำนวนรายการที่ถูกต้องและถูกส่งเข้าคิว |
invalid_items | array | รายการที่ไม่ถูกต้อง (array ว่างถ้าไม่มี) |
invalid_items[].index | integer | ลำดับ index ของรายการที่ผิดพลาด |
invalid_items[].data | object | ข้อมูลรายการดั้งเดิมที่ส่งมา |
invalid_items[].errors | array | รายการ error messages |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/salary-certificate/import" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"import_data": [
{
"employee_code": "EMP001",
"request_topic": "ขอหนังสือรับรองเงินเดือน",
"request_purpose": "เพื่อใช้ยื่นกู้สินเชื่อธนาคาร",
"send_doc_address": "ธนาคารกสิกรไทย สาขาสยาม",
"doc_language": "TH"
},
{
"employee_code": "EMP002",
"request_purpose": "For visa application",
"send_doc_address": "Embassy of Japan, Bangkok",
"doc_language": "EN"
}
]
}'Notes
ข้อควรทราบ:
- API นี้ใช้
employee_codeไม่ใช่employee_idระบบจะค้นหาพนักงานจากรหัสอัตโนมัติ - การประมวลผลเป็นแบบ asynchronous — response สำเร็จหมายความว่า “ส่งเข้าคิวแล้ว” ไม่ใช่ “สร้างเอกสารเสร็จแล้ว”
- รายการที่ไม่ถูกต้องจะถูกข้ามแต่ไม่ทำให้ทั้ง request ล้มเหลว (partial import)
- ตรวจสอบ
invalid_itemsใน response เพื่อดูรายการที่ล้มเหลวพร้อมสาเหตุ - แต่ละรายการที่ import จะผ่าน flow เดียวกับ Submit API (ตรวจสอบโควตา, คำนวณเงินเดือน)
Related APIs
- Get List - ดูรายการเอกสารที่นำเข้าแล้ว
- Submit - สร้างเอกสารทีละรายการ (ทางเลือกแทน import)
- Get Detail - ดูรายละเอียดเอกสารที่นำเข้า
Last updated on