# 팩스전송

## 1. SendFAX - 팩스 전송

동일한 팩스파일을 다수의 수신자에게 전송하기 위해 팝빌에 접수합니다. (최대 전송파일 개수 : 30개) (최대 1,000건)

```vb
Function SendFAX(CorpNum As String, sendNum As String, receivers As Collection, FilePaths As Collection, Optional reserveDT As String, Optional UserID As String, Optional senderName As String, Optional adsYN As Boolean = False, Optional title As String = "", Optional requestNum As String = "") As String
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- sendNum `type: String` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 사전등록되지 않은 발신번호를 입력시 '원발신번호'로 전송됨
- receivers `type: PBReceiver[ ]` `length: -` `required: Y` `description: 수신자 정보`
  - 최대 : 1,000건
  - receiveNum `type: String` `length: 20` `required: Y` `description: 팩스 단말기 번호 또는 인터넷 팩스 번호`
  - receiveName `type: String` `length: 30` `required: N` `description: 수신자명`
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 팩스 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- FilePaths `type: Collection` `length: -` `required: Y` `description: 파일 목록`
  - [\[참고\] 권장 파일 확장자](https://developers.popbill.com/reference/fax/vb/api#available-extension)
  - 최대 : 30개
- reserveDT `type: String` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- senderName `type: String` `length: 100` `required: N` `description: 발신자명`
- adsYN `type: Boolean` `length: -` `required: N` `description: 광고팩스 전송 여부`
  - `True`: 광고
  - `False`: 일반 : 기본값
- title `type: String` `length: 100` `required: N` `description: 팩스제목`
- requestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**Err**

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

## 2. ResendFAX - 팩스 재전송 (접수번호)

팝빌에서 반환받은 접수번호를 통해 팩스를 재전송합니다. (최대 1,000건)

- 발신/수신 정보 미입력시 기존과 동일한 정보로 팩스가 전송되고, 접수일 기준 최대 60일이 경과되지 않는 건만 재전송이 가능합니다.

```vb
Function ResendFAX(CorpNum As String, receiptNum As String, sendNum As String, senderName As String, receivers As Collection, Optional reserveDT As String, Optional UserID As String = "", Optional title As String = "", Optional requestNum As String = "") As String
```

> **팩스 재전송이 가능한 상태는 다음과 같습니다.**
>
> 1. 원본 팩스 접수 후 60일 이내이며, 최초 팩스 전송 시 변환에 성공한 경우
> 2. 최초 팩스 전송 시 변환에 실패했으나 재전송이 가능한 경우
>
> **재전송이 가능한 변환 실패 코드는 아래와 같습니다.**
>
> - 414 : 팩스 변환 실패
> - 415 : 팩스 변환 시간 초과
> - 416 : 팩스 파일 처리 중 오류
> - 498 : 기타 오류로 인한 변환 실패

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- receiptNum `type: String` `length: 18` `required: Y` `description: 원본 팩스 접수번호`
- sendNum `type: String` `length: 20` `required: N` `description: 발신번호`
  - 발신번호를 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신번호
- senderName `type: String` `length: 100` `required: N` `description: 발신자명`
  - 발신자명을 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신자명
- receivers `type: PBReceiver[ ]` `length: -` `required: Y` `description: 수신자 정보`
  - 최대 : 1,000건
  - receiveNum `type: String` `length: 20` `required: Y` `description: 팩스 단말기 번호 또는 인터넷 팩스 번호`
  - receiveName `type: String` `length: 30` `required: N` `description: 수신자명`
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 팩스 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- reserveDT `type: String` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- title `type: String` `length: 100` `required: N` `description: 팩스제목`
- requestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**Err**

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

## 3. ResendFAXRN - 팩스 재전송 (요청번호)

파트너가 할당한 요청번호를 통해 팩스를 재전송합니다. (최대 1,000건)

- 발신/수신 정보 미입력시 기존과 동일한 정보로 팩스가 전송되고, 접수일 기준 최대 60일이 경과되지 않는 건만 재전송이 가능합니다.

```vb
Function ResendFAXRN(CorpNum As String, OrgRequestNum As String, sendNum As String, senderName As String, receivers As Collection, Optional reserveDT As String, Optional UserID As String = "", Optional title As String = "", Optional requestNum As String = "") As String
```

> **팩스 재전송이 가능한 상태는 다음과 같습니다.**
>
> 1. 원본 팩스 접수 후 60일 이내이며, 최초 팩스 전송 시 변환에 성공한 경우
> 2. 최초 팩스 전송 시 변환에 실패했으나 재전송이 가능한 경우
>
> **재전송이 가능한 변환 실패 코드는 아래와 같습니다.**
>
> - 414 : 팩스 변환 실패
> - 415 : 팩스 변환 시간 초과
> - 416 : 팩스 파일 처리 중 오류
> - 498 : 기타 오류로 인한 변환 실패

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- OrgRequestNum `type: String` `length: 36` `required: Y` `description: 원본 팩스 요청번호`
- sendNum `type: String` `length: 20` `required: N` `description: 발신번호`
  - 발신번호를 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신번호
- senderName `type: String` `length: 100` `required: N` `description: 발신자명`
  - 발신자명을 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신자명
- receivers `type: PBReceiver[ ]` `length: -` `required: Y` `description: 수신자 정보`
  - 최대 : 1,000건
  - receiveNum `type: String` `length: 20` `required: Y` `description: 팩스 단말기 번호 또는 인터넷 팩스 번호`
  - receiveName `type: String` `length: 30` `required: N` `description: 수신자명`
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 팩스 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- reserveDT `type: String` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- title `type: String` `length: 100` `required: N` `description: 팩스제목`
- requestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**Err**

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

## 4. CancelReserve - 예약전송 취소 (접수번호)

팝빌에서 반환받은 접수번호로 예약된 팩스를 전송 취소합니다. (예약시간 10분 전까지 가능)

```vb
Function CancelReserve(CorpNum As String, receiptNum As String, Optional UserID As String = "") As PBResponse
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- receiptNum `type: String` `length: 18` `required: Y` `description: 팝빌에서 할당한 접수번호`
  - 팩스 예약전송 요청의 반환값
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`

### 응답

**PBResponse**

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

### 예외

**Err**

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

## 5. CancelReserveRN - 예약전송 취소 (요청번호)

파트너가 할당한 요청번호로 예약된 팩스를 전송 취소합니다. (예약시간 10분 전까지 가능)

```vb
Function CancelReserveRN(CorpNum As String, requestNum As String, Optional UserID As String = "") As PBResponse
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- requestNum `type: String` `length: 36` `required: Y` `description: 파트너가 할당한 요청번호`
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`

### 응답

**PBResponse**

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

### 예외

**Err**

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