Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Save Manpower Grid

บันทึกการปรับปรุงสาขาปฏิบัติงานจริงรายวันของพนักงานแบบ Grid ทีละหลายคนพร้อมกันในรอบช่วงเวลาที่กำหนด

ใช้ API นี้เพื่อบันทึกสาขาปฏิบัติงานจริงรายวันของพนักงานหลายคน (การกระจายกำลังพล) ที่แก้ไขบนตาราง Grid — ให้ดึงข้อมูลตั้งต้นด้วย Get Manpower Grid ก่อน แล้วนำ time_attendance_group_transac_id ของแต่ละวันมาส่งกลับพร้อมสาขาปฏิบัติงานใหม่

Endpoint

POST /api/v1/open-apis/time-manage/edit-personnel-multiple

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

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
employee_listsarrayYesรายชื่อพนักงานและตารางวันที่แก้ไข (ดูโครงสร้างด้านล่าง)[...]

employee_lists[] Structure

FieldTypeRequiredDescriptionExample
employee_codestringYesรหัสพนักงานที่ต้องการบันทึกแก้ไข"EMP001"
day_listsarrayYesรายการวันและสาขาปฏิบัติงานใหม่ที่แก้ไข (ดูโครงสร้างด้านล่าง)[...]

employee_lists[].day_lists[] Structure

FieldTypeRequiredDescriptionExample
work_datestringYesวันที่ต้องการปรับปรุง (YYYY-MM-DD)"2026-07-01"
time_attendance_group_transac_idstringYesรหัสอ้างอิงรายการเวลาประจำวัน (ได้จาก Get Manpower Grid)"20260701ACD8956C44C3"
branch_idstringYesรหัสอ้างอิงสาขาปฏิบัติงานใหม่ที่พนักงานทำงานจริงในวันนั้น"202412254358646B34E4"
master_salary_report_idstringNoรหัสรอบเดือนประมวลผลเงินเดือน (ไม่บังคับ — Get Manpower Grid ไม่ได้คืนค่านี้)"202607286709D2934361"

Request Body Example

{ "employee_lists": [ { "employee_code": "EMP001", "day_lists": [ { "work_date": "2026-07-01", "time_attendance_group_transac_id": "20260701ACD8956C44C3", "branch_id": "202412254358646B34E4", "master_salary_report_id": "202607286709D2934361" } ] } ] }

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "Edit Personnel Multiple Accept", "payload": { "status": "success", "employee_lists": [ { "employee_code": "EMP001", "day_lists": [ { "work_date": "2026-07-01", "time_attendance_group_transac_id": "20260701ACD8956C44C3", "status": "updated", "old_branch_id": "20250303A538B414C7C9", "new_branch_id": "202412254358646B34E4" } ] } ] } }

Error Response - Validation Failed (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "errors": [ "employee_lists[0].day_lists[0]: Please specify 'branch_id'", "employee_lists[0].day_lists[1]: Invalid 'branch_id' (202504089999AAAA0000) - not found in the system" ] }

ต่างจาก Save endpoint อื่นในโมดูลนี้ — Save Manpower Grid ไม่มีการตรวจปิดงวด/พ้นกำหนดเวลา จึงไม่มี error กรณีปิดงวด แต่ระบบจะตรวจ OT ที่อนุมัติแล้วของพนักงานในวันนั้นแทน (ดู Business Rules)

Error Response - Unauthorized (HTTP 401)

{ "statusCode": 401, "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." }

Response Fields

payload

FieldTypeNullableDescription
statusstringNoสถานะการดำเนินการภาพรวม (เช่น "success")
employee_listsarrayNoรายละเอียดผลลัพธ์ของพนักงานแต่ละคน

payload.employee_lists[]

FieldTypeNullableDescription
employee_codestringNoรหัสพนักงานที่ดำเนินการแก้ไข
day_listsarrayNoรายการวันที่เปลี่ยนแปลงของพนักงานคนนั้น

payload.employee_lists[].day_lists[]

FieldTypeNullableDescription
work_datestringNoวันที่ทำการปรับปรุงสาขาปฏิบัติงาน (YYYY-MM-DD)
time_attendance_group_transac_idstringNoรหัสอ้างอิงรายการเวลาประจำวัน
statusstringNoสถานะของวันนั้น: "updated" (บันทึกใหม่สำเร็จ) หรือ "unchanged" (ไม่มีการเปลี่ยนแปลง)
old_branch_idstringYesรหัสอ้างอิงสาขาปฏิบัติงานเดิมก่อนแก้ไข
new_branch_idstringYesรหัสอ้างอิงสาขาปฏิบัติงานใหม่หลังบันทึกสำเร็จ (ตรงกับ branch_id ที่ส่งเข้ามา)

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/time-manage/edit-personnel-multiple" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "employee_lists": [ { "employee_code": "EMP001", "day_lists": [ { "work_date": "2026-07-01", "time_attendance_group_transac_id": "20260701ACD8956C44C3", "branch_id": "202412254358646B34E4", "master_salary_report_id": "202607286709D2934361" } ] } ] }'

Validation Rules

ParameterValidation
employee_listsต้องส่งเป็นอาร์เรย์รายการพนักงานที่ต้องการแก้ไข
employee_code / day_listsสมาชิกแต่ละคนใน employee_lists ต้องมีรหัสพนักงานและรายการรายวัน
work_date / time_attendance_group_transac_idทุกวันใน day_lists ต้องระบุวันที่และรหัสอ้างอิงรายการเวลาเดิม
branch_idต้องระบุรหัสสาขาปฏิบัติงาน และห้ามเป็นค่าว่าง
time_attendance_group_transac_id / branch_idต้องมีอยู่จริงในระบบ มิเช่นนั้นจะถูกปฏิเสธ

Business Rules

  • branch_id คือสาขาที่พนักงานปฏิบัติงานจริงในวันนั้น ใช้สำหรับการกระจายกำลังพลและคำนวณสวัสดิการตามพื้นที่
  • time_attendance_group_transac_id ที่ส่งเข้ามา ให้ใช้ค่าที่ได้จาก Get Manpower Grid โดยตรง — ห้ามสร้างค่าขึ้นเอง
  • หากค่าสาขาที่ส่งมาเท่ากับสาขาเดิม status ของวันนั้นจะเป็น "unchanged"
  • endpoint นี้ไม่มีการตรวจปิดงวด/พ้นกำหนดเวลา (ต่างจาก Save endpoint อื่นในโมดูล) แต่หากวันนั้นมี OT ที่อนุมัติแล้ว ระบบจะข้ามการอัปเดตวันนั้นแบบเงียบ (คืน status: "unchanged" โดยไม่แจ้ง error)
  • Get Manpower Grid - ดึงข้อมูลสาขาปฏิบัติงานรายวันของพนักงานเพื่อนำ ID มาแก้ไข
  • Get Manpower Summary by Branch - สรุปจำนวนกำลังพลรายสาขาในช่วงเวลาที่กำหนด
  • Get Work Cycle Grid - ดึงตารางกะการทำงานของพนักงานตามช่วงเวลา
Last updated on