@bolta-io/cli 0.1.1 → 0.3.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 +35 -31
- package/README.md +26 -27
- package/dist/bin/bolta.js +14 -29
- package/dist/bin/bolta.js.map +1 -1
- package/dist/src/client/bolta-client.d.ts +24 -27
- package/dist/src/client/bolta-client.d.ts.map +1 -1
- package/dist/src/client/bolta-client.js +106 -84
- package/dist/src/client/bolta-client.js.map +1 -1
- package/dist/src/commands/cash-receipt/cancel.js +3 -3
- package/dist/src/commands/cash-receipt/cancel.js.map +1 -1
- package/dist/src/commands/cash-receipt/issue.js +3 -3
- package/dist/src/commands/cash-receipt/issue.js.map +1 -1
- package/dist/src/commands/cash-receipt/status.d.ts.map +1 -1
- package/dist/src/commands/cash-receipt/status.js +3 -8
- package/dist/src/commands/cash-receipt/status.js.map +1 -1
- package/dist/src/commands/certificate/index.d.ts.map +1 -1
- package/dist/src/commands/certificate/index.js +19 -42
- 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 +17 -54
- 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 +8 -9
- 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 +35 -29
- 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 +25 -33
- package/dist/src/commands/invoice/amend.js.map +1 -1
- package/dist/src/commands/invoice/get.d.ts.map +1 -1
- package/dist/src/commands/invoice/get.js +2 -7
- package/dist/src/commands/invoice/get.js.map +1 -1
- package/dist/src/commands/invoice/index.d.ts.map +1 -1
- package/dist/src/commands/invoice/index.js +10 -6
- 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 +6 -16
- 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 +6 -16
- 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 +6 -8
- package/dist/src/commands/invoice/status.js.map +1 -1
- package/dist/src/commands/issuer/create.d.ts +4 -0
- package/dist/src/commands/issuer/create.d.ts.map +1 -0
- package/dist/src/commands/issuer/create.js +24 -0
- package/dist/src/commands/issuer/create.js.map +1 -0
- package/dist/src/commands/issuer/get.d.ts +3 -0
- package/dist/src/commands/issuer/get.d.ts.map +1 -0
- package/dist/src/commands/issuer/get.js +14 -0
- package/dist/src/commands/issuer/get.js.map +1 -0
- package/dist/src/commands/issuer/index.d.ts +3 -0
- package/dist/src/commands/issuer/index.d.ts.map +1 -0
- package/dist/src/commands/issuer/index.js +31 -0
- package/dist/src/commands/issuer/index.js.map +1 -0
- package/dist/src/commands/schema/index.d.ts.map +1 -1
- package/dist/src/commands/schema/index.js +3 -4
- package/dist/src/commands/schema/index.js.map +1 -1
- package/dist/src/commands/supplier/legacy.d.ts +3 -0
- package/dist/src/commands/supplier/legacy.d.ts.map +1 -0
- package/dist/src/commands/supplier/legacy.js +75 -0
- package/dist/src/commands/supplier/legacy.js.map +1 -0
- package/dist/src/config/config-manager.d.ts +7 -9
- package/dist/src/config/config-manager.d.ts.map +1 -1
- package/dist/src/config/config-manager.js +28 -48
- package/dist/src/config/config-manager.js.map +1 -1
- package/dist/src/types/api.d.ts +40 -7
- package/dist/src/types/api.d.ts.map +1 -1
- package/dist/src/utils/client.d.ts +10 -15
- package/dist/src/utils/client.d.ts.map +1 -1
- package/dist/src/utils/client.js +26 -8
- package/dist/src/utils/client.js.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/utils/legacy-issuer.d.ts +28 -0
- package/dist/src/utils/legacy-issuer.d.ts.map +1 -0
- package/dist/src/utils/legacy-issuer.js +45 -0
- package/dist/src/utils/legacy-issuer.js.map +1 -0
- package/dist/src/utils/output.d.ts +7 -3
- package/dist/src/utils/output.d.ts.map +1 -1
- package/dist/src/utils/output.js +14 -4
- package/dist/src/utils/output.js.map +1 -1
- package/dist/src/{commands/cash-receipt/validation.d.ts → validators/parse.d.ts} +1 -1
- package/dist/src/validators/parse.d.ts.map +1 -0
- package/dist/src/{commands/cash-receipt/validation.js → validators/parse.js} +2 -2
- package/dist/src/validators/parse.js.map +1 -0
- package/dist/src/validators/schemas.d.ts +2 -1
- package/dist/src/validators/schemas.d.ts.map +1 -1
- package/dist/src/validators/schemas.js +28 -11
- package/dist/src/validators/schemas.js.map +1 -1
- package/llms.txt +38 -36
- package/package.json +1 -1
- package/dist/src/commands/cash-receipt/validation.d.ts.map +0 -1
- package/dist/src/commands/cash-receipt/validation.js.map +0 -1
- package/dist/src/commands/supplier/create.d.ts +0 -4
- package/dist/src/commands/supplier/create.d.ts.map +0 -1
- package/dist/src/commands/supplier/create.js +0 -40
- package/dist/src/commands/supplier/create.js.map +0 -1
- package/dist/src/commands/supplier/get.d.ts +0 -3
- package/dist/src/commands/supplier/get.d.ts.map +0 -1
- package/dist/src/commands/supplier/get.js +0 -19
- package/dist/src/commands/supplier/get.js.map +0 -1
- package/dist/src/commands/supplier/index.d.ts +0 -3
- package/dist/src/commands/supplier/index.d.ts.map +0 -1
- package/dist/src/commands/supplier/index.js +0 -56
- package/dist/src/commands/supplier/index.js.map +0 -1
- package/dist/src/commands/supplier/legacy-customer.d.ts +0 -5
- package/dist/src/commands/supplier/legacy-customer.d.ts.map +0 -1
- package/dist/src/commands/supplier/legacy-customer.js +0 -56
- package/dist/src/commands/supplier/legacy-customer.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @bolta-io/cli
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 5f12b82: 세금계산서 수정발행 3종에 선택형 `--reference-id`를 추가하고, 모든 세금계산서 명령에서 요청자 관리번호를 앞뒤 공백 없는 출력 가능한 ASCII 1~255자로 검증합니다. 관리번호를 사용한 요청은 자동 재전송하지 않습니다. 손상된 응답처럼 접수 결과를 확인하지 못한 경우에는 `NETWORK_ERROR`와 함께 `invoice status`로 접수 여부를 확인하도록 안내합니다.
|
|
8
|
+
|
|
9
|
+
## 0.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 1570031: 발급자 관리와 인증서 API를 issuer 계약으로 전환하고 발행 기본 인증에서 별도 발급자 키를 제거합니다. 기존 supplier/customer 명령과 키 설정은 2026-12-31까지 숨김 호환으로 유지하며, 레거시 키로 403이 발생하면 설정 출처에 맞는 해제 방법을 안내합니다. `bolta guide issuer`는 CLI가 실제 지원하는 발행 흐름만 안내합니다.
|
|
14
|
+
|
|
3
15
|
## 0.1.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/CLAUDE.md
CHANGED
|
@@ -7,24 +7,20 @@
|
|
|
7
7
|
```bash
|
|
8
8
|
# 인증 설정 (환경변수)
|
|
9
9
|
export BOLTA_API_KEY="test_your_key"
|
|
10
|
-
export BOLTA_SUPPLIER_KEY="SupplierKey_abc123"
|
|
11
10
|
|
|
12
11
|
# 또는 config 명령어로 설정
|
|
13
12
|
bolta config set api-key test_your_key
|
|
14
|
-
bolta config set supplier-key SupplierKey_abc123
|
|
15
13
|
```
|
|
16
14
|
|
|
17
|
-
## 핵심 개념:
|
|
15
|
+
## 핵심 개념: 발급자
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
발급자는 세금계산서나 현금영수증 발행에 사용하는 인증서의 소유자입니다.
|
|
20
18
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
- API
|
|
19
|
+
- 등록: `bolta issuer create` 호출 → 응답의 `issuerId`
|
|
20
|
+
- 관리: `issuerId`는 발급자 조회와 인증서 등록·조회·해제에만 사용
|
|
21
|
+
- 발행: API 키로 인증하고 요청 본문의 사업자등록번호로 발급자를 선택
|
|
24
22
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
> 구 명칭 `customer`(명령어·`--customer-key`·`BOLTA_CUSTOMER_KEY`·`config set customer-key`)는 deprecated이며 당분간 동작합니다(경고 출력).
|
|
23
|
+
일반 정발행과 역발행은 `supplier.identificationNumber`, 현금영수증은 `issuer.businessRegistrationNumber`를 사용합니다.
|
|
28
24
|
|
|
29
25
|
## 요금 안내
|
|
30
26
|
|
|
@@ -38,19 +34,19 @@ Bolta API는 **사전 충전 포인트 차감 방식** 유료 서비스입니다
|
|
|
38
34
|
|
|
39
35
|
### 세금계산서 발행 (가장 일반적인 업무)
|
|
40
36
|
|
|
41
|
-
1.
|
|
37
|
+
1. **발급자 등록** (최초 1회):
|
|
42
38
|
```bash
|
|
43
|
-
bolta
|
|
39
|
+
bolta issuer create --data '{"identificationNumber":"1234567890","organizationName":"주식회사 테스트","representativeName":"홍길동"}'
|
|
44
40
|
```
|
|
45
41
|
|
|
46
42
|
2. **인증서 확인** (정발행 시 공급자 인증서 필요):
|
|
47
43
|
```bash
|
|
48
|
-
bolta certificate status
|
|
44
|
+
bolta certificate status <issuerId>
|
|
49
45
|
```
|
|
50
46
|
|
|
51
47
|
3. **세금계산서 정발행**:
|
|
52
48
|
```bash
|
|
53
|
-
bolta invoice issue --data '{
|
|
49
|
+
bolta invoice issue --reference-id inv-2026-001 --data '{
|
|
54
50
|
"date": "2026-03-25",
|
|
55
51
|
"purpose": "CLAIM",
|
|
56
52
|
"taxType": "TAXABLE",
|
|
@@ -58,7 +54,7 @@ bolta invoice issue --data '{
|
|
|
58
54
|
"identificationNumber": "1234567890",
|
|
59
55
|
"organizationName": "공급자",
|
|
60
56
|
"representativeName": "김공급",
|
|
61
|
-
"manager": {"email": "
|
|
57
|
+
"manager": {"email": "seller@example.com"}
|
|
62
58
|
},
|
|
63
59
|
"supplied": {
|
|
64
60
|
"identificationNumber": "0987654321",
|
|
@@ -75,7 +71,14 @@ bolta invoice issue --data '{
|
|
|
75
71
|
}'
|
|
76
72
|
```
|
|
77
73
|
|
|
78
|
-
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. **발행 결과 확인**:
|
|
79
82
|
```bash
|
|
80
83
|
bolta invoice get <issuanceKey>
|
|
81
84
|
```
|
|
@@ -106,18 +109,18 @@ bolta cash-receipt status --reference-id cash-2026-001
|
|
|
106
109
|
|
|
107
110
|
| 커맨드 | 설명 | 데이터 필요 |
|
|
108
111
|
|--------|------|------------|
|
|
109
|
-
| `bolta
|
|
110
|
-
| `bolta
|
|
111
|
-
| `bolta certificate url <
|
|
112
|
-
| `bolta certificate status <
|
|
113
|
-
| `bolta certificate deregister <
|
|
114
|
-
| `bolta invoice issue` | 세금계산서 정발행 | --data |
|
|
115
|
-
| `bolta invoice issue-request` | 역발행 요청 | --data |
|
|
112
|
+
| `bolta issuer create` | 발급자 등록 | --data |
|
|
113
|
+
| `bolta issuer get <issuerId>` | 발급자 조회 | - |
|
|
114
|
+
| `bolta certificate url <issuerId>` | 인증서 등록 URL | - |
|
|
115
|
+
| `bolta certificate status <issuerId>` | 인증서 상태 | - |
|
|
116
|
+
| `bolta certificate deregister <issuerId>` | 인증서 해제 | - |
|
|
117
|
+
| `bolta invoice issue [--reference-id <id>]` | 세금계산서 정발행 | --data |
|
|
118
|
+
| `bolta invoice issue-request [--reference-id <id>]` | 역발행 요청 | --data |
|
|
116
119
|
| `bolta invoice get <issuanceKey>` | 세금계산서 조회 | - |
|
|
117
120
|
| `bolta invoice status --reference-id <id>` | 상태 조회 | - |
|
|
118
|
-
| `bolta invoice amend termination <key> --date <date
|
|
119
|
-
| `bolta invoice amend change-supply-cost <key
|
|
120
|
-
| `bolta invoice amend double-issuance <key
|
|
121
|
+
| `bolta invoice amend termination <key> --date <date> [--reference-id <id>]` | 수정: 계약해제 | - |
|
|
122
|
+
| `bolta invoice amend change-supply-cost <key> [--reference-id <id>]` | 수정: 가액변동 | --data |
|
|
123
|
+
| `bolta invoice amend double-issuance <key> [--reference-id <id>]` | 수정: 착오 이중발급 | - |
|
|
121
124
|
| `bolta cash-receipt issue --reference-id <id>` | 현금영수증 발행 | --data |
|
|
122
125
|
| `bolta cash-receipt status --reference-id <id>` | 현금영수증 상태 조회 | - |
|
|
123
126
|
| `bolta cash-receipt cancel <key> --reference-id <id>` | 현금영수증 전액 취소 | - |
|
|
@@ -128,8 +131,6 @@ bolta cash-receipt status --reference-id cash-2026-001
|
|
|
128
131
|
| `bolta schema [command]` | 입력 스키마 | - |
|
|
129
132
|
| `bolta guide [topic]` | 주요 개념 안내 | - |
|
|
130
133
|
|
|
131
|
-
> 인증서 명령의 `<key>`에는 신규 supplierKey를 쓰세요. deprecated `CustomerKey_` 키도 당분간 동작합니다.
|
|
132
|
-
|
|
133
134
|
## 입력 방법
|
|
134
135
|
|
|
135
136
|
데이터가 필요한 커맨드에서 3가지 방식 지원:
|
|
@@ -152,11 +153,12 @@ bolta cash-receipt status --reference-id cash-2026-001
|
|
|
152
153
|
| `AUTH_ERROR` | API 키 없음/잘못됨 | `bolta config set api-key <key>` |
|
|
153
154
|
| `VALIDATION_ERROR` | 입력 데이터 오류 | `bolta schema <command>`로 스키마 확인 |
|
|
154
155
|
| `INPUT_ERROR` | 명령어·옵션·입력 방식 오류 | `bolta --help` 또는 하위 명령의 `--help`로 사용법 확인 |
|
|
156
|
+
| `INVALID_REQUEST` | 세금계산서 요청 검증 실패 또는 요청자 관리번호 중복 | `error.message` 확인. 중복이면 `invoice status`로 기존 요청 확인 |
|
|
155
157
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
156
158
|
| `HTTP_400` | 잘못된 요청 | error.message 확인, 필수 필드 누락 체크 |
|
|
157
|
-
| `HTTP_404` | 리소스 없음 | issuanceKey/
|
|
158
|
-
| `HTTP_429` | 요청 제한 초과 | 자동
|
|
159
|
-
| `NETWORK_ERROR` | 네트워크 오류 | 인터넷 연결 확인 |
|
|
159
|
+
| `HTTP_404` | 리소스 없음 | issuanceKey/issuerId 확인 |
|
|
160
|
+
| `HTTP_429` | 요청 제한 초과 | 일반 요청은 자동 재시도. 관리번호가 있는 세금계산서 요청은 `invoice status`로 접수 여부 확인 |
|
|
161
|
+
| `NETWORK_ERROR` | 네트워크 오류 또는 응답 본문 읽기 실패 | 인터넷 연결 확인. 세금계산서 관리번호를 사용했다면 재전송하지 말고 `invoice status`로 접수 여부 확인 |
|
|
160
162
|
|
|
161
163
|
## 개발 명령어
|
|
162
164
|
|
|
@@ -178,4 +180,6 @@ npm test # 테스트 실행
|
|
|
178
180
|
- `taxType`이 TAX_FREE이면 모든 품목의 `tax`를 null로 설정하고, ZERO_RATE이면 0으로 설정
|
|
179
181
|
- 사업자등록번호는 하이픈 있어도 되고 없어도 됨 (자동 변환)
|
|
180
182
|
- 계약 해제(`amend termination`)는 원본 세금계산서의 품목 공급가액이 음수인 경우 사용 불가
|
|
183
|
+
- 세금계산서 `--reference-id`는 선택 사항이며 앞뒤 공백 없는 출력 가능한 ASCII 1~255자. 같은 API 키의 정발행·역발행·수정발행에서 재사용 불가
|
|
184
|
+
- 관리번호를 넣은 세금계산서 요청은 CLI가 자동 재전송하지 않음. 응답을 받지 못했거나 본문을 읽지 못하면 `invoice status`로 확인
|
|
181
185
|
- `--dry-run` 옵션으로 실제 API 호출 없이 요청 데이터 확인 가능
|
package/README.md
CHANGED
|
@@ -35,11 +35,9 @@ Bolta API를 사용하려면 API 키가 필요합니다. 환경변수 또는 CLI
|
|
|
35
35
|
```bash
|
|
36
36
|
# 방법 1: 환경변수 (권장)
|
|
37
37
|
export BOLTA_API_KEY="test_your_key"
|
|
38
|
-
export BOLTA_SUPPLIER_KEY="SupplierKey_abc123"
|
|
39
38
|
|
|
40
39
|
# 방법 2: CLI 명령 (영구 저장 - ~/.bolta/config.json)
|
|
41
40
|
bolta config set api-key test_your_key
|
|
42
|
-
bolta config set supplier-key SupplierKey_abc123
|
|
43
41
|
|
|
44
42
|
# 연결 테스트
|
|
45
43
|
bolta config test
|
|
@@ -49,42 +47,40 @@ bolta config test
|
|
|
49
47
|
|
|
50
48
|
### 커맨드 전체 목록
|
|
51
49
|
|
|
52
|
-
####
|
|
50
|
+
#### 발급자 관리
|
|
53
51
|
|
|
54
52
|
```bash
|
|
55
|
-
#
|
|
56
|
-
bolta
|
|
53
|
+
# 발급자 등록
|
|
54
|
+
bolta issuer create --data '{
|
|
57
55
|
"identificationNumber": "1234567890",
|
|
58
56
|
"organizationName": "주식회사 테스트",
|
|
59
57
|
"representativeName": "홍길동"
|
|
60
58
|
}'
|
|
61
59
|
|
|
62
|
-
#
|
|
63
|
-
bolta
|
|
60
|
+
# 발급자 조회
|
|
61
|
+
bolta issuer get <issuerId>
|
|
64
62
|
```
|
|
65
63
|
|
|
66
|
-
> 구 `customer` 명령(`bolta customer ...`)은 deprecated이며 당분간 동작합니다(경고 출력).
|
|
67
|
-
|
|
68
64
|
#### 인증서 관리
|
|
69
65
|
|
|
70
66
|
```bash
|
|
71
67
|
# 인증서 등록 URL 조회
|
|
72
|
-
bolta certificate url <
|
|
68
|
+
bolta certificate url <issuerId>
|
|
73
69
|
|
|
74
70
|
# 인증서 등록 상태 조회
|
|
75
|
-
bolta certificate status <
|
|
71
|
+
bolta certificate status <issuerId>
|
|
76
72
|
|
|
77
73
|
# 인증서 해제
|
|
78
|
-
bolta certificate deregister <
|
|
74
|
+
bolta certificate deregister <issuerId>
|
|
79
75
|
```
|
|
80
76
|
|
|
81
|
-
|
|
77
|
+
`issuerId`는 발급자와 인증서 관리에만 사용합니다. 발행 요청은 본문의 사업자등록번호로 발급자를 찾습니다.
|
|
82
78
|
|
|
83
79
|
#### 세금계산서 발행/조회
|
|
84
80
|
|
|
85
81
|
```bash
|
|
86
82
|
# 세금계산서 정발행
|
|
87
|
-
bolta invoice issue --data '{
|
|
83
|
+
bolta invoice issue --reference-id inv-2026-001 --data '{
|
|
88
84
|
"date": "2026-03-25",
|
|
89
85
|
"purpose": "CLAIM",
|
|
90
86
|
"taxType": "TAXABLE",
|
|
@@ -92,7 +88,7 @@ bolta invoice issue --data '{
|
|
|
92
88
|
"identificationNumber": "1234567890",
|
|
93
89
|
"organizationName": "공급자 주식회사",
|
|
94
90
|
"representativeName": "김공급",
|
|
95
|
-
"manager": { "email": "
|
|
91
|
+
"manager": { "email": "seller@example.com" }
|
|
96
92
|
},
|
|
97
93
|
"supplied": {
|
|
98
94
|
"identificationNumber": "0987654321",
|
|
@@ -114,23 +110,27 @@ bolta invoice issue --data '{
|
|
|
114
110
|
bolta examples invoice-issue-foreign-supplied
|
|
115
111
|
|
|
116
112
|
# 세금계산서 역발행 요청 (공급받는자는 사업자등록번호만 허용)
|
|
117
|
-
bolta invoice issue-request --data '{...}'
|
|
113
|
+
bolta invoice issue-request --reference-id inv-2026-002 --data '{...}'
|
|
118
114
|
|
|
119
115
|
# 세금계산서 조회
|
|
120
116
|
bolta invoice get <issuanceKey>
|
|
121
117
|
|
|
122
|
-
# Client-Reference-Id로 상태 조회
|
|
118
|
+
# Bolta-Client-Reference-Id로 상태 조회
|
|
123
119
|
bolta invoice status --reference-id <id>
|
|
124
120
|
```
|
|
125
121
|
|
|
122
|
+
세금계산서의 `--reference-id`는 선택 사항입니다. 앞뒤 공백 없는 출력 가능한 ASCII 1~255자를 입력하세요. 같은 API 키의 정발행·역발행·수정발행에서 이미 사용한 값은 요청 내용이나 명령이 달라도 다시 사용할 수 없습니다. 중복이면 API가 `400 INVALID_REQUEST`를 반환합니다.
|
|
123
|
+
|
|
124
|
+
응답을 받지 못했거나 응답 본문을 읽지 못했다면 같은 요청을 다시 보내지 마세요. 요청에 사용한 값으로 `bolta invoice status --reference-id <id>`를 실행해 접수 여부를 확인하세요. 새 발행 요청에는 사용하지 않은 값을 입력합니다.
|
|
125
|
+
|
|
126
126
|
#### 수정발행
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
129
|
# 수정발행: 계약 해제
|
|
130
|
-
bolta invoice amend termination <issuanceKey> --date 2026-03-25
|
|
130
|
+
bolta invoice amend termination <issuanceKey> --date 2026-03-25 --reference-id amend-2026-001
|
|
131
131
|
|
|
132
132
|
# 수정발행: 공급가액 변동
|
|
133
|
-
bolta invoice amend change-supply-cost <issuanceKey> --data '{
|
|
133
|
+
bolta invoice amend change-supply-cost <issuanceKey> --reference-id amend-2026-002 --data '{
|
|
134
134
|
"date": "2026-03-25",
|
|
135
135
|
"taxType": "TAXABLE",
|
|
136
136
|
"items": [{
|
|
@@ -142,7 +142,7 @@ bolta invoice amend change-supply-cost <issuanceKey> --data '{
|
|
|
142
142
|
}'
|
|
143
143
|
|
|
144
144
|
# 수정발행: 착오에 의한 이중발급 (입력 데이터 불필요)
|
|
145
|
-
bolta invoice amend double-issuance <issuanceKey>
|
|
145
|
+
bolta invoice amend double-issuance <issuanceKey> --reference-id amend-2026-003
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
#### 현금영수증
|
|
@@ -185,7 +185,7 @@ bolta cash-receipt status --reference-id cash-2026-001-cancel
|
|
|
185
185
|
#### 설정
|
|
186
186
|
|
|
187
187
|
```bash
|
|
188
|
-
bolta config set <key> <value> # api-key,
|
|
188
|
+
bolta config set <key> <value> # api-key, base-url, update-check
|
|
189
189
|
bolta config show # 현재 설정 확인
|
|
190
190
|
bolta config test # API 연결 테스트
|
|
191
191
|
```
|
|
@@ -193,7 +193,7 @@ bolta config test # API 연결 테스트
|
|
|
193
193
|
#### 도움말
|
|
194
194
|
|
|
195
195
|
```bash
|
|
196
|
-
# 주요 개념 안내 (
|
|
196
|
+
# 주요 개념 안내 (issuer, payment, workflow, cash-receipt, glossary)
|
|
197
197
|
bolta guide [topic]
|
|
198
198
|
|
|
199
199
|
# 바로 쓸 수 있는 샘플 JSON
|
|
@@ -237,8 +237,6 @@ cat invoice.json | bolta invoice issue --stdin
|
|
|
237
237
|
| 옵션 | 설명 |
|
|
238
238
|
|------|------|
|
|
239
239
|
| `--api-key <key>` | API 키 오버라이드 |
|
|
240
|
-
| `--supplier-key <key>` | Supplier Key 오버라이드 |
|
|
241
|
-
| `--customer-key <key>` | (deprecated) `--supplier-key`를 사용하세요 |
|
|
242
240
|
| `--verbose` | 상세 로그 출력 (stderr) |
|
|
243
241
|
| `--dry-run` | API 호출 없이 요청 데이터만 출력 |
|
|
244
242
|
|
|
@@ -261,11 +259,12 @@ cat invoice.json | bolta invoice issue --stdin
|
|
|
261
259
|
| `AUTH_ERROR` | API 키 없음/잘못됨 | `bolta config set api-key <key>` |
|
|
262
260
|
| `VALIDATION_ERROR` | 입력 데이터 오류 | `bolta schema <command>`로 스키마 확인 |
|
|
263
261
|
| `INPUT_ERROR` | 명령어·옵션·입력 방식 오류 | `bolta --help` 또는 하위 명령의 `--help`로 사용법 확인 |
|
|
262
|
+
| `INVALID_REQUEST` | 세금계산서 요청 검증 실패 또는 요청자 관리번호 중복 | `error.message` 확인. 중복이면 `invoice status`로 기존 요청 확인 |
|
|
264
263
|
| `HTTP_402` | 포인트 잔액 부족 | https://developers.bolta.io 에서 포인트 충전 |
|
|
265
264
|
| `HTTP_400` | 잘못된 요청 | error.message 확인 |
|
|
266
|
-
| `HTTP_404` | 리소스 없음 | issuanceKey/
|
|
267
|
-
| `HTTP_429` | 요청 제한 초과 | 자동
|
|
268
|
-
| `NETWORK_ERROR` | 네트워크 오류 | 인터넷 연결 확인 |
|
|
265
|
+
| `HTTP_404` | 리소스 없음 | issuanceKey/issuerId 확인 |
|
|
266
|
+
| `HTTP_429` | 요청 제한 초과 | 일반 요청은 자동 재시도. 관리번호가 있는 세금계산서 요청은 `invoice status`로 접수 여부 확인 |
|
|
267
|
+
| `NETWORK_ERROR` | 네트워크 오류 또는 응답 본문 읽기 실패 | 인터넷 연결 확인. 세금계산서 관리번호를 사용했다면 재전송하지 말고 `invoice status`로 접수 여부 확인 |
|
|
269
268
|
|
|
270
269
|
---
|
|
271
270
|
|
package/dist/bin/bolta.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Command, CommanderError } from 'commander';
|
|
3
|
-
import {
|
|
2
|
+
import { Command, CommanderError, Option } from 'commander';
|
|
3
|
+
import { registerIssuerCommands } from '../src/commands/issuer/index.js';
|
|
4
|
+
import { registerLegacyIssuerCommands } from '../src/commands/supplier/legacy.js';
|
|
4
5
|
import { registerCertificateCommands } from '../src/commands/certificate/index.js';
|
|
5
6
|
import { registerInvoiceCommands } from '../src/commands/invoice/index.js';
|
|
6
7
|
import { registerConfigCommands } from '../src/commands/config/index.js';
|
|
@@ -10,7 +11,7 @@ import { registerUpdateCommands } from '../src/commands/update/index.js';
|
|
|
10
11
|
import { maybeNudgeUpdate, refreshUpdateCache, UPDATE_CACHE_COMMAND, } from '../src/commands/update/nudge.js';
|
|
11
12
|
import { registerGuideCommand } from '../src/commands/guide/index.js';
|
|
12
13
|
import { registerCashReceiptCommands } from '../src/commands/cash-receipt/index.js';
|
|
13
|
-
import {
|
|
14
|
+
import { legacyIssuerWarning, outputError } from '../src/utils/output.js';
|
|
14
15
|
import { BoltaInputError } from '../src/utils/errors.js';
|
|
15
16
|
import { getCurrentVersion } from '../src/utils/version.js';
|
|
16
17
|
import { loadConfig, saveConfig } from '../src/config/config-manager.js';
|
|
@@ -25,24 +26,30 @@ program
|
|
|
25
26
|
.description('Bolta API CLI - 전자세금계산서·현금영수증 발행/조회/관리 도구 (AI 에이전트 최적화)')
|
|
26
27
|
.version(getCurrentVersion())
|
|
27
28
|
.option('--api-key <key>', 'Bolta API 키 (환경변수 BOLTA_API_KEY 대체)')
|
|
28
|
-
.
|
|
29
|
-
.
|
|
29
|
+
.addOption(new Option('--supplier-key <key>').hideHelp())
|
|
30
|
+
.addOption(new Option('--customer-key <key>').hideHelp())
|
|
30
31
|
.option('--verbose', '상세 로그 출력 (stderr)', false)
|
|
31
32
|
.option('--dry-run', 'API 호출 없이 요청 데이터만 출력', false)
|
|
32
33
|
.hook('preAction', (thisCommand, actionCommand) => {
|
|
33
34
|
const opts = thisCommand.optsWithGlobals();
|
|
35
|
+
if (opts.supplierKey) {
|
|
36
|
+
legacyIssuerWarning("'--supplier-key' 플래그");
|
|
37
|
+
}
|
|
38
|
+
else if (opts.customerKey) {
|
|
39
|
+
legacyIssuerWarning("'--customer-key' 플래그");
|
|
40
|
+
}
|
|
34
41
|
if (opts.verbose) {
|
|
35
42
|
process.env.BOLTA_VERBOSE = '1';
|
|
36
43
|
}
|
|
37
44
|
// 백그라운드 캐시 갱신 자식 프로세스: 힌트/넛지 없이 본연의 작업만 (재귀 spawn 방지)
|
|
38
45
|
if (actionCommand.name() === UPDATE_CACHE_COMMAND)
|
|
39
46
|
return;
|
|
40
|
-
warnDeprecatedUsage();
|
|
41
47
|
const config = loadConfig();
|
|
42
48
|
checkFirstRun(actionCommand, config);
|
|
43
49
|
checkForUpdate(actionCommand, config);
|
|
44
50
|
});
|
|
45
|
-
|
|
51
|
+
registerIssuerCommands(program);
|
|
52
|
+
registerLegacyIssuerCommands(program);
|
|
46
53
|
registerCertificateCommands(program);
|
|
47
54
|
registerInvoiceCommands(program);
|
|
48
55
|
registerCashReceiptCommands(program);
|
|
@@ -51,28 +58,6 @@ registerExamplesCommand(program);
|
|
|
51
58
|
registerSchemaCommand(program);
|
|
52
59
|
registerUpdateCommands(program);
|
|
53
60
|
registerGuideCommand(program);
|
|
54
|
-
// 값을 받는 전역 옵션(공백 구분 형태일 때 다음 토큰을 값으로 소비)
|
|
55
|
-
const GLOBAL_VALUE_OPTIONS = new Set(['--api-key', '--supplier-key', '--customer-key']);
|
|
56
|
-
function warnDeprecatedUsage() {
|
|
57
|
-
// 구 명령어 'customer'를 alias로 사용한 경우 경고.
|
|
58
|
-
// 첫 번째 위치 인자(=명령어)만 검사해 데이터 값에 'customer'가 들어가도 오탐하지 않는다.
|
|
59
|
-
// (--customer-key 플래그/BOLTA_CUSTOMER_KEY/config customer-key는 resolveSupplierKey에서 경고)
|
|
60
|
-
const argv = process.argv.slice(2);
|
|
61
|
-
for (let i = 0; i < argv.length; i++) {
|
|
62
|
-
const token = argv[i];
|
|
63
|
-
if (GLOBAL_VALUE_OPTIONS.has(token)) {
|
|
64
|
-
i++; // 옵션 값 건너뛰기
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
if (token.startsWith('-'))
|
|
68
|
-
continue; // boolean 플래그(--verbose 등)
|
|
69
|
-
// 첫 위치 인자 = 명령어
|
|
70
|
-
if (token === 'customer') {
|
|
71
|
-
deprecationWarning("'customer' 명령어는 'supplier'로 변경되었습니다. 'bolta supplier ...'를 사용하세요.");
|
|
72
|
-
}
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
61
|
function checkFirstRun(actionCommand, config) {
|
|
77
62
|
const commandName = actionCommand.name();
|
|
78
63
|
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,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
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,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,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,53 +1,50 @@
|
|
|
1
|
-
import type { CreateTaxInvoiceRequest, IssuanceResponse, TaxInvoiceDetail, StatusResponse, AmendTerminationRequest, AmendChangeSupplyCostRequest, CreateSupplierRequest,
|
|
1
|
+
import type { CreateTaxInvoiceRequest, IssuanceResponse, TaxInvoiceDetail, StatusResponse, AmendTerminationRequest, AmendChangeSupplyCostRequest, CreateIssuerRequest, IssuerResponse, CreateSupplierRequest, LegacySupplierResponse, CreateCustomerRequest, LegacyCustomerResponse, CertificateUrlResponse, CertificateStatusResponse, CreateCashReceiptRequest, CashReceiptCancellationResponse, CashReceiptStatusResponse } from '../types/api.js';
|
|
2
|
+
import { type LegacyIssuerHeader } from '../utils/legacy-issuer.js';
|
|
2
3
|
interface ClientConfig {
|
|
3
4
|
apiKey: string;
|
|
4
5
|
baseUrl: string;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
supplierKeySource?: string;
|
|
6
|
+
/** 구 설정이 남아 있을 때만 지정한다. 지정하면 Supplier-Key 헤더를 싣는다. */
|
|
7
|
+
legacyIssuer?: LegacyIssuerHeader;
|
|
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;
|
|
14
|
-
private readonly
|
|
15
|
-
private readonly supplierKeySource;
|
|
17
|
+
private readonly legacyIssuer?;
|
|
16
18
|
private readonly timeout;
|
|
17
19
|
private readonly maxRetries;
|
|
18
20
|
constructor(config: ClientConfig);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/** @deprecated
|
|
21
|
+
createIssuer(data: CreateIssuerRequest): Promise<IssuerResponse>;
|
|
22
|
+
getIssuer(issuerId: string): Promise<IssuerResponse>;
|
|
23
|
+
/** @deprecated 2026-12-31까지 숨김 `supplier` CLI 호환용입니다. */
|
|
24
|
+
createSupplier(data: CreateSupplierRequest): Promise<LegacySupplierResponse>;
|
|
25
|
+
/** @deprecated 2026-12-31까지 숨김 `supplier` CLI 호환용입니다. */
|
|
26
|
+
getSupplier(supplierKey: string): Promise<LegacySupplierResponse>;
|
|
27
|
+
/** @deprecated 2026-12-31까지 숨김 `customer` CLI 호환용입니다. */
|
|
22
28
|
createCustomer(data: CreateCustomerRequest): Promise<LegacyCustomerResponse>;
|
|
23
|
-
/** @deprecated
|
|
29
|
+
/** @deprecated 2026-12-31까지 숨김 `customer` CLI 호환용입니다. */
|
|
24
30
|
getCustomer(customerKey: string): Promise<LegacyCustomerResponse>;
|
|
25
|
-
getCertificateUrl(
|
|
26
|
-
getCertificateStatus(
|
|
27
|
-
deregisterCertificate(
|
|
28
|
-
issueTaxInvoice(data: CreateTaxInvoiceRequest, options?:
|
|
29
|
-
|
|
30
|
-
referenceId?: string;
|
|
31
|
-
}): Promise<IssuanceResponse>;
|
|
32
|
-
issueRequestTaxInvoice(data: CreateTaxInvoiceRequest, options?: {
|
|
33
|
-
supplierKey?: string;
|
|
34
|
-
referenceId?: string;
|
|
35
|
-
}): Promise<IssuanceResponse>;
|
|
31
|
+
getCertificateUrl(issuerId: string): Promise<CertificateUrlResponse>;
|
|
32
|
+
getCertificateStatus(issuerId: string): Promise<CertificateStatusResponse>;
|
|
33
|
+
deregisterCertificate(issuerId: string): Promise<unknown>;
|
|
34
|
+
issueTaxInvoice(data: CreateTaxInvoiceRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
35
|
+
issueRequestTaxInvoice(data: CreateTaxInvoiceRequest, options?: TaxInvoiceRequestOptions): Promise<IssuanceResponse>;
|
|
36
36
|
getTaxInvoice(issuanceKey: string): Promise<TaxInvoiceDetail>;
|
|
37
37
|
getTaxInvoiceStatus(clientReferenceId: string): Promise<StatusResponse>;
|
|
38
|
-
amendTermination(issuanceKey: string, data: AmendTerminationRequest,
|
|
39
|
-
amendChangeSupplyCost(issuanceKey: string, data: AmendChangeSupplyCostRequest,
|
|
40
|
-
amendDoubleIssuance(issuanceKey: string,
|
|
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>;
|
|
41
41
|
issueCashReceipt(data: CreateCashReceiptRequest, options: {
|
|
42
|
-
supplierKey: string;
|
|
43
42
|
referenceId: string;
|
|
44
43
|
}): Promise<IssuanceResponse>;
|
|
45
44
|
getCashReceiptStatus(clientReferenceId: string): Promise<CashReceiptStatusResponse>;
|
|
46
45
|
cancelCashReceipt(issuanceKey: string, options: {
|
|
47
|
-
supplierKey: string;
|
|
48
46
|
referenceId: string;
|
|
49
47
|
}): Promise<CashReceiptCancellationResponse>;
|
|
50
|
-
private certificatePath;
|
|
51
48
|
private request;
|
|
52
49
|
}
|
|
53
50
|
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,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"bolta-client.d.ts","sourceRoot":"","sources":["../../../src/client/bolta-client.ts"],"names":[],"mappings":"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"}
|