Get Monthly Schedule
ดึงตารางกะการทำงานรายเดือนของพนักงาน
ใช้ API นี้เพื่อดูว่าพนักงานมีกะอะไรในแต่ละวันของเดือน พร้อมสิทธิ์ในการเปลี่ยนกะ
Endpoint
GET /api/v1/open-apis/work-cycle/get-employee-work-cycle-monthRequest Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | EMP001 |
month_no | string | Yes | เดือนที่ต้องการ (YYYY-MM) | 2026-01 |
Response Format
Success Response (HTTP 200)
{
"code": 200,
"message": "สำเร็จ",
"payload": {
"time_range": {
"start_date": "2026-01-01",
"end_date": "2026-01-31",
"day_range": 31
},
"employee": {
"profile": {
"employee_id": "RU1QMDE=",
"employee_code": "EMP001",
"employee_name": "สมชาย",
"employee_last_name": "ใจดี",
"employee_nickname": "ชาย",
"photograph": "https://example.com/photos/emp001.jpg"
},
"daily": [
{
"date": "2026-01-01",
"time_attendance_group_transac_id": "1001",
"work_cycle_code": "A",
"work_cycle_id": "V0MwMDE=",
"master_salary_report_id": "50",
"is_change_work_cycle": "Y"
},
{
"date": "2026-01-02",
"time_attendance_group_transac_id": "1002",
"work_cycle_code": "A",
"work_cycle_id": "V0MwMDE=",
"master_salary_report_id": "50",
"is_change_work_cycle": "Y"
},
{
"date": "2026-01-03",
"time_attendance_group_transac_id": null,
"work_cycle_code": null,
"work_cycle_id": null,
"master_salary_report_id": null,
"is_change_work_cycle": "Y"
}
]
}
}
}Error Response - Missing Parameter (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Missing required parameter: employee_code"
}Error Response - Invalid Format (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Invalid month_no format. Expected format: YYYY-MM (e.g., 2026-01)"
}Error Response - Employee Not Found (HTTP 400)
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Employee not found with code: EMP999"
}Response Fields
time_range
| Field | Type | Description |
|---|---|---|
start_date | string | วันที่เริ่มต้นรอบ (YYYY-MM-DD) |
end_date | string | วันที่สิ้นสุดรอบ (YYYY-MM-DD) |
day_range | number | จำนวนวันในรอบ |
employee.profile
| Field | Type | Description |
|---|---|---|
employee_id | string | ID ของพนักงาน (Base64) |
employee_code | string | รหัสพนักงาน |
employee_name | string | ชื่อพนักงาน |
employee_last_name | string | นามสกุลพนักงาน |
employee_nickname | string | ชื่อเล่นพนักงาน |
photograph | string | URL รูปภาพพนักงาน |
employee.daily[]
| Field | Type | Description |
|---|---|---|
date | string | วันที่ (YYYY-MM-DD) |
time_attendance_group_transac_id | string | ID ธุรกรรมเวลาทำงาน |
work_cycle_code | string | รหัสกะ (null = หยุด) |
work_cycle_id | string | ID ของกะ (null = หยุด) |
master_salary_report_id | string | ID รอบเงินเดือน |
is_change_work_cycle | string | สามารถเปลี่ยนกะได้หรือไม่ (Y/N) |
Code Examples
cURL
curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/work-cycle/get-employee-work-cycle-month?employee_code=EMP001&month_no=2026-01" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"is_change_work_cycle
ตรวจสอบ is_change_work_cycle ก่อนแสดง UI ให้แก้ไขกะ
| Value | Description |
|---|---|
Y | สามารถเปลี่ยนกะได้ |
N | ไม่สามารถเปลี่ยนกะได้ |
สาเหตุที่เปลี่ยนไม่ได้:
- เกิน Cut-off date ที่กำหนด
- รอบเงินเดือนถูกล็อค
- เป็นข้อมูลในอดีต
Validation Rules
| Parameter | Validation | Error Message |
|---|---|---|
employee_code | ต้องระบุและเป็น string | Missing required parameter: 'employee_code' |
month_no | ต้องเป็นรูปแบบ YYYY-MM | Invalid month_no format. Expected format: YYYY-MM |
Error Handling
| Error | Cause | Solution |
|---|---|---|
Missing required parameter: employee_code | ไม่ได้ส่ง employee_code | ตรวจสอบ query parameter |
Missing required parameter: month_no | ไม่ได้ส่ง month_no | ระบุเดือนที่ต้องการ |
Invalid month_no format | รูปแบบเดือนไม่ถูกต้อง | ใช้รูปแบบ YYYY-MM |
Employee not found with code: XXX | ไม่พบพนักงาน | ตรวจสอบ employee_code |
Notes
Use Cases
- แสดงปฏิทินกะ - แสดงตารางกะในรูปแบบปฏิทิน
- ตรวจสอบสิทธิ์เปลี่ยนกะ - ดูว่าวันไหนเปลี่ยนกะได้
- วางแผนตารางงาน - ดูภาพรวมกะของพนักงาน
Salary Period
start_dateและend_dateขึ้นอยู่กับการตั้งค่ารอบเงินเดือน- ไม่จำเป็นต้องตรงกับวันที่ 1 และสิ้นเดือน
Missing Days
- วันที่ไม่มีข้อมูลจะมีค่าเป็น
null - ยังคงแสดงในรายการ daily เพื่อให้ครบทุกวัน
Related APIs
- Get Work Cycle Types - ดูรายการกะทั้งหมด
- Get Employee Setting - ดูการตั้งค่ากะพื้นฐาน
- Update Employee Setting - แก้ไขการตั้งค่ากะ
Last updated on