create_resume (이력서 생성)
새로운 이력서를 생성합니다.
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/create_resume |
| Method |
POST |
| 인증 |
Firebase ID Token 필요 |
요청
| 헤더 |
값 |
| Authorization |
Bearer {Firebase ID Token} |
Body
| 필드 |
타입 |
필수 |
설명 |
검증 |
| title |
string |
O |
이력서 제목 |
최대 100자 |
| email |
string |
O |
이메일 |
이메일 형식 |
| phone |
string |
O |
휴대폰 번호 |
010-XXXX-XXXX |
| location |
string |
O |
주소 |
최대 400자 |
| introduction |
string |
X |
자기소개 |
최대 2000자 |
| careers |
array |
X |
경력사항 배열 |
아래 참고 |
| educations |
array |
X |
학력사항 배열 |
아래 참고 |
| certificates |
array |
X |
자격증 배열 |
아래 참고 |
| military |
object |
X |
병역사항 |
아래 참고 |
careers 배열 항목
| 필드 |
타입 |
필수 |
설명 |
| company_name |
string |
O |
회사명 |
| position |
string |
O |
직책/직무 |
| start_date |
string |
O |
시작일 (YYYY-MM) |
| end_date |
string |
X |
종료일 (YYYY-MM, null이면 재직중) |
| description |
string |
X |
업무 설명 |
educations 배열 항목
| 필드 |
타입 |
필수 |
설명 |
| school_type |
string |
O |
학교 구분 |
| school_name |
string |
조건부 |
학교명 (검정고시 제외 시 필수) |
| major |
string |
X |
전공 |
| status |
string |
O |
졸업 상태 |
| graduation_date |
string |
X |
졸업일 |
school_type ENUM: high_school, ged, college, university, master, doctor
status ENUM: graduated, enrolled, leave, dropout, expected, passed
검정고시 특수 규칙
school_type이 ged인 경우 status는 passed만 허용
school_name은 자동으로 "검정고시"로 설정
ged가 아닌 경우 passed 상태 사용 불가
certificates 배열 항목
| 필드 |
타입 |
필수 |
설명 |
| name |
string |
O |
자격증명 |
| issuer |
string |
O |
발급기관 |
| grade |
string |
X |
급수/점수 |
| acquired_date |
string |
O |
취득일 (YYYY-MM) |
military 객체
| 필드 |
타입 |
필수 |
설명 |
| status |
string |
O |
병역 구분 |
| branch |
string |
조건부 |
군별 (군필일 때 필수) |
| start_date |
string |
조건부 |
입대일 (YYYY-MM, 군필일 때 필수) |
| rank |
string |
X |
전역 계급 |
status ENUM: completed(군필), not_completed(미필), exempted(면제)
branch ENUM: army(육군), navy(해군), air_force(공군), marine(해병대), social_service(사회복무요원), other(기타)
조건부 필수 규칙
status가 completed인 경우 branch, start_date 필수
not_completed, exempted인 경우 status만 저장
요청 예시
{
"title": "건설 경력 이력서",
"email": "user@example.com",
"phone": "010-1234-5678",
"location": "서울시 강남구",
"introduction": "10년차 건설 현장 관리자입니다.",
"careers": [
{
"company_name": "ABC건설",
"position": "현장소장",
"start_date": "2020-01",
"end_date": "2023-12",
"description": "아파트 신축 현장 관리"
}
],
"educations": [
{
"school_type": "university",
"school_name": "서울대학교",
"major": "건축공학",
"status": "graduated",
"graduation_date": "2015-02-25"
}
],
"certificates": [
{
"name": "건설안전기사",
"issuer": "한국산업인력공단",
"grade": "기사",
"acquired_date": "2019-06"
}
],
"military": {
"status": "completed",
"branch": "army",
"start_date": "2015-03",
"rank": "병장"
}
}
응답
성공 (200)
{
"message": "이력서 생성 완료",
"resume_id": "생성된 이력서 ID"
}
실패
| 코드 |
message |
원인 |
| 400 |
"이력서는 최대 10개까지 생성할 수 있습니다." |
이력서 개수 초과 |
| 400 |
필드 검증 오류 |
필수 필드 누락, 형식 오류 |
| 400 |
자격증 검증 오류 |
자격증 필수 필드 누락 |
| 403 |
인증 오류 |
토큰 없음/만료 |
| 500 |
서버 오류 |
내부 오류 |
Firestore
- 경로:
users/{UID}/resumes/{resume_id}
참고