Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Add Employee

เพิ่มพนักงานใหม่เข้าสู่ระบบ รองรับการระบุข้อมูลพื้นฐาน ข้อมูลองค์กร และข้อมูลส่วนตัวของพนักงาน พร้อมสร้างบัญชีผู้ใช้งานและข้อมูลเริ่มต้นอัตโนมัติ

เมื่อสร้างพนักงานใหม่ ระบบจะดำเนินการหลายอย่างอัตโนมัติ เช่น สร้างบัญชีผู้ใช้ กำหนดโควตาการลา ตั้งค่ากะการทำงาน ดูรายละเอียดที่ Auto Actions

Convention ID: พารามิเตอร์ที่ลงท้าย _id ต้องส่งเป็น Base64-encoded string ของ raw internal ID (เช่น base64_encode("20241225C3024958C974")MjAyNDEyMjVDMzAyNDk1OEM5NzQ=). Response คืนค่า ID เป็น raw string — เมื่อนำไปใช้ใน request ถัดไปต้อง encode เป็น Base64 ก่อนส่ง

Endpoint

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

Request Body

Required Parameters

ParameterTypeRequiredDescriptionExample
employee_namestringYesชื่อพนักงานสมชาย
employee_last_namestringYesนามสกุลพนักงานใจดี
effective_dtdateYesวันที่เริ่มงาน (YYYY-MM-DD)2026-01-15
company_idstringYesID ของบริษัท (Base64)MjAyNDEyMjVDMzAyNDk1OEM5NzQ=
branch_idstringYesID ของสาขา (Base64)MjAyNDEyMjU0MzU4NjQ2QjM0RTQ=
department_idstringYesID ของแผนก/ฝ่าย (Base64)MjAyNDEyMjVGNTIwQUM4NDU2RUQ=
position_idstringYesID ของตำแหน่งงาน (Base64)MjAyNDEyMjU4N0MyMTZEQTJDMTk=

Optional Parameters

ข้อมูลพื้นฐาน

ParameterTypeRequiredDescriptionExample
employee_codestringNoรหัสพนักงาน (auto-gen ถ้าไม่ระบุ)EMP0001
employee_nicknamestringNoชื่อเล่นชาย
employee_name_enstringNoชื่อพนักงาน (อังกฤษ)Somchai
employee_last_name_enstringNoนามสกุลพนักงาน (อังกฤษ)Jaidee
employee_nickname_enstringNoชื่อเล่น (อังกฤษ)Chai
employee_genderstringNoเพศ (01=ชาย, 02=หญิง)01
employee_type_codestringNoประเภทพนักงาน (01-04)01

ข้อมูลส่วนตัว

ParameterTypeRequiredDescriptionExample
id_nostringNoเลขบัตรประชาชน (13 หลัก)1234567890123
mobilephonestringNoเบอร์โทรศัพท์มือถือ0812345678
emailaddressstringNoอีเมลsomchai@example.com
addressstringNoที่อยู่ตามทะเบียนบ้าน123 หมู่ 1
current_addressstringNoที่อยู่ปัจจุบัน456 หมู่ 2
sso_nostringNoเลขประกันสังคม1234567890123

ข้อมูลองค์กรเพิ่มเติม

ParameterTypeRequiredDescriptionExample
division_idstringNoID ของส่วน/แผนก (Base64)MjAyNDEyMjVBMUI2QjNENEU1RjY=
section_idstringNoID ของงาน/ส่วนงาน (Base64)MjAyNDEyMjVDNEQ1RTZGNzA4QTk=
employee_type_group_idstringNoID กลุ่มประเภทพนักงาน (Base64)MjAyNDEyMjU1NkQzMjkxM0Y1MUU=

ข้อมูลธนาคาร

ParameterTypeRequiredDescriptionExample
bank_idstringNoID ของธนาคาร (Base64)MjAyNDEyMjVEOEU5RjBBMUIyQzM=
bank_account_codestringNoเลขบัญชีธนาคาร1234567890

ข้อมูลอื่นๆ

ParameterTypeRequiredDescriptionExample
tax_start_monthstringNoเดือนเริ่มต้นคำนวณภาษี (YYYY-MM)2026-01
trial_rangenumberNoระยะเวลาทดลองงาน (วัน)90

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "สำเร็จ", "payload": { "employee_id": "20260121FC89F3BB9120", "employee_code": "EMP0001", "employee_name": "สมชาย", "employee_last_name": "ใจดี", "employee_nickname": "ชาย", "company_id": "20241225C3024958C974", "branch_id": "202412254358646B34E4", "department_id": "20241225F520AC8456ED", "position_id": "2024122587C216DA2C19", "effective_dt": "2026-01-15", "user_name": "emp0001", "created": "2026-01-12 14:30:00" } }

Error Response (HTTP 400)

{ "code": 400, "message": "Validation failed", "errors": [ "Missing required parameter: 'employee_name'", "Missing required parameter: 'effective_dt'", "'emailaddress' must be a valid email address" ] }

