Add Time Attendance
เพิ่มรายการบันทึกเวลาทำงานใหม่ รองรับหลายประเภทการลงเวลาและตรวจสอบ duplicate อัตโนมัติ
Endpoint
POST /api/v1/open-apis/salary/add-data-filter?path_action=add_time_attendanceRequest Body
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | "EMP001" |
attendance_datetime | string | Yes | วันเวลาที่บันทึก (YYYY-MM-DD HH:mm:ss) | "2026-02-18 09:00:00" |
time_attendance_type_lv | string | Yes | ประเภทการบันทึก | "Checkin" |
work_type_lv | string | No | รอบการทำงาน: "1" (เช้า), "2" (บ่าย), "0" (ไม่ระบุ) | "1" |
attendance_inout | string | No | ทิศทาง: "IN" (เข้างาน), "OUT" (ออกงาน) | "IN" |
latitude | string | No | ละติจูด (GPS) | "13.756331" |
longitude | string | No | ลองจิจูด (GPS) | "100.501762" |
location_id | string | No | ID สถานที่ (Base64) | - |
device_sn | string | No | Serial number ของอุปกรณ์ | "DEVICE001" |
approve_remark | string | No | หมายเหตุ | "ลงเวลาแทน" |
image_path | string | No | Path รูปภาพที่บันทึก | "/uploads/image.jpg" |
time_round_auto_fix | string | No | แก้ไขรอบเวลาอัตโนมัติ: "Y" / "N" | "N" |
round_month_config | string | No | รูปแบบรอบเดือน: "Full" หรือ "Split" | "Full" |
language_code | string | No | ภาษา: TH หรือ EN | "TH" |
time_attendance_type_lv Values
| Value | Description (TH) | Description (EN) |
|---|---|---|
Beacon | เช็คอินผ่านอุปกรณ์ Beacon | Check-in via Beacon Device |
Checkin | เช็คอินผ่านระบบ | Check-in via System |
Facial | สแกนใบหน้า | Facial Recognition |
Fingerprint | สแกนลายนิ้วมือผ่านเครื่อง | Fingerprint Scanner |
Import | นำเข้าข้อมูลจากไฟล์ | Imported from File |
LINE-Checkin | เช็คอินผ่าน LINE | Check-in via LINE |
LINE-QR | เช็คอินผ่าน QR Code บน LINE | Check-in via LINE QR Code |
Manager | ผู้จัดการบันทึกเวลาให้ | Manager Recorded |
Manual | บันทึกด้วยมือโดย HR/Admin | Manual Entry by HR/Admin |
Offline | บันทึกขณะออฟไลน์ | Offline Recording |
QR | เช็คอินผ่าน QR Code | Check-in via QR Code |
Time Adjust | ปรับแก้เวลา | Time Adjustment |
TimeApp | บันทึกผ่านแอปพลิเคชัน | Recorded via Mobile App |
Wifi | เช็คอินผ่านเครือข่าย Wi-Fi | Check-in via Wi-Fi |
Response Format
Success Response (attendance_status = 2)
{
"code": 200,
"message": "Add Time Attendance Success",
"attendance_status": 2,
"payload": {
"time_attendance_transac_id": "20260128DE896A821F70",
"employee_id": "202503219741427917A0",
"time_attendance_type_lv": "Checkin",
"attendance_date": "2026-02-18",
"device_sn": "DEVICE001",
"attendance_date": "2026-02-18",
"attendance_datetime": "2026-02-18 09:00:00",
"attendance_inout": "IN",
"image_path": "",
"latitude": "13.756331",
"longitude": "100.501762",
"work_type_lv": "1",
"location_id": "20241225C3024958C974",
"approve_remark": ""
}
}attendance_status Codes
| Code | Status | Description |
|---|---|---|
2 | Success | บันทึกสำเร็จ |
3 | Duplicate | มีรายการซ้ำในเวลาเดียวกัน |
5 | No Data | ข้อมูลไม่ครบถ้วน |
7 | Finish Month | เดือนปิดแล้ว ไม่สามารถเพิ่มได้ |
8 | Not Insert | เกิดข้อผิดพลาดในการบันทึก |
API จะ return HTTP 200 แม้ว่าจะบันทึกไม่สำเร็จ — ต้องตรวจสอบ attendance_status เพื่อดูผลลัพธ์จริง
Error Response
{
"code": 404,
"message": "Employee not found with code: 9999",
"payload": []
}Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/salary/add-data-filter?path_action=add_time_attendance" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"employee_code": "EMP001",
"attendance_datetime": "2026-02-18 09:00:00",
"time_attendance_type_lv": "Checkin",
"work_type_lv": "1",
"attendance_inout": "IN"
}'Notes
- ระบบจะตรวจสอบ duplicate อัตโนมัติ — ไม่สามารถลงเวลาซ้ำในเวลาเดียวกันได้
- ถ้าเดือนปิดแล้ว จะไม่สามารถเพิ่มข้อมูลได้ (attendance_status = 7)
work_type_lv = "0"หมายถึงไม่ระบุรอบการทำงาน (ระบบจะคำนวณเอง)location_idใน request ต้องเป็น Base64 encoded แต่ใน response จะเป็น plain text
Related APIs
- Search Time Attendance - ค้นหารายการที่บันทึกแล้ว
- Edit Time - แก้ไขรายการที่บันทึกผิด
- Get Detail - ดูรายละเอียดรายการที่บันทึก
Last updated on