@bolta-io/cli 0.4.1 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/CLAUDE.md +42 -4
- package/README.md +32 -2
- package/dist/bin/bolta.js +2 -0
- package/dist/bin/bolta.js.map +1 -1
- package/dist/src/client/bolta-client.d.ts +9 -1
- package/dist/src/client/bolta-client.d.ts.map +1 -1
- package/dist/src/client/bolta-client.js +61 -14
- package/dist/src/client/bolta-client.js.map +1 -1
- package/dist/src/commands/bank-account/index.d.ts +3 -0
- package/dist/src/commands/bank-account/index.d.ts.map +1 -0
- package/dist/src/commands/bank-account/index.js +62 -0
- package/dist/src/commands/bank-account/index.js.map +1 -0
- package/dist/src/commands/bank-account/list.d.ts +3 -0
- package/dist/src/commands/bank-account/list.d.ts.map +1 -0
- package/dist/src/commands/bank-account/list.js +17 -0
- package/dist/src/commands/bank-account/list.js.map +1 -0
- package/dist/src/commands/bank-account/sync.d.ts +3 -0
- package/dist/src/commands/bank-account/sync.d.ts.map +1 -0
- package/dist/src/commands/bank-account/sync.js +17 -0
- package/dist/src/commands/bank-account/sync.js.map +1 -0
- package/dist/src/commands/bank-account/transactions.d.ts +13 -0
- package/dist/src/commands/bank-account/transactions.d.ts.map +1 -0
- package/dist/src/commands/bank-account/transactions.js +47 -0
- package/dist/src/commands/bank-account/transactions.js.map +1 -0
- package/dist/src/commands/guide/index.d.ts.map +1 -1
- package/dist/src/commands/guide/index.js +101 -0
- package/dist/src/commands/guide/index.js.map +1 -1
- package/dist/src/commands/invoice/due-date.d.ts +3 -0
- package/dist/src/commands/invoice/due-date.d.ts.map +1 -0
- package/dist/src/commands/invoice/due-date.js +25 -0
- package/dist/src/commands/invoice/due-date.js.map +1 -0
- package/dist/src/commands/invoice/index.d.ts.map +1 -1
- package/dist/src/commands/invoice/index.js +18 -0
- package/dist/src/commands/invoice/index.js.map +1 -1
- package/dist/src/types/api.d.ts +69 -0
- package/dist/src/types/api.d.ts.map +1 -1
- package/dist/src/validators/schemas.d.ts +44 -0
- package/dist/src/validators/schemas.d.ts.map +1 -1
- package/dist/src/validators/schemas.js +38 -0
- package/dist/src/validators/schemas.js.map +1 -1
- package/llms.txt +34 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @bolta-io/cli
|
|
2
2
|
|
|
3
|
+
## 0.5.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2573c5e: 입출금내역 API 계약 변경을 반영합니다. 계좌와 거래 응답의 `bank`가 금융결제원 3자리 은행코드 `bankCode`(예: `004` 국민은행, `088` 신한은행)로 바뀌었고, `currencyCode`는 ISO 4217 코드(`KRW`, `USD`, `JPY`)로 고정됐습니다. 이전 필드는 남기지 않습니다. `bolta guide bank-account`에 은행코드 표를 더하고 테스트 키 계좌를 새 코드로 고쳤습니다. cursor가 받을 때의 조회 조건과 API 키에 묶인다는 안내를 도움말, 가이드, 문서에 반영하고, `INVALID_CURSOR`가 나면 조건이나 키를 바꿨는지 확인하도록 안내합니다. 도움말의 예시 cursor도 새 형식으로 바꿨습니다.
|
|
8
|
+
|
|
9
|
+
## 0.5.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 74db6ac: 입출금내역 조회 명령 `bolta bank-account list`, `transactions`, `sync`를 추가했습니다. `transactions --all`로 남은 변경분을 끝까지 이어서 받고, 입출금내역 오류 코드마다 해결 방법을 안내합니다.
|
|
14
|
+
|
|
15
|
+
## 0.4.2
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- aee206e: 작성일자로 세금계산서 발행 마감일을 조회하는 `bolta invoice due-date <YYYY-MM-DD>` 명령을 추가합니다. `GET /v1/taxInvoiceIssueDueDates`를 호출하고 `{date, issueDueDate}`를 그대로 출력합니다. 발급자와 인증서가 필요 없고 포인트를 차감하지 않습니다. 존재하지 않는 날짜는 API를 호출하기 전에 `VALIDATION_ERROR`로 막고, 볼타가 마감일을 관리하지 않는 달로 `INVALID_REQUEST`가 나면 그 이유를 안내합니다. `invoice issue`와 `invoice issue-request` 도움말, `bolta guide workflow`, 문서에 작성일자가 마감일을 지나면 `400 INVALID_REQUEST`가 난다는 안내를 더했습니다.
|
|
20
|
+
|
|
3
21
|
## 0.4.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/CLAUDE.md
CHANGED
|
@@ -44,7 +44,14 @@ bolta issuer create --data '{"identificationNumber":"1234567890","organizationNa
|
|
|
44
44
|
bolta certificate status <issuerId>
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
3.
|
|
47
|
+
3. **발행 마감일 확인** (작성일자가 마감일을 지나면 발행 요청이 `400 INVALID_REQUEST`):
|
|
48
|
+
```bash
|
|
49
|
+
bolta invoice due-date 2026-03-25
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
마감일은 작성일자가 속한 달의 다음 달 10일입니다. 주말이나 공휴일이면 다음 영업일, 국세청이 연장한 달은 연장된 날짜입니다. 마감일 당일까지 기한 안이고, 포인트는 차감하지 않습니다.
|
|
53
|
+
|
|
54
|
+
4. **세금계산서 정발행**:
|
|
48
55
|
```bash
|
|
49
56
|
bolta invoice issue --reference-id inv-2026-001 --data '{
|
|
50
57
|
"date": "2026-03-25",
|
|
@@ -71,14 +78,14 @@ bolta invoice issue --reference-id inv-2026-001 --data '{
|
|
|
71
78
|
}'
|
|
72
79
|
```
|
|
73
80
|
|
|
74
|
-
|
|
81
|
+
5. **접수 여부 확인** (발행 응답을 받지 못한 경우):
|
|
75
82
|
```bash
|
|
76
83
|
bolta invoice status --reference-id inv-2026-001
|
|
77
84
|
```
|
|
78
85
|
|
|
79
86
|
같은 요청을 다시 보내지 마세요. 같은 API 키의 세금계산서 발행 계열에서는 요청자 관리번호를 재사용할 수 없습니다. 중복이면 API가 `400 INVALID_REQUEST`를 반환합니다.
|
|
80
87
|
|
|
81
|
-
|
|
88
|
+
6. **발행 결과 확인**:
|
|
82
89
|
```bash
|
|
83
90
|
bolta invoice get <issuanceKey>
|
|
84
91
|
```
|
|
@@ -123,6 +130,26 @@ bolta business-registration-status check-bulk 1000000014 100-00-00028 1000000071
|
|
|
123
130
|
- 통신 실패는 `UNKNOWN`으로 돌려주지 않습니다. 사업자등록 상태를 확인할 수 없으면 `503 LOOKUP_UNAVAILABLE`입니다.
|
|
124
131
|
- 라이브 키는 정상 조회 결과마다 포인트를 차감합니다. 테스트 키는 고정 번호 9개만 조회합니다(`bolta guide business-registration-status`).
|
|
125
132
|
|
|
133
|
+
### 입출금내역 조회
|
|
134
|
+
|
|
135
|
+
볼타 대시보드에 연결한 계좌의 목록과 거래 변경분을 조회합니다. 발급자 등록과 인증서가 필요 없고, API로는 계좌를 연결할 수 없습니다.
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
bolta bank-account list
|
|
139
|
+
bolta bank-account transactions --from 2026-09-01 --to 2026-09-30 --all
|
|
140
|
+
bolta bank-account transactions --cursor <저장한 nextCursor> --all
|
|
141
|
+
bolta bank-account sync
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
- 포인트는 차감하지 않습니다. 스탠다드 플랜 미만이면 `402 PLAN_UPGRADE_REQUIRED`입니다.
|
|
145
|
+
- 거래는 거래 시각이 아니라 볼타에서 바뀐 순서로 옵니다. 받은 순서대로 `ACTIVE`는 덮어쓰고 `REMOVED`는 지우세요.
|
|
146
|
+
- `hasMore`가 `false`여도 `nextCursor`는 항상 있습니다. 저장해 두고 다음 수집 때 `--cursor`로 넘기세요.
|
|
147
|
+
- cursor는 받을 때의 조회 조건(`--from`, `--to`, `--bank-account-id`, `--type`)과 API 키에 묶입니다. 조건마다 따로 저장하고, 조건을 바꿨거나 테스트 키에서 라이브 키로 옮겼다면 cursor 없이 다시 시작하세요. `--limit`은 바꿔도 됩니다.
|
|
148
|
+
- `bankCode`는 금융결제원 3자리 은행코드, `currencyCode`는 ISO 4217 코드(`KRW`, `USD`, `JPY`)입니다. 값이 늘 수 있으니 모르는 값도 처리하고 화면에는 `bankName`을 보여 주세요.
|
|
149
|
+
- `items`가 비어도 `hasMore`가 `true`일 수 있습니다. `--all`은 `hasMore`가 `false`가 될 때까지 이어서 조회합니다.
|
|
150
|
+
- `sync`는 사업자마다 30분 1회, 하루 12회입니다. CLI는 자동 재시도하지 않습니다. `202` 뒤에는 `list`로 `syncStatus`가 `IN_PROGRESS`인 계좌가 없어질 때까지 확인하고, 5분쯤 지나 조회하세요.
|
|
151
|
+
- 테스트 키는 고정 계좌 2개와 거래 6건을 돌려줍니다(`bolta guide bank-account`).
|
|
152
|
+
|
|
126
153
|
## 커맨드 빠른 참조
|
|
127
154
|
|
|
128
155
|
| 커맨드 | 설명 | 데이터 필요 |
|
|
@@ -136,6 +163,7 @@ bolta business-registration-status check-bulk 1000000014 100-00-00028 1000000071
|
|
|
136
163
|
| `bolta invoice issue-request [--reference-id <id>]` | 역발행 요청 | --data |
|
|
137
164
|
| `bolta invoice get <issuanceKey>` | 세금계산서 조회 | - |
|
|
138
165
|
| `bolta invoice status --reference-id <id>` | 상태 조회 | - |
|
|
166
|
+
| `bolta invoice due-date <작성일자>` | 발행 마감일 조회 | - |
|
|
139
167
|
| `bolta invoice amend termination <key> --date <date> [--reference-id <id>]` | 수정: 계약해제 | - |
|
|
140
168
|
| `bolta invoice amend change-supply-cost <key> [--reference-id <id>]` | 수정: 가액변동 | --data |
|
|
141
169
|
| `bolta invoice amend double-issuance <key> [--reference-id <id>]` | 수정: 착오 이중발급 | - |
|
|
@@ -144,6 +172,9 @@ bolta business-registration-status check-bulk 1000000014 100-00-00028 1000000071
|
|
|
144
172
|
| `bolta cash-receipt cancel <key> --reference-id <id>` | 현금영수증 전액 취소 | - |
|
|
145
173
|
| `bolta business-registration-status check <사업자등록번호>` | 사업자등록 상태 조회 | - |
|
|
146
174
|
| `bolta business-registration-status check-bulk <사업자등록번호...>` | 사업자등록 상태 일괄 조회 (최대 100건) | 번호 인자 또는 --data |
|
|
175
|
+
| `bolta bank-account list` | 연결된 계좌 목록 | - |
|
|
176
|
+
| `bolta bank-account transactions [--from] [--to] [--cursor] [--all]` | 거래 변경분 조회 | - |
|
|
177
|
+
| `bolta bank-account sync` | 입출금내역 동기화 요청 | - |
|
|
147
178
|
| `bolta config set <key> <value>` | 설정 | - |
|
|
148
179
|
| `bolta config show` | 설정 확인 | - |
|
|
149
180
|
| `bolta config test` | 연결 테스트 | - |
|
|
@@ -173,7 +204,7 @@ bolta business-registration-status check-bulk 1000000014 100-00-00028 1000000071
|
|
|
173
204
|
| `AUTH_ERROR` | API 키 없음/잘못됨 | `bolta config set api-key <key>` |
|
|
174
205
|
| `VALIDATION_ERROR` | 입력 데이터 오류 | `bolta schema <command>`로 스키마 확인 |
|
|
175
206
|
| `INPUT_ERROR` | 명령어·옵션·입력 방식 오류 | `bolta --help` 또는 하위 명령의 `--help`로 사용법 확인 |
|
|
176
|
-
| `INVALID_REQUEST` | 세금계산서 요청 검증
|
|
207
|
+
| `INVALID_REQUEST` | 세금계산서 요청 검증 실패, 발행 마감일 경과 또는 요청자 관리번호 중복 | `error.message` 확인. 중복이면 `invoice status`로 기존 요청 확인. 마감일은 `invoice due-date`로 확인 |
|
|
177
208
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
178
209
|
| `HTTP_400` | 잘못된 요청 | error.message 확인, 필수 필드 누락 체크 |
|
|
179
210
|
| `HTTP_404` | 리소스 없음 | issuanceKey/issuerId 확인 |
|
|
@@ -181,6 +212,13 @@ bolta business-registration-status check-bulk 1000000014 100-00-00028 1000000071
|
|
|
181
212
|
| `RATE_LIMITED` | 사업자등록 상태 조회 24시간 한도 또는 서비스 전체 일일 한도 초과 | `error.details.retryAfterSeconds`초 뒤 다시 실행 |
|
|
182
213
|
| `INVALID_BUSINESS_REGISTRATION_NUMBER` | 사업자등록번호 체크섬 불일치 | 번호 확인 |
|
|
183
214
|
| `LOOKUP_UNAVAILABLE` | 사업자등록 상태 확인 불가 (포인트 미차감) | 잠시 후 다시 실행 |
|
|
215
|
+
| `PLAN_UPGRADE_REQUIRED` | 입출금내역 API를 쓰려면 스탠다드 플랜 이상 필요 | 볼타 대시보드 결제 메뉴에서 플랜 업그레이드 |
|
|
216
|
+
| `INVALID_CURSOR` | 입출금내역 cursor가 손상됐거나, 받을 때와 조회 조건 또는 API 키가 다름 | 같은 조건으로 이전 응답의 `nextCursor`를 그대로 사용. 조건이나 키를 바꿨다면 cursor 없이 다시 조회 |
|
|
217
|
+
| `BANK_ACCOUNT_NOT_FOUND` | 없거나 내 계좌가 아닌 계좌 ID | `bank-account list`의 `id` 확인 |
|
|
218
|
+
| `BANK_ACCOUNT_NOT_CONNECTED` | 연결된 계좌 없이 동기화 요청 | 볼타 대시보드에서 계좌 연결 |
|
|
219
|
+
| `SYNC_IN_PROGRESS` | 입출금내역 동기화가 이미 진행 중 (한도 미차감) | `bank-account list`로 `syncStatus` 확인 |
|
|
220
|
+
| `SYNC_RATE_LIMITED` | 동기화 한도(30분 1회, 하루 12회) 초과 | `error.details.retryAfterSeconds`초 뒤 다시 요청 |
|
|
221
|
+
| `SYNC_UNAVAILABLE` | 동기화 한도를 확인할 수 없어 요청 거절 | 잠시 후 다시 요청 |
|
|
184
222
|
| `NETWORK_ERROR` | 네트워크 오류 또는 응답 본문 읽기 실패 | 인터넷 연결 확인. 세금계산서 관리번호를 사용했다면 재전송하지 말고 `invoice status`로 접수 여부 확인 |
|
|
185
223
|
|
|
186
224
|
## 개발 명령어
|
package/README.md
CHANGED
|
@@ -117,12 +117,17 @@ bolta invoice get <issuanceKey>
|
|
|
117
117
|
|
|
118
118
|
# Bolta-Client-Reference-Id로 상태 조회
|
|
119
119
|
bolta invoice status --reference-id <id>
|
|
120
|
+
|
|
121
|
+
# 작성일자로 발행 마감일 조회
|
|
122
|
+
bolta invoice due-date 2026-09-30
|
|
120
123
|
```
|
|
121
124
|
|
|
122
125
|
세금계산서의 `--reference-id`는 선택 사항입니다. 앞뒤 공백 없는 출력 가능한 ASCII 1~255자를 입력하세요. 같은 API 키의 정발행·역발행·수정발행에서 이미 사용한 값은 요청 내용이나 명령이 달라도 다시 사용할 수 없습니다. 중복이면 API가 `400 INVALID_REQUEST`를 반환합니다.
|
|
123
126
|
|
|
124
127
|
응답을 받지 못했거나 응답 본문을 읽지 못했다면 같은 요청을 다시 보내지 마세요. 요청에 사용한 값으로 `bolta invoice status --reference-id <id>`를 실행해 접수 여부를 확인하세요. 새 발행 요청에는 사용하지 않은 값을 입력합니다.
|
|
125
128
|
|
|
129
|
+
정발행과 역발행은 작성일자가 발행 마감일을 지나면 `400 INVALID_REQUEST`를 반환합니다. 발행 전에 `bolta invoice due-date <작성일자>`로 마감일을 확인하세요. 마감일은 작성일자가 속한 달의 다음 달 10일입니다. 10일이 주말이나 공휴일이면 다음 영업일로 늦춰지고, 국세청이 기한을 연장한 달은 연장된 날짜를 따릅니다. 마감일 당일까지는 기한 안입니다. 이 조회는 발급자와 인증서가 필요 없고 포인트도 차감하지 않습니다. 볼타가 마감일을 관리하지 않는 달을 요청하면 `400 INVALID_REQUEST`입니다.
|
|
130
|
+
|
|
126
131
|
#### 수정발행
|
|
127
132
|
|
|
128
133
|
```bash
|
|
@@ -238,6 +243,24 @@ bolta business-registration-status check-bulk --file numbers.json # {"business
|
|
|
238
243
|
|
|
239
244
|
통신 실패는 `UNKNOWN`으로 돌려주지 않습니다. 사업자등록 상태를 확인할 수 없으면 `503 LOOKUP_UNAVAILABLE`입니다. 라이브 키는 정상 조회 결과마다 포인트를 차감합니다. 호출 한도는 API 키 모드별 24시간 10,000건이고, 요청 수가 아니라 조회한 번호 수로 셉니다. 볼타 서비스 전체의 일일 조회 한도에 도달해도 `429 RATE_LIMITED`를 받습니다. CLI는 이 조회를 자동 재시도하지 않습니다. 테스트 키로 조회할 수 있는 고정 번호는 `bolta guide business-registration-status`로 확인하세요.
|
|
240
245
|
|
|
246
|
+
#### 입출금내역 조회
|
|
247
|
+
|
|
248
|
+
볼타 대시보드에 연결한 계좌의 목록과 거래 변경분을 조회합니다. 발급자 등록과 공동인증서가 필요 없습니다. API로는 계좌를 연결할 수 없으니 대시보드에서 먼저 연결하세요. 포인트는 차감하지 않지만 스탠다드 플랜 이상이 필요합니다(아니면 `402 PLAN_UPGRADE_REQUIRED`).
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
bolta bank-account list # 연결된 계좌 목록
|
|
252
|
+
bolta bank-account transactions --from 2026-09-01 --to 2026-09-30 # 거래 변경분 한 페이지
|
|
253
|
+
bolta bank-account transactions --all --limit 500 # hasMore가 false가 될 때까지 이어서 조회
|
|
254
|
+
bolta bank-account transactions --cursor <저장한 nextCursor> --all # 저장한 지점 뒤 변경분만
|
|
255
|
+
bolta bank-account sync # 즉시 동기화 요청
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
`transactions`는 거래 시각 순서가 아니라 볼타에서 거래가 바뀐 순서로 돌려줍니다. 받은 순서대로 반영하세요. `ACTIVE`는 같은 `id`를 덮어쓰고, `REMOVED`는 같은 `id`를 지웁니다. `hasMore`가 `false`여도 `nextCursor`는 항상 있으니 저장해 두고 다음 수집 때 `--cursor`로 넘기세요. cursor는 받을 때의 조회 조건(`--from`, `--to`, `--bank-account-id`, `--type`)과 API 키에 묶입니다. 조건마다 cursor를 따로 저장하고, 조건을 바꿨거나 테스트 키에서 라이브 키로 옮겼다면 cursor 없이 처음부터 다시 조회하세요. 다르면 `400 INVALID_CURSOR`입니다. `--limit`은 바꿔도 됩니다.
|
|
259
|
+
|
|
260
|
+
계좌와 거래의 `bankCode`는 금융결제원 3자리 은행코드(예: `004` 국민은행, `088` 신한은행)이고 `currencyCode`는 ISO 4217 통화 코드(`KRW`, `USD`, `JPY`)입니다. 두 값 모두 늘어날 수 있으니 모르는 값을 받아도 실패하지 말고, 화면에는 `bankName`을 보여 주세요. 전체 은행코드는 `bolta guide bank-account`로 확인하세요.
|
|
261
|
+
|
|
262
|
+
`sync`는 사업자마다 30분에 한 번, 하루 12번까지 요청할 수 있고 CLI는 자동으로 다시 요청하지 않습니다. `202`는 접수만 뜻합니다. `bolta bank-account list`로 `syncStatus`가 `IN_PROGRESS`인 계좌가 없어질 때까지 확인한 뒤, 5분쯤 지나서 `transactions`를 조회하세요. 테스트 키가 돌려주는 고정 계좌와 거래는 `bolta guide bank-account`로 확인하세요.
|
|
263
|
+
|
|
241
264
|
#### 설정
|
|
242
265
|
|
|
243
266
|
```bash
|
|
@@ -249,7 +272,7 @@ bolta config test # API 연결 테스트
|
|
|
249
272
|
#### 도움말
|
|
250
273
|
|
|
251
274
|
```bash
|
|
252
|
-
# 주요 개념 안내 (issuer, payment, workflow, cash-receipt, business-registration-status, glossary)
|
|
275
|
+
# 주요 개념 안내 (issuer, payment, workflow, cash-receipt, business-registration-status, bank-account, glossary)
|
|
253
276
|
bolta guide [topic]
|
|
254
277
|
|
|
255
278
|
# 바로 쓸 수 있는 샘플 JSON
|
|
@@ -315,7 +338,7 @@ cat invoice.json | bolta invoice issue --stdin
|
|
|
315
338
|
| `AUTH_ERROR` | API 키 없음/잘못됨 | `bolta config set api-key <key>` |
|
|
316
339
|
| `VALIDATION_ERROR` | 입력 데이터 오류 | `bolta schema <command>`로 스키마 확인 |
|
|
317
340
|
| `INPUT_ERROR` | 명령어·옵션·입력 방식 오류 | `bolta --help` 또는 하위 명령의 `--help`로 사용법 확인 |
|
|
318
|
-
| `INVALID_REQUEST` | 세금계산서 요청 검증
|
|
341
|
+
| `INVALID_REQUEST` | 세금계산서 요청 검증 실패, 발행 마감일 경과 또는 요청자 관리번호 중복 | `error.message` 확인. 중복이면 `invoice status`로 기존 요청 확인. 마감일은 `invoice due-date`로 확인 |
|
|
319
342
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
320
343
|
| `HTTP_400` | 잘못된 요청 | error.message 확인 |
|
|
321
344
|
| `HTTP_404` | 리소스 없음 | issuanceKey/issuerId 확인 |
|
|
@@ -323,6 +346,13 @@ cat invoice.json | bolta invoice issue --stdin
|
|
|
323
346
|
| `RATE_LIMITED` | 사업자등록 상태 조회 24시간 한도 또는 서비스 전체 일일 한도 초과 | `error.details.retryAfterSeconds`초 뒤 다시 실행 |
|
|
324
347
|
| `INVALID_BUSINESS_REGISTRATION_NUMBER` | 사업자등록번호 체크섬 불일치 | 번호 확인 |
|
|
325
348
|
| `LOOKUP_UNAVAILABLE` | 사업자등록 상태 확인 불가 (포인트 미차감) | 잠시 후 다시 실행 |
|
|
349
|
+
| `PLAN_UPGRADE_REQUIRED` | 입출금내역 API를 쓰려면 스탠다드 플랜 이상 필요 | 볼타 대시보드 결제 메뉴에서 플랜 업그레이드 |
|
|
350
|
+
| `INVALID_CURSOR` | 입출금내역 cursor가 손상됐거나, 받을 때와 조회 조건 또는 API 키가 다름 | 같은 조건으로 이전 응답의 `nextCursor`를 그대로 사용. 조건이나 키를 바꿨다면 cursor 없이 다시 조회 |
|
|
351
|
+
| `BANK_ACCOUNT_NOT_FOUND` | 없거나 내 계좌가 아닌 계좌 ID | `bank-account list`의 `id` 확인 |
|
|
352
|
+
| `BANK_ACCOUNT_NOT_CONNECTED` | 연결된 계좌 없이 동기화 요청 | 볼타 대시보드에서 계좌 연결 |
|
|
353
|
+
| `SYNC_IN_PROGRESS` | 입출금내역 동기화가 이미 진행 중 (한도 미차감) | `bank-account list`로 `syncStatus` 확인 |
|
|
354
|
+
| `SYNC_RATE_LIMITED` | 동기화 한도(30분 1회, 하루 12회) 초과 | `error.details.retryAfterSeconds`초 뒤 다시 요청 |
|
|
355
|
+
| `SYNC_UNAVAILABLE` | 동기화 한도를 확인할 수 없어 요청 거절 | 잠시 후 다시 요청 |
|
|
326
356
|
| `NETWORK_ERROR` | 네트워크 오류 또는 응답 본문 읽기 실패 | 인터넷 연결 확인. 세금계산서 관리번호를 사용했다면 재전송하지 말고 `invoice status`로 접수 여부 확인 |
|
|
327
357
|
|
|
328
358
|
---
|
package/dist/bin/bolta.js
CHANGED
|
@@ -12,6 +12,7 @@ import { maybeNudgeUpdate, refreshUpdateCache, UPDATE_CACHE_COMMAND, } from '../
|
|
|
12
12
|
import { registerGuideCommand } from '../src/commands/guide/index.js';
|
|
13
13
|
import { registerCashReceiptCommands } from '../src/commands/cash-receipt/index.js';
|
|
14
14
|
import { registerBusinessRegistrationStatusCommands } from '../src/commands/business-registration-status/index.js';
|
|
15
|
+
import { registerBankAccountCommands } from '../src/commands/bank-account/index.js';
|
|
15
16
|
import { legacyIssuerWarning, outputError } from '../src/utils/output.js';
|
|
16
17
|
import { BoltaInputError } from '../src/utils/errors.js';
|
|
17
18
|
import { getCurrentVersion } from '../src/utils/version.js';
|
|
@@ -55,6 +56,7 @@ registerCertificateCommands(program);
|
|
|
55
56
|
registerInvoiceCommands(program);
|
|
56
57
|
registerCashReceiptCommands(program);
|
|
57
58
|
registerBusinessRegistrationStatusCommands(program);
|
|
59
|
+
registerBankAccountCommands(program);
|
|
58
60
|
registerConfigCommands(program);
|
|
59
61
|
registerExamplesCommand(program);
|
|
60
62
|
registerSchemaCommand(program);
|
package/dist/bin/bolta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolta.js","sourceRoot":"","sources":["../../bin/bolta.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,0CAA0C,EAAE,MAAM,uDAAuD,CAAC;AACnH,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,eAAe,CAAC;IACf,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;CACtB,CAAC;KACD,YAAY,EAAE,CAAC;AAElB,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,iBAAiB,EAAE,CAAC;KAC5B,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,SAAS,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC;KACxD,SAAS,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,CAAC;KAC/C,MAAM,CAAC,WAAW,EAAE,sBAAsB,EAAE,KAAK,CAAC;KAClD,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE;IAChD,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC;IAClC,CAAC;IACD,sDAAsD;IACtD,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,oBAAoB;QAAE,OAAO;IAC1D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACrC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEL,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,4BAA4B,CAAC,OAAO,CAAC,CAAC;AACtC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACrC,0CAA0C,CAAC,OAAO,CAAC,CAAC;AACpD,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,SAAS,aAAa,CAAC,aAAsB,EAAE,MAAmB;IAChE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAEhD,sCAAsC;IACtC,IAAI,WAAW,KAAK,OAAO;QAAE,OAAO;IACpC,IAAI,UAAU,KAAK,QAAQ,IAAI,WAAW,KAAK,QAAQ;QAAE,OAAO;IAChE,IAAI,WAAW,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO;IAEhE,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO;IAE9B,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAExE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,aAAsB,EAAE,MAAmB;IACjE,6BAA6B;IAC7B,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO;IAE3F,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,2CAA2C;AAC3C,OAAO;KACJ,OAAO,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC/C,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,kBAAkB,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACtD,WAAW,CACT,IAAI,eAAe,CACjB,OAAO,EACP,iFAAiF,CAClF,CACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"bolta.js","sourceRoot":"","sources":["../../bin/bolta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateTaxInvoiceRequest, IssuanceResponse, TaxInvoiceDetail, StatusResponse, AmendTerminationRequest, AmendChangeSupplyCostRequest, CreateIssuerRequest, IssuerResponse, CreateSupplierRequest, LegacySupplierResponse, CreateCustomerRequest, LegacyCustomerResponse, CertificateUrlResponse, CertificateStatusResponse, CreateCashReceiptRequest, CashReceiptCancellationResponse, CashReceiptStatusResponse, BusinessRegistrationStatusCheckRequest, BusinessRegistrationStatusResponse, BusinessRegistrationStatusBulkCheckRequest, BusinessRegistrationStatusBulkResponse } from '../types/api.js';
|
|
1
|
+
import type { CreateTaxInvoiceRequest, IssuanceResponse, TaxInvoiceDetail, StatusResponse, AmendTerminationRequest, AmendChangeSupplyCostRequest, CreateIssuerRequest, IssuerResponse, CreateSupplierRequest, LegacySupplierResponse, CreateCustomerRequest, LegacyCustomerResponse, CertificateUrlResponse, CertificateStatusResponse, CreateCashReceiptRequest, CashReceiptCancellationResponse, CashReceiptStatusResponse, BusinessRegistrationStatusCheckRequest, BusinessRegistrationStatusResponse, BusinessRegistrationStatusBulkCheckRequest, BusinessRegistrationStatusBulkResponse, TaxInvoiceIssueDueDateResponse, BankAccountListResponse, BankAccountTransactionQuery, BankAccountTransactionListResponse, BankAccountSyncResponse } from '../types/api.js';
|
|
2
2
|
import { type LegacyIssuerHeader } from '../utils/legacy-issuer.js';
|
|
3
3
|
interface ClientConfig {
|
|
4
4
|
apiKey: string;
|
|
@@ -35,6 +35,7 @@ export declare class BoltaClient {
|
|
|
35
35
|
issueRequestTaxInvoice(data: CreateTaxInvoiceRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
36
36
|
getTaxInvoice(issuanceKey: string): Promise<TaxInvoiceDetail>;
|
|
37
37
|
getTaxInvoiceStatus(clientReferenceId: string): Promise<StatusResponse>;
|
|
38
|
+
getTaxInvoiceIssueDueDate(date: string): Promise<TaxInvoiceIssueDueDateResponse>;
|
|
38
39
|
amendTermination(issuanceKey: string, data: AmendTerminationRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
39
40
|
amendChangeSupplyCost(issuanceKey: string, data: AmendChangeSupplyCostRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
40
41
|
amendDoubleIssuance(issuanceKey: string, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
@@ -52,6 +53,13 @@ export declare class BoltaClient {
|
|
|
52
53
|
checkBusinessRegistrationStatus(data: BusinessRegistrationStatusCheckRequest): Promise<BusinessRegistrationStatusResponse>;
|
|
53
54
|
/** 단건과 같은 이유로 재시도하지 않는다. 확인하지 못한 번호는 200 응답 안에서 status가 null이다. */
|
|
54
55
|
checkBusinessRegistrationStatusBulk(data: BusinessRegistrationStatusBulkCheckRequest): Promise<BusinessRegistrationStatusBulkResponse>;
|
|
56
|
+
listBankAccounts(): Promise<BankAccountListResponse>;
|
|
57
|
+
listBankAccountTransactions(query: BankAccountTransactionQuery): Promise<BankAccountTransactionListResponse>;
|
|
58
|
+
/**
|
|
59
|
+
* 재전송하면 30분 1회, 하루 12회 한도를 쓰고, 429의 Retry-After는 최대 30분이라 기다릴 수 없다.
|
|
60
|
+
* 한 번만 시도하고 실패를 바로 돌려준다.
|
|
61
|
+
*/
|
|
62
|
+
requestBankAccountSync(): Promise<BankAccountSyncResponse>;
|
|
55
63
|
private request;
|
|
56
64
|
}
|
|
57
65
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolta-client.d.ts","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,EAC/B,yBAAyB,EACzB,sCAAsC,EACtC,kCAAkC,EAClC,0CAA0C,EAC1C,sCAAsC,
|
|
1
|
+
{"version":3,"file":"bolta-client.d.ts","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,13 @@ export class BoltaClient {
|
|
|
106
106
|
path: `/taxInvoices/issue/status?clientReferenceId=${encodeURIComponent(clientReferenceId)}`,
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
|
+
async getTaxInvoiceIssueDueDate(date) {
|
|
110
|
+
return this.request({
|
|
111
|
+
method: 'GET',
|
|
112
|
+
path: `/taxInvoiceIssueDueDates?date=${encodeURIComponent(date)}`,
|
|
113
|
+
invalidRequestSuggestion: "error.message를 확인하세요. 날짜 형식이 맞다면 볼타가 마감일을 제공하지 않는 달입니다. 'bolta invoice due-date --help'를 확인하세요.",
|
|
114
|
+
});
|
|
115
|
+
}
|
|
109
116
|
async amendTermination(issuanceKey, data, options) {
|
|
110
117
|
return this.request({
|
|
111
118
|
method: 'POST',
|
|
@@ -178,6 +185,35 @@ export class BoltaClient {
|
|
|
178
185
|
});
|
|
179
186
|
}
|
|
180
187
|
// ========================
|
|
188
|
+
// Bank Account Methods
|
|
189
|
+
// ========================
|
|
190
|
+
async listBankAccounts() {
|
|
191
|
+
return this.request({ method: 'GET', path: '/bankAccounts' });
|
|
192
|
+
}
|
|
193
|
+
async listBankAccountTransactions(query) {
|
|
194
|
+
const params = new URLSearchParams();
|
|
195
|
+
for (const [key, value] of Object.entries(query)) {
|
|
196
|
+
if (value !== undefined)
|
|
197
|
+
params.set(key, String(value));
|
|
198
|
+
}
|
|
199
|
+
const search = params.toString();
|
|
200
|
+
return this.request({
|
|
201
|
+
method: 'GET',
|
|
202
|
+
path: `/bankAccounts/transactions${search ? `?${search}` : ''}`,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* 재전송하면 30분 1회, 하루 12회 한도를 쓰고, 429의 Retry-After는 최대 30분이라 기다릴 수 없다.
|
|
207
|
+
* 한 번만 시도하고 실패를 바로 돌려준다.
|
|
208
|
+
*/
|
|
209
|
+
async requestBankAccountSync() {
|
|
210
|
+
return this.request({
|
|
211
|
+
method: 'POST',
|
|
212
|
+
path: '/bankAccounts:sync',
|
|
213
|
+
retry: 'none',
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
// ========================
|
|
181
217
|
// Internal Request Method
|
|
182
218
|
// ========================
|
|
183
219
|
async request(options) {
|
|
@@ -315,7 +351,31 @@ function parseRetryAfterSeconds(header) {
|
|
|
315
351
|
function sleep(ms) {
|
|
316
352
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
317
353
|
}
|
|
354
|
+
function describeRetryAfter(ctx) {
|
|
355
|
+
const retryAfterSeconds = ctx?.retryAfterSeconds;
|
|
356
|
+
return retryAfterSeconds !== undefined
|
|
357
|
+
? `${retryAfterSeconds}초 뒤(error.details.retryAfterSeconds)`
|
|
358
|
+
: '잠시 후';
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* API가 도메인 오류 코드를 돌려줄 때의 안내. HTTP 상태별 공통 안내보다 먼저 적용한다.
|
|
362
|
+
*/
|
|
363
|
+
const ERROR_CODE_SUGGESTIONS = {
|
|
364
|
+
INVALID_BUSINESS_REGISTRATION_NUMBER: () => '사업자등록번호 체크섬이 맞지 않습니다. 번호를 다시 확인하세요.',
|
|
365
|
+
LOOKUP_UNAVAILABLE: () => '사업자등록 상태를 지금 확인할 수 없습니다. 포인트는 차감되지 않았습니다. 잠시 후 다시 시도하세요.',
|
|
366
|
+
RATE_LIMITED: (ctx) => ctx?.statusSuggestion ?? `호출 한도를 모두 사용했습니다. ${describeRetryAfter(ctx)} 다시 시도하세요.`,
|
|
367
|
+
PLAN_UPGRADE_REQUIRED: () => "입출금내역 API는 스탠다드 플랜부터 쓸 수 있습니다. 포인트 잔액 문제가 아닙니다. 볼타 대시보드의 결제 메뉴에서 플랜을 업그레이드한 뒤 다시 시도하세요.",
|
|
368
|
+
INVALID_CURSOR: () => "cursor는 받을 때의 조회 조건(--from, --to, --bank-account-id, --type)과 API 키에 묶입니다. 이전 응답의 nextCursor를 같은 조건으로 그대로 넣으세요. 조건을 바꿨거나 테스트 키에서 라이브 키로 옮겼다면 --cursor 없이 처음부터 다시 조회하세요. --limit은 바꿔도 됩니다.",
|
|
369
|
+
BANK_ACCOUNT_NOT_FOUND: () => "계좌 ID를 확인하세요. 'bolta bank-account list' 응답의 id를 사용하세요.",
|
|
370
|
+
BANK_ACCOUNT_NOT_CONNECTED: () => '연결된 계좌가 없습니다. API로는 계좌를 연결할 수 없으니 볼타 대시보드에서 먼저 연결하세요.',
|
|
371
|
+
SYNC_IN_PROGRESS: () => "이미 동기화가 진행 중입니다. 한도는 차감되지 않았습니다. 'bolta bank-account list'로 syncStatus가 IN_PROGRESS에서 바뀌었는지 확인하세요.",
|
|
372
|
+
SYNC_RATE_LIMITED: (ctx) => `동기화는 30분에 한 번, 하루 12번까지 요청할 수 있습니다. ${describeRetryAfter(ctx)} 다시 요청하세요. 볼타가 주기적으로 거래를 가져오므로 기다리지 않고 조회해도 됩니다.`,
|
|
373
|
+
SYNC_UNAVAILABLE: () => '지금은 동기화 한도를 확인할 수 없어 요청을 받지 않았습니다. 잠시 후 다시 시도하세요.',
|
|
374
|
+
};
|
|
318
375
|
function getSuggestion(status, code, ctx) {
|
|
376
|
+
const codeSuggestion = ERROR_CODE_SUGGESTIONS[code];
|
|
377
|
+
if (codeSuggestion)
|
|
378
|
+
return codeSuggestion(ctx);
|
|
319
379
|
if (status === 401)
|
|
320
380
|
return "API 키가 올바른지 확인하세요. 'bolta config test'로 인증을 테스트할 수 있습니다.";
|
|
321
381
|
if (status === 402)
|
|
@@ -334,23 +394,10 @@ function getSuggestion(status, code, ctx) {
|
|
|
334
394
|
if (code === 'INVALID_REQUEST' && ctx?.invalidRequestSuggestion) {
|
|
335
395
|
return ctx.invalidRequestSuggestion;
|
|
336
396
|
}
|
|
337
|
-
if (code === 'INVALID_BUSINESS_REGISTRATION_NUMBER') {
|
|
338
|
-
return '사업자등록번호 체크섬이 맞지 않습니다. 번호를 다시 확인하세요.';
|
|
339
|
-
}
|
|
340
|
-
if (code === 'LOOKUP_UNAVAILABLE') {
|
|
341
|
-
return '사업자등록 상태를 지금 확인할 수 없습니다. 포인트는 차감되지 않았습니다. 잠시 후 다시 시도하세요.';
|
|
342
|
-
}
|
|
343
397
|
if (status === 429) {
|
|
344
398
|
if (ctx?.statusSuggestion)
|
|
345
399
|
return ctx.statusSuggestion;
|
|
346
|
-
|
|
347
|
-
const when = retryAfterSeconds !== undefined
|
|
348
|
-
? `${retryAfterSeconds}초 뒤(error.details.retryAfterSeconds)`
|
|
349
|
-
: '잠시 후';
|
|
350
|
-
if (code === 'RATE_LIMITED') {
|
|
351
|
-
return `호출 한도를 모두 사용했습니다. ${when} 다시 시도하세요.`;
|
|
352
|
-
}
|
|
353
|
-
return `요청 횟수 제한에 도달했습니다. ${when} 다시 시도하세요.`;
|
|
400
|
+
return `요청 횟수 제한에 도달했습니다. ${describeRetryAfter(ctx)} 다시 시도하세요.`;
|
|
354
401
|
}
|
|
355
402
|
if (status >= 500) {
|
|
356
403
|
return ctx?.statusSuggestion ?? 'Bolta 서버 오류입니다. 잠시 후 다시 시도하세요.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolta-client.js","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bolta-client.js","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/bank-account/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4DlE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { listBankAccountsAction } from './list.js';
|
|
2
|
+
import { listBankAccountTransactionsAction } from './transactions.js';
|
|
3
|
+
import { syncBankAccountsAction } from './sync.js';
|
|
4
|
+
export function registerBankAccountCommands(program) {
|
|
5
|
+
const group = program
|
|
6
|
+
.command('bank-account')
|
|
7
|
+
.description('입출금내역 조회 (연결된 계좌, 거래 변경분, 동기화 요청)');
|
|
8
|
+
group
|
|
9
|
+
.command('list')
|
|
10
|
+
.description('연결된 계좌 목록 조회 (GET /v1/bankAccounts)')
|
|
11
|
+
.addHelpText('after', `
|
|
12
|
+
Notes:
|
|
13
|
+
- API 키가 속한 사업자의 계좌만 조회합니다. 발급자 등록과 공동인증서가 필요 없습니다.
|
|
14
|
+
- 계좌 연결은 볼타 대시보드에서만 할 수 있습니다. 연결된 계좌가 없으면 items가 빈 배열입니다.
|
|
15
|
+
- bankCode는 금융결제원 3자리 은행코드입니다('bolta guide bank-account'). 값이 늘 수 있으니 화면에는 bankName을 보여 주세요.
|
|
16
|
+
- syncStatus가 IN_PROGRESS인 계좌가 없어지면 동기화가 끝난 것입니다.
|
|
17
|
+
- 스탠다드 플랜 이상이 필요합니다. 포인트는 차감하지 않습니다.
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
bolta bank-account list`)
|
|
21
|
+
.action(listBankAccountsAction);
|
|
22
|
+
group
|
|
23
|
+
.command('transactions')
|
|
24
|
+
.description('거래 변경분 조회 (GET /v1/bankAccounts/transactions)')
|
|
25
|
+
.option('--from <date>', '거래일 시작 (YYYY-MM-DD, KST, 포함)')
|
|
26
|
+
.option('--to <date>', '거래일 끝 (YYYY-MM-DD, KST, 포함)')
|
|
27
|
+
.option('--bank-account-id <id>', "계좌 ID ('bolta bank-account list'의 id)")
|
|
28
|
+
.option('--type <transactionType>', '거래 구분 (DEPOSIT, WITHDRAW, OTHER)')
|
|
29
|
+
.option('--cursor <cursor>', '이전 응답의 nextCursor')
|
|
30
|
+
.option('--limit <n>', '한 번에 받을 건수 (1~500, 기본 100)')
|
|
31
|
+
.option('--all', 'hasMore가 false가 될 때까지 이어서 조회하고 items를 합칩니다')
|
|
32
|
+
.addHelpText('after', `
|
|
33
|
+
Notes:
|
|
34
|
+
- 거래 시각 순서가 아니라 볼타에서 거래가 바뀐 순서로 돌려줍니다. 같은 id가 다시 올 수 있습니다.
|
|
35
|
+
- 받은 순서대로 반영하세요. ACTIVE는 같은 id를 덮어쓰고, REMOVED는 같은 id를 지웁니다.
|
|
36
|
+
- hasMore가 false여도 nextCursor는 항상 있습니다. 저장해 두고 다음에 --cursor로 넘기면 그 뒤 변경분만 받습니다.
|
|
37
|
+
- items가 비어도 hasMore가 true일 수 있습니다. hasMore가 false가 될 때까지 이어서 조회하세요.
|
|
38
|
+
- cursor는 받을 때의 조회 조건(--from, --to, --bank-account-id, --type)과 API 키에 묶입니다. 다르면 400 INVALID_CURSOR입니다.
|
|
39
|
+
- 조건을 바꿨거나 테스트 키에서 라이브 키로 옮겼다면 --cursor 없이 처음부터 다시 조회하세요. 조건마다 cursor를 따로 저장하세요.
|
|
40
|
+
- --limit은 cursor와 무관해서 페이지마다 바꿔도 됩니다.
|
|
41
|
+
- 최근 5분 안의 변경은 다음 조회로 넘어갑니다. 테스트 키는 지연이 없습니다.
|
|
42
|
+
|
|
43
|
+
Example:
|
|
44
|
+
bolta bank-account transactions --from 2026-09-01 --to 2026-09-30
|
|
45
|
+
bolta bank-account transactions --all --limit 500
|
|
46
|
+
bolta bank-account transactions --cursor djI6MTc4ODU3MDAwMDAwMDAwMDo2OjExeTVkdnQ --all`)
|
|
47
|
+
.action(listBankAccountTransactionsAction);
|
|
48
|
+
group
|
|
49
|
+
.command('sync')
|
|
50
|
+
.description('입출금내역 동기화 요청 (POST /v1/bankAccounts:sync)')
|
|
51
|
+
.addHelpText('after', `
|
|
52
|
+
Notes:
|
|
53
|
+
- 202는 요청 접수만 뜻합니다. 'bolta bank-account list'로 syncStatus가 IN_PROGRESS인 계좌가 없어질 때까지 확인하세요.
|
|
54
|
+
- 동기화가 끝나면 5분쯤 기다린 뒤 저장한 cursor로 transactions를 조회하세요.
|
|
55
|
+
- 사업자마다 30분에 한 번, 하루 12번까지 요청할 수 있습니다. CLI는 자동으로 다시 요청하지 않습니다.
|
|
56
|
+
- 볼타가 주기적으로 거래를 가져옵니다. 최신 거래가 바로 필요할 때만 요청하세요.
|
|
57
|
+
|
|
58
|
+
Example:
|
|
59
|
+
bolta bank-account sync`)
|
|
60
|
+
.action(syncBankAccountsAction);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/bank-account/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAEpD,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qCAAqC,CAAC;SAClD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;0BASA,CAAC;SACtB,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAElC,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;SACvD,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;SACpD,MAAM,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;SACzE,MAAM,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;SACtE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;SACnD,MAAM,CAAC,OAAO,EAAE,4CAA4C,CAAC;SAC7D,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;yFAc+D,CAAC;SACrF,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAE7C,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2CAA2C,CAAC;SACxD,WAAW,CAAC,OAAO,EAAE;;;;;;;;0BAQA,CAAC;SACtB,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/bank-account/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAc9G"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createApiKeyClient } from '../../utils/client.js';
|
|
2
|
+
import { outputError, outputSuccess } from '../../utils/output.js';
|
|
3
|
+
export async function listBankAccountsAction(options, command) {
|
|
4
|
+
try {
|
|
5
|
+
const globalOpts = command.optsWithGlobals();
|
|
6
|
+
if (globalOpts.dryRun) {
|
|
7
|
+
outputSuccess({ dryRun: true, endpoint: 'GET /v1/bankAccounts' });
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const client = createApiKeyClient(globalOpts);
|
|
11
|
+
outputSuccess(await client.listBankAccounts());
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
outputError(err);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/bank-account/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAgC,EAAE,OAAgB;IAC7F,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAE7C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9C,aAAa,CAAC,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/commands/bank-account/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAc9G"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createApiKeyClient } from '../../utils/client.js';
|
|
2
|
+
import { outputError, outputSuccess } from '../../utils/output.js';
|
|
3
|
+
export async function syncBankAccountsAction(options, command) {
|
|
4
|
+
try {
|
|
5
|
+
const globalOpts = command.optsWithGlobals();
|
|
6
|
+
if (globalOpts.dryRun) {
|
|
7
|
+
outputSuccess({ dryRun: true, endpoint: 'POST /v1/bankAccounts:sync' });
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const client = createApiKeyClient(globalOpts);
|
|
11
|
+
outputSuccess(await client.requestBankAccountSync());
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
outputError(err);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/commands/bank-account/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAgC,EAAE,OAAgB;IAC7F,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAE7C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9C,aAAa,CAAC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
interface TransactionsOptions {
|
|
3
|
+
from?: string;
|
|
4
|
+
to?: string;
|
|
5
|
+
bankAccountId?: string;
|
|
6
|
+
type?: string;
|
|
7
|
+
cursor?: string;
|
|
8
|
+
limit?: string;
|
|
9
|
+
all?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function listBankAccountTransactionsAction(options: TransactionsOptions, command: Command): Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=transactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../src/commands/bank-account/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAgDf"}
|