Skip to Content
🚀 Welcome to Humansoft Open API Documentation
DocumentationAPI ReferenceEmployee (พนักงาน)Manage (จัดการสถานะ)Sign Out (ลาออก)

Sign Out Employee (ลาออก)

บันทึกการลาออก/พ้นสภาพของพนักงาน พร้อมสร้างเอกสารลาออกอัตโนมัติ

การลาออกเป็นการดำเนินการที่มีผลกระทบสูง ระบบจะปรับสถานะพนักงาน, สร้างเอกสารลาออก, ล้างสลิปเงินเดือนล่วงหน้า และถอนสิทธิ์การเข้าถึงระบบ หากต้องการยกเลิก ให้ใช้ Reactive เพื่อคืนสถานะ

Endpoint

POST /api/v1/open-apis/employee/update-employee

Request Body

ParameterTypeRequiredDescriptionExample
path_actionstringYesต้องเป็น "sign-out""sign-out"
employee_codestringYesรหัสพนักงานที่ต้องการทำรายการลาออก"EMP001"
signout_dtstringYesวันที่ลาออก รูปแบบ YYYY-MM-DD"2024-06-30"
signout_type_flagstringYesรหัสประเภทการลาออก (ดู Option Values)"01"
signout_fund_dtstringNoวันที่ลาออกจากกองทุน YYYY-MM-DD (บังคับถ้า signout_fund_flag='Y')"2024-06-30"
tax_calculation_type_lvstringNoประเภทการคำนวณภาษี (01=ภ.ง.ด.1, 02=ใบแนบ ภ.ง.ด.91) บังคับถ้า compensation_flag='Y'"01"
signout_month_paynumberNoจำนวนเดือนจ่ายชดเชย (0-3) บังคับถ้า signout_type_flag='09'3
sso_out_dtstringNoวันที่แจ้งออกประกันสังคม (ถ้าไม่ส่งจะใช้วันเดียวกับ signout_dt)"2024-06-30"
out_dtstringNoวันที่พ้นสภาพจริง (ระบบจะคำนวณให้อัตโนมัติตามรอบเงินเดือน)"2024-06-30"
blacklist_flagstringNoขึ้น Blacklist หรือไม่ (Y/N)"N"
compensation_flagstringNoมีการคำนวณเงินชดเชยหรือไม่ (Y/N)"N"
retirement_severance_flagstringNoจ่ายชดเชยเกษียณ (Y/N) บังคับเป็น N ถ้าประเภทไม่ใช่เกษียณ '04'"N"
signout_fund_flagstringNoลาออกจากกองทุนด้วยหรือไม่ (Y/N)"N"
use_app_dtstringNoวันที่เริ่มยื่นผ่านแอป (ต้อง >= signout_dt)"2024-06-30"
signout_remarkstringNoหมายเหตุการลาออก"ได้ประกอบธุรกิจส่วนตัว"
retirement_yearstringNoปีที่เกษียณ (YYYY)"2024"

Option Values

signout_type_flag — ประเภทการลาออก/พ้นสภาพ

CodeDescription (TH)Description (EN)
01ลาออก/ละทิ้งหน้าที่โดยมีการติดต่อนายจ้างภายใน 6 วันทำงานติดต่อกันResignation with employer contact within 6 working days
02สิ้นสุดระยะเวลาการจ้างEnd of employment period
03เลิกจ้าง/โครงการเกษียณก่อนกำหนดTermination/Early Retirement
04เกษียณอายุRetirement
05ไล่ออก/ปลดออก/ให้ออก เนื่องจากกระทำความผิดDismissal due to misconduct
06เสียชีวิตDeceased
07โอนย้ายสาขาTransfer
08ไม่ผ่านทดลองงานFailed probation
09เลิกจ้างกะทันหันImmediate termination

Validation Rules

Cross-field Business Validation

  • หาก compensation_flag = 'Y' ระบบจะบังคับขอ tax_calculation_type_lv หากอายุงานพนักงานน้อยกว่า 5 ปี ต้องระบุเป็น '01' เท่านั้น
  • หาก signout_type_flag = '09' (เลิกจ้างกะทันหัน) ระบบจะบังคับให้ส่ง signout_month_pay (0-3 เดือน)
  • use_app_dt ไม่สามารถน้อยกว่า signout_dt ได้
  • หากไม่ได้ส่ง sso_out_dt ระบบจะใช้วันที่เดียวกับ signout_dt
  • หาก signout_type_flag ไม่ใช่ '04' (เกษียณ) ค่า retirement_severance_flag จะถูกบังคับเป็น 'N'

