Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Create OT Round

สร้างงวดโอทีใหม่โดยกำหนดช่วงวันที่เอง

งวดที่สร้างจะผูกกับงวดเงินเดือนของ year_month ที่ระบุ — ถ้าองค์กรใช้รูปแบบงวดเดิมทุกเดือน แนะนำใช้ Create Round from Template แทน จะไม่ต้องกรอกวันที่ใหม่ทุกเดือน

Endpoint

POST /api/v1/open-apis/calculation-ot/create-ot-round

สิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลเงินเดือนทั้งองค์กร (payroll:read:all)

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
year_monthstringYesงวดเงินเดือนที่รอบนี้จะสังกัด (YYYY-MM)2026-09
master_salary_ot_namestringYesชื่อรอบโอทีงวดโอที ก.ย. 2026
ot_report_start_dtstringYesวันเริ่มรอบ — รับทั้ง YYYY-MM-DD และ YYYY-MM-DD HH:MM:SS บันทึกตามที่ส่ง2026-08-21 00:00:00
ot_report_end_dtstringYesวันสิ้นรอบ — รับทั้ง YYYY-MM-DD และ YYYY-MM-DD HH:MM:SS2026-09-20 23:59:59

Request Body Example

{ "year_month": "2026-09", "master_salary_ot_name": "งวดโอที ก.ย. 2026", "ot_report_start_dt": "2026-08-21 00:00:00", "ot_report_end_dt": "2026-09-20 23:59:59" }

Response Format

Success Response (HTTP 200)

{ "code": 200, "message": "Create OT round (2026-09) Accept", "payload": { "master_salary_ot_report_id": "20251127D4573C421639", "master_salary_month": "2026-09", "master_salary_ot_name": "งวดโอที ก.ย. 2026", "master_salary_ot_seq": 1, "ot_report_start_dt": "2026-08-21 00:00:00", "ot_report_end_dt": "2026-09-20 23:59:59", "ot_day_in_month": 31 } }

Error Response - Salary Period Closed (HTTP 400)

{ "code": 400, "message": "งวดเงินเดือน 2026-09 ถูกปิดแล้ว ไม่สามารถแก้ไขงวดโอทีได้", "payload": [] }

วิธีแก้: ต้องเปิดงวดเงินเดือนของเดือนนั้นก่อนจึงจะสร้างงวดโอทีได้

Error Response - Validation Failed (HTTP 400)

{ "code": 400, "message": "ไม่สำเร็จ", "errors": [ "กรุณาระบุ 'master_salary_ot_name'" ] }

วิธีแก้: ตรวจสอบว่าส่งพารามิเตอร์ที่จำเป็นครบทุกตัว

Error Response - Unauthorized (HTTP 401)

{ "code": 401, "message": "Unauthorized", "payload": [] }

วิธีแก้: ตรวจสอบว่า API Key ถูกต้องและมีสิทธิ์ตามที่ระบุไว้ด้านบน — ดูวิธีตั้งค่าได้ที่ Get Started

Response Fields

FieldTypeDescription
master_salary_ot_report_idstringรหัสรอบโอที — ใช้ส่งต่อให้ endpoint อื่น (ต้องแปลงเป็น Base64 ก่อนส่งกลับเข้า request)
master_salary_monthstringงวดเดือนที่รอบนี้สังกัด
master_salary_ot_namestringชื่อรอบตามที่ตั้งไว้
master_salary_ot_seqintลำดับรอบภายในเดือน
ot_report_start_dtstringวันเริ่มรอบ
ot_report_end_dtstringวันสิ้นรอบ
ot_day_in_monthintจำนวนวันในรอบ — คำนวณจากผลต่างของสองวันที่ ดูข้อควรระวังใน Notes
read_only_flagstringY = ปิดงวดแล้ว แก้ไข/คำนวณไม่ได้, N = เปิดอยู่
ot_paid_dtstringวันที่จ่าย
ot_paid_in_normalstringY = ยอดโอทีจ่ายรวมกับเงินเดือนงวดปกติ

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/calculation-ot/create-ot-round" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "year_month": "2026-09", "master_salary_ot_name": "งวดโอที ก.ย. 2026", "ot_report_start_dt": "2026-08-21", "ot_report_end_dt": "2026-09-20" }'

Validation Rules

ParameterValidationError Message
year_monthต้องเป็นรูปแบบ YYYY-MM'year_month' ต้องเป็นรูปแบบ YYYY-MM
งวดเงินเดือนเดือนนั้นต้องมีงวดเงินเดือนอยู่แล้วและยังไม่ปิดงวดเงินเดือน 2026-09 ถูกปิดแล้ว ไม่สามารถแก้ไขงวดโอทีได้
master_salary_ot_nameต้องระบุกรุณาระบุ 'master_salary_ot_name'
ot_report_start_dtต้องเป็นรูปแบบ YYYY-MM-DD'ot_report_start_dt' ต้องเป็นรูปแบบ YYYY-MM-DD
ot_report_end_dtต้องเป็นรูปแบบ YYYY-MM-DD และไม่น้อยกว่าวันเริ่มรอบ'ot_report_end_dt' ต้องเป็นรูปแบบ YYYY-MM-DD

Notes

  • สร้างเสร็จแล้วงวดจะยังไม่มีพนักงาน ต้องเรียก Assign Employees ต่อ
  • เดือนหนึ่งสร้างได้หลายรอบ ระบบจะให้ลำดับ (master_salary_ot_seq) อัตโนมัติ
  • ต้องมีงวดเงินเดือนของเดือนนั้นก่อน ถ้ายังไม่มี ระบบจะไม่สร้างรอบให้ จึงควรตรวจผลด้วย List OT Rounds ว่ารอบถูกสร้างจริงก่อนทำขั้นตอนถัดไป
  • รอบคร่อมเดือนได้ เช่น 21 ส.ค. – 20 ก.ย. ให้สังกัดงวด 2026-09
  • ot_day_in_month คิดจากผลต่างของสองวันที่ ถ้าส่งวันที่แบบ YYYY-MM-DD เฉย ๆ จะได้ค่าน้อยกว่าจำนวนวันจริง 1 วัน (21 ส.ค. – 20 ก.ย. ได้ 30) ถ้าต้องการให้นับรวมวันสุดท้ายด้วย ให้ส่งวันสิ้นรอบเป็น 2026-09-20 23:59:59 จะได้ 31
  • เก็บ master_salary_ot_report_id ที่ได้ไว้ใช้กับ endpoint อื่น
  • Assign Employees - เพิ่มพนักงานเข้างวดที่เพิ่งสร้าง
  • Create Round from Template - สร้างจากรูปแบบที่บันทึกไว้แทนการกรอกเอง
  • List OT Rounds - หารหัสรอบของเดือนที่ต้องการ
Last updated on