add_company_attendance_log (출퇴근 로그 추가)
관리자가 출퇴근 로그를 직접 추가합니다.
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/add_company_attendance_log |
| Method |
POST |
| 인증 |
Firebase ID Token 필요 |
| 권한 |
해당 회사의 멤버여야 함 |
요청
Body
| 필드 |
타입 |
필수 |
설명 |
검증 |
| token |
string |
O |
Firebase ID Token |
- |
| company_id |
string |
O |
회사 ID |
- |
| target_member_id |
string |
O |
대상 멤버 ID (members 문서 ID) |
- |
| site_id |
string |
- |
현장 ID |
- |
| check_in_at |
string |
O |
출근 시간 (ISO 8601 형식) |
- |
| check_out_at |
string |
O |
퇴근 시간 (ISO 8601 형식) |
출근 시간보다 이후여야 함 |
| memo |
string |
- |
메모 |
- |
요청 예시
{
"token": "eyJhbGci...",
"company_id": "company123",
"target_member_id": "member456",
"site_id": "site001",
"check_in_at": "2025-07-21T09:00:00.000Z",
"check_out_at": "2025-07-21T18:00:00.000Z",
"memo": "휴가 대체 근무"
}
응답
성공 (200)
{
"success": true,
"message": "출근/퇴근 로그가 추가되었습니다.",
"log_id": "new_log_id"
}
실패
| 코드 |
error |
원인 |
| 500 |
"요청자가 해당 회사의 멤버가 아닙니다." |
회사 멤버 아님 |
| 500 |
"대상이 해당 회사의 멤버가 아닙니다." |
target_member_id가 회사 멤버 아님 |
| 500 |
"이미 출근중인 대상은 기록을 추가 할 수 없습니다." |
대상이 현재 출근 중 |
| 500 |
"퇴근 시간은 출근 시간보다 이전일 수 없습니다." |
시간 검증 실패 |
| 500 |
"{에러 내용}" |
서버 오류 |
참고
- 관련 API: [[delete_company_attendance_log]], [[company_admin_check_out]]
- 사용 사례: 과거 출퇴근 기록 수동 입력, 누락된 출퇴근 기록 추가
- 생성되는 로그 특성:
- link: true (완료된 출퇴근)
- man_days: 0 (별도 설정 필요)
- created_by: 요청자 UID
- 대상 멤버가 현재 출근 중(check_in 상태)이면 추가 불가