System Auto Actions

ระบบจะดำเนินการอัตโนมัติ:

  1. สร้างเอกสารลาออก (PDF) พร้อมบันทึกประวัติ
  2. ล้างสลิปเงินเดือนล่วงหน้าของเดือนถัดไป
  3. คำนวณวันที่พ้นสภาพจริง (out_dt) ตามรอบเงินเดือน
  4. ถอนสิทธิ์การเป็นผู้อนุมัติจากทุกระดับ (เมื่อถึงวันที่มีผล)
  5. เพิกถอนสิทธิ์การเข้าถึงระบบสื่อสาร

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "Signout mid-period. Out date: 2024-06-30", "payload": { "employee_id": "20241225ABCD1234EF56", "employee_code": "EMP001", "employee_name": "สมชาย", "employee_last_name": "ใจดี", "signout_flag": "Y", "signout_dt": "2024-06-30", "out_dt": "2024-06-30", "sso_out_dt": "2024-06-30", "signout_type_flag": "01", "signout_remark": "ได้งานใหม่", "blacklist_flag": "N", "resign_doc_id": "20250601DOCS9999ZX99" } }

Response Fields

FieldTypeDescription
payload.employee_idstringID ของพนักงาน
payload.employee_codestringรหัสพนักงาน
payload.employee_namestringชื่อพนักงาน
payload.employee_last_namestringนามสกุลพนักงาน
payload.signout_flagstring'Y' ยืนยันว่าพ้นสภาพ
payload.signout_dtstringวันที่ลาออก
payload.out_dtstringวันที่ออกจริง (หลังการคำนวณรอบเงินเดือน)
payload.sso_out_dtstringวันที่ออกประกันสังคม
payload.signout_type_flagstringรหัสประเภทการลาออก
payload.signout_remarkstringหมายเหตุการลาออก
payload.blacklist_flagstringสถานะ Blacklist
payload.resign_doc_idstringID ของเอกสารลาออกที่สร้างขึ้น

Error Response (HTTP 400)

{ "code": 400, "message": "ข้อมูลไม่ถูกต้อง", "errors": [ "Missing required parameter: 'signout_type_flag'", "'signout_dt' must be in YYYY-MM-DD format (e.g., 2024-06-30)" ] }
เงื่อนไขError Message
ไม่ส่ง signout_type_flagMissing required parameter: 'signout_type_flag'
รูปแบบวันที่ผิด'signout_dt' must be in YYYY-MM-DD format
ไม่พบรหัสพนักงานEmployee not found with code: 'EMP9999'
ประเภทลาออก 09 แต่ไม่ส่ง signout_month_payMissing required parameter: 'signout_month_pay'
อายุงาน < 5 ปี แต่ tax_calculation_type_lv ไม่ใช่ 01Invalid 'tax_calculation_type_lv' for work ages < 5 years
use_app_dt < signout_dt'use_app_dt' must be greater than or equal to 'signout_dt'

Code Examples

# ลาออกเอง (Basic Sign Out) curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/employee/update-employee" \ -H "Content-Type: application/json" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -d '{ "path_action": "sign-out", "employee_code": "EMP001", "signout_dt": "2024-06-30", "signout_type_flag": "01", "signout_remark": "ได้งานใหม่", "blacklist_flag": "N" }' # เลิกจ้าง พร้อมจ่ายชดเชย curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/employee/update-employee" \ -H "Content-Type: application/json" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -d '{ "path_action": "sign-out", "employee_code": "EMP001", "signout_dt": "2024-06-30", "signout_type_flag": "09", "signout_month_pay": 3, "compensation_flag": "Y", "tax_calculation_type_lv": "01", "signout_remark": "เลิกจ้างกะทันหัน พร้อมชดเชย 3 เดือน" }'

  • Get Resign Document - ดึงเอกสารลาออก (PDF)
  • Reactive Employee - เปิดใช้งานพนักงานที่ลาออกอีกครั้ง
  • Get Employee Info - ดึงข้อมูลพนักงานรายบุคคล
Last updated on