# 회원 관리

## 1. CheckIsMember - 연동회원 가입여부 확인

사업자번호를 조회하여 연동회원 가입여부를 확인합니다.

```javascript
taxinvoiceService.checkIsMember(CorpNum, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `0`: 미가입
  - `1`: 가입
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 2. CheckID - 연동회원 아이디 중복 확인

사용하고자 하는 아이디의 중복여부를 확인합니다.

```javascript
taxinvoiceService.checkID(ID, success, error)
```

### 요청

**Parameters**

- ID `type: string` `length: 50` `required: Y` `description: 중복여부를 확인할 아이디`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `0`: 미사용
  - `1`: 사용
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 3. JoinMember - 연동회원 신규가입

프로그램 공급사의 고객사를 팝빌 연동회원으로 가입하는 API 입니다.

```javascript
taxinvoiceService.joinMember(JoinForm, success, error)
```

> 회원의 정보가 현행화 되지 않은 경우 연동회원 신규가입 API 사용이 제한될 수 있으니 유의하시기 바랍니다.

### 요청

**Parameters**

- JoinForm `type: JoinForm` `length: -` `required: Y` `description: 연동회원 객체정보`
  - ID `type: string` `length: 50` `required: Y` `description: 아이디`
    - 6자 이상 50자 이하
  - Password `type: string` `length: 20` `required: Y` `description: 비밀번호`
    - 8자 이상 20자 이하
    - 영문, 숫자, 특수문자(\~!@#$%^&\*()\_+) 포함
  - LinkID `type: string` `length: 20` `required: Y` `description: 파트너 링크아이디`
    - 팝빌에서 발급한 링크아이디
  - CorpNum `type: string` `length: 10` `required: Y` `description: 사업자번호 ('-' 제외)`
  - CEOName `type: string` `length: 100` `required: Y` `description: 대표자 성명`
  - CorpName `type: string` `length: 200` `required: Y` `description: 회사명`
  - Addr `type: string` `length: 300` `required: Y` `description: 사업장 주소`
  - BizType `type: string` `length: 100` `required: Y` `description: 업태`
  - BizClass `type: string` `length: 100` `required: Y` `description: 종목`
  - ContactName `type: string` `length: 100` `required: Y` `description: 담당자 성명`
  - ContactEmail `type: string` `length: 100` `required: Y` `description: 담당자 메일`
  - ContactTEL `type: string` `length: 20` `required: Y` `description: 담당자 휴대폰`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 4. QuitMember - 연동회원 탈퇴

팝빌 연동회원을 탈퇴 처리합니다.

- 관리자를 포함한 모든 담당자가 일괄 삭제 처리됩니다.

```javascript
taxinvoiceService.quitMember(CorpNum, QuitReason, UserID, success, error)
```

> 잔여포인트가 존재하는 경우, \[환불신청 → 회원탈퇴] 프로세스로 구현하시기를 권장합니다.\
> 회원탈퇴 직후 동일 사업자번호 및 아이디로 재가입이 가능합니다.

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- QuitReason `type: string` `length: 200` `required: Y` `description: 회원 탈퇴 사유`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 5. GetCorpInfo - 회사정보 확인

연동회원의 회사정보를 확인합니다.

```javascript
taxinvoiceService.getCorpInfo(CorpNum, UserID, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**CorpInfo**

- ceoname `type: string` `length: 100` `description: 대표자 성명`
- corpName `type: string` `length: 200` `description: 회사명`
- addr `type: string` `length: 300` `description: 주소`
- bizType `type: string` `length: 100` `description: 업태`
- bizClass `type: string` `length: 100` `description: 종목`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 6. UpdateCorpInfo - 회사정보 수정

연동회원의 회사정보를 수정합니다.

```javascript
taxinvoiceService.updateCorpInfo(CorpNum, UserID, CorpInfo, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- CorpInfo `type: CorpInfo` `length: -` `required: Y` `description: 회사 객체정보`
  - ceoname `type: string` `length: 100` `required: Y` `description: 대표자 성명`
  - corpName `type: string` `length: 200` `required: Y` `description: 회사명`
  - addr `type: string` `length: 300` `required: Y` `description: 주소`
  - bizType `type: string` `length: 100` `required: Y` `description: 업태`
  - bizClass `type: string` `length: 100` `required: Y` `description: 종목`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 7. RegistContact - 담당자 추가

연동회원에 담당자를 추가합니다.

```javascript
taxinvoiceService.registContact(CorpNum, UserID, ContactInfo, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- ContactInfo `type: ContactInfo` `length: -` `required: Y` `description: 담당자 객체정보`
  - id `type: string` `length: 50` `required: Y` `description: 아이디`
    - 6자 이상 50자 이하
  - password `type: string` `length: 20` `required: 조건부` `description: 비밀번호`
    - 8자 이상 20자 이하
    - 영문, 숫자, 특수문자(\~!@#$%^&\*()\_+) 포함
    - 함수 [\[RegistContact - 담당자 추가\]](https://developers.popbill.com/reference/taxinvoice/node/common-api/member#RegistContact)호출을 위한 필수값
  - personName `type: string` `length: 100` `required: Y` `description: 담당자 성명`
  - tel `type: string` `length: 20` `required: Y` `description: 담당자 휴대폰`
  - email `type: string` `length: 100` `required: Y` `description: 담당자 메일`
  - searchRole `type: number` `length: 1` `required: N` `description: 권한`
    - `1`: 개인권한
    - `2`: 읽기권한
    - `3`: 회사권한 : 기본값
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 8. GetContactInfo - 담당자 정보 확인

연동회원에 추가된 담당자 정보를 확인합니다.

```javascript
taxinvoiceService.getContactInfo(CorpNum, ContactID, UserID, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- ContactID `type: string` `length: 50` `required: Y` `description: 담당자 아이디`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**ContactInfo**

- id `type: string` `length: 50` `description: 아이디`
- personName `type: string` `length: 100` `description: 담당자 성명`
- tel `type: string` `length: 20` `description: 담당자 휴대폰`
- email `type: string` `length: 100` `description: 담당자 메일`
- regDT `type: string` `length: 14` `description: 등록일시`
  - 형식 : yyyyMMddHHmmss
- searchRole `type: number` `length: 1` `description: 권한`
  - `1`: 개인권한
  - `2`: 읽기권한
  - `3`: 회사권한
- mgrYN `type: boolean` `length: -` `description: 역할`
  - `true`: 관리자
  - `false`: 담당자
  - 팝빌 사이트 \[ 마이페이지 > 회사정보 > 담당자 관리 ] 메뉴에서 수정 가능
- state `type: number` `length: 1` `description: 계정상태`
  - `1`: 사용중

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 9. ListContact - 담당자 목록 확인

연동회원에 추가된 담당자 목록을 확인합니다.

```javascript
taxinvoiceService.listContact(CorpNum, UserID, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**ContactInfo\[ ]**

- id `type: string` `length: 50` `description: 아이디`
- personName `type: string` `length: 100` `description: 담당자 성명`
- tel `type: string` `length: 20` `description: 담당자 휴대폰`
- email `type: string` `length: 100` `description: 담당자 메일`
- regDT `type: string` `length: 14` `description: 등록일시`
  - 형식 : yyyyMMddHHmmss
- searchRole `type: number` `length: 1` `description: 권한`
  - `1`: 개인권한
  - `2`: 읽기권한
  - `3`: 회사권한
- mgrYN `type: boolean` `length: -` `description: 역할`
  - `true`: 관리자
  - `false`: 담당자
  - 팝빌 사이트 \[ 마이페이지 > 회사정보 > 담당자 관리 ] 메뉴에서 수정 가능
- state `type: number` `length: 1` `description: 계정상태`
  - `1`: 사용중

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 10. UpdateContact - 담당자 정보 수정

연동회원에 추가된 담당자 정보를 수정합니다.

```javascript
taxinvoiceService.updateContact(CorpNum, UserID, ContactInfo, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- ContactInfo `type: ContactInfo` `length: -` `required: Y` `description: 담당자 객체정보`
  - id `type: string` `length: 50` `required: Y` `description: 아이디`
    - 6자 이상 50자 이하
  - password `type: string` `length: 20` `required: 조건부` `description: 비밀번호`
    - 8자 이상 20자 이하
    - 영문, 숫자, 특수문자(\~!@#$%^&\*()\_+) 포함
    - 함수 [\[RegistContact - 담당자 추가\]](https://developers.popbill.com/reference/taxinvoice/node/common-api/member#RegistContact)호출을 위한 필수값
  - personName `type: string` `length: 100` `required: Y` `description: 담당자 성명`
  - tel `type: string` `length: 20` `required: Y` `description: 담당자 휴대폰`
  - email `type: string` `length: 100` `required: Y` `description: 담당자 메일`
  - searchRole `type: number` `length: 1` `required: N` `description: 권한`
    - `1`: 개인권한
    - `2`: 읽기권한
    - `3`: 회사권한 : 기본값
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 11. DeleteContact - 담당자 삭제

연동회원에 추가된 담당자를 삭제합니다.

```javascript
taxinvoiceService.deleteContact(CorpNum, TargetUserID, UserID, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- TargetUserID `type: string` `length: 50` `required: Y` `description: 삭제할 회원 아이디`
- UserID `type: string` `length: 50` `required: Y` `description: 팝빌 회원 아이디`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

**Response**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 12. GetAccessURL - 팝빌 로그인 팝업 URL

![팝빌 로그인 팝업 URL 미리보기](https://developers.popbill.com/images/reference/member/getAccessURL.png)

**팝빌 회원 로그인 상태의 팝업 URL을 반환합니다.**

- 권장 사이즈 : width = 1,280px (최소 1,000px) / height = 800px
- 반환되는 URL은 30초 동안만 사용이 가능합니다.
- 반환되는 URL은 팝빌회원의 로그인 세션을 포함하고 있으니 사용에 유의하여 주시기 바랍니다.

```javascript
taxinvoiceService.getAccessURL(CorpNum, UserID, success, error)
```

### 요청

**Parameters**

- CorpNum `type: string` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- UserID `type: string` `length: 50` `required: N` `description: 팝빌회원 아이디`
- success `type: function` `length: -` `required: Y` `description: 성공에 대한 콜백 함수`
- error `type: function` `length: -` `required: Y` `description: 실패에 대한 콜백 함수`

### 응답

string - 요청에 대한 응답 URL

### 예외

**PopbillException**

- code `type: number` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: string` `length: -` `description: API 처리 실패에 대한 오류메시지`
