# 회원가입

## 회원가입

> \## 기능설명\
> \* X2BEE 새로운 계정을 생성합니다.\
> \---\
> \## 상세설명\
> \* 회원가입에는 일반 회원가입과 소셜회원으로 구분됩니다.\
> \* 일반 회원 가입\
> &#x20;  \* 휴대폰 본인인증을 통해 개인 고유 정보와 필수 정보를 입력 후 가입하는 회원입니다.\
> \* 소셜 회원 가입\
> &#x20;  \* 소셜사이트(네이버, 카카오)의 계정을 통해 개인 고유 정보를 제공 받고, 필수 정보를 입력 후 가입하는 회원입니다.\
> &#x20;  \* 소셜회원의 경우 회원의 비밀번호는 각 소셜 사이트의 비밀번호가 되며, 플래티어 사이트의 비밀번호는 입력하지 않습니다.\
> \* 비밀번호 규칙\
> &#x20;  \* 8자 이상 30자 이하의 비밀번호 길이\
> &#x20;  \* 연속되지 않은 문자(ex 123, 456 ...)\
> &#x20;  \* 공백은 허용되지 않음\
> &#x20;  \* 동일한 문자 반복 허용되지 않음\
> \---\
> \## 특이사항\
> \* 정상 등록 후 이벤트DB에 등록된 회원 정보를 동기화 처리합니다.\
> \* 정상 등록 후 이벤트DB에 등록된 배송지순번 및 배송지 정보를 동기화 처리합니다.\
> \---\
> \## 수정번호\
> \* \`\`\`Release v1.07\_231228\`\`\`: 휴면회원여부 체크 로직 제거\
> \* \`\`\`Release v2.00\_250717\`\`\`: 전략 패턴 리팩토링<br>

````json
{"openapi":"3.1.0","info":{"title":"X2BEE Member API","version":"v1"},"servers":[{"url":"https://api-member.x2bee.com/api/member/","description":"prd"}],"paths":{"/v1/member/memberJoin":{"post":{"tags":["회원가입"],"summary":"회원가입","description":"## 기능설명\n* X2BEE 새로운 계정을 생성합니다.\n---\n## 상세설명\n* 회원가입에는 일반 회원가입과 소셜회원으로 구분됩니다.\n* 일반 회원 가입\n   * 휴대폰 본인인증을 통해 개인 고유 정보와 필수 정보를 입력 후 가입하는 회원입니다.\n* 소셜 회원 가입\n   * 소셜사이트(네이버, 카카오)의 계정을 통해 개인 고유 정보를 제공 받고, 필수 정보를 입력 후 가입하는 회원입니다.\n   * 소셜회원의 경우 회원의 비밀번호는 각 소셜 사이트의 비밀번호가 되며, 플래티어 사이트의 비밀번호는 입력하지 않습니다.\n* 비밀번호 규칙\n   * 8자 이상 30자 이하의 비밀번호 길이\n   * 연속되지 않은 문자(ex 123, 456 ...)\n   * 공백은 허용되지 않음\n   * 동일한 문자 반복 허용되지 않음\n---\n## 특이사항\n* 정상 등록 후 이벤트DB에 등록된 회원 정보를 동기화 처리합니다.\n* 정상 등록 후 이벤트DB에 등록된 배송지순번 및 배송지 정보를 동기화 처리합니다.\n---\n## 수정번호\n* ```Release v1.07_231228```: 휴면회원여부 체크 로직 제거\n* ```Release v2.00_250717```: 전략 패턴 리팩토링\n","operationId":"insertMemberJoin","parameters":[{"name":"memberJoinRequest","in":"query","description":"회원가입 요청을 위한 회원 정보","required":true,"schema":{"type":"string","description":"MemberJoinRequest"}},{"name":"Authorization","in":"header","description":"Access Token","required":false}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberJoinRequest"}}},"required":true},"responses":{"200":{"description":"성공"},"900":{"description":"업무처리 오류 내용","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"MemberJoinRequest":{"type":"object","description":"회원가입 Request","properties":{"id":{"type":"string","description":"로그인 ID"},"ci":{"type":"string","description":"Ci 연계 값"},"passwd":{"type":"string","description":"비밀번호"},"brth":{"type":"string","description":"생년월일 YYYYMMDD"},"name":{"type":"string","description":"회원명"},"sexCd":{"type":"string","description":"성별구분코드(ME017)","enum":["MALE","FEMALE"]},"email":{"type":"string","description":"이메일"},"joinAgrList":{"type":"array","description":"마케팅 수신동의 리스트","items":{"$ref":"#/components/schemas/EtMbrSvcAgrInfo"}},"agmtYn":{"type":"string","description":"약관 동의 여부","enum":["Y"]},"nafrGbCd":{"type":"string","description":"내/외국 구분코드 (ME018)","enum":["CITIZEN_MEMBER","FOREIGN_MEMBER"]},"smpctGbCd":{"type":"string","description":"소셜회원 연동구분코드(ME052)","enum":["KAKAOTALK","NAVER","GOOGLE","APPLE"]},"smpctGbId":{"type":"string","description":"소셜회원 고유 ID"},"cellFirNo":{"type":"string","description":"휴대폰구분번호"},"cellSecNo":{"type":"string","description":"휴대폰 국번번호"},"cellThirNo":{"type":"string","description":"휴대폰 마지막 번호"},"zipNo":{"type":"string","description":"우편번호"},"addr":{"type":"string","description":"주소"},"addrDtl":{"type":"string","description":"상세주소"},"bmanRegNo":{"type":"string","description":"사업자등록번호"},"repTelSctNo":{"type":"string","description":"대표 전화 국번"},"repTelTxnoNo":{"type":"string","description":"대표 전화 중간번호"},"repTelEndNo":{"type":"string","description":"대표 전화 끝번호"},"rpstmnNm":{"type":"string","description":"대표자명"},"bmanRegDt":{"type":"string","description":"개업일자"},"bmanNm":{"type":"string","description":"사업장명"},"bplcZipNo":{"type":"string","description":"사업장 우편번호"},"bplcZipAddr":{"type":"string","description":"사업장 주소"},"bplcDtlAddr":{"type":"string","description":"사업장 상세주소"}},"required":["addr","addrDtl","agmtYn","bmanNm","bmanRegDt","bmanRegNo","bplcDtlAddr","bplcZipAddr","bplcZipNo","brth","cellFirNo","cellSecNo","cellThirNo","ci","email","id","joinAgrList","nafrGbCd","name","repTelEndNo","repTelSctNo","repTelTxnoNo","rpstmnNm","sexCd","zipNo"]},"EtMbrSvcAgrInfo":{"type":"object","properties":{"mbrNo":{"type":"string"},"svcAgrTypCd":{"type":"string"},"agrYn":{"type":"string"}}},"Response":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}}}
````

## 법인/사업장 회원가입

> \## 기능설명\
> \* X2BEE 새로운 법인 계정을 생성합니다.\
> \---\
> \## 상세설명\
> \* 법인 회원 가입\
> &#x20;   \* 사업장 인증을 통해 필수 정보를 입력 후 가입하는 회원\
> &#x20;   \* 승인 과정이 필요하므로 해당 프로세스에서는 요청으로 상태 만든다.\
> \* 가입 규칙\
> &#x20;  \* 동일 사업장 번호로 여러개 가입 불가능\
> &#x20;  \* 이외에는 일반 회원과 동일한 조건\
> \---\
> \## 특이사항\
> \* 정상 등록 후 신규가입 쿠폰발급은 회원가입 승인 프로세스에서 진행<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE Member API","version":"v1"},"servers":[{"url":"https://api-member.x2bee.com/api/member/","description":"prd"}],"paths":{"/v1/member/enterpriseMemberJoin":{"post":{"tags":["회원가입"],"summary":"법인/사업장 회원가입","description":"## 기능설명\n* X2BEE 새로운 법인 계정을 생성합니다.\n---\n## 상세설명\n* 법인 회원 가입\n    * 사업장 인증을 통해 필수 정보를 입력 후 가입하는 회원\n    * 승인 과정이 필요하므로 해당 프로세스에서는 요청으로 상태 만든다.\n* 가입 규칙\n   * 동일 사업장 번호로 여러개 가입 불가능\n   * 이외에는 일반 회원과 동일한 조건\n---\n## 특이사항\n* 정상 등록 후 신규가입 쿠폰발급은 회원가입 승인 프로세스에서 진행\n","operationId":"insertEnterpriseMemberJoin","parameters":[{"name":"memberJoinRequest","in":"query","description":"법인 회원가입 요청을 위한 회원 정보","required":true,"schema":{"type":"string","description":"MemberJoinRequest"}},{"name":"bmanRegFile","in":"query","description":"사업자 증빙서류","required":true,"schema":{"type":"MultipartFile"}},{"name":"Authorization","in":"header","description":"Access Token","required":false}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"memberJoinRequest":{"$ref":"#/components/schemas/MemberJoinRequest"},"bmanRegFile":{"type":"MultipartFile","description":"사업자 증빙서류"}},"required":["bmanRegFile","memberJoinRequest"]}}}},"responses":{"200":{"description":"성공"},"900":{"description":"업무처리 오류 내용","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"MemberJoinRequest":{"type":"object","description":"회원가입 Request","properties":{"id":{"type":"string","description":"로그인 ID"},"ci":{"type":"string","description":"Ci 연계 값"},"passwd":{"type":"string","description":"비밀번호"},"brth":{"type":"string","description":"생년월일 YYYYMMDD"},"name":{"type":"string","description":"회원명"},"sexCd":{"type":"string","description":"성별구분코드(ME017)","enum":["MALE","FEMALE"]},"email":{"type":"string","description":"이메일"},"joinAgrList":{"type":"array","description":"마케팅 수신동의 리스트","items":{"$ref":"#/components/schemas/EtMbrSvcAgrInfo"}},"agmtYn":{"type":"string","description":"약관 동의 여부","enum":["Y"]},"nafrGbCd":{"type":"string","description":"내/외국 구분코드 (ME018)","enum":["CITIZEN_MEMBER","FOREIGN_MEMBER"]},"smpctGbCd":{"type":"string","description":"소셜회원 연동구분코드(ME052)","enum":["KAKAOTALK","NAVER","GOOGLE","APPLE"]},"smpctGbId":{"type":"string","description":"소셜회원 고유 ID"},"cellFirNo":{"type":"string","description":"휴대폰구분번호"},"cellSecNo":{"type":"string","description":"휴대폰 국번번호"},"cellThirNo":{"type":"string","description":"휴대폰 마지막 번호"},"zipNo":{"type":"string","description":"우편번호"},"addr":{"type":"string","description":"주소"},"addrDtl":{"type":"string","description":"상세주소"},"bmanRegNo":{"type":"string","description":"사업자등록번호"},"repTelSctNo":{"type":"string","description":"대표 전화 국번"},"repTelTxnoNo":{"type":"string","description":"대표 전화 중간번호"},"repTelEndNo":{"type":"string","description":"대표 전화 끝번호"},"rpstmnNm":{"type":"string","description":"대표자명"},"bmanRegDt":{"type":"string","description":"개업일자"},"bmanNm":{"type":"string","description":"사업장명"},"bplcZipNo":{"type":"string","description":"사업장 우편번호"},"bplcZipAddr":{"type":"string","description":"사업장 주소"},"bplcDtlAddr":{"type":"string","description":"사업장 상세주소"}},"required":["addr","addrDtl","agmtYn","bmanNm","bmanRegDt","bmanRegNo","bplcDtlAddr","bplcZipAddr","bplcZipNo","brth","cellFirNo","cellSecNo","cellThirNo","ci","email","id","joinAgrList","nafrGbCd","name","repTelEndNo","repTelSctNo","repTelTxnoNo","rpstmnNm","sexCd","zipNo"]},"EtMbrSvcAgrInfo":{"type":"object","properties":{"mbrNo":{"type":"string"},"svcAgrTypCd":{"type":"string"},"agrYn":{"type":"string"}}},"Response":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}}}
```

