# 팩스전송

## 1. SendFAX - 팩스 전송

팩스 1건을 전송합니다. (최대 전송파일 개수: 30개)

```csharp
String SendFAX(String CorpNum, String sendNum, String receiveNum, String receiveName, String filePath, DateTime? reserveDT, String UserID, bool adsYN, String title, String requestNum)
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- sendNum `type: String` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 사전등록되지 않은 발신번호를 입력시 '원발신번호'로 전송됨
- receiveNum `type: String` `length: 20` `required: Y` `description: 수신번호`
- receiveName `type: String` `length: 70` `required: N` `description: 수신자명`
- filePath `type: String` `length: -` `required: Y` `description: 전송파일 경로`
  - [\[참고\] 권장 파일 확장자](https://developers.popbill.com/reference/fax/dotnet/api#available-extension)
- reserveDT `type: DateTime?` `length: 14` `required: N` `description: 전송 예약일시`
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- adsYN `type: bool` `length: -` `required: N` `description: 광고팩스 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
- title `type: String` `length: 100` `required: N` `description: 팩스제목`
- requestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

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

### 예외

**PopbillException**

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

## 2. SendFAX - 팩스 전송 (다중파일 전송)

팩스 1건을 전송합니다. (최대 전송파일 개수: 30개)

```csharp
String SendFAX(String CorpNum, String sendNum, String receiveNum, String receiveName, List<String> filePaths, DateTime? reserveDT, String UserID, bool adsYN, String title, String requestNum)
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- sendNum `type: String` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 사전등록되지 않은 발신번호를 입력시 '원발신번호'로 전송됨
- receiveNum `type: String` `length: 20` `required: Y` `description: 수신번호`
- receiveName `type: String` `length: 70` `required: N` `description: 수신자명`
- filePaths `type: List<String>` `length: 30` `required: Y` `description: 파일 목록`
  - [\[참고\] 권장 파일 확장자](https://developers.popbill.com/reference/fax/dotnet/api#available-extension)
  - 최대 : 30개
- reserveDT `type: DateTime?` `length: 14` `required: N` `description: 전송 예약일시`
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- adsYN `type: bool` `length: -` `required: N` `description: 광고팩스 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
- title `type: String` `length: 100` `required: N` `description: 팩스제목`
- requestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

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

### 예외

**PopbillException**

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

## 3. SendFAX - 팩스 전송 (동보전송)

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

```csharp
String SendFAX(String CorpNum, String sendNum, List<FaxReceiver> receivers, String filePath, DateTime? reserveDT, String UserID, bool adsYN, String title, String requestNum)
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- sendNum `type: String` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 사전등록되지 않은 발신번호를 입력시 '원발신번호'로 전송됨
- receivers `type: List<FaxReceiver>` `length: 1,000` `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: String` `length: -` `required: Y` `description: 전송파일 경로`
  - [\[참고\] 권장 파일 확장자](https://developers.popbill.com/reference/fax/dotnet/api#available-extension)
- reserveDT `type: DateTime?` `length: 14` `required: N` `description: 전송 예약일시`
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- adsYN `type: bool` `length: -` `required: N` `description: 광고팩스 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
- title `type: String` `length: 100` `required: N` `description: 팩스제목`
- requestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

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

### 예외

**PopbillException**

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

## 4. SendFAX - 팩스 전송 (다중파일 동보전송)

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

```csharp
String SendFAX(String CorpNum, String sendNum, List<FaxReceiver> receivers, List<String> filePaths, DateTime? reserveDT, String UserID, bool adsYN, String title, String requestNum)
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- sendNum `type: String` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 사전등록되지 않은 발신번호를 입력시 '원발신번호'로 전송됨
- receivers `type: List<FaxReceiver>` `length: 1,000` `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: List<String>` `length: 30` `required: Y` `description: 파일 목록`
  - [\[참고\] 권장 파일 확장자](https://developers.popbill.com/reference/fax/dotnet/api#available-extension)
  - 최대 : 30개
- reserveDT `type: DateTime?` `length: 14` `required: N` `description: 전송 예약일시`
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- adsYN `type: bool` `length: -` `required: N` `description: 광고팩스 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
- title `type: String` `length: 100` `required: N` `description: 팩스제목`
- requestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

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

### 예외

**PopbillException**

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

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

