Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Resume Employee Loan

เปิดใช้งานเงินกู้ที่ปิดไปแล้วอีกครั้ง (ยกเลิกการปิดบัญชี) เพื่อกลับมาหักเงินเดือนในงวดถัดไป

ใช้ API นี้เพื่อเปิดใช้งานเงินกู้ที่ถูกปิดไว้อีกครั้ง ระบบจะเปลี่ยนสถานะจาก C (Cancel) กลับมาเป็น N (Active) และเริ่มหักเงินเดือนตามตารางงวดที่เหลืออยู่ งวดที่ชำระไปแล้วจะไม่เปลี่ยนแปลง

Endpoint

POST /api/v1/open-apis/employee-loans/resume

สิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลการยื่นเอกสาร (document:manage)

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
employee_loan_idstringYesรหัสเงินกู้ (Base64)MjAyNjA3MDRBMUIyQzNENEU1RjY=

Optional Parameters

ParameterTypeDefaultDescriptionExample
employee_loan_status_remarkstring''หมายเหตุการเปิดใช้งานเงินกู้พนักงานขอเปิดเงินกู้ใหม่
authorize_idstring''ID ผู้ทำรายการ (Base64) — ถ้าส่งมา ต้องเป็น user ที่มีอยู่จริง มิฉะนั้นได้ 422MjAyNjA3MDRVU0VSMDAwMDAx

หา authorize_id ได้อย่างไร: รับค่าจาก Get Employee Data Filter โดยใช้ path_action=get-user พร้อม employee_code ของผู้ทำรายการ — ใช้ค่า user_id ที่ได้กลับมาเป็น authorize_id

Request Body Example

{ "employee_loan_id": "MjAyNjA3MDRBMUIyQzNENEU1RjY=", "employee_loan_status_remark": "พนักงานขอเปิดเงินกู้ใหม่", "authorize_id": "MjAyNjA3MDRVU0VSMDAwMDAx" }

Response Format

Success Response (HTTP 200)

payload คือระเบียนเงินกู้แบบ flat (ฟิลด์ของเงินกู้ พร้อม flag_name/flag_name_en ซึ่งเป็นชื่อประเภทเงินหักในสลิป TH/EN) พร้อม period[] ตารางงวดผ่อน โดยสถานะในฟิลด์ employee_loan_status จะเป็น "N" (Active) เสมอ

{ "code": 200, "message": "ยกเลิกการปิดบัญชีสำเร็จ", "payload": { "employee_loan_id": "20260704A1B2C3D4E5F6", "employee_id": "20260704112233AABBCC", "salary_type_id": "MjAyNjAzMTY2RTZCQzg3NjQ4MDI=", "flag_name": "เงินกู้ยืมพนักงาน", "flag_name_en": "Employee Loan", "employee_loan_dt": "2026-07-04", "employee_loan_start": "2026-07", "employee_loan_amt": 9900, "employee_loan_period": 10, "employee_loan_interest": 0, "employee_loan_interest_type": "0", "employee_loan_amt_principle": 9900, "employee_loan_amt_interest": 0, "employee_loan_amt_period": 990, "employee_loan_desc": "เงินกู้ยืมพนักงาน", "employee_loan_status": "N", "employee_loan_status_update": "2026-07-05 12:00:00", "employee_loan_status_remark": "พนักงานขอเปิดเงินกู้ใหม่", "period": [ { "employee_loan_period_id": "20260704AAAA11112222", "employee_loan_period_seq": 1, "employee_loan_period_month": "2026-07", "employee_loan_period_principle": 990, "employee_loan_period_interest": 0, "employee_loan_period_amt": 990, "employee_loan_period_status": "N" }, { "employee_loan_period_id": "20260804BBBB33334444", "employee_loan_period_seq": 2, "employee_loan_period_month": "2026-08", "employee_loan_period_principle": 990, "employee_loan_period_interest": 0, "employee_loan_period_amt": 990, "employee_loan_period_status": "N" } ] } }

Error Response - Forbidden (HTTP 403)

{ "code": 403, "message": "Forbidden: Insufficient permissions", "error": { "type": "PERMISSION_DENIED" } }

สาเหตุ: API Key ไม่มีสิทธิ์ document:manage

Error Response - Validation Failed (HTTP 422)

{ "code": 422, "message": "การตรวจสอบข้อมูลล้มเหลว", "errors": [ "'employee_loan_id' is required" ] }

สาเหตุ: ไม่ได้ส่ง employee_loan_id, หรือ authorize_id ที่ส่งมาไม่ถูกต้อง/ไม่มีในระบบ

Error Response - Employee Loan Not Found (HTTP 404)

{ "code": 404, "message": "ไม่พบข้อมูลเงินกู้" }

สาเหตุ: employee_loan_id ที่ส่งมาไม่มีอยู่ในระบบ

Error Response - Invalid Status (HTTP 400)

เปิดใช้งานได้เฉพาะเงินกู้ที่มีสถานะ C (Cancel) เท่านั้น หากสถานะปัจจุบันไม่ใช่ C จะได้รับ HTTP 400 โดยข้อความจะต่างกันตามสถานะปัจจุบัน:

กรณีเงินกู้เป็น Active อยู่แล้ว (สถานะ N):

{ "code": 400, "message": "เงินกู้มีสถานะ N แล้ว ไม่สามารถเปิดซ้ำได้" }

