콘텐츠로 이동

get_current_task (현재 작업 조회)

현재 시각 기준으로 가장 적절한 작업의 상세 정보를 반환합니다.

기본 정보

항목
URL https://asia-northeast3-construction24-test.cloudfunctions.net/get_current_task
Method POST
인증 Firebase ID Token 필요
권한 로그인만 필요 (별도 권한 불필요)

요청

Headers

헤더 필수 설명
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개, 가장 가까운 다음 작업 1개를 조회
    2. 둘 다 없으면 → task_id: null
    3. 하나만 있으면 → 해당 작업 반환
    4. 둘 다 있으면 → 다음 작업이 30분 이내면 다음 작업, 아니면 이전 작업 반환
  • 기준 필드: task_start_datetime (KST)
  • 작업이 선정되면 해당 작업의 상세 정보(task, notice)와 risk_assessment 서브컬렉션을 함께 반환
  • 관련 API: create_task