Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Import Work Certificate (Bulk)

นำเข้าเอกสารหนังสือรับรองการทำงานหลายรายการพร้อมกัน (Bulk Import) ผ่าน JSON Array

การประมวลผลเป็นแบบ asynchronous — response สำเร็จหมายความว่า “ส่งเข้าคิวแล้ว” ไม่ใช่ “สร้างเอกสารเสร็จแล้ว” รายการที่ไม่ถูกต้องจะถูกข้ามแต่ไม่ทำให้ทั้ง request ล้มเหลว (partial import)

Endpoint

POST /api/v1/open-apis/work-certificate/import

Request Body

Required Parameters

ParameterTypeRequiredDescriptionExample
import_dataarrayYesรายการเอกสารที่ต้องการนำเข้าดูโครงสร้างด้านล่าง

import_data Structure

Array ของ object ที่แต่ละรายการมีโครงสร้างดังนี้:

FieldTypeRequiredDescriptionExample
employee_codestringYesรหัสพนักงาน"EMP001"
request_topicstringNoหัวข้อคำขอ"ขอหนังสือรับรองการทำงาน"
request_purposestringYesวัตถุประสงค์"เพื่อใช้สมัครงาน"
send_doc_addressstringYesที่อยู่จัดส่ง"บริษัท ABC จำกัด"
doc_languagestringYesภาษาเอกสาร (TH หรือ EN)"TH"
publish_flagstringNoสถานะเผยแพร่ (Y หรือ N)"N"

Request Body Example

{ "import_data": [ { "employee_code": "EMP001", "request_topic": "ขอหนังสือรับรองการทำงาน", "request_purpose": "เพื่อใช้สมัครงานใหม่", "send_doc_address": "บริษัท ABC จำกัด", "doc_language": "TH" }, { "employee_code": "EMP002", "request_topic": "Work Certificate", "request_purpose": "For visa application", "send_doc_address": "Embassy of Japan, Bangkok", "doc_language": "EN" } ] }

Response Format

Success Response - All Valid (HTTP 200)

{ "code": 200, "message": "Successfully enqueued for processing", "payload": { "valid_items_count": 2, "invalid_items": [] } }

Success Response - Partial Success (HTTP 200)

{ "code": 200, "message": "Successfully enqueued for processing", "payload": { "valid_items_count": 1, "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

FieldTypeNullableDescription
valid_items_countintegerNoจำนวนรายการที่ถูกต้องและถูกส่งเข้าคิว
invalid_itemsarrayNoรายการที่ไม่ถูกต้อง (array ว่างถ้าไม่มี)
invalid_items[].indexintegerNoลำดับ index ของรายการที่ผิดพลาด
invalid_items[].dataobjectNoข้อมูลรายการดั้งเดิมที่ส่งมา
invalid_items[].errorsarrayNoรายการ error messages

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/work-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": "บริษัท ABC จำกัด", "doc_language": "TH" }, { "employee_code": "EMP002", "request_topic": "Work Certificate", "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 (ตรวจสอบโควตา ฯลฯ)
  • Get List - ดูรายการเอกสารที่นำเข้าแล้ว
  • Submit - สร้างเอกสารทีละรายการ (ทางเลือกแทน import)
  • Get Detail - ดูรายละเอียดเอกสารที่นำเข้า
Last updated on