กรณีเงินกู้ชำระครบแล้ว (สถานะ Y):

{ "code": 400, "message": "Re-Active ได้เฉพาะเงินกู้ที่มีสถานะ C (Closed) เท่านั้น" }

Response Fields

FieldTypeNullableDescription
employee_loan_idstringNoรหัสเงินกู้ (Plain text)
employee_idstringNoรหัสพนักงานเจ้าของเงินกู้ (Plain text)
salary_type_idstringNoประเภทเงินหักในสลิป (Base64)
flag_namestringNoชื่อประเภทเงินหัก (ภาษาไทย)
flag_name_enstringNoชื่อประเภทเงินหัก (ภาษาอังกฤษ)
employee_loan_dtstringNoวันที่ทำรายการเงินกู้ (YYYY-MM-DD)
employee_loan_startstringNoงวดเริ่มหัก (YYYY-MM)
employee_loan_amtfloatNoยอดกู้สุทธิ
employee_loan_periodintNoจำนวนงวดทั้งหมด
employee_loan_interestfloatNoดอกเบี้ย
employee_loan_interest_typestringNoประเภทดอกเบี้ย (0=ต้นลดดอกลด, 1=คงที่, 2=ระบุดอกเบี้ยรวม)
employee_loan_amt_principlefloatNoยอดเงินต้นรวม
employee_loan_amt_interestfloatNoยอดดอกเบี้ยรวม
employee_loan_amt_periodfloatNoยอดชำระต่องวด
employee_loan_descstringYesรายละเอียดเงินกู้
employee_loan_statusstringNoสถานะเงินกู้ — หลังเปิดใช้งานจะเป็น "N" (Active) เสมอ
employee_loan_status_updatestringNoเวลาที่เปลี่ยนสถานะล่าสุด (YYYY-MM-DD HH:MM:SS)
employee_loan_status_remarkstringYesหมายเหตุการเปิดใช้งานเงินกู้
periodarrayNoตารางงวดผ่อนทั้งหมด
period[].employee_loan_period_idstringNoรหัสงวดผ่อน (Plain text)
period[].employee_loan_period_seqintNoลำดับงวด
period[].employee_loan_period_monthstringNoเดือนของงวด (YYYY-MM)
period[].employee_loan_period_principlefloatNoเงินต้นของงวด
period[].employee_loan_period_interestfloatNoดอกเบี้ยของงวด
period[].employee_loan_period_amtfloatNoยอดชำระของงวด
period[].employee_loan_period_statusstringNoสถานะงวด (N=ยังไม่ชำระ (Pending), Y=ชำระแล้ว (Paid))

salary_type_id ถูกส่งกลับมาในรูปแบบ Base64 สามารถนำค่านี้ไปใช้เป็น request salary_type_id ของ API อื่นได้โดยตรง โดยไม่ต้องเข้ารหัสซ้ำ

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/employee-loans/resume" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_loan_id": "MjAyNjA3MDRBMUIyQzNENEU1RjY=", "employee_loan_status_remark": "พนักงานขอเปิดเงินกู้ใหม่", "authorize_id": "MjAyNjA3MDRVU0VSMDAwMDAx" }'

Validation Rules

ParameterValidationError Message
employee_loan_idต้องระบุและเข้ารหัส Base64'employee_loan_id' is required (HTTP 422)
employee_loan_idต้องมีอยู่ในระบบไม่พบข้อมูลเงินกู้ (HTTP 404)
authorize_idoptional — หากส่งมาต้องเป็น user ที่มีอยู่จริง'authorize_id' is invalid or does not exist (HTTP 422)
สถานะเงินกู้ต้องเป็น C (Cancel) เท่านั้นเงินกู้มีสถานะ N แล้ว ไม่สามารถเปิดซ้ำได้ หรือ Re-Active ได้เฉพาะเงินกู้ที่มีสถานะ C (Closed) เท่านั้น (HTTP 400)

Business Rules

ข้อกำหนดการเปิดใช้งานเงินกู้:

  • เปิดใช้งานได้เฉพาะเงินกู้ที่มีสถานะ C (Cancel) เท่านั้น เมื่อสำเร็จสถานะจะกลับมาเป็น N (Active) และเริ่มหักเงินเดือนในงวดถัดไป
  • หากเงินกู้มีสถานะ N (Active) อยู่แล้ว จะได้รับ HTTP 400 (เงินกู้มีสถานะ N แล้ว ไม่สามารถเปิดซ้ำได้)
  • หากเงินกู้มีสถานะ Y (Finished / ชำระครบแล้ว) จะไม่สามารถเปิดใช้งานได้ (Re-Active ได้เฉพาะเงินกู้ที่มีสถานะ C (Closed) เท่านั้น)
  • งวดที่ชำระไปแล้วจะไม่เปลี่ยนแปลง ระบบจะหักต่อจากงวดที่เหลืออยู่เท่านั้น
  • Close Employee Loan - ปิดเงินกู้เพื่อหยุดการหักเงินเดือน
  • Get Loan Detail - ตรวจสอบสถานะและรายละเอียดเงินกู้
  • Get Loan List - ดึงรายการเงินกู้
  • Remove Employee Loan - ลบเงินกู้ (ไม่สามารถกู้คืนได้)
Last updated on