## CI 인증 회원정보 조회

> \## 기능설명\
> \* 본인인증 CI 연계 값을 통하여 기존 회원 정보를 조회합니다.\
> \---\
> \## 상세설명\
> \* NICE 본인인증\
> &#x20;  \* 회원가입 과정 중 NICE 모바일 본인인증 과정을 통하여 전달 받은 CI 연계 값을 전달합니다.\
> &#x20;  \* 해당 데이터를 통해 기존 회원 가입 여부를 판단합니다.\
> \* 제한사항\
> &#x20;  \* 기존에 가입되어 있는 회원의 경우 신규가입을 제한합니다.\
> \---\
> \## 특이사항\
> \* 해당 API에서는, Request DTO 중 ciCtacVal 필드만 활용합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE Member API","version":"v1"},"servers":[{"url":"https://api-member.x2bee.com/api/member/","description":"prd"}],"paths":{"/v1/member/checkMobileCert":{"post":{"tags":["회원가입"],"summary":"CI 인증 회원정보 조회","description":"## 기능설명\n* 본인인증 CI 연계 값을 통하여 기존 회원 정보를 조회합니다.\n---\n## 상세설명\n* NICE 본인인증\n   * 회원가입 과정 중 NICE 모바일 본인인증 과정을 통하여 전달 받은 CI 연계 값을 전달합니다.\n   * 해당 데이터를 통해 기존 회원 가입 여부를 판단합니다.\n* 제한사항\n   * 기존에 가입되어 있는 회원의 경우 신규가입을 제한합니다.\n---\n## 특이사항\n* 해당 API에서는, Request DTO 중 ciCtacVal 필드만 활용합니다.\n","operationId":"getCheckMobileCert","parameters":[{"name":"memberInfoUpdateRequest","in":"query","description":"Nice 인증 ci 정보","required":true,"schema":{"type":"string","description":"MemberInfoUpdateRequest"}},{"name":"Authorization","in":"header","description":"Access Token","required":false}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberInfoUpdateRequest"}}},"required":true},"responses":{"200":{"description":"성공","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MbrCiResponse"}}}},"900":{"description":"업무처리 오류 내용","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"MemberInfoUpdateRequest":{"type":"object","description":"개인정보 수정 Reqeust","properties":{"mbrNo":{"type":"string","description":"회원번호"},"mbrNm":{"type":"string","description":"회원명"},"mbrMgrCd":{"type":"string","description":"회원관리코드(ME002)","enum":["UNION_MEMBER","GENERAL_MEMBER","SOCIAL_MEMBER","ENTERPRISE_MEMBER","NO_MEMBER"]},"ciCtacVal":{"type":"string","description":"Ci 연계 값"},"cellPhoneFullNo":{"type":"string","description":"휴대폰 전체 번호"},"cellPhoneFirNo":{"type":"string","description":"휴대폰 첫째 번호"},"cellPhoneSecNo":{"type":"string","description":"휴대폰 둘째 번호"},"cellPhoneThirNo":{"type":"string","description":"휴대폰 셋째 번호"},"zipNo":{"type":"string","description":"우편번호"},"address":{"type":"string","description":"주소"},"dtlAddress":{"type":"string","description":"상세 주소"},"mktRecvAgrList":{"type":"array","description":"마케팅 수신 동의 여부 리스트","items":{"$ref":"#/components/schemas/MktRecvAgrRequest"}},"dlvpNm":{"type":"string","description":"배송지명"},"baseDlvpYn":{"type":"string","description":"기본배송지여부"},"brth":{"type":"string","description":"생년월일"},"sexGbCd":{"type":"string","description":"성별구분코드 (ME017) (글로벌 계정 전용)","enum":["MALE","FEMALE"]},"emailAddr":{"type":"string","description":"이메일주소"},"bmanNm":{"type":"string","description":"사업장명"},"repTelFullNo":{"type":"string","description":"대표 전화"},"repTelSctNo":{"type":"string","description":"대표 전화 국번"},"repTelTxnoNo":{"type":"string","description":"대표 전화 중간번호"},"repTelEndNo":{"type":"string","description":"대표 전화 끝번호"},"bplcZipNo":{"type":"string","description":"사업장 우편번호"},"bplcZipAddr":{"type":"string","description":"사업장 주소"},"bplcDtlAddr":{"type":"string","description":"사업장 상세주소"},"mbrStatCd":{"type":"string","description":"회원상태 코드","enum":["NORMAL_MEMBER","STOP_MEMBER","WITHDRAWAL_MEMBER","WAIT_MEMBER","REJECT_MEMBER"]},"aempNm":{"type":"string","description":"담당자명"},"aempCellFullNo":{"type":"string","description":"담당자 휴대폰 전체 번호"},"aempCellSctNo":{"type":"string","description":"담당자 휴대전화구분번호"},"aempCellTxnoNo":{"type":"string","description":"담당자 휴대전화국번번호"},"aempCellEndNo":{"type":"string","description":"담당자 휴대전화끝번호"},"aempCiCtacVal":{"type":"string","description":"담당자 Ci 연계 값"},"aempYn":{"type":"string","description":"담당자 여부"},"joinSgtStatCd":{"type":"string","description":"가입 승인 여부","enum":["MALE","FEMALE"]}},"required":["bmanNm","bplcDtlAddr","bplcZipAddr","bplcZipNo","repTelEndNo","repTelFullNo","repTelSctNo","repTelTxnoNo"]},"MktRecvAgrRequest":{"type":"object","description":"마케팅 수신 동의 여부 DTO","properties":{"svcAgrTypCd":{"type":"string","description":"서비스 동의 유형 코드(ME025)","enum":["SMS","EMAIL","APP_PUSH","AUTO_LOGIN","KAKAO"]},"agrYn":{"type":"string","description":"서비스 동의 여부"}}},"MbrCiResponse":{"type":"object","description":"회원 CI 인증 valid 체크 Response","properties":{"ciCheckYn":{"type":"string","description":"CI 인증여부"},"memberInfo":{"$ref":"#/components/schemas/MbrCiDtlResponse","description":"회원정보"}}},"MbrCiDtlResponse":{"type":"object","properties":{"loginId":{"type":"string","description":"로그인ID"},"mbrNo":{"type":"string","description":"회원번호"}}},"Response":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}}}
```

## 아이디 중복 체크

> \## 기능설명\
> \* X2BEE 아이디 중복 체크\
> \---\
> \## 상세설명\
> \* 회원가입시 아이디 중복을 검증합니다.\
> \---\
> \## 특이사항\
> \* checkLoginId와 반대로 중복이면 exception으로 판단합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE Member API","version":"v1"},"servers":[{"url":"https://api-member.x2bee.com/api/member/","description":"prd"}],"paths":{"/v1/member/checkId":{"get":{"tags":["회원가입"],"summary":"아이디 중복 체크","description":"## 기능설명\n* X2BEE 아이디 중복 체크\n---\n## 상세설명\n* 회원가입시 아이디 중복을 검증합니다.\n---\n## 특이사항\n* checkLoginId와 반대로 중복이면 exception으로 판단합니다.\n","operationId":"checkId","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Access Token","required":false}],"responses":{"200":{"description":"성공"},"900":{"description":"업무처리 오류 내용","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"Response":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}}}
```

