콘텐츠로 이동

site_assign_request_approval (현장 입사 신청 승인/거절)

현장 관리자가 입사 신청을 승인하거나 거절합니다.

기본 정보

항목
URL https://asia-northeast3-construction24-test.cloudfunctions.net/site_assign_request_approval
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 -
request_ids array O 처리할 요청 ID 배열 -
request_state string O 처리 상태 approved 또는 rejected
field string X 직종 (승인 시) -
labor_supplier string X 소속 업체명 (승인 시) 빈 값이면 "없음"으로 저장

요청 예시

{
  "company_id": "company123",
  "site_id": "site456",
  "request_ids": ["request1", "request2"],
  "request_state": "approved",
  "field": "목수",
  "labor_supplier": "협력업체A"
}

응답

성공 (200)

{
  "message": "사이트 신청 요청 처리 완료",
  "fail_list": []
}

부분 실패 시

{
  "message": "사이트 신청 요청 처리 완료",
  "fail_list": [
    {"request_id": "request1", "error": "요청 데이터가 없습니다."},
    {"request_id": "request2", "error": "요청 상태가 pending 이 아닙니다."}
  ]
}

실패

코드 message 원인
400 "권한이 없습니다." 요청자가 회사 멤버가 아님
400 "올바르지 않은 상태입니다." request_state가 approved/rejected가 아님
400 "존재하지 않는 사이트입니다." site_id에 해당하는 현장이 없음
400 "태그 설정을 찾을 수 없습니다." 회사의 태그 설정이 없음
400 "존재하지 않는 직종입니다: {field}" 등록되지 않은 직종
400 "존재하지 않는 업체입니다: {labor_supplier}" 등록되지 않은 업체
400 "이미 입사 사용자입니다." 이미 해당 현장의 멤버임
500 "{에러메시지}" 서버 내부 오류

참고

  • 여러 요청을 한 번에 처리할 수 있습니다.
  • 승인 시 field와 labor_supplier를 지정하지 않으면 "없음"으로 설정됩니다.
  • 승인 시 해당 직종의 단가(wage_rate)가 자동으로 적용됩니다.
  • 관련 API: site_assign_request, site_assign_request_cancel