# 1원 인증



1원 인증 API는 상품문의로 남겨주시면 안내해 드립니다.



인증: Authorization: Bearer $APICK_API_KEY

본문 있는 REST 요청: multipart/form-data. GET 본문 및 MCP JSON-RPC 규격은 해당 명세를 따릅니다.

인증키는 서버에 보관하세요. 모든 예제는 정적 자료입니다.



## POST /rest/transfer_1won 응답 필드

## API 요청: POST /rest/transfer_1won



### 입력

- `account_num` (string, 필수): 조회할 계좌번호입니다. 하이픈 없이 숫자만 입력하며, 은행별 자릿수가 다릅니다. 예금주·은행 코드와 함께 확인하세요.

- `bank_code` (string, 선택): 은행을 구분하는 표준 코드입니다. 예: 004(국민), 088(신한). 은행 코드 조회 API에서 전체 목록을 확인할 수 있습니다.

- `bank_name` (string, 선택): 은행의 표시 이름입니다. 예: 국민, 신한. bank_code 대신 사용할 수 있지만, 코드가 더 정확하므로 가능하면 bank_code를 함께 보내세요.



### 응답 명세

```json

{
  "type": "object",
  "properties": {}
}

```

### curl

```curl

curl --fail-with-body --request POST 'https://apick.app/rest/transfer_1won' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string "account_num=${APICK_ACCOUNT_NUM}"

```

### Node.js (서버 ESM)

```javascript

const form = new FormData();
form.append("account_num", process.env.APICK_ACCOUNT_NUM);
const response = await fetch("https://apick.app/rest/transfer_1won", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY },
  body: form,
  signal: AbortSignal.timeout(120_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const result = await response.json();
console.log(result);

```

### python

```python

import os
import requests
parts = [
    ("account_num", (None, os.environ["APICK_ACCOUNT_NUM"])),
]
response = requests.request("POST", "https://apick.app/rest/transfer_1won",
    headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]},
    files=parts,
    timeout=(10, 120))
response.raise_for_status()
result = response.json()
print(result)

```

### php

```php

<?php
$headers = ["Authorization: Bearer " . getenv("APICK_API_KEY")];
$form = [
    'account_num' => getenv('APICK_ACCOUNT_NUM'),
];
$curl = curl_init('https://apick.app/rest/transfer_1won');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $form,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($curl);
if ($body === false) { throw new RuntimeException(curl_error($curl)); }
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($status >= 400) { throw new RuntimeException($body); }
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($result);

```

## 사용 예시 1. 은행 코드로 1원 인증

계좌 실명 확인을 위해 1원을 보내고 입금자명을 확인할 때 씁니다.

```bash

curl --fail-with-body --request POST 'https://apick.app/rest/transfer_1won' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'account_num=12345678901234' \
  --form-string 'bank_code=004'

```

- `data.success`가 `1`이면 1원이 입금되었고 과금됩니다.

- 입금통장메모에 `ABC-1234` 형태의 값이 찍힙니다. 이 값을 고객에게 받아 대조하면 계좌 소유를 확인할 수 있습니다.

## 사용 예시 2. 은행명으로 1원 인증

은행 코드를 모르고 은행 이름만 알 때 씁니다.

```bash

curl --fail-with-body --request POST 'https://apick.app/rest/transfer_1won' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'account_num=110123456789' \
  --form-string 'bank_name=신한은행'

```

- `bank_code`와 `bank_name` 중 하나는 반드시 넣습니다. 둘 다 없으면 실패합니다.

- 은행 점검 시간에는 송금이 되지 않으니 `data.success`가 `0`이면 시간을 두고 다시 시도합니다.

## 코드·오류

### 업무 실패 응답

입력 오류·대상 없음·일시 실패는 data.error(사유)와 data.success=0으로 오며 api.cost는 0(과금 없음)입니다. HTTP 상태는 400·404·408·424 중 하나입니다. 입력 오류는 값을 고쳐 다시 요청하고, 408·424는 잠시 후 한 번 다시 시도하세요.

```json

{
  "data": {
    "error": "입력값을 확인해 주세요.",
    "success": 0
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 5
  }
}

```

## 상세 기능·요금

상품문의 게시판에 문의글을 남겨 주시면 도입 방법과 이용 안내를 도와드립니다. 상품문의 남기기
