@bolta-io/cli 0.2.0 → 0.4.0
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 +12 -0
- package/CLAUDE.md +36 -9
- package/README.md +43 -9
- package/dist/bin/bolta.js +2 -0
- package/dist/bin/bolta.js.map +1 -1
- package/dist/src/client/bolta-client.d.ts +14 -10
- package/dist/src/client/bolta-client.d.ts.map +1 -1
- package/dist/src/client/bolta-client.js +119 -43
- package/dist/src/client/bolta-client.js.map +1 -1
- package/dist/src/commands/business-status/check.d.ts +3 -0
- package/dist/src/commands/business-status/check.d.ts.map +1 -0
- package/dist/src/commands/business-status/check.js +25 -0
- package/dist/src/commands/business-status/check.js.map +1 -0
- package/dist/src/commands/business-status/index.d.ts +3 -0
- package/dist/src/commands/business-status/index.d.ts.map +1 -0
- package/dist/src/commands/business-status/index.js +22 -0
- package/dist/src/commands/business-status/index.js.map +1 -0
- package/dist/src/commands/guide/index.d.ts.map +1 -1
- package/dist/src/commands/guide/index.js +67 -2
- package/dist/src/commands/guide/index.js.map +1 -1
- package/dist/src/commands/invoice/amend.d.ts.map +1 -1
- package/dist/src/commands/invoice/amend.js +19 -6
- package/dist/src/commands/invoice/amend.js.map +1 -1
- package/dist/src/commands/invoice/index.d.ts.map +1 -1
- package/dist/src/commands/invoice/index.js +9 -5
- package/dist/src/commands/invoice/index.js.map +1 -1
- package/dist/src/commands/invoice/issue-request.d.ts.map +1 -1
- package/dist/src/commands/invoice/issue-request.js +3 -1
- package/dist/src/commands/invoice/issue-request.js.map +1 -1
- package/dist/src/commands/invoice/issue.d.ts.map +1 -1
- package/dist/src/commands/invoice/issue.js +3 -1
- package/dist/src/commands/invoice/issue.js.map +1 -1
- package/dist/src/commands/invoice/reference-id.d.ts +2 -0
- package/dist/src/commands/invoice/reference-id.d.ts.map +1 -0
- package/dist/src/commands/invoice/reference-id.js +8 -0
- package/dist/src/commands/invoice/reference-id.js.map +1 -0
- package/dist/src/commands/invoice/status.d.ts.map +1 -1
- package/dist/src/commands/invoice/status.js +4 -1
- package/dist/src/commands/invoice/status.js.map +1 -1
- package/dist/src/types/api.d.ts +17 -0
- package/dist/src/types/api.d.ts.map +1 -1
- package/dist/src/utils/errors.d.ts +1 -1
- package/dist/src/utils/errors.d.ts.map +1 -1
- package/dist/src/utils/errors.js +2 -2
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/validators/schemas.d.ts +8 -0
- package/dist/src/validators/schemas.d.ts.map +1 -1
- package/dist/src/validators/schemas.js +14 -0
- package/dist/src/validators/schemas.js.map +1 -1
- package/llms.txt +31 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @bolta-io/cli
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 4724e4c: 사업자등록번호 한 건의 등록 상태와 과세유형을 조회하는 `bolta business-status check` 명령과 `bolta guide business-status` 토픽을 추가합니다. 이 조회는 자동 재시도하지 않으며, 체크섬 불일치(`INVALID_BUSINESS_REGISTRATION_NUMBER`), 국세청 조회 불가(`LOOKUP_UNAVAILABLE`), 호출 한도 초과(`RATE_LIMITED`)에 맞는 안내를 붙입니다. 모든 요청에서 `Retry-After`가 30초를 넘으면 기다리지 않고 바로 429를 반환하고, 대기 시간은 `error.details.retryAfterSeconds`로 알려줍니다. `llms.txt`의 품목 최대 개수, 비고 길이, 설정 키 안내를 실제 검증 규칙에 맞췄습니다. 본문 없는 401 응답을 네트워크 오류로 오인해 재시도하던 문제를 고쳐, 잘못된 API 키가 `HTTP_401`(`config test`는 `AUTH_ERROR`)로 바로 실패합니다.
|
|
8
|
+
|
|
9
|
+
## 0.3.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 5f12b82: 세금계산서 수정발행 3종에 선택형 `--reference-id`를 추가하고, 모든 세금계산서 명령에서 요청자 관리번호를 앞뒤 공백 없는 출력 가능한 ASCII 1~255자로 검증합니다. 관리번호를 사용한 요청은 자동 재전송하지 않습니다. 손상된 응답처럼 접수 결과를 확인하지 못한 경우에는 `NETWORK_ERROR`와 함께 `invoice status`로 접수 여부를 확인하도록 안내합니다.
|
|
14
|
+
|
|
3
15
|
## 0.2.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/CLAUDE.md
CHANGED
|
@@ -46,7 +46,7 @@ bolta certificate status <issuerId>
|
|
|
46
46
|
|
|
47
47
|
3. **세금계산서 정발행**:
|
|
48
48
|
```bash
|
|
49
|
-
bolta invoice issue --data '{
|
|
49
|
+
bolta invoice issue --reference-id inv-2026-001 --data '{
|
|
50
50
|
"date": "2026-03-25",
|
|
51
51
|
"purpose": "CLAIM",
|
|
52
52
|
"taxType": "TAXABLE",
|
|
@@ -71,7 +71,14 @@ bolta invoice issue --data '{
|
|
|
71
71
|
}'
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
4.
|
|
74
|
+
4. **접수 여부 확인** (발행 응답을 받지 못한 경우):
|
|
75
|
+
```bash
|
|
76
|
+
bolta invoice status --reference-id inv-2026-001
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
같은 요청을 다시 보내지 마세요. 같은 API 키의 세금계산서 발행 계열에서는 요청자 관리번호를 재사용할 수 없습니다. 중복이면 API가 `400 INVALID_REQUEST`를 반환합니다.
|
|
80
|
+
|
|
81
|
+
5. **발행 결과 확인**:
|
|
75
82
|
```bash
|
|
76
83
|
bolta invoice get <issuanceKey>
|
|
77
84
|
```
|
|
@@ -98,6 +105,19 @@ bolta cash-receipt status --reference-id cash-2026-001
|
|
|
98
105
|
|
|
99
106
|
`202 Accepted`만으로 발행 성공으로 판단하지 마세요. `status`가 `ISSUED`인지 확인하세요.
|
|
100
107
|
|
|
108
|
+
### 사업자 상태 조회
|
|
109
|
+
|
|
110
|
+
거래처가 휴업이나 폐업 상태인지 발행 전에 확인할 때 씁니다. 발급자 등록과 인증서가 필요 없습니다.
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
bolta business-status check 1000000014
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
- `registration.status`: `ACTIVE`, `SUSPENDED`, `CLOSED`, `NOT_REGISTERED`, `UNKNOWN`
|
|
117
|
+
- `taxType`은 계속사업자일 때만 값이 있습니다(`GENERAL`, `SIMPLIFIED`, `TAX_FREE`, `NONPROFIT`, `OTHER_CORPORATION`). 세금계산서 요청의 `taxType`과 뜻이 다릅니다.
|
|
118
|
+
- 국세청 통신 실패는 `UNKNOWN`이 아니라 `503 LOOKUP_UNAVAILABLE`입니다.
|
|
119
|
+
- 라이브 키는 정상 조회 결과마다 포인트를 차감합니다. 테스트 키는 고정 번호 9개만 조회합니다(`bolta guide business-status`).
|
|
120
|
+
|
|
101
121
|
## 커맨드 빠른 참조
|
|
102
122
|
|
|
103
123
|
| 커맨드 | 설명 | 데이터 필요 |
|
|
@@ -107,16 +127,17 @@ bolta cash-receipt status --reference-id cash-2026-001
|
|
|
107
127
|
| `bolta certificate url <issuerId>` | 인증서 등록 URL | - |
|
|
108
128
|
| `bolta certificate status <issuerId>` | 인증서 상태 | - |
|
|
109
129
|
| `bolta certificate deregister <issuerId>` | 인증서 해제 | - |
|
|
110
|
-
| `bolta invoice issue` | 세금계산서 정발행 | --data |
|
|
111
|
-
| `bolta invoice issue-request` | 역발행 요청 | --data |
|
|
130
|
+
| `bolta invoice issue [--reference-id <id>]` | 세금계산서 정발행 | --data |
|
|
131
|
+
| `bolta invoice issue-request [--reference-id <id>]` | 역발행 요청 | --data |
|
|
112
132
|
| `bolta invoice get <issuanceKey>` | 세금계산서 조회 | - |
|
|
113
133
|
| `bolta invoice status --reference-id <id>` | 상태 조회 | - |
|
|
114
|
-
| `bolta invoice amend termination <key> --date <date
|
|
115
|
-
| `bolta invoice amend change-supply-cost <key
|
|
116
|
-
| `bolta invoice amend double-issuance <key
|
|
134
|
+
| `bolta invoice amend termination <key> --date <date> [--reference-id <id>]` | 수정: 계약해제 | - |
|
|
135
|
+
| `bolta invoice amend change-supply-cost <key> [--reference-id <id>]` | 수정: 가액변동 | --data |
|
|
136
|
+
| `bolta invoice amend double-issuance <key> [--reference-id <id>]` | 수정: 착오 이중발급 | - |
|
|
117
137
|
| `bolta cash-receipt issue --reference-id <id>` | 현금영수증 발행 | --data |
|
|
118
138
|
| `bolta cash-receipt status --reference-id <id>` | 현금영수증 상태 조회 | - |
|
|
119
139
|
| `bolta cash-receipt cancel <key> --reference-id <id>` | 현금영수증 전액 취소 | - |
|
|
140
|
+
| `bolta business-status check <사업자등록번호>` | 사업자 상태 조회 | - |
|
|
120
141
|
| `bolta config set <key> <value>` | 설정 | - |
|
|
121
142
|
| `bolta config show` | 설정 확인 | - |
|
|
122
143
|
| `bolta config test` | 연결 테스트 | - |
|
|
@@ -146,11 +167,15 @@ bolta cash-receipt status --reference-id cash-2026-001
|
|
|
146
167
|
| `AUTH_ERROR` | API 키 없음/잘못됨 | `bolta config set api-key <key>` |
|
|
147
168
|
| `VALIDATION_ERROR` | 입력 데이터 오류 | `bolta schema <command>`로 스키마 확인 |
|
|
148
169
|
| `INPUT_ERROR` | 명령어·옵션·입력 방식 오류 | `bolta --help` 또는 하위 명령의 `--help`로 사용법 확인 |
|
|
170
|
+
| `INVALID_REQUEST` | 세금계산서 요청 검증 실패 또는 요청자 관리번호 중복 | `error.message` 확인. 중복이면 `invoice status`로 기존 요청 확인 |
|
|
149
171
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
150
172
|
| `HTTP_400` | 잘못된 요청 | error.message 확인, 필수 필드 누락 체크 |
|
|
151
173
|
| `HTTP_404` | 리소스 없음 | issuanceKey/issuerId 확인 |
|
|
152
|
-
| `HTTP_429` | 요청 제한 초과 | 자동 재시도
|
|
153
|
-
| `
|
|
174
|
+
| `HTTP_429` | 요청 제한 초과 | 일반 요청은 자동 재시도(Retry-After 30초 이하). 관리번호가 있는 세금계산서 요청은 `invoice status`로 접수 여부 확인 |
|
|
175
|
+
| `RATE_LIMITED` | 사업자 상태 조회 24시간 한도 초과 | `error.details.retryAfterSeconds`초 뒤 다시 실행 |
|
|
176
|
+
| `INVALID_BUSINESS_REGISTRATION_NUMBER` | 사업자등록번호 체크섬 불일치 | 번호 확인 |
|
|
177
|
+
| `LOOKUP_UNAVAILABLE` | 국세청 사업자 상태 확인 불가 (포인트 미차감) | 잠시 후 다시 실행 |
|
|
178
|
+
| `NETWORK_ERROR` | 네트워크 오류 또는 응답 본문 읽기 실패 | 인터넷 연결 확인. 세금계산서 관리번호를 사용했다면 재전송하지 말고 `invoice status`로 접수 여부 확인 |
|
|
154
179
|
|
|
155
180
|
## 개발 명령어
|
|
156
181
|
|
|
@@ -172,4 +197,6 @@ npm test # 테스트 실행
|
|
|
172
197
|
- `taxType`이 TAX_FREE이면 모든 품목의 `tax`를 null로 설정하고, ZERO_RATE이면 0으로 설정
|
|
173
198
|
- 사업자등록번호는 하이픈 있어도 되고 없어도 됨 (자동 변환)
|
|
174
199
|
- 계약 해제(`amend termination`)는 원본 세금계산서의 품목 공급가액이 음수인 경우 사용 불가
|
|
200
|
+
- 세금계산서 `--reference-id`는 선택 사항이며 앞뒤 공백 없는 출력 가능한 ASCII 1~255자. 같은 API 키의 정발행·역발행·수정발행에서 재사용 불가
|
|
201
|
+
- 관리번호를 넣은 세금계산서 요청은 CLI가 자동 재전송하지 않음. 응답을 받지 못했거나 본문을 읽지 못하면 `invoice status`로 확인
|
|
175
202
|
- `--dry-run` 옵션으로 실제 API 호출 없이 요청 데이터 확인 가능
|
package/README.md
CHANGED
|
@@ -80,7 +80,7 @@ bolta certificate deregister <issuerId>
|
|
|
80
80
|
|
|
81
81
|
```bash
|
|
82
82
|
# 세금계산서 정발행
|
|
83
|
-
bolta invoice issue --data '{
|
|
83
|
+
bolta invoice issue --reference-id inv-2026-001 --data '{
|
|
84
84
|
"date": "2026-03-25",
|
|
85
85
|
"purpose": "CLAIM",
|
|
86
86
|
"taxType": "TAXABLE",
|
|
@@ -110,23 +110,27 @@ bolta invoice issue --data '{
|
|
|
110
110
|
bolta examples invoice-issue-foreign-supplied
|
|
111
111
|
|
|
112
112
|
# 세금계산서 역발행 요청 (공급받는자는 사업자등록번호만 허용)
|
|
113
|
-
bolta invoice issue-request --data '{...}'
|
|
113
|
+
bolta invoice issue-request --reference-id inv-2026-002 --data '{...}'
|
|
114
114
|
|
|
115
115
|
# 세금계산서 조회
|
|
116
116
|
bolta invoice get <issuanceKey>
|
|
117
117
|
|
|
118
|
-
# Client-Reference-Id로 상태 조회
|
|
118
|
+
# Bolta-Client-Reference-Id로 상태 조회
|
|
119
119
|
bolta invoice status --reference-id <id>
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
+
세금계산서의 `--reference-id`는 선택 사항입니다. 앞뒤 공백 없는 출력 가능한 ASCII 1~255자를 입력하세요. 같은 API 키의 정발행·역발행·수정발행에서 이미 사용한 값은 요청 내용이나 명령이 달라도 다시 사용할 수 없습니다. 중복이면 API가 `400 INVALID_REQUEST`를 반환합니다.
|
|
123
|
+
|
|
124
|
+
응답을 받지 못했거나 응답 본문을 읽지 못했다면 같은 요청을 다시 보내지 마세요. 요청에 사용한 값으로 `bolta invoice status --reference-id <id>`를 실행해 접수 여부를 확인하세요. 새 발행 요청에는 사용하지 않은 값을 입력합니다.
|
|
125
|
+
|
|
122
126
|
#### 수정발행
|
|
123
127
|
|
|
124
128
|
```bash
|
|
125
129
|
# 수정발행: 계약 해제
|
|
126
|
-
bolta invoice amend termination <issuanceKey> --date 2026-03-25
|
|
130
|
+
bolta invoice amend termination <issuanceKey> --date 2026-03-25 --reference-id amend-2026-001
|
|
127
131
|
|
|
128
132
|
# 수정발행: 공급가액 변동
|
|
129
|
-
bolta invoice amend change-supply-cost <issuanceKey> --data '{
|
|
133
|
+
bolta invoice amend change-supply-cost <issuanceKey> --reference-id amend-2026-002 --data '{
|
|
130
134
|
"date": "2026-03-25",
|
|
131
135
|
"taxType": "TAXABLE",
|
|
132
136
|
"items": [{
|
|
@@ -138,7 +142,7 @@ bolta invoice amend change-supply-cost <issuanceKey> --data '{
|
|
|
138
142
|
}'
|
|
139
143
|
|
|
140
144
|
# 수정발행: 착오에 의한 이중발급 (입력 데이터 불필요)
|
|
141
|
-
bolta invoice amend double-issuance <issuanceKey>
|
|
145
|
+
bolta invoice amend double-issuance <issuanceKey> --reference-id amend-2026-003
|
|
142
146
|
```
|
|
143
147
|
|
|
144
148
|
#### 현금영수증
|
|
@@ -178,6 +182,32 @@ bolta cash-receipt status --reference-id cash-2026-001-cancel
|
|
|
178
182
|
|
|
179
183
|
`PENDING`과 `REQUEST_SUCCESS`는 처리 중입니다. `ISSUED` 또는 `CANCELED` 상태를 확인한 뒤 성공으로 처리하세요. 부분 취소는 지원하지 않습니다.
|
|
180
184
|
|
|
185
|
+
#### 사업자 상태 조회
|
|
186
|
+
|
|
187
|
+
사업자등록번호 한 건의 등록 상태와 과세유형을 조회합니다. 발급자 등록과 공동인증서가 필요 없습니다.
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
bolta business-status check 1000000014
|
|
191
|
+
bolta business-status check 100-00-00014 # 하이픈 허용
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"success": true,
|
|
197
|
+
"data": {
|
|
198
|
+
"businessRegistrationNumber": "1000000014",
|
|
199
|
+
"registration": { "status": "ACTIVE", "closedOn": null },
|
|
200
|
+
"taxType": "GENERAL"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
- `registration.status`: `ACTIVE`(계속), `SUSPENDED`(휴업), `CLOSED`(폐업), `NOT_REGISTERED`(미등록), `UNKNOWN`(국세청이 준 기타 상태)
|
|
206
|
+
- `registration.closedOn`: 폐업자만 `YYYY-MM-DD`, 나머지는 `null`
|
|
207
|
+
- `taxType`: 계속사업자만 `GENERAL`, `SIMPLIFIED`, `TAX_FREE`, `NONPROFIT`, `OTHER_CORPORATION` 중 하나이고 나머지는 `null`입니다. 세금계산서 요청의 `taxType`과 뜻이 다릅니다.
|
|
208
|
+
|
|
209
|
+
국세청 통신 실패는 `UNKNOWN`이 아니라 `503 LOOKUP_UNAVAILABLE`입니다. 라이브 키는 정상 조회 결과마다 포인트를 차감하고, 호출 한도는 API 키 모드별 24시간 10,000회입니다. CLI는 이 조회를 자동 재시도하지 않습니다. 테스트 키로 조회할 수 있는 고정 번호는 `bolta guide business-status`로 확인하세요.
|
|
210
|
+
|
|
181
211
|
#### 설정
|
|
182
212
|
|
|
183
213
|
```bash
|
|
@@ -189,7 +219,7 @@ bolta config test # API 연결 테스트
|
|
|
189
219
|
#### 도움말
|
|
190
220
|
|
|
191
221
|
```bash
|
|
192
|
-
# 주요 개념 안내 (issuer, payment, workflow, cash-receipt, glossary)
|
|
222
|
+
# 주요 개념 안내 (issuer, payment, workflow, cash-receipt, business-status, glossary)
|
|
193
223
|
bolta guide [topic]
|
|
194
224
|
|
|
195
225
|
# 바로 쓸 수 있는 샘플 JSON
|
|
@@ -255,11 +285,15 @@ cat invoice.json | bolta invoice issue --stdin
|
|
|
255
285
|
| `AUTH_ERROR` | API 키 없음/잘못됨 | `bolta config set api-key <key>` |
|
|
256
286
|
| `VALIDATION_ERROR` | 입력 데이터 오류 | `bolta schema <command>`로 스키마 확인 |
|
|
257
287
|
| `INPUT_ERROR` | 명령어·옵션·입력 방식 오류 | `bolta --help` 또는 하위 명령의 `--help`로 사용법 확인 |
|
|
288
|
+
| `INVALID_REQUEST` | 세금계산서 요청 검증 실패 또는 요청자 관리번호 중복 | `error.message` 확인. 중복이면 `invoice status`로 기존 요청 확인 |
|
|
258
289
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
259
290
|
| `HTTP_400` | 잘못된 요청 | error.message 확인 |
|
|
260
291
|
| `HTTP_404` | 리소스 없음 | issuanceKey/issuerId 확인 |
|
|
261
|
-
| `HTTP_429` | 요청 제한 초과 | 자동 재시도
|
|
262
|
-
| `
|
|
292
|
+
| `HTTP_429` | 요청 제한 초과 | 일반 요청은 자동 재시도(Retry-After 30초 이하). 관리번호가 있는 세금계산서 요청은 `invoice status`로 접수 여부 확인 |
|
|
293
|
+
| `RATE_LIMITED` | 사업자 상태 조회 24시간 한도 초과 | `error.details.retryAfterSeconds`초 뒤 다시 실행 |
|
|
294
|
+
| `INVALID_BUSINESS_REGISTRATION_NUMBER` | 사업자등록번호 체크섬 불일치 | 번호 확인 |
|
|
295
|
+
| `LOOKUP_UNAVAILABLE` | 국세청 사업자 상태 확인 불가 (포인트 미차감) | 잠시 후 다시 실행 |
|
|
296
|
+
| `NETWORK_ERROR` | 네트워크 오류 또는 응답 본문 읽기 실패 | 인터넷 연결 확인. 세금계산서 관리번호를 사용했다면 재전송하지 말고 `invoice status`로 접수 여부 확인 |
|
|
263
297
|
|
|
264
298
|
---
|
|
265
299
|
|
package/dist/bin/bolta.js
CHANGED
|
@@ -11,6 +11,7 @@ import { registerUpdateCommands } from '../src/commands/update/index.js';
|
|
|
11
11
|
import { maybeNudgeUpdate, refreshUpdateCache, UPDATE_CACHE_COMMAND, } from '../src/commands/update/nudge.js';
|
|
12
12
|
import { registerGuideCommand } from '../src/commands/guide/index.js';
|
|
13
13
|
import { registerCashReceiptCommands } from '../src/commands/cash-receipt/index.js';
|
|
14
|
+
import { registerBusinessStatusCommands } from '../src/commands/business-status/index.js';
|
|
14
15
|
import { legacyIssuerWarning, outputError } from '../src/utils/output.js';
|
|
15
16
|
import { BoltaInputError } from '../src/utils/errors.js';
|
|
16
17
|
import { getCurrentVersion } from '../src/utils/version.js';
|
|
@@ -53,6 +54,7 @@ registerLegacyIssuerCommands(program);
|
|
|
53
54
|
registerCertificateCommands(program);
|
|
54
55
|
registerInvoiceCommands(program);
|
|
55
56
|
registerCashReceiptCommands(program);
|
|
57
|
+
registerBusinessStatusCommands(program);
|
|
56
58
|
registerConfigCommands(program);
|
|
57
59
|
registerExamplesCommand(program);
|
|
58
60
|
registerSchemaCommand(program);
|
package/dist/bin/bolta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolta.js","sourceRoot":"","sources":["../../bin/bolta.ts"],"names":[],"mappings":"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"}
|
|
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 } 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 } from '../types/api.js';
|
|
2
2
|
import { type LegacyIssuerHeader } from '../utils/legacy-issuer.js';
|
|
3
3
|
interface ClientConfig {
|
|
4
4
|
apiKey: string;
|
|
@@ -8,6 +8,9 @@ interface ClientConfig {
|
|
|
8
8
|
timeout?: number;
|
|
9
9
|
maxRetries?: number;
|
|
10
10
|
}
|
|
11
|
+
export interface TaxInvoiceRequestOptions {
|
|
12
|
+
referenceId?: string;
|
|
13
|
+
}
|
|
11
14
|
export declare class BoltaClient {
|
|
12
15
|
private readonly baseUrl;
|
|
13
16
|
private readonly encodedApiKey;
|
|
@@ -28,17 +31,13 @@ export declare class BoltaClient {
|
|
|
28
31
|
getCertificateUrl(issuerId: string): Promise<CertificateUrlResponse>;
|
|
29
32
|
getCertificateStatus(issuerId: string): Promise<CertificateStatusResponse>;
|
|
30
33
|
deregisterCertificate(issuerId: string): Promise<unknown>;
|
|
31
|
-
issueTaxInvoice(data: CreateTaxInvoiceRequest, options?:
|
|
32
|
-
|
|
33
|
-
}): Promise<IssuanceResponse>;
|
|
34
|
-
issueRequestTaxInvoice(data: CreateTaxInvoiceRequest, options?: {
|
|
35
|
-
referenceId?: string;
|
|
36
|
-
}): Promise<IssuanceResponse>;
|
|
34
|
+
issueTaxInvoice(data: CreateTaxInvoiceRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
35
|
+
issueRequestTaxInvoice(data: CreateTaxInvoiceRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
37
36
|
getTaxInvoice(issuanceKey: string): Promise<TaxInvoiceDetail>;
|
|
38
37
|
getTaxInvoiceStatus(clientReferenceId: string): Promise<StatusResponse>;
|
|
39
|
-
amendTermination(issuanceKey: string, data: AmendTerminationRequest): Promise<IssuanceResponse>;
|
|
40
|
-
amendChangeSupplyCost(issuanceKey: string, data: AmendChangeSupplyCostRequest): Promise<IssuanceResponse>;
|
|
41
|
-
amendDoubleIssuance(issuanceKey: string): Promise<IssuanceResponse>;
|
|
38
|
+
amendTermination(issuanceKey: string, data: AmendTerminationRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
39
|
+
amendChangeSupplyCost(issuanceKey: string, data: AmendChangeSupplyCostRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
40
|
+
amendDoubleIssuance(issuanceKey: string, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
42
41
|
issueCashReceipt(data: CreateCashReceiptRequest, options: {
|
|
43
42
|
referenceId: string;
|
|
44
43
|
}): Promise<IssuanceResponse>;
|
|
@@ -46,6 +45,11 @@ export declare class BoltaClient {
|
|
|
46
45
|
cancelCashReceipt(issuanceKey: string, options: {
|
|
47
46
|
referenceId: string;
|
|
48
47
|
}): Promise<CashReceiptCancellationResponse>;
|
|
48
|
+
/**
|
|
49
|
+
* 429는 24시간 한도, 503 LOOKUP_UNAVAILABLE은 국세청 조회 차단 상태라 즉시 재시도해도 결과가 같다.
|
|
50
|
+
* 조회는 다시 실행하면 되므로 한 번만 시도하고 실패를 바로 돌려준다.
|
|
51
|
+
*/
|
|
52
|
+
checkBusinessRegistrationStatus(data: BusinessRegistrationStatusCheckRequest): Promise<BusinessRegistrationStatusResponse>;
|
|
49
53
|
private request;
|
|
50
54
|
}
|
|
51
55
|
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,
|
|
1
|
+
{"version":3,"file":"bolta-client.d.ts","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { BoltaApiError, BoltaAuthError, BoltaNetworkError } from '../utils/error
|
|
|
2
2
|
import { verbose, maskSecret } from '../utils/output.js';
|
|
3
3
|
import { getCurrentVersion } from '../utils/version.js';
|
|
4
4
|
import { describeLegacyIssuerKeySource, } from '../utils/legacy-issuer.js';
|
|
5
|
+
/** Retry-After가 이보다 길면 기다리지 않고 바로 실패를 돌려준다. */
|
|
6
|
+
const MAX_RETRY_AFTER_MS = 30_000;
|
|
5
7
|
export class BoltaClient {
|
|
6
8
|
baseUrl;
|
|
7
9
|
encodedApiKey;
|
|
@@ -81,7 +83,7 @@ export class BoltaClient {
|
|
|
81
83
|
method: 'POST',
|
|
82
84
|
path: '/taxInvoices/issue',
|
|
83
85
|
body: data,
|
|
84
|
-
|
|
86
|
+
...taxInvoiceRequestPolicy(options),
|
|
85
87
|
});
|
|
86
88
|
}
|
|
87
89
|
async issueRequestTaxInvoice(data, options) {
|
|
@@ -89,7 +91,7 @@ export class BoltaClient {
|
|
|
89
91
|
method: 'POST',
|
|
90
92
|
path: '/taxInvoices/issueRequest',
|
|
91
93
|
body: data,
|
|
92
|
-
|
|
94
|
+
...taxInvoiceRequestPolicy(options),
|
|
93
95
|
});
|
|
94
96
|
}
|
|
95
97
|
async getTaxInvoice(issuanceKey) {
|
|
@@ -104,24 +106,27 @@ export class BoltaClient {
|
|
|
104
106
|
path: `/taxInvoices/issue/status?clientReferenceId=${encodeURIComponent(clientReferenceId)}`,
|
|
105
107
|
});
|
|
106
108
|
}
|
|
107
|
-
async amendTermination(issuanceKey, data) {
|
|
109
|
+
async amendTermination(issuanceKey, data, options) {
|
|
108
110
|
return this.request({
|
|
109
111
|
method: 'POST',
|
|
110
112
|
path: `/taxInvoices/${encodeURIComponent(issuanceKey)}/amend/termination`,
|
|
111
113
|
body: data,
|
|
114
|
+
...taxInvoiceRequestPolicy(options),
|
|
112
115
|
});
|
|
113
116
|
}
|
|
114
|
-
async amendChangeSupplyCost(issuanceKey, data) {
|
|
117
|
+
async amendChangeSupplyCost(issuanceKey, data, options) {
|
|
115
118
|
return this.request({
|
|
116
119
|
method: 'POST',
|
|
117
120
|
path: `/taxInvoices/${encodeURIComponent(issuanceKey)}/amend/changeSupplyCost`,
|
|
118
121
|
body: data,
|
|
122
|
+
...taxInvoiceRequestPolicy(options),
|
|
119
123
|
});
|
|
120
124
|
}
|
|
121
|
-
async amendDoubleIssuance(issuanceKey) {
|
|
125
|
+
async amendDoubleIssuance(issuanceKey, options) {
|
|
122
126
|
return this.request({
|
|
123
127
|
method: 'POST',
|
|
124
128
|
path: `/taxInvoices/${encodeURIComponent(issuanceKey)}/amend/doubleIssuance`,
|
|
129
|
+
...taxInvoiceRequestPolicy(options),
|
|
125
130
|
});
|
|
126
131
|
}
|
|
127
132
|
// ========================
|
|
@@ -149,6 +154,21 @@ export class BoltaClient {
|
|
|
149
154
|
});
|
|
150
155
|
}
|
|
151
156
|
// ========================
|
|
157
|
+
// Business Registration Status Methods
|
|
158
|
+
// ========================
|
|
159
|
+
/**
|
|
160
|
+
* 429는 24시간 한도, 503 LOOKUP_UNAVAILABLE은 국세청 조회 차단 상태라 즉시 재시도해도 결과가 같다.
|
|
161
|
+
* 조회는 다시 실행하면 되므로 한 번만 시도하고 실패를 바로 돌려준다.
|
|
162
|
+
*/
|
|
163
|
+
async checkBusinessRegistrationStatus(data) {
|
|
164
|
+
return this.request({
|
|
165
|
+
method: 'POST',
|
|
166
|
+
path: '/businessRegistrationStatuses:check',
|
|
167
|
+
body: data,
|
|
168
|
+
retry: 'none',
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
// ========================
|
|
152
172
|
// Internal Request Method
|
|
153
173
|
// ========================
|
|
154
174
|
async request(options) {
|
|
@@ -167,15 +187,19 @@ export class BoltaClient {
|
|
|
167
187
|
source: legacyIssuer.source,
|
|
168
188
|
});
|
|
169
189
|
}
|
|
170
|
-
if (options.referenceId) {
|
|
190
|
+
if (options.referenceId !== undefined) {
|
|
171
191
|
headers['Bolta-Client-Reference-Id'] = options.referenceId;
|
|
172
192
|
}
|
|
193
|
+
const maxAttempts = options.retry === 'none' ? 1 : this.maxRetries;
|
|
194
|
+
const statusSuggestion = options.failureSuggestion;
|
|
173
195
|
const legacyIssuerDetails = legacyIssuer
|
|
174
196
|
? { legacyIssuerKey: maskedLegacyIssuerKey, source: legacyIssuer.source, legacyHeader: true }
|
|
175
197
|
: undefined;
|
|
176
|
-
const makeApiError = (status, code, message) => new BoltaApiError(message, code, status, getSuggestion(status, code, { legacyIssuer }), status === 403
|
|
198
|
+
const makeApiError = (status, code, message, retryAfterSeconds) => new BoltaApiError(message, code, status, getSuggestion(status, code, { legacyIssuer, statusSuggestion, retryAfterSeconds }), status === 403
|
|
199
|
+
? legacyIssuerDetails
|
|
200
|
+
: retryAfterSeconds !== undefined ? { retryAfterSeconds } : undefined);
|
|
177
201
|
let lastError = null;
|
|
178
|
-
for (let attempt = 1; attempt <=
|
|
202
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
179
203
|
try {
|
|
180
204
|
verbose(`${options.method} ${url}`, { attempt, ...(options.body ? { body: '...' } : {}) });
|
|
181
205
|
const controller = new AbortController();
|
|
@@ -188,49 +212,60 @@ export class BoltaClient {
|
|
|
188
212
|
});
|
|
189
213
|
clearTimeout(timeoutId);
|
|
190
214
|
verbose(`Response ${response.status}`, { attempt });
|
|
215
|
+
// 재시도 지연과 오류 details에 같은 값을 쓴다.
|
|
216
|
+
const retryAfterSeconds = response.status === 429
|
|
217
|
+
? parseRetryAfterSeconds(response.headers.get('Retry-After'))
|
|
218
|
+
: undefined;
|
|
219
|
+
// 재시도할 응답은 본문이 손상됐더라도 먼저 재시도한다.
|
|
220
|
+
if (response.status === 429 && attempt < maxAttempts) {
|
|
221
|
+
const delay = retryAfterSeconds !== undefined ? retryAfterSeconds * 1000 : backoff(attempt);
|
|
222
|
+
if (delay <= MAX_RETRY_AFTER_MS) {
|
|
223
|
+
await response.body?.cancel().catch(() => undefined);
|
|
224
|
+
verbose(`Rate limited, retrying after ${delay}ms`);
|
|
225
|
+
await sleep(delay);
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
verbose(`Rate limited, Retry-After ${delay}ms exceeds ${MAX_RETRY_AFTER_MS}ms, not retrying`);
|
|
229
|
+
}
|
|
230
|
+
if (response.status >= 500 && attempt < maxAttempts) {
|
|
231
|
+
const delay = backoff(attempt);
|
|
232
|
+
await response.body?.cancel().catch(() => undefined);
|
|
233
|
+
verbose(`Server error ${response.status}, retrying after ${delay}ms`);
|
|
234
|
+
await sleep(delay);
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
191
237
|
// Parse response
|
|
192
238
|
let responseData;
|
|
193
239
|
const contentType = response.headers.get('content-type');
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
240
|
+
try {
|
|
241
|
+
if (response.status === 204) {
|
|
242
|
+
responseData = null;
|
|
243
|
+
}
|
|
244
|
+
else if (contentType?.includes('application/json')) {
|
|
245
|
+
responseData = await response.json();
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
const text = await response.text();
|
|
249
|
+
responseData = text ? { message: text } : null;
|
|
250
|
+
}
|
|
199
251
|
}
|
|
200
|
-
|
|
201
|
-
const
|
|
202
|
-
|
|
252
|
+
catch (error) {
|
|
253
|
+
const reason = error instanceof Error ? `: ${error.message}` : '';
|
|
254
|
+
throw new BoltaNetworkError(`응답 본문을 읽지 못했습니다${reason}`, statusSuggestion);
|
|
203
255
|
}
|
|
204
256
|
if (response.ok) {
|
|
205
257
|
return responseData;
|
|
206
258
|
}
|
|
207
259
|
// Handle errors
|
|
208
|
-
|
|
260
|
+
// 401은 본문 없이 오므로 responseData가 null일 수 있다. 여기서 던지면 TypeError가 네트워크 오류로 오인된다.
|
|
261
|
+
const errBody = typeof responseData === 'object' && responseData !== null ? responseData : {};
|
|
209
262
|
const code = errBody.code || `HTTP_${response.status}`;
|
|
210
263
|
const message = errBody.message || response.statusText || '알 수 없는 오류';
|
|
211
264
|
// Don't retry 4xx (except 429)
|
|
212
265
|
if (response.status >= 400 && response.status < 500 && response.status !== 429) {
|
|
213
|
-
throw makeApiError(response.status, code, message);
|
|
214
|
-
}
|
|
215
|
-
// 429: respect Retry-After
|
|
216
|
-
if (response.status === 429) {
|
|
217
|
-
const retryAfter = response.headers.get('Retry-After');
|
|
218
|
-
const parsed = retryAfter ? parseInt(retryAfter) : NaN;
|
|
219
|
-
const delay = Number.isFinite(parsed) ? parsed * 1000 : backoff(attempt);
|
|
220
|
-
if (attempt < this.maxRetries) {
|
|
221
|
-
verbose(`Rate limited, retrying after ${delay}ms`);
|
|
222
|
-
await sleep(delay);
|
|
223
|
-
continue;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
// 5xx: retry with backoff
|
|
227
|
-
if (response.status >= 500 && attempt < this.maxRetries) {
|
|
228
|
-
const delay = backoff(attempt);
|
|
229
|
-
verbose(`Server error ${response.status}, retrying after ${delay}ms`);
|
|
230
|
-
await sleep(delay);
|
|
231
|
-
continue;
|
|
266
|
+
throw makeApiError(response.status, code, message, retryAfterSeconds);
|
|
232
267
|
}
|
|
233
|
-
throw makeApiError(response.status, code, message);
|
|
268
|
+
throw makeApiError(response.status, code, message, retryAfterSeconds);
|
|
234
269
|
}
|
|
235
270
|
catch (error) {
|
|
236
271
|
if (error instanceof BoltaApiError)
|
|
@@ -239,8 +274,8 @@ export class BoltaClient {
|
|
|
239
274
|
const msg = error instanceof Error && error.name === 'AbortError'
|
|
240
275
|
? `요청 시간 초과 (${this.timeout}ms)`
|
|
241
276
|
: `네트워크 오류: ${error.message}`;
|
|
242
|
-
lastError = new BoltaNetworkError(msg);
|
|
243
|
-
if (attempt <
|
|
277
|
+
lastError = new BoltaNetworkError(msg, statusSuggestion);
|
|
278
|
+
if (attempt < maxAttempts) {
|
|
244
279
|
await sleep(backoff(attempt));
|
|
245
280
|
continue;
|
|
246
281
|
}
|
|
@@ -257,6 +292,12 @@ function backoff(attempt) {
|
|
|
257
292
|
const jitter = Math.random() * 0.1 * base;
|
|
258
293
|
return Math.min(base + jitter, 30_000);
|
|
259
294
|
}
|
|
295
|
+
/** Retry-After의 초 단위 값만 인정한다. HTTP-date 형식은 undefined로 둔다. */
|
|
296
|
+
function parseRetryAfterSeconds(header) {
|
|
297
|
+
if (header === null || !/^\s*\d+\s*$/.test(header))
|
|
298
|
+
return undefined;
|
|
299
|
+
return Number(header.trim());
|
|
300
|
+
}
|
|
260
301
|
function sleep(ms) {
|
|
261
302
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
262
303
|
}
|
|
@@ -276,10 +317,45 @@ function getSuggestion(status, code, ctx) {
|
|
|
276
317
|
}
|
|
277
318
|
if (status === 404)
|
|
278
319
|
return '요청한 리소스를 찾을 수 없습니다. ID/키를 확인하세요.';
|
|
279
|
-
if (
|
|
280
|
-
return
|
|
281
|
-
|
|
282
|
-
|
|
320
|
+
if (code === 'INVALID_REQUEST' && ctx?.statusSuggestion) {
|
|
321
|
+
return `error.message를 확인하세요. 관리번호 중복이면 ${ctx.statusSuggestion}`;
|
|
322
|
+
}
|
|
323
|
+
if (code === 'INVALID_BUSINESS_REGISTRATION_NUMBER') {
|
|
324
|
+
return '사업자등록번호 체크섬이 맞지 않습니다. 번호를 다시 확인하세요.';
|
|
325
|
+
}
|
|
326
|
+
if (code === 'LOOKUP_UNAVAILABLE') {
|
|
327
|
+
return '국세청 사업자 상태를 지금 확인할 수 없습니다. 포인트는 차감되지 않았습니다. 잠시 후 다시 시도하세요.';
|
|
328
|
+
}
|
|
329
|
+
if (status === 429) {
|
|
330
|
+
if (ctx?.statusSuggestion)
|
|
331
|
+
return ctx.statusSuggestion;
|
|
332
|
+
const retryAfterSeconds = ctx?.retryAfterSeconds;
|
|
333
|
+
const when = retryAfterSeconds !== undefined
|
|
334
|
+
? `${retryAfterSeconds}초 뒤(error.details.retryAfterSeconds)`
|
|
335
|
+
: '잠시 후';
|
|
336
|
+
if (code === 'RATE_LIMITED') {
|
|
337
|
+
return `호출 한도를 모두 사용했습니다. ${when} 다시 시도하세요.`;
|
|
338
|
+
}
|
|
339
|
+
return `요청 횟수 제한에 도달했습니다. ${when} 다시 시도하세요.`;
|
|
340
|
+
}
|
|
341
|
+
if (status >= 500) {
|
|
342
|
+
return ctx?.statusSuggestion ?? 'Bolta 서버 오류입니다. 잠시 후 다시 시도하세요.';
|
|
343
|
+
}
|
|
283
344
|
return `API 오류가 발생했습니다 (${code}).`;
|
|
284
345
|
}
|
|
346
|
+
/**
|
|
347
|
+
* 관리번호가 있는 세금계산서 요청은 중복 발행을 막기 위해 재전송하지 않고, 실패 시 상태 조회를 안내한다.
|
|
348
|
+
*/
|
|
349
|
+
function taxInvoiceRequestPolicy(options) {
|
|
350
|
+
if (options?.referenceId === undefined)
|
|
351
|
+
return {};
|
|
352
|
+
return {
|
|
353
|
+
referenceId: options.referenceId,
|
|
354
|
+
retry: 'none',
|
|
355
|
+
failureSuggestion: getTaxInvoiceStatusSuggestion(),
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
function getTaxInvoiceStatusSuggestion() {
|
|
359
|
+
return "같은 요청을 다시 보내지 마세요. 'bolta invoice status --reference-id <id>'에 요청에 사용한 관리번호를 입력해 접수 여부를 확인하세요. 새 발행 요청에는 사용하지 않은 reference-id를 사용하세요.";
|
|
360
|
+
}
|
|
285
361
|
//# sourceMappingURL=bolta-client.js.map
|
|
@@ -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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"}
|