@bolta-io/cli 0.0.14 → 0.0.16
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 +22 -14
- package/README.md +21 -14
- package/dist/bin/bolta.js +28 -4
- package/dist/bin/bolta.js.map +1 -1
- package/dist/src/client/bolta-client.d.ts +18 -13
- package/dist/src/client/bolta-client.d.ts.map +1 -1
- package/dist/src/client/bolta-client.js +43 -22
- package/dist/src/client/bolta-client.js.map +1 -1
- package/dist/src/commands/certificate/index.d.ts.map +1 -1
- package/dist/src/commands/certificate/index.js +24 -15
- package/dist/src/commands/certificate/index.js.map +1 -1
- package/dist/src/commands/config/index.d.ts.map +1 -1
- package/dist/src/commands/config/index.js +32 -11
- package/dist/src/commands/config/index.js.map +1 -1
- package/dist/src/commands/examples/index.d.ts.map +1 -1
- package/dist/src/commands/examples/index.js +6 -4
- package/dist/src/commands/examples/index.js.map +1 -1
- package/dist/src/commands/guide/index.d.ts.map +1 -1
- package/dist/src/commands/guide/index.js +22 -20
- package/dist/src/commands/guide/index.js.map +1 -1
- package/dist/src/commands/invoice/amend.js +10 -10
- package/dist/src/commands/invoice/amend.js.map +1 -1
- package/dist/src/commands/invoice/issue-request.js +4 -4
- package/dist/src/commands/invoice/issue-request.js.map +1 -1
- package/dist/src/commands/invoice/issue.js +4 -4
- package/dist/src/commands/invoice/issue.js.map +1 -1
- package/dist/src/commands/schema/index.d.ts.map +1 -1
- package/dist/src/commands/schema/index.js +4 -2
- package/dist/src/commands/schema/index.js.map +1 -1
- package/dist/src/commands/{customer → supplier}/create.d.ts +1 -1
- package/dist/src/commands/{customer → supplier}/create.d.ts.map +1 -1
- package/dist/src/commands/{customer → supplier}/create.js +6 -6
- package/dist/src/commands/{customer → supplier}/create.js.map +1 -1
- package/dist/src/commands/{customer → supplier}/get.d.ts +1 -1
- package/dist/src/commands/{customer → supplier}/get.d.ts.map +1 -1
- package/dist/src/commands/{customer → supplier}/get.js +2 -2
- package/dist/src/commands/{customer → supplier}/get.js.map +1 -1
- package/dist/src/commands/supplier/index.d.ts +3 -0
- package/dist/src/commands/supplier/index.d.ts.map +1 -0
- package/dist/src/commands/supplier/index.js +56 -0
- package/dist/src/commands/supplier/index.js.map +1 -0
- package/dist/src/commands/supplier/legacy-customer.d.ts +5 -0
- package/dist/src/commands/supplier/legacy-customer.d.ts.map +1 -0
- package/dist/src/commands/supplier/legacy-customer.js +56 -0
- package/dist/src/commands/supplier/legacy-customer.js.map +1 -0
- package/dist/src/config/config-manager.d.ts +1 -1
- package/dist/src/config/config-manager.d.ts.map +1 -1
- package/dist/src/config/config-manager.js +23 -2
- package/dist/src/config/config-manager.js.map +1 -1
- package/dist/src/types/api.d.ts +20 -2
- package/dist/src/types/api.d.ts.map +1 -1
- package/dist/src/utils/output.d.ts +10 -0
- package/dist/src/utils/output.d.ts.map +1 -1
- package/dist/src/utils/output.js +23 -0
- package/dist/src/utils/output.js.map +1 -1
- package/dist/src/validators/schemas.d.ts +1 -1
- package/dist/src/validators/schemas.d.ts.map +1 -1
- package/dist/src/validators/schemas.js +63 -48
- package/dist/src/validators/schemas.js.map +1 -1
- package/llms.txt +30 -26
- package/package.json +1 -1
- package/dist/src/commands/customer/index.d.ts +0 -3
- package/dist/src/commands/customer/index.d.ts.map +0 -1
- package/dist/src/commands/customer/index.js +0 -29
- package/dist/src/commands/customer/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @bolta-io/cli
|
|
2
2
|
|
|
3
|
+
## 0.0.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a22a3fb: 전자세금계산서 발행 입력 검증을 국세청 XML 전송 제한에 맞춰 갱신했습니다.
|
|
8
|
+
|
|
9
|
+
## 0.0.15
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 96f36e1: CLI 전반의 customer 개념을 supplier와 supplierKey 중심으로 정리했습니다. 기존 customer 명령과 `--customer-key`, `BOLTA_CUSTOMER_KEY`는 하위 호환성을 위해 deprecated 상태로 유지하며, 인증서와 세금계산서 명령은 Supplier Key 사용 흐름을 기준으로 안내합니다.
|
|
14
|
+
|
|
3
15
|
## 0.0.14
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/CLAUDE.md
CHANGED
|
@@ -7,22 +7,24 @@
|
|
|
7
7
|
```bash
|
|
8
8
|
# 인증 설정 (환경변수)
|
|
9
9
|
export BOLTA_API_KEY="test_your_key"
|
|
10
|
-
export
|
|
10
|
+
export BOLTA_SUPPLIER_KEY="SupplierKey_abc123"
|
|
11
11
|
|
|
12
12
|
# 또는 config 명령어로 설정
|
|
13
13
|
bolta config set api-key test_your_key
|
|
14
|
-
bolta config set
|
|
14
|
+
bolta config set supplier-key SupplierKey_abc123
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
## 핵심 개념:
|
|
17
|
+
## 핵심 개념: Supplier Key (중요!)
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
supplierKey는 세금계산서를 발행하는 **공급자 본인**을 식별하는 키입니다.
|
|
20
20
|
|
|
21
|
-
- 획득: 공급자의 사업자 정보로 `bolta
|
|
22
|
-
- 설정: `bolta config set
|
|
21
|
+
- 획득: 공급자의 사업자 정보로 `bolta supplier create` 호출 → 응답의 supplierKey
|
|
22
|
+
- 설정: `bolta config set supplier-key <값>` 또는 `BOLTA_SUPPLIER_KEY` 환경변수
|
|
23
23
|
- API 키 단위로 독립 관리 (test_/live_ 키별로 별도 생성 필요, 상호 호환 안 됨)
|
|
24
24
|
|
|
25
|
-
**주의:
|
|
25
|
+
**주의: Supplier-Key에 공급받는자의 키를 넣지 마세요.** 거래처(공급받는자) 정보는 세금계산서 JSON의 `supplied` 필드에 포함합니다.
|
|
26
|
+
|
|
27
|
+
> 구 명칭 `customer`(명령어·`--customer-key`·`BOLTA_CUSTOMER_KEY`·`config set customer-key`)는 deprecated이며 당분간 동작합니다(경고 출력).
|
|
26
28
|
|
|
27
29
|
## 요금 안내
|
|
28
30
|
|
|
@@ -36,14 +38,14 @@ Bolta API는 **사전 충전 포인트 차감 방식** 유료 서비스입니다
|
|
|
36
38
|
|
|
37
39
|
### 세금계산서 발행 (가장 일반적인 업무)
|
|
38
40
|
|
|
39
|
-
1.
|
|
41
|
+
1. **공급자 등록** (최초 1회):
|
|
40
42
|
```bash
|
|
41
|
-
bolta
|
|
43
|
+
bolta supplier create --data '{"identificationNumber":"1234567890","organizationName":"주식회사 테스트","representativeName":"홍길동"}'
|
|
42
44
|
```
|
|
43
45
|
|
|
44
46
|
2. **인증서 확인** (정발행 시 공급자 인증서 필요):
|
|
45
47
|
```bash
|
|
46
|
-
bolta certificate status
|
|
48
|
+
bolta certificate status SupplierKey_abc123
|
|
47
49
|
```
|
|
48
50
|
|
|
49
51
|
3. **세금계산서 정발행**:
|
|
@@ -81,8 +83,8 @@ bolta invoice get <issuanceKey>
|
|
|
81
83
|
|
|
82
84
|
| 커맨드 | 설명 | 데이터 필요 |
|
|
83
85
|
|--------|------|------------|
|
|
84
|
-
| `bolta
|
|
85
|
-
| `bolta
|
|
86
|
+
| `bolta supplier create` | 공급자 생성 | --data |
|
|
87
|
+
| `bolta supplier get <key>` | 공급자 조회 | - |
|
|
86
88
|
| `bolta certificate url <key>` | 인증서 등록 URL | - |
|
|
87
89
|
| `bolta certificate status <key>` | 인증서 상태 | - |
|
|
88
90
|
| `bolta certificate deregister <key>` | 인증서 해제 | - |
|
|
@@ -100,6 +102,8 @@ bolta invoice get <issuanceKey>
|
|
|
100
102
|
| `bolta schema [command]` | 입력 스키마 | - |
|
|
101
103
|
| `bolta guide [topic]` | 주요 개념 안내 | - |
|
|
102
104
|
|
|
105
|
+
> 인증서 명령의 `<key>`에는 신규 supplierKey를 쓰세요. deprecated `CustomerKey_` 키도 당분간 동작합니다.
|
|
106
|
+
|
|
103
107
|
## 입력 방법
|
|
104
108
|
|
|
105
109
|
데이터가 필요한 커맨드에서 3가지 방식 지원:
|
|
@@ -124,7 +128,7 @@ bolta invoice get <issuanceKey>
|
|
|
124
128
|
| `INPUT_ERROR` | 입력 방식 오류 | `--data`, `--file`, `--stdin` 중 하나 사용 |
|
|
125
129
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
126
130
|
| `HTTP_400` | 잘못된 요청 | error.message 확인, 필수 필드 누락 체크 |
|
|
127
|
-
| `HTTP_404` | 리소스 없음 | issuanceKey/
|
|
131
|
+
| `HTTP_404` | 리소스 없음 | issuanceKey/supplierKey 확인 |
|
|
128
132
|
| `HTTP_429` | 요청 제한 초과 | 자동 재시도 (최대 3회) |
|
|
129
133
|
| `NETWORK_ERROR` | 네트워크 오류 | 인터넷 연결 확인 |
|
|
130
134
|
|
|
@@ -139,7 +143,11 @@ npm test # 테스트 실행
|
|
|
139
143
|
## 주의사항
|
|
140
144
|
|
|
141
145
|
- `purpose`: CLAIM(청구용) 또는 RECEIPT(영수용)
|
|
142
|
-
- `items`: 최소 1개, 최대
|
|
146
|
+
- `items`: 최소 1개, 최대 16개
|
|
147
|
+
- `items[].specification`: 최대 60자
|
|
148
|
+
- 상호명은 최대 70자, 대표자명과 담당자 이름은 최대 30자
|
|
149
|
+
- 업태, 종목, 담당자 이메일은 최대 40자
|
|
150
|
+
- 주소와 세금계산서 비고는 최대 150자
|
|
143
151
|
- `tax`를 null로 설정하면 면세
|
|
144
152
|
- 사업자등록번호는 하이픈 있어도 되고 없어도 됨 (자동 변환)
|
|
145
153
|
- 계약 해제(`amend termination`)는 원본 세금계산서의 품목 공급가액이 음수인 경우 사용 불가
|
package/README.md
CHANGED
|
@@ -35,11 +35,11 @@ Bolta API를 사용하려면 API 키가 필요합니다. 환경변수 또는 CLI
|
|
|
35
35
|
```bash
|
|
36
36
|
# 방법 1: 환경변수 (권장)
|
|
37
37
|
export BOLTA_API_KEY="test_your_key"
|
|
38
|
-
export
|
|
38
|
+
export BOLTA_SUPPLIER_KEY="SupplierKey_abc123"
|
|
39
39
|
|
|
40
40
|
# 방법 2: CLI 명령 (영구 저장 - ~/.bolta/config.json)
|
|
41
41
|
bolta config set api-key test_your_key
|
|
42
|
-
bolta config set
|
|
42
|
+
bolta config set supplier-key SupplierKey_abc123
|
|
43
43
|
|
|
44
44
|
# 연결 테스트
|
|
45
45
|
bolta config test
|
|
@@ -49,33 +49,37 @@ bolta config test
|
|
|
49
49
|
|
|
50
50
|
### 커맨드 전체 목록
|
|
51
51
|
|
|
52
|
-
####
|
|
52
|
+
#### 공급자 관리
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
#
|
|
56
|
-
bolta
|
|
55
|
+
# 공급자 생성
|
|
56
|
+
bolta supplier create --data '{
|
|
57
57
|
"identificationNumber": "1234567890",
|
|
58
58
|
"organizationName": "주식회사 테스트",
|
|
59
59
|
"representativeName": "홍길동"
|
|
60
60
|
}'
|
|
61
61
|
|
|
62
|
-
#
|
|
63
|
-
bolta
|
|
62
|
+
# 공급자 조회
|
|
63
|
+
bolta supplier get <supplierKey>
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
> 구 `customer` 명령(`bolta customer ...`)은 deprecated이며 당분간 동작합니다(경고 출력).
|
|
67
|
+
|
|
66
68
|
#### 인증서 관리
|
|
67
69
|
|
|
68
70
|
```bash
|
|
69
71
|
# 인증서 등록 URL 조회
|
|
70
|
-
bolta certificate url <
|
|
72
|
+
bolta certificate url <supplierKey>
|
|
71
73
|
|
|
72
74
|
# 인증서 등록 상태 조회
|
|
73
|
-
bolta certificate status <
|
|
75
|
+
bolta certificate status <supplierKey>
|
|
74
76
|
|
|
75
77
|
# 인증서 해제
|
|
76
|
-
bolta certificate deregister <
|
|
78
|
+
bolta certificate deregister <supplierKey>
|
|
77
79
|
```
|
|
78
80
|
|
|
81
|
+
> deprecated `CustomerKey_` 키도 인증서 명령에서 당분간 사용할 수 있습니다.
|
|
82
|
+
|
|
79
83
|
#### 세금계산서 발행/조회
|
|
80
84
|
|
|
81
85
|
```bash
|
|
@@ -142,7 +146,7 @@ bolta invoice amend double-issuance <issuanceKey>
|
|
|
142
146
|
#### 설정
|
|
143
147
|
|
|
144
148
|
```bash
|
|
145
|
-
bolta config set <key> <value> # api-key,
|
|
149
|
+
bolta config set <key> <value> # api-key, supplier-key, base-url
|
|
146
150
|
bolta config show # 현재 설정 확인
|
|
147
151
|
bolta config test # API 연결 테스트
|
|
148
152
|
```
|
|
@@ -150,7 +154,7 @@ bolta config test # API 연결 테스트
|
|
|
150
154
|
#### 도움말
|
|
151
155
|
|
|
152
156
|
```bash
|
|
153
|
-
# 주요 개념 안내 (
|
|
157
|
+
# 주요 개념 안내 (supplier-key, payment, workflow, glossary)
|
|
154
158
|
bolta guide [topic]
|
|
155
159
|
|
|
156
160
|
# 바로 쓸 수 있는 샘플 JSON
|
|
@@ -160,6 +164,8 @@ bolta examples [command]
|
|
|
160
164
|
bolta schema [command]
|
|
161
165
|
```
|
|
162
166
|
|
|
167
|
+
`invoice issue`, `invoice issue-request`, `amend change-supply-cost` 입력은 국세청 XML 전송 제한에 맞춰 로컬에서 먼저 검증됩니다. 필드별 길이 제한은 `bolta schema invoice-issue`로 확인할 수 있습니다.
|
|
168
|
+
|
|
163
169
|
#### 업데이트
|
|
164
170
|
|
|
165
171
|
```bash
|
|
@@ -190,7 +196,8 @@ cat invoice.json | bolta invoice issue --stdin
|
|
|
190
196
|
| 옵션 | 설명 |
|
|
191
197
|
|------|------|
|
|
192
198
|
| `--api-key <key>` | API 키 오버라이드 |
|
|
193
|
-
| `--
|
|
199
|
+
| `--supplier-key <key>` | Supplier Key 오버라이드 |
|
|
200
|
+
| `--customer-key <key>` | (deprecated) `--supplier-key`를 사용하세요 |
|
|
194
201
|
| `--verbose` | 상세 로그 출력 (stderr) |
|
|
195
202
|
| `--dry-run` | API 호출 없이 요청 데이터만 출력 |
|
|
196
203
|
|
|
@@ -215,7 +222,7 @@ cat invoice.json | bolta invoice issue --stdin
|
|
|
215
222
|
| `INPUT_ERROR` | 입력 방식 오류 | `--data`, `--file`, `--stdin` 중 하나 사용 |
|
|
216
223
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
217
224
|
| `HTTP_400` | 잘못된 요청 | error.message 확인 |
|
|
218
|
-
| `HTTP_404` | 리소스 없음 | issuanceKey/
|
|
225
|
+
| `HTTP_404` | 리소스 없음 | issuanceKey/supplierKey 확인 |
|
|
219
226
|
| `HTTP_429` | 요청 제한 초과 | 자동 재시도 (최대 3회) |
|
|
220
227
|
| `NETWORK_ERROR` | 네트워크 오류 | 인터넷 연결 확인 |
|
|
221
228
|
|
package/dist/bin/bolta.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import {
|
|
3
|
+
import { registerSupplierCommands } from '../src/commands/supplier/index.js';
|
|
4
4
|
import { registerCertificateCommands } from '../src/commands/certificate/index.js';
|
|
5
5
|
import { registerInvoiceCommands } from '../src/commands/invoice/index.js';
|
|
6
6
|
import { registerConfigCommands } from '../src/commands/config/index.js';
|
|
@@ -8,7 +8,7 @@ import { registerExamplesCommand } from '../src/commands/examples/index.js';
|
|
|
8
8
|
import { registerSchemaCommand } from '../src/commands/schema/index.js';
|
|
9
9
|
import { registerUpdateCommands } from '../src/commands/update/index.js';
|
|
10
10
|
import { registerGuideCommand } from '../src/commands/guide/index.js';
|
|
11
|
-
import { outputError } from '../src/utils/output.js';
|
|
11
|
+
import { outputError, deprecationWarning } from '../src/utils/output.js';
|
|
12
12
|
import { getCurrentVersion, fetchLatestVersion, isUpdateAvailable } from '../src/utils/version.js';
|
|
13
13
|
import { loadConfig, saveConfig } from '../src/config/config-manager.js';
|
|
14
14
|
const program = new Command();
|
|
@@ -17,7 +17,8 @@ program
|
|
|
17
17
|
.description('Bolta API CLI - 전자세금계산서 발행/조회/관리 도구 (AI 에이전트 최적화)')
|
|
18
18
|
.version(getCurrentVersion())
|
|
19
19
|
.option('--api-key <key>', 'Bolta API 키 (환경변수 BOLTA_API_KEY 대체)')
|
|
20
|
-
.option('--
|
|
20
|
+
.option('--supplier-key <key>', 'Supplier Key (환경변수 BOLTA_SUPPLIER_KEY 대체)')
|
|
21
|
+
.option('--customer-key <key>', '(deprecated) --supplier-key를 사용하세요')
|
|
21
22
|
.option('--verbose', '상세 로그 출력 (stderr)', false)
|
|
22
23
|
.option('--dry-run', 'API 호출 없이 요청 데이터만 출력', false)
|
|
23
24
|
.hook('preAction', (thisCommand, actionCommand) => {
|
|
@@ -25,10 +26,11 @@ program
|
|
|
25
26
|
if (opts.verbose) {
|
|
26
27
|
process.env.BOLTA_VERBOSE = '1';
|
|
27
28
|
}
|
|
29
|
+
warnDeprecatedUsage();
|
|
28
30
|
checkFirstRun(actionCommand);
|
|
29
31
|
checkForUpdateInBackground(actionCommand);
|
|
30
32
|
});
|
|
31
|
-
|
|
33
|
+
registerSupplierCommands(program);
|
|
32
34
|
registerCertificateCommands(program);
|
|
33
35
|
registerInvoiceCommands(program);
|
|
34
36
|
registerConfigCommands(program);
|
|
@@ -36,6 +38,28 @@ registerExamplesCommand(program);
|
|
|
36
38
|
registerSchemaCommand(program);
|
|
37
39
|
registerUpdateCommands(program);
|
|
38
40
|
registerGuideCommand(program);
|
|
41
|
+
// 값을 받는 전역 옵션(공백 구분 형태일 때 다음 토큰을 값으로 소비)
|
|
42
|
+
const GLOBAL_VALUE_OPTIONS = new Set(['--api-key', '--supplier-key', '--customer-key']);
|
|
43
|
+
function warnDeprecatedUsage() {
|
|
44
|
+
// 구 명령어 'customer'를 alias로 사용한 경우 경고.
|
|
45
|
+
// 첫 번째 위치 인자(=명령어)만 검사해 데이터 값에 'customer'가 들어가도 오탐하지 않는다.
|
|
46
|
+
// (--customer-key 플래그/BOLTA_CUSTOMER_KEY/config customer-key는 resolveSupplierKey에서 경고)
|
|
47
|
+
const argv = process.argv.slice(2);
|
|
48
|
+
for (let i = 0; i < argv.length; i++) {
|
|
49
|
+
const token = argv[i];
|
|
50
|
+
if (GLOBAL_VALUE_OPTIONS.has(token)) {
|
|
51
|
+
i++; // 옵션 값 건너뛰기
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (token.startsWith('-'))
|
|
55
|
+
continue; // boolean 플래그(--verbose 등)
|
|
56
|
+
// 첫 위치 인자 = 명령어
|
|
57
|
+
if (token === 'customer') {
|
|
58
|
+
deprecationWarning("'customer' 명령어는 'supplier'로 변경되었습니다. 'bolta supplier ...'를 사용하세요.");
|
|
59
|
+
}
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
39
63
|
function checkFirstRun(actionCommand) {
|
|
40
64
|
const commandName = actionCommand.name();
|
|
41
65
|
const parentName = actionCommand.parent?.name();
|
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,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,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,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"bolta.js","sourceRoot":"","sources":["../../bin/bolta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,41 @@
|
|
|
1
|
-
import type { CreateTaxInvoiceRequest, IssuanceResponse, TaxInvoiceDetail, StatusResponse, AmendTerminationRequest, AmendChangeSupplyCostRequest, CreateCustomerRequest,
|
|
1
|
+
import type { CreateTaxInvoiceRequest, IssuanceResponse, TaxInvoiceDetail, StatusResponse, AmendTerminationRequest, AmendChangeSupplyCostRequest, CreateSupplierRequest, SupplierResponse, CreateCustomerRequest, LegacyCustomerResponse, CertificateUrlResponse } from '../types/api.js';
|
|
2
2
|
interface ClientConfig {
|
|
3
3
|
apiKey: string;
|
|
4
4
|
baseUrl: string;
|
|
5
|
-
|
|
5
|
+
supplierKey?: string;
|
|
6
6
|
timeout?: number;
|
|
7
7
|
maxRetries?: number;
|
|
8
8
|
}
|
|
9
9
|
export declare class BoltaClient {
|
|
10
10
|
private readonly baseUrl;
|
|
11
11
|
private readonly encodedApiKey;
|
|
12
|
-
private readonly
|
|
12
|
+
private readonly supplierKey?;
|
|
13
13
|
private readonly timeout;
|
|
14
14
|
private readonly maxRetries;
|
|
15
15
|
constructor(config: ClientConfig);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
createSupplier(data: CreateSupplierRequest): Promise<SupplierResponse>;
|
|
17
|
+
getSupplier(supplierKey: string): Promise<SupplierResponse>;
|
|
18
|
+
/** @deprecated 신규 코드에서는 createSupplier를 사용하세요. */
|
|
19
|
+
createCustomer(data: CreateCustomerRequest): Promise<LegacyCustomerResponse>;
|
|
20
|
+
/** @deprecated 신규 코드에서는 getSupplier를 사용하세요. */
|
|
21
|
+
getCustomer(customerKey: string): Promise<LegacyCustomerResponse>;
|
|
22
|
+
getCertificateUrl(supplierKey: string): Promise<CertificateUrlResponse>;
|
|
23
|
+
getCertificateStatus(supplierKey: string): Promise<unknown>;
|
|
24
|
+
deregisterCertificate(supplierKey: string): Promise<unknown>;
|
|
21
25
|
issueTaxInvoice(data: CreateTaxInvoiceRequest, options?: {
|
|
22
|
-
|
|
26
|
+
supplierKey?: string;
|
|
23
27
|
referenceId?: string;
|
|
24
28
|
}): Promise<IssuanceResponse>;
|
|
25
29
|
issueRequestTaxInvoice(data: CreateTaxInvoiceRequest, options?: {
|
|
26
|
-
|
|
30
|
+
supplierKey?: string;
|
|
27
31
|
referenceId?: string;
|
|
28
32
|
}): Promise<IssuanceResponse>;
|
|
29
33
|
getTaxInvoice(issuanceKey: string): Promise<TaxInvoiceDetail>;
|
|
30
34
|
getTaxInvoiceStatus(clientReferenceId: string): Promise<StatusResponse>;
|
|
31
|
-
amendTermination(issuanceKey: string, data: AmendTerminationRequest,
|
|
32
|
-
amendChangeSupplyCost(issuanceKey: string, data: AmendChangeSupplyCostRequest,
|
|
33
|
-
amendDoubleIssuance(issuanceKey: string,
|
|
35
|
+
amendTermination(issuanceKey: string, data: AmendTerminationRequest, supplierKey?: string): Promise<IssuanceResponse>;
|
|
36
|
+
amendChangeSupplyCost(issuanceKey: string, data: AmendChangeSupplyCostRequest, supplierKey?: string): Promise<IssuanceResponse>;
|
|
37
|
+
amendDoubleIssuance(issuanceKey: string, supplierKey?: string): Promise<IssuanceResponse>;
|
|
38
|
+
private certificatePath;
|
|
34
39
|
private request;
|
|
35
40
|
}
|
|
36
41
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolta-client.d.ts","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"bolta-client.d.ts","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAOzB,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,MAAM,EAAE,YAAY;IAgB1B,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAItE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQjE,kDAAkD;IAC5C,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIlF,+CAA+C;IACzC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAWjE,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAOvE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3D,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW5D,eAAe,CACnB,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,gBAAgB,CAAC;IAUtB,sBAAsB,CAC1B,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,gBAAgB,CAAC;IAUtB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAO7D,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOvE,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,uBAAuB,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAStB,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,4BAA4B,EAClC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAStB,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAY5B,OAAO,CAAC,eAAe;YAQT,OAAO;CAwGtB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { BoltaApiError, BoltaAuthError, BoltaNetworkError } from '../utils/errors.js';
|
|
2
|
-
import { verbose } from '../utils/output.js';
|
|
2
|
+
import { deprecationWarning, verbose } from '../utils/output.js';
|
|
3
3
|
import { getCurrentVersion } from '../utils/version.js';
|
|
4
|
+
const DEPRECATED_CUSTOMER_KEY_PREFIX = 'CustomerKey_';
|
|
4
5
|
export class BoltaClient {
|
|
5
6
|
baseUrl;
|
|
6
7
|
encodedApiKey;
|
|
7
|
-
|
|
8
|
+
supplierKey;
|
|
8
9
|
timeout;
|
|
9
10
|
maxRetries;
|
|
10
11
|
constructor(config) {
|
|
@@ -13,38 +14,52 @@ export class BoltaClient {
|
|
|
13
14
|
}
|
|
14
15
|
this.baseUrl = config.baseUrl.replace(/\/+$/, '');
|
|
15
16
|
this.encodedApiKey = Buffer.from(`${config.apiKey}:`).toString('base64');
|
|
16
|
-
this.
|
|
17
|
+
this.supplierKey = config.supplierKey;
|
|
17
18
|
this.timeout = config.timeout ?? 30_000;
|
|
18
19
|
this.maxRetries = config.maxRetries ?? 3;
|
|
19
20
|
}
|
|
20
21
|
// ========================
|
|
21
|
-
//
|
|
22
|
+
// Supplier Methods
|
|
22
23
|
// ========================
|
|
24
|
+
async createSupplier(data) {
|
|
25
|
+
return this.request({ method: 'POST', path: '/suppliers', body: data });
|
|
26
|
+
}
|
|
27
|
+
async getSupplier(supplierKey) {
|
|
28
|
+
return this.request({ method: 'GET', path: `/suppliers/${encodeURIComponent(supplierKey)}` });
|
|
29
|
+
}
|
|
30
|
+
// ========================
|
|
31
|
+
// Legacy Customer Methods
|
|
32
|
+
// ========================
|
|
33
|
+
/** @deprecated 신규 코드에서는 createSupplier를 사용하세요. */
|
|
23
34
|
async createCustomer(data) {
|
|
24
35
|
return this.request({ method: 'POST', path: '/customers', body: data });
|
|
25
36
|
}
|
|
37
|
+
/** @deprecated 신규 코드에서는 getSupplier를 사용하세요. */
|
|
26
38
|
async getCustomer(customerKey) {
|
|
27
|
-
return this.request({
|
|
39
|
+
return this.request({
|
|
40
|
+
method: 'GET',
|
|
41
|
+
path: `/customers/${encodeURIComponent(customerKey)}`,
|
|
42
|
+
});
|
|
28
43
|
}
|
|
29
44
|
// ========================
|
|
30
45
|
// Certificate Methods
|
|
31
46
|
// ========================
|
|
32
|
-
async getCertificateUrl(
|
|
47
|
+
async getCertificateUrl(supplierKey) {
|
|
33
48
|
return this.request({
|
|
34
49
|
method: 'GET',
|
|
35
|
-
path:
|
|
50
|
+
path: this.certificatePath(supplierKey, '/url'),
|
|
36
51
|
});
|
|
37
52
|
}
|
|
38
|
-
async getCertificateStatus(
|
|
53
|
+
async getCertificateStatus(supplierKey) {
|
|
39
54
|
return this.request({
|
|
40
55
|
method: 'GET',
|
|
41
|
-
path:
|
|
56
|
+
path: this.certificatePath(supplierKey),
|
|
42
57
|
});
|
|
43
58
|
}
|
|
44
|
-
async deregisterCertificate(
|
|
59
|
+
async deregisterCertificate(supplierKey) {
|
|
45
60
|
return this.request({
|
|
46
61
|
method: 'DELETE',
|
|
47
|
-
path:
|
|
62
|
+
path: this.certificatePath(supplierKey),
|
|
48
63
|
});
|
|
49
64
|
}
|
|
50
65
|
// ========================
|
|
@@ -55,7 +70,7 @@ export class BoltaClient {
|
|
|
55
70
|
method: 'POST',
|
|
56
71
|
path: '/taxInvoices/issue',
|
|
57
72
|
body: data,
|
|
58
|
-
|
|
73
|
+
supplierKey: options?.supplierKey,
|
|
59
74
|
referenceId: options?.referenceId,
|
|
60
75
|
});
|
|
61
76
|
}
|
|
@@ -64,7 +79,7 @@ export class BoltaClient {
|
|
|
64
79
|
method: 'POST',
|
|
65
80
|
path: '/taxInvoices/issueRequest',
|
|
66
81
|
body: data,
|
|
67
|
-
|
|
82
|
+
supplierKey: options?.supplierKey,
|
|
68
83
|
referenceId: options?.referenceId,
|
|
69
84
|
});
|
|
70
85
|
}
|
|
@@ -80,32 +95,38 @@ export class BoltaClient {
|
|
|
80
95
|
path: `/taxInvoices/issue/status?clientReferenceId=${encodeURIComponent(clientReferenceId)}`,
|
|
81
96
|
});
|
|
82
97
|
}
|
|
83
|
-
async amendTermination(issuanceKey, data,
|
|
98
|
+
async amendTermination(issuanceKey, data, supplierKey) {
|
|
84
99
|
return this.request({
|
|
85
100
|
method: 'POST',
|
|
86
101
|
path: `/taxInvoices/${encodeURIComponent(issuanceKey)}/amend/termination`,
|
|
87
102
|
body: data,
|
|
88
|
-
|
|
103
|
+
supplierKey,
|
|
89
104
|
});
|
|
90
105
|
}
|
|
91
|
-
async amendChangeSupplyCost(issuanceKey, data,
|
|
106
|
+
async amendChangeSupplyCost(issuanceKey, data, supplierKey) {
|
|
92
107
|
return this.request({
|
|
93
108
|
method: 'POST',
|
|
94
109
|
path: `/taxInvoices/${encodeURIComponent(issuanceKey)}/amend/changeSupplyCost`,
|
|
95
110
|
body: data,
|
|
96
|
-
|
|
111
|
+
supplierKey,
|
|
97
112
|
});
|
|
98
113
|
}
|
|
99
|
-
async amendDoubleIssuance(issuanceKey,
|
|
114
|
+
async amendDoubleIssuance(issuanceKey, supplierKey) {
|
|
100
115
|
return this.request({
|
|
101
116
|
method: 'POST',
|
|
102
117
|
path: `/taxInvoices/${encodeURIComponent(issuanceKey)}/amend/doubleIssuance`,
|
|
103
|
-
|
|
118
|
+
supplierKey,
|
|
104
119
|
});
|
|
105
120
|
}
|
|
106
121
|
// ========================
|
|
107
122
|
// Internal Request Method
|
|
108
123
|
// ========================
|
|
124
|
+
certificatePath(key, suffix = '') {
|
|
125
|
+
if (key.startsWith(DEPRECATED_CUSTOMER_KEY_PREFIX)) {
|
|
126
|
+
deprecationWarning("'CustomerKey_' 키는 deprecated입니다. 신규 supplierKey를 사용하세요.");
|
|
127
|
+
}
|
|
128
|
+
return `/suppliers/${encodeURIComponent(key)}/certificates${suffix}`;
|
|
129
|
+
}
|
|
109
130
|
async request(options) {
|
|
110
131
|
const url = `${this.baseUrl}${options.path}`;
|
|
111
132
|
const headers = {
|
|
@@ -113,9 +134,9 @@ export class BoltaClient {
|
|
|
113
134
|
'Content-Type': 'application/json',
|
|
114
135
|
'User-Agent': `bolta-cli/${getCurrentVersion()}`,
|
|
115
136
|
};
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
118
|
-
headers['
|
|
137
|
+
const sk = options.supplierKey || this.supplierKey;
|
|
138
|
+
if (sk)
|
|
139
|
+
headers['Supplier-Key'] = sk;
|
|
119
140
|
if (options.referenceId) {
|
|
120
141
|
headers['Bolta-Client-Reference-Id'] = options.referenceId;
|
|
121
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolta-client.js","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bolta-client.js","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/certificate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/certificate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoElE"}
|