팝빌에서 반환받은 접수번호를 통해 팩스 1건을 재전송합니다.

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

```csharp
String ResendFAX(String CorpNum, String receiptNum, String sendNum, String senderName, String receiveNum, String receiveName, DateTime? reserveDT, String UserID, String title)
```

> **팩스 재전송이 가능한 상태는 다음과 같습니다.**
>
> 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: 발신자명`
  - 발신자명을 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신자명
- receiveNum `type: String` `length: 20` `required: N` `description: 수신번호`
  - 수신번호를 변경해야할 경우 사용
  - 기본값 : 원본 팩스 수신번호
- receiveName `type: String` `length: 70` `required: N` `description: 수신자명`
  - 수신자명을 변경해야할 경우 사용
  - 기본값 : 원본 팩스 수신자명
- reserveDT `type: DateTime?` `length: 14` `required: N` `description: 전송 예약일시`
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- title `type: String` `length: 100` `required: N` `description: 팩스제목`

### 응답

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

### 예외

**PopbillException**

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

## 6. ResendFAX - 팩스 재전송 (접수번호 동보전송)

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

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

```csharp
String ResendFAX(String CorpNum, String receiptNum, String sendNum, String senderName, List<FaxReceiver> receivers, DateTime? reserveDT, String UserID, String title, String requestNum)
```

> **팩스 재전송이 가능한 상태는 다음과 같습니다.**
>
> 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: List<FaxReceiver>` `length: 1,000` `required: N` `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: DateTime?` `length: 14` `required: N` `description: 전송 예약일시`
  - 기본값 : 즉시전송
- 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)

### 예외

**PopbillException**

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

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

파트너가 할당한 요청번호를 통해 팩스 1건을 재전송합니다.

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

```csharp
String ResendFAXRN(String CorpNum, String requestNum, String assignRequestNum, String sendNum, String senderName, String receiveNum, String receiveName, DateTime? reserveDT, String UserID, String title)
```

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

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- requestNum `type: String` `length: 36` `required: Y` `description: 원본 팩스 요청번호`
- assignRequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능
- sendNum `type: String` `length: 20` `required: N` `description: 발신번호`
  - 발신번호를 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신번호
- senderName `type: String` `length: 100` `required: N` `description: 발신자명`
  - 발신자명을 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신자명
- receiveNum `type: String` `length: 20` `required: N` `description: 수신번호`
  - 수신번호를 변경해야할 경우 사용
  - 기본값 : 원본 팩스 수신번호
- receiveName `type: String` `length: 70` `required: N` `description: 수신자명`
  - 수신자명을 변경해야할 경우 사용
  - 기본값 : 원본 팩스 수신자명
- reserveDT `type: DateTime` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- title `type: String` `length: 100` `required: N` `description: 팩스제목`

### 응답

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

### 예외

**PopbillException**

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

## 8. ResendFAXRN - 팩스 재전송 (요청번호 동보전송)

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

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

```csharp
String ResendFAXRN(String CorpNum, String requestNum, String assignRequestNum, String sendNum, String senderName, List<FaxReceiver> receivers, DateTime? reserveDT, String UserID, String title)
```

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

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- requestNum `type: String` `length: 36` `required: Y` `description: 원본 팩스 요청번호`
- assignRequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능
- sendNum `type: String` `length: 20` `required: N` `description: 발신번호`
  - 발신번호를 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신번호
- senderName `type: String` `length: 100` `required: N` `description: 발신자명`
  - 발신자명을 변경해야할 경우 사용
  - 기본값 : 원본 팩스 발신자명
- receivers `type: List<FaxReceiver>` `length: 1,000` `required: N` `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: DateTime?` `length: 14` `required: N` `description: 전송 예약일시`
  - 기본값 : 즉시전송
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- title `type: String` `length: 100` `required: N` `description: 팩스제목`

### 응답

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

### 예외

**PopbillException**

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

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

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

```csharp
Response CancelReserve(String CorpNum, String receiptNum, String UserID)
```

### 요청

**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: 팝빌회원 아이디`

### 응답

**Response**

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

### 예외

**PopbillException**

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

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

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

```csharp
Response CancelReserveRN(String CorpNum, String requestNum, String UserID)
```

### 요청

**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: 팝빌회원 아이디`

### 응답

**Response**

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

### 예외

**PopbillException**

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