get_current_task (현재 작업 조회)
현재 시각 기준으로 가장 적절한 작업의 상세 정보를 반환합니다.
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/get_current_task |
| Method |
POST |
| 인증 |
Firebase ID Token 필요 |
| 권한 |
로그인만 필요 (별도 권한 불필요) |
요청
| 헤더 |
값 |
필수 |
설명 |
| Authorization |
Bearer |
O |
Firebase ID Token |
| Content-Type |
application/json |
O |
- |
Body
| 필드 |
타입 |
필수 |
설명 |
검증 |
| company_id |
string |
O |
회사 ID |
- |
| site_id |
string |
O |
현장 ID |
- |
요청 예시
{
"company_id": "company123",
"site_id": "site456"
}
응답
성공 (200)
작업이 있는 경우:
{
"message": "현재 작업 조회 완료",
"task_id": "task789",
"task_name": "외벽 도장 작업",
"task_start_datetime": "2026-03-16T09:00:00+09:00",
"task": "1층 외벽 도장 작업 진행",
"notice": "안전모 착용 필수",
"risk_assessments": [
{
"id": "ra001",
"place": "1층 외벽",
"type": "추락",
"work": "도장 작업",
"danger_level": "상",
"frequency": "빈번",
"source": "고소 작업",
"preventive_measures": "안전대 착용, 안전난간 설치",
"supervisor_name": "홍길동"
}
]
}
| 필드 |
타입 |
설명 |
| task_id |
string |
선정된 작업 ID |
| task_name |
string |
작업명 |
| task_start_datetime |
string |
작업 시작 일시 (ISO 8601) |
| task |
string |
작업 상세 내용 |
| notice |
string |
공지사항 |
| risk_assessments |
array |
위험성 평가 목록 |
| risk_assessments[].id |
string |
위험성 평가 문서 ID |
| risk_assessments[].place |
string |
장소 |
| risk_assessments[].type |
string |
위험 유형 |
| risk_assessments[].work |
string |
작업 내용 |
| risk_assessments[].danger_level |
string |
위험도 |
| risk_assessments[].frequency |
string |
빈도 |
| risk_assessments[].source |
string |
위험 원인 |
| risk_assessments[].preventive_measures |
string |
예방 대책 |
| risk_assessments[].supervisor_name |
string |
감독자명 |
작업이 없는 경우:
{
"message": "현재 작업 조회 완료",
"task_id": null
}
실패
| 코드 |
error_code |
message |
원인 |
| 401 |
AUTH_001 |
"인증 토큰이 없습니다." |
토큰 누락 |
| 500 |
SERVER_001 |
"서버 오류 발생: {에러}" |
서버 내부 오류 |
참고
- 작업 선택 로직:
- 현재 시각 기준으로 가장 최근 지난 작업 1개, 가장 가까운 다음 작업 1개를 조회
- 둘 다 없으면 →
task_id: null
- 하나만 있으면 → 해당 작업 반환
- 둘 다 있으면 → 다음 작업이 30분 이내면 다음 작업, 아니면 이전 작업 반환
- 기준 필드:
task_start_datetime (KST)
- 작업이 선정되면 해당 작업의 상세 정보(
task, notice)와 risk_assessment 서브컬렉션을 함께 반환
- 관련 API: create_task