## 이메일 중복 확인

> \## 기능설명\
> \* 기존 회원 중 동일한 이메일을 사용하고 있는 계정이 존재하는지 확인합니다.\
> \---\
> \## 상세설명\
> \* 기존 사이트 회원 중 동일한 이메일을 사용하고 있는 계정이 존재하는지 여부를 확인합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE Member API","version":"v1"},"servers":[{"url":"https://api-member.x2bee.com/api/member/","description":"prd"}],"paths":{"/v1/member/checkEmail":{"get":{"tags":["회원가입"],"summary":"이메일 중복 확인","description":"## 기능설명\n* 기존 회원 중 동일한 이메일을 사용하고 있는 계정이 존재하는지 확인합니다.\n---\n## 상세설명\n* 기존 사이트 회원 중 동일한 이메일을 사용하고 있는 계정이 존재하는지 여부를 확인합니다.\n","operationId":"checkEmail","parameters":[{"name":"mailInfoRequest","in":"query","description":"이메일 정보","required":true,"schema":{"type":"string","description":"MailInfoRequest"}},{"name":"Authorization","in":"header","description":"Access Token","required":false}],"responses":{"200":{"description":"성공"},"900":{"description":"업무처리 오류 내용","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"Response":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tech.x2bee.com/api/store-front-api/member-api/undefined-10.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
