Update Employee Worktime Config
บันทึกการตั้งค่าเวลาทำงานของพนักงาน แยกตามประเภท (key_type_lv) เช่น มาเช้า, มาสาย, กลับก่อน, OT
Endpoint
POST /api/v1/open-apis/employee/update-employee-setting?path_action=save-configระบบจะลบ config เดิมแล้วสร้างใหม่ทั้งชุดทุกครั้งที่บันทึก — ต้องส่งค่าทุกฟิลด์ที่ต้องการ
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
path_action | string | Yes | ต้องเป็น save-config หรือ worktime-config |
Request Body — ฟิลด์บังคับ
| Parameter | Type | Required | Description |
|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน เช่น "EMP001" |
key_type_lv | string | Yes | ประเภทการตั้งค่า (ดูตาราง key_type_lv ด้านล่าง) |
config_name | string | No | ชื่อ config เช่น "มาเช้า", "มาสาย", "OT 1.5x" |
Request Body — ฟิลด์เปิด/ปิดตามประเภทพนักงาน
| Parameter | Type | Description |
|---|---|---|
key_type_value | string | เปิด/ปิด config ทั้งหมด (Y/N) |
key_type_value_01 | string | เปิด/ปิดสำหรับพนักงานรายเดือน (employee_type_code 01) |
key_type_value_02 | string | เปิด/ปิดสำหรับพนักงานรายวัน (employee_type_code 02) |
key_type_value_03 | string | เปิด/ปิดสำหรับ Part-time (employee_type_code 03) — ใช้เฉพาะ OT |
key_type_value_04 | string | เปิด/ปิดสำหรับเหมาจ่าย/Contractor (employee_type_code 04) — ใช้เฉพาะ OT |
Request Body — ภาษี / ประกันสังคม / กองทุน / ปัดเศษ
| Parameter | Description |
|---|---|
tax_include_01 ~ 04 | คิดภาษี ("1" = คิด, "0" = ไม่คิด) แยกตามประเภทพนักงาน |
sso_include_01 ~ 04 | คิดประกันสังคม แยกตามประเภทพนักงาน |
provident_include_01 ~ 04 | คิดกองทุนสำรองเลี้ยงชีพ แยกตามประเภทพนักงาน |
round_decimal_type_01 ~ 04 | ประเภทปัดเศษ ("N" = ไม่ปัด, "Y" = ปัด) |
ฟิลด์ key_value_* มีความหมายต่างกันขึ้นกับ key_type_lv ดูรายละเอียดในตารางด้านล่าง
key_value ตามประเภท — late / early (มาสาย / กลับก่อน)
พนักงานรายเดือน (01)
| Field | Description | Example |
|---|---|---|
key_value_13 | นาทีที่อนุญาต (ค่าติดลบ = หักทันที) | "30" หรือ "-30" |
key_value_16 | นาทีเริ่มนับ | "10" |
key_value_4 | จำนวนเงินหัก/ค่าปรับ | "30" |
key_value_15 | จำนวนเงินส่วนเพิ่ม | "15" |
key_value_1 | วิธีคำนวณ: A = ตามเรทค่าแรง, B = จำนวนเงินต่อนาที, C = สูตรพิเศษ | "A" |
key_value_2 | ค่าหักถ้า A | "100" |
key_value_3 | ค่าหักถ้า B | "250" |
พนักงานรายวัน (02)
| Field | Description | Example |
|---|---|---|
key_value_14 | นาทีที่อนุญาต | "0" |
key_value_18 | นาทีเริ่มนับ | "10" |
key_value_9 | จำนวนเงินหัก/ค่าปรับ | "" |
key_value_17 | จำนวนเงินส่วนเพิ่ม | "" |
key_value_6 | วิธีคำนวณ: A / B / C | "A" |
key_value_7 | ค่าหักถ้า A | "" |
key_value_8 | ค่าหักถ้า B | "" |
key_value ตามประเภท — morning / underlunch / after / overlunch
โครงสร้างฟิลด์เหมือนกันทั้ง 4 ประเภท (แยกรายเดือน + รายวัน) ใช้สำหรับเงินพิเศษ
พนักงานรายเดือน (01)
| Field | Description | Example |
|---|---|---|
key_value_13 | นาทีขั้นต่ำ | "30" |
key_value_16 | นาทีเริ่มนับ | "10" |
key_value_4 | จำนวนเงินที่ได้ | "30" |
key_value_15 | จำนวนเงินส่วนเพิ่ม | "15" |
key_value_1 | วิธีคำนวณ: A = ตามเรทค่าแรง, B = จำนวนเงิน, C = สูตรพิเศษ | "B" |
key_value_2 | ค่าจ่ายถ้า A | "" |
key_value_3 | ค่าจ่ายถ้า B | "250" |
พนักงานรายวัน (02)
| Field | Description | Example |
|---|---|---|
key_value_14 | นาทีขั้นต่ำ | "0" |
key_value_18 | นาทีเริ่มนับ | "10" |
key_value_9 | จำนวนเงินที่ได้ | "" |
key_value_17 | จำนวนเงินส่วนเพิ่ม | "" |
key_value_6 | วิธีคำนวณ: A / B / C | "A" |
key_value_7 | ค่าจ่ายถ้า A | "" |
key_value_8 | ค่าจ่ายถ้า B | "" |
key_value ตามประเภท — OT (OT_1_0, OT_1_5, OT_2_0, OT_3_0 ฯลฯ)
สำหรับ OT ต้องส่ง key_value_11 เป็นค่าเดียวกับ key_type_lv ด้วย เช่น "OT_1_5"
พนักงานรายเดือน (01)
| Field | Description |
|---|---|
key_value_4 | อัตรา OT |
key_value_1 | วิธีคำนวณ: A = ตามเรท, B = จำนวนเงิน, C = สูตรพิเศษ, D = แปลงเป็นวันหยุดพิเศษ |
key_value_2 | ค่าถ้า A |
key_value_3 | ค่าถ้า B |
key_value_10 | ค่าถ้า D |
key_value_12 | ประเภทชั่วโมง OT |
พนักงานรายวัน (02)
| Field | Description |
|---|---|
key_value_9 | อัตรา OT |
key_value_6 | วิธีคำนวณ: A / B / C / D |
key_value_7 | ค่าถ้า A |
key_value_8 | ค่าถ้า B |
key_value_15 | ค่าถ้า D |
key_value_13 | ประเภทชั่วโมง OT |
key_type_lv ทั้งหมด
| key_type_lv | ชื่อ | ลักษณะ |
|---|---|---|
morning | มาเช้า | เงินพิเศษ (จ่าย) |
underlunch | ก่อนพักเที่ยง | เงินพิเศษ (จ่าย) |
after | บ่าย | เงินพิเศษ (จ่าย) |
overlunch | หลังพักเที่ยง | เงินพิเศษ (จ่าย) |
late | มาสาย | หักเงิน |
early | กลับก่อน | หักเงิน |
OT_1_0 | OT 1.0x | OT อัตรา 1.0 เท่า |
OT_1_5 | OT 1.5x | OT อัตรา 1.5 เท่า |
OT_2_0 | OT 2.0x | OT อัตรา 2.0 เท่า |
OT_3_0 | OT 3.0x | OT อัตรา 3.0 เท่า |
OT_4_0 ~ OT_7_0 | OT 4.0x-7.0x | OT อัตราพิเศษ |
Response Format
Success Response
{
"code": 200,
"message": "Save Config [morning] Success",
"payload": {
"employee_config_id": "202602135FE6F1CB3A4F",
"employee_id": "20260121FC89F3BB9120",
"config_name": "มาเช้า",
"key_type_lv": "morning",
"key_type_value": "Y",
"key_type_value_01": "Y",
"key_type_value_02": "Y",
"key_type_value_03": null,
"key_type_value_04": null,
"key_value_1": "B",
"key_value_2": "",
"key_value_3": 250,
"key_value_4": 30,
"key_value_13": 30,
"key_value_15": 15,
"key_value_16": 10,
"key_value_17": "",
"key_value_18": 10,
"tax_include_01": "1",
"tax_include_02": "1",
"sso_include_01": "1",
"sso_include_02": "1",
"provident_include_01": "1",
"provident_include_02": "1",
"round_decimal_type_01": "N",
"round_decimal_type_02": "N"
}
}Error Response
{
"code": 400,
"message": "ข้อมูลไม่ถูกต้อง",
"errors": ["กรุณาระบุ 'employee_code'", "กรุณาระบุ 'key_type_lv'"]
}| เงื่อนไข | Error Message |
|---|---|
ไม่ส่ง employee_code หรือว่าง | กรุณาระบุ 'employee_code' |
ไม่ส่ง key_type_lv หรือว่าง | กรุณาระบุ 'key_type_lv' |
| หา employee ไม่เจอ | Employee not found with code: xxx |
| employee_id ว่างหลัง resolve | ไม่สามารถบันทึกการตั้งค่า [key_type_lv] ได้ |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/employee/update-employee-setting?path_action=save-config" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-d '{
"employee_code": "EMP001",
"config_name": "มาเช้า",
"key_type_lv": "morning",
"key_type_value": "Y",
"key_type_value_01": "Y",
"key_type_value_02": "Y",
"key_value_13": 30,
"key_value_16": 10,
"key_value_4": 30,
"key_value_15": 15,
"key_value_1": "B",
"key_value_2": "",
"key_value_3": 250,
"key_value_14": 0,
"key_value_18": 10,
"key_value_9": "",
"key_value_17": "",
"key_value_6": null,
"key_value_7": "",
"key_value_8": "",
"sso_include_01": "1",
"tax_include_01": "1",
"provident_include_01": "1",
"round_decimal_type_01": "N",
"sso_include_02": "1",
"tax_include_02": "1",
"provident_include_02": "1",
"round_decimal_type_02": "N"
}'Related APIs
- Get Worktime Config - ดึงข้อมูลการตั้งค่าเวลาทำงาน
- Update Time Frame - แก้ไขกรอบเวลาการทำงาน
- Update Work Cycle - แก้ไขกะการทำงาน
Last updated on