Response Fields

FieldTypeDescription
employee_idstringID ของพนักงานที่สร้าง
employee_codestringรหัสพนักงาน
employee_namestringชื่อพนักงาน
employee_last_namestringนามสกุลพนักงาน
employee_nicknamestringชื่อเล่น
company_idstringID ของบริษัท
branch_idstringID ของสาขา
department_idstringID ของแผนก
position_idstringID ของตำแหน่ง
effective_dtdateวันที่เริ่มงาน
user_namestringชื่อผู้ใช้งานในระบบ (สร้างอัตโนมัติ)
createddatetimeวันเวลาที่สร้างข้อมูล

Auto Actions

เมื่อสร้างพนักงานใหม่ ระบบจะดำเนินการต่อไปนี้อัตโนมัติ:

ActionDescription
Auto-gen Employee Codeสร้างรหัสพนักงานตามรูปแบบที่กำหนด (ถ้าไม่ระบุ)
Auto-gen OPT Codeสร้างรหัส OPT 6 หลัก
Create User Accountสร้างบัญชีผู้ใช้งานอัตโนมัติ
Assign to EMPLOYEE Usergroupเพิ่มเข้ากลุ่มผู้ใช้งาน EMPLOYEE
Create Employee Quotaสร้างโควตาการลาประจำปี
Initialize Tax Categoriesเริ่มต้นหมวดหมู่ภาษี
Set Default Work Cycleกำหนดกะการทำงานเริ่มต้น (จันทร์-อาทิตย์)
Set Default Holidayกำหนดวันหยุดเริ่มต้น (วันอาทิตย์)
Send Welcome Emailส่งอีเมลต้อนรับ (ถ้าระบุอีเมล)
Create Activity Logบันทึก Log การเพิ่มพนักงาน

Default Password: รหัสผ่านเริ่มต้นจะเป็น:

  • เลขบัตรประชาชน (ถ้าระบุ id_no)
  • 1234 (ถ้าไม่ระบุ id_no)

Code Examples

# เพิ่มพนักงานด้วยข้อมูลพื้นฐาน curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/employee/add-employee" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_name": "สมชาย", "employee_last_name": "ใจดี", "employee_nickname": "ชาย", "effective_dt": "2026-01-15", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001" }' # เพิ่มพนักงานพร้อมข้อมูลครบถ้วน curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/employee/add-employee" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_name": "สมชาย", "employee_last_name": "ใจดี", "employee_name_en": "Somchai", "employee_last_name_en": "Jaidee", "employee_nickname": "ชาย", "employee_code": "EMP0001", "id_no": "1234567890123", "mobilephone": "0812345678", "emailaddress": "somchai@example.com", "employee_gender": "01", "employee_type_code": "01", "effective_dt": "2026-01-15", "company_id": "C001", "branch_id": "B001", "department_id": "D001", "position_id": "P001", "bank_id": "BANK001", "bank_account_code": "1234567890" }'

Validation Rules

Required Fields

FieldRule
employee_nameต้องระบุและเป็น String
employee_last_nameต้องระบุและเป็น String
effective_dtต้องระบุและเป็นรูปแบบ YYYY-MM-DD
company_idต้องระบุ
branch_idต้องระบุ
department_idต้องระบุ
position_idต้องระบุ

Optional Fields

FieldRule
emailaddressต้องเป็นรูปแบบอีเมลที่ถูกต้อง
employee_genderต้องเป็น 01 (ชาย) หรือ 02 (หญิง)
employee_type_codeต้องเป็น 01, 02, 03, หรือ 04
effective_dtต้องเป็นวันที่ที่ถูกต้อง (ไม่ใช่ 2026-02-31)

Data Sanitization

ระบบจะทำการ Sanitize ข้อมูลต่อไปนี้อัตโนมัติ:

  • ลบเครื่องหมาย - จาก id_no, sso_no, mobilephone, bank_account_code

Notes

Important Notes:

  • ข้อมูลที่ระบุต้องเป็นไปตามโครงสร้างองค์กรที่มีอยู่ (Company, Branch, Department, Position)
  • รหัสพนักงานต้องไม่ซ้ำในระบบ
  • เลขบัตรประชาชนต้องไม่ซ้ำในระบบ (ถ้าระบุ)
  • อีเมลต้องไม่ซ้ำในระบบ (ถ้าระบุ)

Welcome Email

ถ้าระบุ emailaddress และเป็นอีเมลที่ถูกต้อง ระบบจะส่งอีเมลต้อนรับพร้อม:

  • ชื่อผู้ใช้งาน (Username)
  • รหัสผ่าน (Password)
  • ลิงก์เข้าสู่ระบบ

Employee Types

CodeDescription
01พนักงานรายเดือน (Monthly)
02พนักงานรายวัน (Daily)
03พนักงานพาร์ทไทม์ (Part-time)
04พนักงานเหมาจ่าย (Contract)

Last updated on