@notabene/javascript-sdk 2.15.0 → 2.16.0-next.4
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/README.md +10 -0
- package/dist/cjs/notabene.cjs +5 -5
- package/dist/cjs/notabene.d.ts +1361 -7
- package/dist/cjs/package.json +3 -5
- package/dist/esm/notabene.d.ts +1361 -7
- package/dist/esm/notabene.js +855 -815
- package/dist/esm/package.json +3 -5
- package/dist/notabene.d.ts +1361 -7
- package/dist/notabene.js +855 -815
- package/package.json +3 -5
- package/src/__tests__/notabene.test.ts +24 -0
- package/src/ivms/v2Types.ts +1 -2
- package/src/notabene.ts +20 -0
- package/src/responseTransformer/__tests__/transformer.test.ts +84 -7
- package/src/responseTransformer/__tests__/utils.test.ts +21 -1
- package/src/responseTransformer/mappers.ts +19 -29
- package/src/responseTransformer/transformer.ts +77 -9
- package/src/responseTransformer/types.ts +4 -4
- package/src/responseTransformer/utils.ts +10 -15
- package/src/types.ts +13 -0
- package/src/utils/arbitraries.ts +1 -0
package/dist/cjs/notabene.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { Agent as Agent_2 } from '@taprsvp/types';
|
|
2
|
-
import type { DID as DID_2 } from '@taprsvp/types';
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
2
|
* A blockchain account
|
|
6
3
|
* @public
|
|
@@ -13,6 +10,26 @@ export declare interface Account {
|
|
|
13
10
|
identifier?: string;
|
|
14
11
|
}
|
|
15
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Additional Document Reference
|
|
15
|
+
* Reference to an additional document related to the invoice
|
|
16
|
+
*/
|
|
17
|
+
declare interface AdditionalDocumentReference {
|
|
18
|
+
/**
|
|
19
|
+
* Document identifier
|
|
20
|
+
*/
|
|
21
|
+
id: string;
|
|
22
|
+
/**
|
|
23
|
+
* Type of document
|
|
24
|
+
* Uses UBL Document Type Code standard
|
|
25
|
+
*/
|
|
26
|
+
documentType?: DocumentTypeCode;
|
|
27
|
+
/**
|
|
28
|
+
* URL where the document can be accessed
|
|
29
|
+
*/
|
|
30
|
+
url?: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
16
33
|
/**
|
|
17
34
|
* Address
|
|
18
35
|
* Represents a physical address
|
|
@@ -53,6 +70,59 @@ declare type Address = {
|
|
|
53
70
|
country: ISOCountryCode;
|
|
54
71
|
};
|
|
55
72
|
|
|
73
|
+
/**
|
|
74
|
+
* Represents an address
|
|
75
|
+
*
|
|
76
|
+
* Per IVMS101 spec section 5.2.6.1, an address contains location information
|
|
77
|
+
* that can be expressed either as:
|
|
78
|
+
* - Structured fields (streetName, buildingNumber, etc.)
|
|
79
|
+
* - Unstructured addressLine array (free-form text)
|
|
80
|
+
*
|
|
81
|
+
* Constraint C8 requires at least one of:
|
|
82
|
+
* - addressLine OR
|
|
83
|
+
* - (streetName AND (buildingName OR buildingNumber))
|
|
84
|
+
*/
|
|
85
|
+
declare interface Address_2 {
|
|
86
|
+
/** Identifies the nature of the address */
|
|
87
|
+
addressType: AddressTypeCode_2;
|
|
88
|
+
/** Identification of a division of a large organisation or building */
|
|
89
|
+
department?: string;
|
|
90
|
+
/** Identification of a sub-division of a large organisation or building */
|
|
91
|
+
subDepartment?: string;
|
|
92
|
+
/** Name of a street or thoroughfare */
|
|
93
|
+
streetName?: string;
|
|
94
|
+
/** Number that identifies the position of a building on a street */
|
|
95
|
+
buildingNumber?: string;
|
|
96
|
+
/** Name of the building or house */
|
|
97
|
+
buildingName?: string;
|
|
98
|
+
/** Floor or storey within a building */
|
|
99
|
+
floor?: string;
|
|
100
|
+
/** Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for */
|
|
101
|
+
postBox?: string;
|
|
102
|
+
/** Building room number */
|
|
103
|
+
room?: string;
|
|
104
|
+
/** Identifier consisting of a group of letters and/or numbers */
|
|
105
|
+
postcode?: string;
|
|
106
|
+
/** Name of a built-up area, with defined boundaries, and a local government */
|
|
107
|
+
townName: string;
|
|
108
|
+
/** Specific location name within the town */
|
|
109
|
+
townLocationName?: string;
|
|
110
|
+
/** Identifies a subdivision within a country subdivision */
|
|
111
|
+
districtName?: string;
|
|
112
|
+
/** Identifies a subdivision of a country */
|
|
113
|
+
countrySubDivision?: string;
|
|
114
|
+
/** Nation with its own government */
|
|
115
|
+
country: CountryCode;
|
|
116
|
+
/**
|
|
117
|
+
* Information that locates and identifies a specific address, as defined by postal services,
|
|
118
|
+
* presented in free format text.
|
|
119
|
+
*
|
|
120
|
+
* Array of 0 to 7 lines, each max 70 characters (Max70Text)
|
|
121
|
+
* @maxItems 7
|
|
122
|
+
*/
|
|
123
|
+
addressLine?: string[];
|
|
124
|
+
}
|
|
125
|
+
|
|
56
126
|
/**
|
|
57
127
|
* Address Type Code
|
|
58
128
|
* Specifies the type of address
|
|
@@ -60,6 +130,9 @@ declare type Address = {
|
|
|
60
130
|
*/
|
|
61
131
|
declare type AddressTypeCode = 'HOME' | 'BIZZ' | 'GEOG';
|
|
62
132
|
|
|
133
|
+
/** Codes identifying the nature of an address */
|
|
134
|
+
declare type AddressTypeCode_2 = "HOME" | "BIZZ" | "GEOG";
|
|
135
|
+
|
|
63
136
|
/**
|
|
64
137
|
* Who is the agent acting on behalf of the counterparty
|
|
65
138
|
* @public
|
|
@@ -73,6 +146,76 @@ export declare interface Agent {
|
|
|
73
146
|
verified?: boolean;
|
|
74
147
|
}
|
|
75
148
|
|
|
149
|
+
/**
|
|
150
|
+
* Agent Interface
|
|
151
|
+
* Represents software acting on behalf of participants in TAP transactions.
|
|
152
|
+
* Agents handle communication, compliance, and transaction processing.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* const originatorAgent: Agent = {
|
|
157
|
+
* "@id": "did:web:vasp.example.com",
|
|
158
|
+
* role: "SourceAddress",
|
|
159
|
+
* for: "did:example:customer123",
|
|
160
|
+
* name: "Example VASP Agent",
|
|
161
|
+
* leiCode: "969500KN90DZLPGW6898",
|
|
162
|
+
* url: "https://vasp.example.com",
|
|
163
|
+
* email: "compliance@vasp.example.com",
|
|
164
|
+
* geographicAddress: [{
|
|
165
|
+
* addressType: "HOME",
|
|
166
|
+
* streetName: "123 Main St",
|
|
167
|
+
* buildingNumber: "123",
|
|
168
|
+
* postCode: "12345",
|
|
169
|
+
* townName: "Example City",
|
|
170
|
+
* country: "US"
|
|
171
|
+
* }],
|
|
172
|
+
* policies: [{
|
|
173
|
+
* "@type": "RequireAuthorization",
|
|
174
|
+
* purpose: "AML compliance verification"
|
|
175
|
+
* }],
|
|
176
|
+
* serviceUrl: "https://vasp.example.com/didcomm"
|
|
177
|
+
* };
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
declare interface Agent_2 extends Partial<Organization> {
|
|
181
|
+
/**
|
|
182
|
+
* Unique identifier for the participant
|
|
183
|
+
* Can be either a DID or an IRI
|
|
184
|
+
*/
|
|
185
|
+
"@id": DID_2 | IRI;
|
|
186
|
+
/**
|
|
187
|
+
* Role of the participant in the transaction
|
|
188
|
+
* Standard values for Agents are: "SettlementAddress", "SourceAddress", "CustodialService"
|
|
189
|
+
* All role values MUST use PascalCase
|
|
190
|
+
* Optional for all participant types
|
|
191
|
+
*/
|
|
192
|
+
role?: AgentRoles;
|
|
193
|
+
/**
|
|
194
|
+
* DID of the party this participant acts for
|
|
195
|
+
* Used when participant is an agent acting on behalf of another party
|
|
196
|
+
* Required for type "Agent", optional for other types
|
|
197
|
+
* Can be a single DID or an array of DIDs representing multiple parties
|
|
198
|
+
*/
|
|
199
|
+
for: DID_2 | DID_2[];
|
|
200
|
+
/**
|
|
201
|
+
* List of policies that apply to this participant
|
|
202
|
+
* Defines requirements and constraints on the participant's actions
|
|
203
|
+
*/
|
|
204
|
+
policies?: Policies[];
|
|
205
|
+
/**
|
|
206
|
+
* Optional DIDComm service endpoint URL
|
|
207
|
+
* This field SHOULD only be used as a fallback when no DIDComm service endpoint
|
|
208
|
+
* is resolvable from the agent's DID document. Particularly useful for self-hosted
|
|
209
|
+
* and decentralized agents. For security purposes, this field SHOULD be ignored
|
|
210
|
+
* if a valid DIDComm service endpoint is already listed in the DID document.
|
|
211
|
+
*
|
|
212
|
+
* @example "https://agent.example.com/didcomm"
|
|
213
|
+
*/
|
|
214
|
+
serviceUrl?: IRI;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
declare type AgentRoles = "SettlementAddress" | "SourceAddress" | "CustodialService" | "EscrowAgent" | string;
|
|
218
|
+
|
|
76
219
|
/**
|
|
77
220
|
* Explicit layout configuration for the agent selection step.
|
|
78
221
|
*
|
|
@@ -103,8 +246,8 @@ export declare enum AgentType {
|
|
|
103
246
|
}
|
|
104
247
|
|
|
105
248
|
declare interface BaseRequestConfig {
|
|
106
|
-
originatorId?:
|
|
107
|
-
beneficiaryId?:
|
|
249
|
+
originatorId?: IRI;
|
|
250
|
+
beneficiaryId?: IRI;
|
|
108
251
|
}
|
|
109
252
|
|
|
110
253
|
/**
|
|
@@ -129,7 +272,6 @@ declare type BeneficiaryFields = {
|
|
|
129
272
|
|
|
130
273
|
declare type BeneficiaryV2 = {
|
|
131
274
|
beneficiaryPerson: PersonV2[];
|
|
132
|
-
customerIdentification?: string;
|
|
133
275
|
};
|
|
134
276
|
|
|
135
277
|
/**
|
|
@@ -677,6 +819,8 @@ export declare type CounterpartyAssistConfig = boolean | {
|
|
|
677
819
|
identityVerification?: IdentityVerificationConfig;
|
|
678
820
|
};
|
|
679
821
|
|
|
822
|
+
declare type CountryCode = "AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "KH" | "CM" | "CA" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CD" | "CG" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "UM" | "US" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "AX" | "XX";
|
|
823
|
+
|
|
680
824
|
/**
|
|
681
825
|
* A crypto credential
|
|
682
826
|
* @public
|
|
@@ -759,6 +903,45 @@ export declare type Destination = BlockchainAddress | CAIP10 | CryptoCredential
|
|
|
759
903
|
*/
|
|
760
904
|
export declare type DID = `did:${string}:${string}`;
|
|
761
905
|
|
|
906
|
+
/**
|
|
907
|
+
* Decentralized Identifier (DID)
|
|
908
|
+
* A globally unique persistent identifier that doesn't require a centralized registration authority.
|
|
909
|
+
*
|
|
910
|
+
* Format: `did:method:method-specific-id`
|
|
911
|
+
*
|
|
912
|
+
* @example "did:web:example.com"
|
|
913
|
+
* @example "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
|
|
914
|
+
* @see {@link https://www.w3.org/TR/did-core/ | DID Core Specification}
|
|
915
|
+
*/
|
|
916
|
+
declare type DID_2 = `did:${string}:${string}`;
|
|
917
|
+
|
|
918
|
+
/**
|
|
919
|
+
* UBL Document Type Code standard
|
|
920
|
+
* Based on UBL 2.1 document types
|
|
921
|
+
*
|
|
922
|
+
* @see {@link http://docs.oasis-open.org/ubl/os-UBL-2.1/cl/gc/default/DocumentTypeCode-2.1.gc | UBL Document Type Codes}
|
|
923
|
+
*/
|
|
924
|
+
declare enum DocumentTypeCode {
|
|
925
|
+
Order = "Order",
|
|
926
|
+
OrderResponse = "OrderResponse",
|
|
927
|
+
OrderChange = "OrderChange",
|
|
928
|
+
OrderCancellation = "OrderCancellation",
|
|
929
|
+
Quotation = "Quotation",
|
|
930
|
+
DespatchAdvice = "DespatchAdvice",
|
|
931
|
+
ReceiptAdvice = "ReceiptAdvice",
|
|
932
|
+
Invoice = "Invoice",
|
|
933
|
+
CreditNote = "CreditNote",
|
|
934
|
+
DebitNote = "DebitNote",
|
|
935
|
+
SelfBilledInvoice = "SelfBilledInvoice",
|
|
936
|
+
RemittanceAdvice = "RemittanceAdvice",
|
|
937
|
+
Statement = "Statement",
|
|
938
|
+
CertificateOfOrigin = "CertificateOfOrigin",
|
|
939
|
+
Contract = "Contract",
|
|
940
|
+
Timesheet = "Timesheet",
|
|
941
|
+
Waybill = "Waybill",
|
|
942
|
+
Manifest = "Manifest"
|
|
943
|
+
}
|
|
944
|
+
|
|
762
945
|
/**
|
|
763
946
|
* Digital Token Identifier (DTI) following ISO 24165 standard
|
|
764
947
|
*
|
|
@@ -1006,6 +1189,122 @@ export declare type InvalidValue<T> = {
|
|
|
1006
1189
|
errors: ValidationError[];
|
|
1007
1190
|
};
|
|
1008
1191
|
|
|
1192
|
+
/**
|
|
1193
|
+
* Invoice
|
|
1194
|
+
* Represents a detailed invoice as defined in TAIP-16
|
|
1195
|
+
*
|
|
1196
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-16.md | TAIP-16: Invoices}
|
|
1197
|
+
*/
|
|
1198
|
+
export declare interface Invoice {
|
|
1199
|
+
/**
|
|
1200
|
+
* Unique identifier for the invoice
|
|
1201
|
+
*
|
|
1202
|
+
* @example "INV001"
|
|
1203
|
+
* @validation Must be a unique identifier for the invoice
|
|
1204
|
+
*/
|
|
1205
|
+
id: string;
|
|
1206
|
+
/**
|
|
1207
|
+
* Date when the invoice was issued
|
|
1208
|
+
* ISO 8601 date format (YYYY-MM-DD)
|
|
1209
|
+
*
|
|
1210
|
+
* @example "2025-04-22"
|
|
1211
|
+
* @validation Must be a valid date in ISO 8601 format
|
|
1212
|
+
*/
|
|
1213
|
+
issueDate: string;
|
|
1214
|
+
/**
|
|
1215
|
+
* Currency code for the invoice amounts
|
|
1216
|
+
* ISO 4217 currency code
|
|
1217
|
+
* Should be consistent with the currency field in the Payment Request if present
|
|
1218
|
+
*
|
|
1219
|
+
* @example "USD"
|
|
1220
|
+
* @example "EUR"
|
|
1221
|
+
* @validation Must be a valid ISO 4217 currency code
|
|
1222
|
+
*/
|
|
1223
|
+
currencyCode: IsoCurrency;
|
|
1224
|
+
/**
|
|
1225
|
+
* Individual items being invoiced
|
|
1226
|
+
*
|
|
1227
|
+
* @validation Must be an array of LineItem objects
|
|
1228
|
+
*/
|
|
1229
|
+
lineItems: LineItem[];
|
|
1230
|
+
/**
|
|
1231
|
+
* Aggregate tax information
|
|
1232
|
+
*
|
|
1233
|
+
* @validation Must be a TaxTotal object if present
|
|
1234
|
+
*/
|
|
1235
|
+
taxTotal?: TaxTotal;
|
|
1236
|
+
/**
|
|
1237
|
+
* Total amount of the invoice, including taxes
|
|
1238
|
+
* Must match the amount in the Payment Request body
|
|
1239
|
+
*
|
|
1240
|
+
* @validation Must be a positive number
|
|
1241
|
+
*/
|
|
1242
|
+
total: number;
|
|
1243
|
+
/**
|
|
1244
|
+
* Sum of line totals before taxes
|
|
1245
|
+
*
|
|
1246
|
+
* @validation Must be a positive number if present
|
|
1247
|
+
*/
|
|
1248
|
+
subTotal?: number;
|
|
1249
|
+
/**
|
|
1250
|
+
* Date when payment is due
|
|
1251
|
+
* ISO 8601 date format (YYYY-MM-DD)
|
|
1252
|
+
*
|
|
1253
|
+
* @example "2025-05-22"
|
|
1254
|
+
* @validation Must be a valid date in ISO 8601 format if present
|
|
1255
|
+
*/
|
|
1256
|
+
dueDate?: string;
|
|
1257
|
+
/**
|
|
1258
|
+
* Additional notes or terms for the invoice
|
|
1259
|
+
*
|
|
1260
|
+
* @validation Must be a string if present
|
|
1261
|
+
*/
|
|
1262
|
+
note?: string;
|
|
1263
|
+
/**
|
|
1264
|
+
* Terms of payment
|
|
1265
|
+
*
|
|
1266
|
+
* @example "Net 30"
|
|
1267
|
+
* @validation Must be a string if present
|
|
1268
|
+
*/
|
|
1269
|
+
paymentTerms?: string;
|
|
1270
|
+
/**
|
|
1271
|
+
* Buyer's accounting code
|
|
1272
|
+
* Used to route costs to specific accounts
|
|
1273
|
+
*
|
|
1274
|
+
* @validation Must be a string if present
|
|
1275
|
+
*/
|
|
1276
|
+
accountingCost?: string;
|
|
1277
|
+
/**
|
|
1278
|
+
* Reference to a related order
|
|
1279
|
+
*
|
|
1280
|
+
* @validation Must be an OrderReference object if present
|
|
1281
|
+
*/
|
|
1282
|
+
orderReference?: OrderReference;
|
|
1283
|
+
/**
|
|
1284
|
+
* References to additional documents
|
|
1285
|
+
*
|
|
1286
|
+
* @validation Must be an array of AdditionalDocumentReference objects if present
|
|
1287
|
+
*/
|
|
1288
|
+
additionalDocumentReference?: AdditionalDocumentReference[];
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
/** Output fields populated by the component on completion */
|
|
1292
|
+
export declare interface InvoiceReaderResponse {
|
|
1293
|
+
/** TAIP-16 compliant invoice data (populated by the component after PDF parsing) */
|
|
1294
|
+
invoice?: Invoice;
|
|
1295
|
+
merchant?: Party;
|
|
1296
|
+
customer?: Party;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
/**
|
|
1300
|
+
* Internationalized Resource Identifier (IRI)
|
|
1301
|
+
* A unique identifier that may contain international characters.
|
|
1302
|
+
* Used for identifying resources, particularly in JSON-LD contexts.
|
|
1303
|
+
*
|
|
1304
|
+
* @see {@link https://www.w3.org/TR/json-ld11/#iris | JSON-LD 1.1 IRIs}
|
|
1305
|
+
*/
|
|
1306
|
+
declare type IRI = `${string}:${string}`;
|
|
1307
|
+
|
|
1009
1308
|
/**
|
|
1010
1309
|
* ISO-3166 Alpha-2 country code
|
|
1011
1310
|
* @example "US" for United States, "GB" for United Kingdom
|
|
@@ -1019,6 +1318,326 @@ declare type ISOCountryCode = string;
|
|
|
1019
1318
|
*/
|
|
1020
1319
|
declare type ISOCurrency = string;
|
|
1021
1320
|
|
|
1321
|
+
/**
|
|
1322
|
+
* ISO 4217 Currency Codes
|
|
1323
|
+
* Three-letter codes representing currencies according to the ISO 4217 standard.
|
|
1324
|
+
*
|
|
1325
|
+
* @see {@link https://www.iso.org/iso-4217-currency-codes.html | ISO 4217}
|
|
1326
|
+
*/
|
|
1327
|
+
declare type IsoCurrency =
|
|
1328
|
+
/** United Arab Emirates Dirham */
|
|
1329
|
+
"AED"
|
|
1330
|
+
/** Afghan Afghani */
|
|
1331
|
+
| "AFN"
|
|
1332
|
+
/** Albanian Lek */
|
|
1333
|
+
| "ALL"
|
|
1334
|
+
/** Armenian Dram */
|
|
1335
|
+
| "AMD"
|
|
1336
|
+
/** Netherlands Antillean Guilder */
|
|
1337
|
+
| "ANG"
|
|
1338
|
+
/** Angolan Kwanza */
|
|
1339
|
+
| "AOA"
|
|
1340
|
+
/** Argentine Peso */
|
|
1341
|
+
| "ARS"
|
|
1342
|
+
/** Australian Dollar */
|
|
1343
|
+
| "AUD"
|
|
1344
|
+
/** Aruban Florin */
|
|
1345
|
+
| "AWG"
|
|
1346
|
+
/** Azerbaijani Manat */
|
|
1347
|
+
| "AZN"
|
|
1348
|
+
/** Bosnia and Herzegovina Convertible Mark */
|
|
1349
|
+
| "BAM"
|
|
1350
|
+
/** Barbados Dollar */
|
|
1351
|
+
| "BBD"
|
|
1352
|
+
/** Bangladeshi Taka */
|
|
1353
|
+
| "BDT"
|
|
1354
|
+
/** Bulgarian Lev */
|
|
1355
|
+
| "BGN"
|
|
1356
|
+
/** Bahraini Dinar */
|
|
1357
|
+
| "BHD"
|
|
1358
|
+
/** Burundian Franc */
|
|
1359
|
+
| "BIF"
|
|
1360
|
+
/** Bermudian Dollar */
|
|
1361
|
+
| "BMD"
|
|
1362
|
+
/** Brunei Dollar */
|
|
1363
|
+
| "BND"
|
|
1364
|
+
/** Boliviano */
|
|
1365
|
+
| "BOB"
|
|
1366
|
+
/** Brazilian Real */
|
|
1367
|
+
| "BRL"
|
|
1368
|
+
/** Bahamian Dollar */
|
|
1369
|
+
| "BSD"
|
|
1370
|
+
/** Bhutanese Ngultrum */
|
|
1371
|
+
| "BTN"
|
|
1372
|
+
/** Botswana Pula */
|
|
1373
|
+
| "BWP"
|
|
1374
|
+
/** Belarusian Ruble */
|
|
1375
|
+
| "BYN"
|
|
1376
|
+
/** Belize Dollar */
|
|
1377
|
+
| "BZD"
|
|
1378
|
+
/** Canadian Dollar */
|
|
1379
|
+
| "CAD"
|
|
1380
|
+
/** Congolese Franc */
|
|
1381
|
+
| "CDF"
|
|
1382
|
+
/** Swiss Franc */
|
|
1383
|
+
| "CHF"
|
|
1384
|
+
/** Chilean Peso */
|
|
1385
|
+
| "CLP"
|
|
1386
|
+
/** Chinese Yuan */
|
|
1387
|
+
| "CNY"
|
|
1388
|
+
/** Colombian Peso */
|
|
1389
|
+
| "COP"
|
|
1390
|
+
/** Costa Rican Colon */
|
|
1391
|
+
| "CRC"
|
|
1392
|
+
/** Cuban Peso */
|
|
1393
|
+
| "CUP"
|
|
1394
|
+
/** Cape Verde Escudo */
|
|
1395
|
+
| "CVE"
|
|
1396
|
+
/** Czech Koruna */
|
|
1397
|
+
| "CZK"
|
|
1398
|
+
/** Djiboutian Franc */
|
|
1399
|
+
| "DJF"
|
|
1400
|
+
/** Danish Krone */
|
|
1401
|
+
| "DKK"
|
|
1402
|
+
/** Dominican Peso */
|
|
1403
|
+
| "DOP"
|
|
1404
|
+
/** Algerian Dinar */
|
|
1405
|
+
| "DZD"
|
|
1406
|
+
/** Egyptian Pound */
|
|
1407
|
+
| "EGP"
|
|
1408
|
+
/** Eritrean Nakfa */
|
|
1409
|
+
| "ERN"
|
|
1410
|
+
/** Ethiopian Birr */
|
|
1411
|
+
| "ETB"
|
|
1412
|
+
/** Euro */
|
|
1413
|
+
| "EUR"
|
|
1414
|
+
/** Fiji Dollar */
|
|
1415
|
+
| "FJD"
|
|
1416
|
+
/** Falkland Islands Pound */
|
|
1417
|
+
| "FKP"
|
|
1418
|
+
/** Pound Sterling */
|
|
1419
|
+
| "GBP"
|
|
1420
|
+
/** Georgian Lari */
|
|
1421
|
+
| "GEL"
|
|
1422
|
+
/** Ghanaian Cedi */
|
|
1423
|
+
| "GHS"
|
|
1424
|
+
/** Gibraltar Pound */
|
|
1425
|
+
| "GIP"
|
|
1426
|
+
/** Gambian Dalasi */
|
|
1427
|
+
| "GMD"
|
|
1428
|
+
/** Guinean Franc */
|
|
1429
|
+
| "GNF"
|
|
1430
|
+
/** Guatemalan Quetzal */
|
|
1431
|
+
| "GTQ"
|
|
1432
|
+
/** Guyanese Dollar */
|
|
1433
|
+
| "GYD"
|
|
1434
|
+
/** Hong Kong Dollar */
|
|
1435
|
+
| "HKD"
|
|
1436
|
+
/** Honduran Lempira */
|
|
1437
|
+
| "HNL"
|
|
1438
|
+
/** Croatian Kuna */
|
|
1439
|
+
| "HRK"
|
|
1440
|
+
/** Haitian Gourde */
|
|
1441
|
+
| "HTG"
|
|
1442
|
+
/** Hungarian Forint */
|
|
1443
|
+
| "HUF"
|
|
1444
|
+
/** Indonesian Rupiah */
|
|
1445
|
+
| "IDR"
|
|
1446
|
+
/** Israeli New Shekel */
|
|
1447
|
+
| "ILS"
|
|
1448
|
+
/** Indian Rupee */
|
|
1449
|
+
| "INR"
|
|
1450
|
+
/** Iraqi Dinar */
|
|
1451
|
+
| "IQD"
|
|
1452
|
+
/** Iranian Rial */
|
|
1453
|
+
| "IRR"
|
|
1454
|
+
/** Icelandic Króna */
|
|
1455
|
+
| "ISK"
|
|
1456
|
+
/** Jamaican Dollar */
|
|
1457
|
+
| "JMD"
|
|
1458
|
+
/** Jordanian Dinar */
|
|
1459
|
+
| "JOD"
|
|
1460
|
+
/** Japanese Yen */
|
|
1461
|
+
| "JPY"
|
|
1462
|
+
/** Kenyan Shilling */
|
|
1463
|
+
| "KES"
|
|
1464
|
+
/** Kyrgyzstani Som */
|
|
1465
|
+
| "KGS"
|
|
1466
|
+
/** Cambodian Riel */
|
|
1467
|
+
| "KHR"
|
|
1468
|
+
/** Comoro Franc */
|
|
1469
|
+
| "KMF"
|
|
1470
|
+
/** North Korean Won */
|
|
1471
|
+
| "KPW"
|
|
1472
|
+
/** South Korean Won */
|
|
1473
|
+
| "KRW"
|
|
1474
|
+
/** Kuwaiti Dinar */
|
|
1475
|
+
| "KWD"
|
|
1476
|
+
/** Cayman Islands Dollar */
|
|
1477
|
+
| "KYD"
|
|
1478
|
+
/** Kazakhstani Tenge */
|
|
1479
|
+
| "KZT"
|
|
1480
|
+
/** Lao Kip */
|
|
1481
|
+
| "LAK"
|
|
1482
|
+
/** Lebanese Pound */
|
|
1483
|
+
| "LBP"
|
|
1484
|
+
/** Sri Lankan Rupee */
|
|
1485
|
+
| "LKR"
|
|
1486
|
+
/** Liberian Dollar */
|
|
1487
|
+
| "LRD"
|
|
1488
|
+
/** Lesotho Loti */
|
|
1489
|
+
| "LSL"
|
|
1490
|
+
/** Libyan Dinar */
|
|
1491
|
+
| "LYD"
|
|
1492
|
+
/** Moroccan Dirham */
|
|
1493
|
+
| "MAD"
|
|
1494
|
+
/** Moldovan Leu */
|
|
1495
|
+
| "MDL"
|
|
1496
|
+
/** Malagasy Ariary */
|
|
1497
|
+
| "MGA"
|
|
1498
|
+
/** Macedonian Denar */
|
|
1499
|
+
| "MKD"
|
|
1500
|
+
/** Myanmar Kyat */
|
|
1501
|
+
| "MMK"
|
|
1502
|
+
/** Mongolian Tugrik */
|
|
1503
|
+
| "MNT"
|
|
1504
|
+
/** Macanese Pataca */
|
|
1505
|
+
| "MOP"
|
|
1506
|
+
/** Mauritanian Ouguiya */
|
|
1507
|
+
| "MRU"
|
|
1508
|
+
/** Mauritian Rupee */
|
|
1509
|
+
| "MUR"
|
|
1510
|
+
/** Maldivian Rufiyaa */
|
|
1511
|
+
| "MVR"
|
|
1512
|
+
/** Malawian Kwacha */
|
|
1513
|
+
| "MWK"
|
|
1514
|
+
/** Mexican Peso */
|
|
1515
|
+
| "MXN"
|
|
1516
|
+
/** Malaysian Ringgit */
|
|
1517
|
+
| "MYR"
|
|
1518
|
+
/** Mozambican Metical */
|
|
1519
|
+
| "MZN"
|
|
1520
|
+
/** Namibian Dollar */
|
|
1521
|
+
| "NAD"
|
|
1522
|
+
/** Nigerian Naira */
|
|
1523
|
+
| "NGN"
|
|
1524
|
+
/** Nicaraguan Córdoba */
|
|
1525
|
+
| "NIO"
|
|
1526
|
+
/** Norwegian Krone */
|
|
1527
|
+
| "NOK"
|
|
1528
|
+
/** Nepalese Rupee */
|
|
1529
|
+
| "NPR"
|
|
1530
|
+
/** New Zealand Dollar */
|
|
1531
|
+
| "NZD"
|
|
1532
|
+
/** Omani Rial */
|
|
1533
|
+
| "OMR"
|
|
1534
|
+
/** Panamanian Balboa */
|
|
1535
|
+
| "PAB"
|
|
1536
|
+
/** Peruvian Sol */
|
|
1537
|
+
| "PEN"
|
|
1538
|
+
/** Papua New Guinean Kina */
|
|
1539
|
+
| "PGK"
|
|
1540
|
+
/** Philippine Peso */
|
|
1541
|
+
| "PHP"
|
|
1542
|
+
/** Pakistani Rupee */
|
|
1543
|
+
| "PKR"
|
|
1544
|
+
/** Polish Złoty */
|
|
1545
|
+
| "PLN"
|
|
1546
|
+
/** Paraguayan Guaraní */
|
|
1547
|
+
| "PYG"
|
|
1548
|
+
/** Qatari Riyal */
|
|
1549
|
+
| "QAR"
|
|
1550
|
+
/** Romanian Leu */
|
|
1551
|
+
| "RON"
|
|
1552
|
+
/** Serbian Dinar */
|
|
1553
|
+
| "RSD"
|
|
1554
|
+
/** Russian Ruble */
|
|
1555
|
+
| "RUB"
|
|
1556
|
+
/** Rwandan Franc */
|
|
1557
|
+
| "RWF"
|
|
1558
|
+
/** Saudi Riyal */
|
|
1559
|
+
| "SAR"
|
|
1560
|
+
/** Solomon Islands Dollar */
|
|
1561
|
+
| "SBD"
|
|
1562
|
+
/** Seychelles Rupee */
|
|
1563
|
+
| "SCR"
|
|
1564
|
+
/** Sudanese Pound */
|
|
1565
|
+
| "SDG"
|
|
1566
|
+
/** Swedish Krona */
|
|
1567
|
+
| "SEK"
|
|
1568
|
+
/** Singapore Dollar */
|
|
1569
|
+
| "SGD"
|
|
1570
|
+
/** Saint Helena Pound */
|
|
1571
|
+
| "SHP"
|
|
1572
|
+
/** Sierra Leonean Leone */
|
|
1573
|
+
| "SLL"
|
|
1574
|
+
/** Somali Shilling */
|
|
1575
|
+
| "SOS"
|
|
1576
|
+
/** Surinamese Dollar */
|
|
1577
|
+
| "SRD"
|
|
1578
|
+
/** South Sudanese Pound */
|
|
1579
|
+
| "SSP"
|
|
1580
|
+
/** São Tomé and Príncipe Dobra */
|
|
1581
|
+
| "STN"
|
|
1582
|
+
/** Salvadoran Colón */
|
|
1583
|
+
| "SVC"
|
|
1584
|
+
/** Syrian Pound */
|
|
1585
|
+
| "SYP"
|
|
1586
|
+
/** Swazi Lilangeni */
|
|
1587
|
+
| "SZL"
|
|
1588
|
+
/** Thai Baht */
|
|
1589
|
+
| "THB"
|
|
1590
|
+
/** Tajikistani Somoni */
|
|
1591
|
+
| "TJS"
|
|
1592
|
+
/** Turkmenistan Manat */
|
|
1593
|
+
| "TMT"
|
|
1594
|
+
/** Tunisian Dinar */
|
|
1595
|
+
| "TND"
|
|
1596
|
+
/** Tongan Paʻanga */
|
|
1597
|
+
| "TOP"
|
|
1598
|
+
/** Turkish Lira */
|
|
1599
|
+
| "TRY"
|
|
1600
|
+
/** Trinidad and Tobago Dollar */
|
|
1601
|
+
| "TTD"
|
|
1602
|
+
/** New Taiwan Dollar */
|
|
1603
|
+
| "TWD"
|
|
1604
|
+
/** Tanzanian Shilling */
|
|
1605
|
+
| "TZS"
|
|
1606
|
+
/** Ukrainian Hryvnia */
|
|
1607
|
+
| "UAH"
|
|
1608
|
+
/** Ugandan Shilling */
|
|
1609
|
+
| "UGX"
|
|
1610
|
+
/** United States Dollar */
|
|
1611
|
+
| "USD"
|
|
1612
|
+
/** Uruguayan Peso */
|
|
1613
|
+
| "UYU"
|
|
1614
|
+
/** Uzbekistan Som */
|
|
1615
|
+
| "UZS"
|
|
1616
|
+
/** Venezuelan Bolívar Soberano */
|
|
1617
|
+
| "VES"
|
|
1618
|
+
/** Vietnamese Đồng */
|
|
1619
|
+
| "VND"
|
|
1620
|
+
/** Vanuatu Vatu */
|
|
1621
|
+
| "VUV"
|
|
1622
|
+
/** Samoan Tala */
|
|
1623
|
+
| "WST"
|
|
1624
|
+
/** CFA Franc BEAC */
|
|
1625
|
+
| "XAF"
|
|
1626
|
+
/** East Caribbean Dollar */
|
|
1627
|
+
| "XCD"
|
|
1628
|
+
/** CFA Franc BCEAO */
|
|
1629
|
+
| "XOF"
|
|
1630
|
+
/** CFP Franc */
|
|
1631
|
+
| "XPF"
|
|
1632
|
+
/** Yemeni Rial */
|
|
1633
|
+
| "YER"
|
|
1634
|
+
/** South African Rand */
|
|
1635
|
+
| "ZAR"
|
|
1636
|
+
/** Zambian Kwacha */
|
|
1637
|
+
| "ZMW"
|
|
1638
|
+
/** Zimbabwean Dollar */
|
|
1639
|
+
| "ZWL";
|
|
1640
|
+
|
|
1022
1641
|
/**
|
|
1023
1642
|
* A point in time, represented as a day within the calendar year. Compliant with ISO 8601.
|
|
1024
1643
|
* Format: YYYY-MM-DD
|
|
@@ -1041,6 +1660,19 @@ export declare type IVMS101 = {
|
|
|
1041
1660
|
payloadMetadata?: PayloadMetadata;
|
|
1042
1661
|
};
|
|
1043
1662
|
|
|
1663
|
+
/**
|
|
1664
|
+
* Base interface for JSON-LD objects
|
|
1665
|
+
* Provides the core structure for JSON-LD compatible objects with type information.
|
|
1666
|
+
*
|
|
1667
|
+
* @template T - The type string that identifies the object type
|
|
1668
|
+
*/
|
|
1669
|
+
declare interface JsonLdObject<T extends string> {
|
|
1670
|
+
"@context"?: IRI | Record<string, string>;
|
|
1671
|
+
"@type": T;
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
declare type LegalEntityNationalIdentifierTypeCode = Omit<NationalIdentifierTypeCode_2, "ARNU" | "CCPT" | "DRLC" | "SOCS" | "IDCD">;
|
|
1675
|
+
|
|
1044
1676
|
/**
|
|
1045
1677
|
* Interface representing a legal entity (organization/company) involved in a transaction
|
|
1046
1678
|
*
|
|
@@ -1132,6 +1764,14 @@ declare type LegalPersonNameID = {
|
|
|
1132
1764
|
legalPersonNameIdentifierType: LegalPersonNameTypeCode;
|
|
1133
1765
|
};
|
|
1134
1766
|
|
|
1767
|
+
/** Represents a legal person's name identifier */
|
|
1768
|
+
declare interface LegalPersonNameId {
|
|
1769
|
+
/** Name by which the legal person is known */
|
|
1770
|
+
legalPersonName: string;
|
|
1771
|
+
/** The nature of the name specified */
|
|
1772
|
+
legalPersonNameIdentifierType: LegalPersonNameTypeCode_2;
|
|
1773
|
+
}
|
|
1774
|
+
|
|
1135
1775
|
/**
|
|
1136
1776
|
* Legal Person Name Type Code
|
|
1137
1777
|
* Specifies the type of name for a legal person
|
|
@@ -1139,12 +1779,87 @@ declare type LegalPersonNameID = {
|
|
|
1139
1779
|
*/
|
|
1140
1780
|
declare type LegalPersonNameTypeCode = 'LEGL' | 'SHRT' | 'TRAD';
|
|
1141
1781
|
|
|
1782
|
+
/** Codes representing the nature of a legal person's name */
|
|
1783
|
+
declare type LegalPersonNameTypeCode_2 = "LEGL" | "SHRT" | "TRAD";
|
|
1784
|
+
|
|
1142
1785
|
/**
|
|
1143
1786
|
* A LEI Legal Entity Identifier
|
|
1144
1787
|
* @public
|
|
1145
1788
|
*/
|
|
1146
1789
|
export declare type LEI = string;
|
|
1147
1790
|
|
|
1791
|
+
/**
|
|
1792
|
+
* Legal Entity Identifier (LEI)
|
|
1793
|
+
* A 20-character alphanumeric code that uniquely identifies legal entities globally.
|
|
1794
|
+
*
|
|
1795
|
+
* @example "969500KN90DZLPGW6898"
|
|
1796
|
+
* @see {@link https://www.iso.org/standard/59771.html | ISO 17442}
|
|
1797
|
+
*/
|
|
1798
|
+
declare type LEICode = string;
|
|
1799
|
+
|
|
1800
|
+
/**
|
|
1801
|
+
* Line Item
|
|
1802
|
+
* Represents an individual item in an invoice
|
|
1803
|
+
*/
|
|
1804
|
+
declare interface LineItem {
|
|
1805
|
+
/**
|
|
1806
|
+
* Unique identifier for the line item within the invoice
|
|
1807
|
+
*/
|
|
1808
|
+
id: string;
|
|
1809
|
+
/**
|
|
1810
|
+
* Description of the item or service
|
|
1811
|
+
*/
|
|
1812
|
+
description: string;
|
|
1813
|
+
/**
|
|
1814
|
+
* Product name
|
|
1815
|
+
* Based on schema.org/Product
|
|
1816
|
+
* If not provided, description serves as the display name
|
|
1817
|
+
*
|
|
1818
|
+
* @example "Premium Widget Model A"
|
|
1819
|
+
*/
|
|
1820
|
+
name?: string;
|
|
1821
|
+
/**
|
|
1822
|
+
* URL to an image of the product
|
|
1823
|
+
* Based on schema.org/Product
|
|
1824
|
+
*
|
|
1825
|
+
* @example "https://example.com/products/widget-a.jpg"
|
|
1826
|
+
*/
|
|
1827
|
+
image?: string;
|
|
1828
|
+
/**
|
|
1829
|
+
* URL to the product page
|
|
1830
|
+
* Based on schema.org/Product
|
|
1831
|
+
*
|
|
1832
|
+
* @example "https://example.com/products/widget-a"
|
|
1833
|
+
*/
|
|
1834
|
+
url?: string;
|
|
1835
|
+
/**
|
|
1836
|
+
* Quantity of the item
|
|
1837
|
+
*/
|
|
1838
|
+
quantity: number;
|
|
1839
|
+
/**
|
|
1840
|
+
* Unit of measure code
|
|
1841
|
+
* Uses UBL Unit of Measure Code standard
|
|
1842
|
+
*
|
|
1843
|
+
* @example UnitCode.Each
|
|
1844
|
+
* @example UnitCode.Kilogram
|
|
1845
|
+
* @example UnitCode.Hour
|
|
1846
|
+
*/
|
|
1847
|
+
unitCode?: UnitCode;
|
|
1848
|
+
/**
|
|
1849
|
+
* Price per unit
|
|
1850
|
+
*/
|
|
1851
|
+
unitPrice: number;
|
|
1852
|
+
/**
|
|
1853
|
+
* Total amount for this line item
|
|
1854
|
+
* Typically quantity × unitPrice
|
|
1855
|
+
*/
|
|
1856
|
+
lineTotal: number;
|
|
1857
|
+
/**
|
|
1858
|
+
* Tax category information specific to this line item
|
|
1859
|
+
*/
|
|
1860
|
+
taxCategory?: TaxCategory;
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1148
1863
|
/**
|
|
1149
1864
|
* Local Legal Person Name ID
|
|
1150
1865
|
* Represents a local name identifier for a legal person
|
|
@@ -1209,6 +1924,18 @@ export declare type NationalIdentification = {
|
|
|
1209
1924
|
registrationAuthority?: string;
|
|
1210
1925
|
};
|
|
1211
1926
|
|
|
1927
|
+
/** Represents a national identification */
|
|
1928
|
+
declare interface NationalIdentification_2<C> {
|
|
1929
|
+
/** An identifier issued by an appropriate issuing authority */
|
|
1930
|
+
nationalIdentifier: string;
|
|
1931
|
+
/** Specifies the type of identifier */
|
|
1932
|
+
nationalIdentifierType: C;
|
|
1933
|
+
/** Country of the issuing authority */
|
|
1934
|
+
countryOfIssue?: CountryCode;
|
|
1935
|
+
/** A code specifying the registration authority */
|
|
1936
|
+
registrationAuthority?: string;
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1212
1939
|
/**
|
|
1213
1940
|
* National Identifier Type Code
|
|
1214
1941
|
* Specifies the type of national identifier
|
|
@@ -1216,6 +1943,22 @@ export declare type NationalIdentification = {
|
|
|
1216
1943
|
*/
|
|
1217
1944
|
declare type NationalIdentifierTypeCode = 'ARNU' | 'CCPT' | 'RAID' | 'DRLC' | 'FIIN' | 'TXID' | 'SOCS' | 'IDCD' | 'LEIX' | 'MISC';
|
|
1218
1945
|
|
|
1946
|
+
/**
|
|
1947
|
+
* Codes identifying the type of national identification
|
|
1948
|
+
*
|
|
1949
|
+
* - **ARNU**: Alien registration number - Number assigned by a government agency to identify foreign nationals
|
|
1950
|
+
* - **CCPT**: Passport number - Number assigned by a passport authority
|
|
1951
|
+
* - **RAID**: Registration authority identifier - Identifier of a legal entity as maintained by a registration authority
|
|
1952
|
+
* - **DRLC**: Driver license number - Number assigned to a driver's license
|
|
1953
|
+
* - **FIIN**: Foreign investment identity number - Number assigned to a foreign investor (other than the alien number)
|
|
1954
|
+
* - **TXID**: Tax identification number - Number assigned by a tax authority to an entity
|
|
1955
|
+
* - **SOCS**: Social security number - Number assigned by a social security agency
|
|
1956
|
+
* - **IDCD**: Identity card number - Number assigned by a national authority to an identity card
|
|
1957
|
+
* - **LEIX**: Legal Entity Identifier - Legal Entity Identifier (LEI) assigned in accordance with ISO 17442
|
|
1958
|
+
* - **MISC**: Miscellaneous - Other types of national identification not covered by the above codes
|
|
1959
|
+
*/
|
|
1960
|
+
declare type NationalIdentifierTypeCode_2 = "ARNU" | "CCPT" | "RAID" | "DRLC" | "FIIN" | "TXID" | "SOCS" | "IDCD" | "LEIX" | "MISC";
|
|
1961
|
+
|
|
1219
1962
|
/**
|
|
1220
1963
|
* Field properties for national identifier type selection
|
|
1221
1964
|
* @public
|
|
@@ -1323,6 +2066,16 @@ declare type NaturalPersonNameID = {
|
|
|
1323
2066
|
nameIdentifierType?: NaturalPersonNameTypeCode;
|
|
1324
2067
|
};
|
|
1325
2068
|
|
|
2069
|
+
/** Represents a natural person's name identifier */
|
|
2070
|
+
declare interface NaturalPersonNameId {
|
|
2071
|
+
/** This may be the family name, maiden name, or married name */
|
|
2072
|
+
primaryIdentifier: string;
|
|
2073
|
+
/** These may be forenames, given names, initials, or other secondary names */
|
|
2074
|
+
secondaryIdentifier?: string;
|
|
2075
|
+
/** The nature of the name specified */
|
|
2076
|
+
naturalPersonNameIdentifierType: NaturalPersonNameTypeCode_2;
|
|
2077
|
+
}
|
|
2078
|
+
|
|
1326
2079
|
declare type NaturalPersonNameIDV2 = {
|
|
1327
2080
|
primaryIdentifier?: string;
|
|
1328
2081
|
secondaryIdentifier?: string;
|
|
@@ -1337,12 +2090,23 @@ declare type NaturalPersonNameIDV2 = {
|
|
|
1337
2090
|
*/
|
|
1338
2091
|
declare type NaturalPersonNameTypeCode = 'ALIA' | 'BIRT' | 'MAID' | 'LEGL' | 'MISC';
|
|
1339
2092
|
|
|
2093
|
+
/**
|
|
2094
|
+
* IVMS101 Core Types
|
|
2095
|
+
* Shared type definitions used by both IVMS101.2020 and IVMS101.2023 versions
|
|
2096
|
+
*/
|
|
2097
|
+
|
|
2098
|
+
/** Codes representing the nature of a natural person's name */
|
|
2099
|
+
declare type NaturalPersonNameTypeCode_2 = "ALIA" | "BIRT" | "MAID" | "LEGL" | "MISC";
|
|
2100
|
+
|
|
1340
2101
|
declare type NaturalPersonNameV2 = Omit<NaturalPersonName, 'nameIdentifier'> & {
|
|
1341
2102
|
nameIdentifier?: NaturalPersonNameIDV2[];
|
|
1342
2103
|
};
|
|
1343
2104
|
|
|
2105
|
+
declare type NaturalPersonNationalIdentifierTypeCode = Omit<NationalIdentifierTypeCode_2, "LEIX" | "RAID">;
|
|
2106
|
+
|
|
1344
2107
|
declare type NaturalPersonV2 = Omit<NaturalPerson_2, 'name'> & {
|
|
1345
2108
|
name: NaturalPersonNameV2;
|
|
2109
|
+
customerIdentification?: string;
|
|
1346
2110
|
};
|
|
1347
2111
|
|
|
1348
2112
|
/**
|
|
@@ -1417,6 +2181,17 @@ declare class Notabene {
|
|
|
1417
2181
|
* @public
|
|
1418
2182
|
*/
|
|
1419
2183
|
createDepositRequest(value: DepositRequest, options?: DepositRequestOptions, callbacks?: CallbackOptions): EmbeddedComponent<DepositRequest, DepositRequestOptions>;
|
|
2184
|
+
/**
|
|
2185
|
+
* Creates an invoice reader component for extracting TAIP-16 invoice data from PDF invoices
|
|
2186
|
+
*
|
|
2187
|
+
* The component provides a PDF drag-and-drop upload UI. On upload, the PDF is
|
|
2188
|
+
* parsed and the extracted invoice data is returned. On completion,
|
|
2189
|
+
* the response contains the TAIP-16 invoice data.
|
|
2190
|
+
*
|
|
2191
|
+
* @returns A new EmbeddedComponent instance for invoice reader creation
|
|
2192
|
+
* @public
|
|
2193
|
+
*/
|
|
2194
|
+
createInvoiceReader(): EmbeddedComponent<InvoiceReaderResponse, Record<string, never>>;
|
|
1420
2195
|
/**
|
|
1421
2196
|
* Creates a deposit assist component
|
|
1422
2197
|
*
|
|
@@ -1478,6 +2253,171 @@ export declare interface NotabeneConfig {
|
|
|
1478
2253
|
locale?: string;
|
|
1479
2254
|
}
|
|
1480
2255
|
|
|
2256
|
+
/**
|
|
2257
|
+
* Order Reference
|
|
2258
|
+
* Reference to a related order
|
|
2259
|
+
*/
|
|
2260
|
+
declare interface OrderReference {
|
|
2261
|
+
/**
|
|
2262
|
+
* Order identifier
|
|
2263
|
+
*/
|
|
2264
|
+
id: string;
|
|
2265
|
+
/**
|
|
2266
|
+
* Date when the order was issued
|
|
2267
|
+
* ISO 8601 date format (YYYY-MM-DD)
|
|
2268
|
+
*/
|
|
2269
|
+
issueDate?: string;
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
/**
|
|
2273
|
+
* Organization Interface
|
|
2274
|
+
* Represents a legal entity (company, institution, merchant) in TAP transactions.
|
|
2275
|
+
* Supports both schema.org/Organization properties and IVMS101 identity data for compliance.
|
|
2276
|
+
*
|
|
2277
|
+
* Organizations typically have less privacy concerns than natural persons, making direct
|
|
2278
|
+
* inclusion of IVMS101 data more common for transparency and compliance purposes.
|
|
2279
|
+
*
|
|
2280
|
+
* @example
|
|
2281
|
+
* ```typescript
|
|
2282
|
+
* // Basic organization with schema.org properties
|
|
2283
|
+
* const basicOrg: Organization = {
|
|
2284
|
+
* "@id": "did:web:example.com",
|
|
2285
|
+
* "@type": "https://schema.org/Organization",
|
|
2286
|
+
* name: "Example Corp",
|
|
2287
|
+
* url: "https://example.com",
|
|
2288
|
+
* email: "contact@example.com"
|
|
2289
|
+
* };
|
|
2290
|
+
*
|
|
2291
|
+
* // VASP with full compliance data
|
|
2292
|
+
* const vasp: Organization = {
|
|
2293
|
+
* "@id": "did:web:vasp.example.com",
|
|
2294
|
+
* "@type": "https://schema.org/Organization",
|
|
2295
|
+
* name: "Example Virtual Asset Service Provider",
|
|
2296
|
+
* leiCode: "969500KN90DZLPGW6898",
|
|
2297
|
+
* url: "https://vasp.example.com",
|
|
2298
|
+
* logo: "https://vasp.example.com/logo.png",
|
|
2299
|
+
* description: "Licensed Virtual Asset Service Provider",
|
|
2300
|
+
* email: "compliance@vasp.example.com",
|
|
2301
|
+
* telephone: "+1-555-123-4567",
|
|
2302
|
+
* geographicAddress: [{
|
|
2303
|
+
* addressType: "BIZZ",
|
|
2304
|
+
* streetName: "456 Financial District",
|
|
2305
|
+
* buildingNumber: "456",
|
|
2306
|
+
* postCode: "10005",
|
|
2307
|
+
* townName: "New York",
|
|
2308
|
+
* country: "US"
|
|
2309
|
+
* }],
|
|
2310
|
+
* nationalIdentifier: {
|
|
2311
|
+
* nationalIdentifier: "12-3456789",
|
|
2312
|
+
* nationalIdentifierType: "TXID", // Tax ID
|
|
2313
|
+
* countryOfIssue: "US"
|
|
2314
|
+
* },
|
|
2315
|
+
* countryOfRegistration: "US"
|
|
2316
|
+
* };
|
|
2317
|
+
*
|
|
2318
|
+
* // Merchant with MCC
|
|
2319
|
+
* const merchant: Organization = {
|
|
2320
|
+
* "@id": "did:web:coffee.example.com",
|
|
2321
|
+
* "@type": "https://schema.org/Organization",
|
|
2322
|
+
* name: "Downtown Coffee Shop",
|
|
2323
|
+
* mcc: "5812", // Restaurant
|
|
2324
|
+
* url: "https://coffee.example.com",
|
|
2325
|
+
* geographicAddress: [{
|
|
2326
|
+
* addressType: "BIZZ",
|
|
2327
|
+
* streetName: "123 Main Street",
|
|
2328
|
+
* buildingNumber: "123",
|
|
2329
|
+
* postCode: "12345",
|
|
2330
|
+
* townName: "Anytown",
|
|
2331
|
+
* country: "US"
|
|
2332
|
+
* }]
|
|
2333
|
+
* };
|
|
2334
|
+
* ```
|
|
2335
|
+
*
|
|
2336
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-6.md | TAIP-6: Party Identification}
|
|
2337
|
+
* @see {@link https://schema.org/Organization | schema.org/Organization}
|
|
2338
|
+
*/
|
|
2339
|
+
declare interface Organization extends Participant {
|
|
2340
|
+
"@type": "https://schema.org/Organization";
|
|
2341
|
+
/**
|
|
2342
|
+
* Legal Entity Identifier (LEI) code
|
|
2343
|
+
* 20-character alphanumeric code that uniquely identifies legal entities globally
|
|
2344
|
+
* Used to uniquely identify legal entities involved in financial transactions
|
|
2345
|
+
* @example "969500KN90DZLPGW6898"
|
|
2346
|
+
* @see {@link https://www.iso.org/standard/59771.html | ISO 17442}
|
|
2347
|
+
*/
|
|
2348
|
+
leiCode?: LEICode;
|
|
2349
|
+
/**
|
|
2350
|
+
* Legal name of the organization
|
|
2351
|
+
* Can be a simple string or structured IVMS101 name identifiers
|
|
2352
|
+
* For regulated entities, IVMS101 format may be required for compliance
|
|
2353
|
+
* @example "Example Corporation Inc." // Simple string
|
|
2354
|
+
* @example [{ legalPersonName: "Example Corp", legalPersonNameIdentifierType: "LEGL" }] // IVMS101
|
|
2355
|
+
*/
|
|
2356
|
+
name?: string | LegalPersonNameId[];
|
|
2357
|
+
/**
|
|
2358
|
+
* Customer identification string
|
|
2359
|
+
* Internal identifier used by the institution for this organization
|
|
2360
|
+
* @example "CORP-789012"
|
|
2361
|
+
*/
|
|
2362
|
+
customerIdentification?: string;
|
|
2363
|
+
/**
|
|
2364
|
+
* National identification documents
|
|
2365
|
+
* Government-issued identifiers like tax ID, business registration number
|
|
2366
|
+
* @example { nationalIdentifier: "12-3456789", nationalIdentifierType: "TXID", countryOfIssue: "US" }
|
|
2367
|
+
*/
|
|
2368
|
+
nationalIdentifier?: NationalIdentification_2<LegalEntityNationalIdentifierTypeCode>;
|
|
2369
|
+
/**
|
|
2370
|
+
* Merchant Category Code (ISO 18245)
|
|
2371
|
+
* Standard classification code for merchant types in payment transactions
|
|
2372
|
+
* Used primarily for merchants in payment requests
|
|
2373
|
+
*
|
|
2374
|
+
* @example "5411" // Grocery stores and supermarkets
|
|
2375
|
+
* @example "5812" // Restaurants
|
|
2376
|
+
* @example "5734" // Computer software stores
|
|
2377
|
+
* @example "6012" // Financial institutions
|
|
2378
|
+
* @see {@link https://www.iso.org/standard/33365.html | ISO 18245}
|
|
2379
|
+
*/
|
|
2380
|
+
mcc?: string;
|
|
2381
|
+
/**
|
|
2382
|
+
* URL pointing to the organization's website
|
|
2383
|
+
* Based on schema.org/Organization
|
|
2384
|
+
* @example "https://example.vasp.com"
|
|
2385
|
+
* @example "https://merchant.example.com"
|
|
2386
|
+
*/
|
|
2387
|
+
url?: string;
|
|
2388
|
+
/**
|
|
2389
|
+
* URL pointing to the organization's logo image
|
|
2390
|
+
* Based on schema.org/Organization
|
|
2391
|
+
* @example "https://example.vasp.com/logo.png"
|
|
2392
|
+
* @example "https://cdn.example.com/assets/logo.svg"
|
|
2393
|
+
*/
|
|
2394
|
+
logo?: string;
|
|
2395
|
+
/**
|
|
2396
|
+
* Description of the organization
|
|
2397
|
+
* Based on schema.org/Organization
|
|
2398
|
+
* @example "Licensed Virtual Asset Service Provider"
|
|
2399
|
+
* @example "Online marketplace for digital assets and collectibles"
|
|
2400
|
+
* @example "Full-service financial institution"
|
|
2401
|
+
*/
|
|
2402
|
+
description?: string;
|
|
2403
|
+
/**
|
|
2404
|
+
* Physical addresses of the organization
|
|
2405
|
+
* IVMS101 format addresses for regulatory compliance
|
|
2406
|
+
* Supports multiple address types (BIZZ for business, etc.)
|
|
2407
|
+
* @example [{ addressType: "BIZZ", streetName: "456 Business Ave", townName: "Finance City", country: "US" }]
|
|
2408
|
+
*/
|
|
2409
|
+
geographicAddress?: Address_2[];
|
|
2410
|
+
/**
|
|
2411
|
+
* Country of registration/incorporation
|
|
2412
|
+
* ISO 3166-1 alpha-2 country code where the organization is legally registered
|
|
2413
|
+
* @example "US" // United States
|
|
2414
|
+
* @example "GB" // United Kingdom
|
|
2415
|
+
* @example "SG" // Singapore
|
|
2416
|
+
* @example "CH" // Switzerland
|
|
2417
|
+
*/
|
|
2418
|
+
countryOfRegistration?: CountryCode;
|
|
2419
|
+
}
|
|
2420
|
+
|
|
1481
2421
|
/**
|
|
1482
2422
|
* Originating VASP
|
|
1483
2423
|
* Represents the VASP which initiates the VA transfer
|
|
@@ -1510,7 +2450,6 @@ declare type OriginatorFields = {
|
|
|
1510
2450
|
|
|
1511
2451
|
declare type OriginatorV2 = {
|
|
1512
2452
|
originatorPerson: PersonV2[];
|
|
1513
|
-
customerIdentification?: string;
|
|
1514
2453
|
};
|
|
1515
2454
|
|
|
1516
2455
|
/**
|
|
@@ -1541,6 +2480,40 @@ export declare interface OwnershipProof {
|
|
|
1541
2480
|
address: CAIP10;
|
|
1542
2481
|
}
|
|
1543
2482
|
|
|
2483
|
+
/**
|
|
2484
|
+
* Participant in a TAP transaction
|
|
2485
|
+
* Represents either a party (originator/beneficiary) or an agent in the transaction.
|
|
2486
|
+
* Can include verification methods and policies.
|
|
2487
|
+
*
|
|
2488
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-5.md | TAIP-5: Agents}
|
|
2489
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-6.md | TAIP-6: Party Identification}
|
|
2490
|
+
*/
|
|
2491
|
+
declare interface Participant {
|
|
2492
|
+
/**
|
|
2493
|
+
* Unique identifier for the participant
|
|
2494
|
+
* Can be either a DID or an IRI
|
|
2495
|
+
*/
|
|
2496
|
+
"@id": DID_2 | IRI;
|
|
2497
|
+
"@context"?: string | string[];
|
|
2498
|
+
"@type"?: string | string[];
|
|
2499
|
+
/**
|
|
2500
|
+
* Contact email address
|
|
2501
|
+
* Based on schema.org/Organization and schema.org/Person
|
|
2502
|
+
* @example "compliance@example.vasp.com"
|
|
2503
|
+
*/
|
|
2504
|
+
email?: string;
|
|
2505
|
+
/**
|
|
2506
|
+
* Contact telephone number
|
|
2507
|
+
* Based on schema.org/Organization and schema.org/Person
|
|
2508
|
+
* @example "+1-555-123-4567"
|
|
2509
|
+
*/
|
|
2510
|
+
telephone?: string;
|
|
2511
|
+
}
|
|
2512
|
+
|
|
2513
|
+
declare type Party = Person_2 | Organization;
|
|
2514
|
+
|
|
2515
|
+
declare type PartyType = "originator" | "beneficiary" | "customer" | "merchant" | "principal";
|
|
2516
|
+
|
|
1544
2517
|
/**
|
|
1545
2518
|
* 6.7
|
|
1546
2519
|
* Data describing the contents of the payload.
|
|
@@ -1574,6 +2547,115 @@ declare type Person = {
|
|
|
1574
2547
|
legalPerson?: LegalPerson_2;
|
|
1575
2548
|
};
|
|
1576
2549
|
|
|
2550
|
+
/**
|
|
2551
|
+
* Person Interface
|
|
2552
|
+
* Represents a natural person (individual) in TAP transactions.
|
|
2553
|
+
* Supports both schema.org/Person properties and IVMS101 identity data for compliance.
|
|
2554
|
+
*
|
|
2555
|
+
* **Privacy Considerations**: For natural person information, consider using selective disclosure
|
|
2556
|
+
* (TAIP-8) to protect sensitive data, especially when including IVMS101 fields like national
|
|
2557
|
+
* identifiers and detailed addresses.
|
|
2558
|
+
*
|
|
2559
|
+
* @example
|
|
2560
|
+
* ```typescript
|
|
2561
|
+
* // Basic person with schema.org properties
|
|
2562
|
+
* const basicPerson: Person = {
|
|
2563
|
+
* "@id": "did:example:alice",
|
|
2564
|
+
* "@type": "https://schema.org/Person",
|
|
2565
|
+
* name: "Alice Johnson",
|
|
2566
|
+
* email: "alice@example.com"
|
|
2567
|
+
* };
|
|
2568
|
+
*
|
|
2569
|
+
* // Person with IVMS101 compliance data
|
|
2570
|
+
* const compliancePerson: Person = {
|
|
2571
|
+
* "@id": "did:example:bob",
|
|
2572
|
+
* "@type": "https://schema.org/Person",
|
|
2573
|
+
* name: [{
|
|
2574
|
+
* primaryIdentifier: "Robert",
|
|
2575
|
+
* secondaryIdentifier: "Smith",
|
|
2576
|
+
* nameIdentifierType: "LEGL"
|
|
2577
|
+
* }],
|
|
2578
|
+
* geographicAddress: [{
|
|
2579
|
+
* addressType: "HOME",
|
|
2580
|
+
* streetName: "123 Main Street",
|
|
2581
|
+
* buildingNumber: "123",
|
|
2582
|
+
* postCode: "12345",
|
|
2583
|
+
* townName: "Example City",
|
|
2584
|
+
* country: "US"
|
|
2585
|
+
* }],
|
|
2586
|
+
* nationalIdentifier: {
|
|
2587
|
+
* nationalIdentifier: "123-45-6789",
|
|
2588
|
+
* nationalIdentifierType: "ARNU", // Social Security Number
|
|
2589
|
+
* countryOfIssue: "US"
|
|
2590
|
+
* },
|
|
2591
|
+
* dateAndPlaceOfBirth: {
|
|
2592
|
+
* dateOfBirth: "1990-01-15",
|
|
2593
|
+
* placeOfBirth: "New York, NY, US"
|
|
2594
|
+
* },
|
|
2595
|
+
* countryOfResidence: "US"
|
|
2596
|
+
* };
|
|
2597
|
+
* ```
|
|
2598
|
+
*
|
|
2599
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-6.md | TAIP-6: Party Identification}
|
|
2600
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-8.md | TAIP-8: Selective Disclosure}
|
|
2601
|
+
*/
|
|
2602
|
+
declare interface Person_2 extends Participant {
|
|
2603
|
+
"@type": "https://schema.org/Person";
|
|
2604
|
+
/**
|
|
2605
|
+
* SHA-256 hash of the normalized participant name
|
|
2606
|
+
* Used for privacy-preserving name matching per TAIP-12
|
|
2607
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-12.md | TAIP-12: Privacy-Preserving Name Matching}
|
|
2608
|
+
*/
|
|
2609
|
+
nameHash?: string;
|
|
2610
|
+
/**
|
|
2611
|
+
* Customer identification string
|
|
2612
|
+
* Internal identifier used by the institution for this person
|
|
2613
|
+
* @example "CUST-123456"
|
|
2614
|
+
*/
|
|
2615
|
+
customerIdentification?: string;
|
|
2616
|
+
/**
|
|
2617
|
+
* Person's name
|
|
2618
|
+
* Can be a simple string or structured IVMS101 name identifiers
|
|
2619
|
+
* For compliance use cases, IVMS101 format provides more detailed name structure
|
|
2620
|
+
* @example "Alice Johnson" // Simple string
|
|
2621
|
+
* @example [{ primaryIdentifier: "Alice", secondaryIdentifier: "Johnson", nameIdentifierType: "LEGL" }] // IVMS101
|
|
2622
|
+
*/
|
|
2623
|
+
name?: string | NaturalPersonNameId[];
|
|
2624
|
+
/**
|
|
2625
|
+
* Geographic addresses associated with the person
|
|
2626
|
+
* IVMS101 format addresses for travel rule compliance
|
|
2627
|
+
* Supports multiple address types (HOME, BIZZ, etc.)
|
|
2628
|
+
* @example [{ addressType: "HOME", streetName: "123 Main St", townName: "City", country: "US" }]
|
|
2629
|
+
*/
|
|
2630
|
+
geographicAddress?: Address_2[];
|
|
2631
|
+
/**
|
|
2632
|
+
* National identification documents
|
|
2633
|
+
* Government-issued identifiers like passport, SSN, driver's license
|
|
2634
|
+
* **Privacy**: Consider selective disclosure for sensitive ID information
|
|
2635
|
+
* @example { nationalIdentifier: "123-45-6789", nationalIdentifierType: "ARNU", countryOfIssue: "US" }
|
|
2636
|
+
*/
|
|
2637
|
+
nationalIdentifier?: NationalIdentification_2<NaturalPersonNationalIdentifierTypeCode>;
|
|
2638
|
+
/**
|
|
2639
|
+
* Date and place of birth information
|
|
2640
|
+
* Used for identity verification and compliance
|
|
2641
|
+
* **Privacy**: Highly sensitive data - recommend selective disclosure
|
|
2642
|
+
*/
|
|
2643
|
+
dateAndPlaceOfBirth?: {
|
|
2644
|
+
/** Date of birth in ISO 8601 format (YYYY-MM-DD) */
|
|
2645
|
+
dateOfBirth: string;
|
|
2646
|
+
/** Place of birth (city, state/province, country) */
|
|
2647
|
+
placeOfBirth: string;
|
|
2648
|
+
};
|
|
2649
|
+
/**
|
|
2650
|
+
* Country of residence
|
|
2651
|
+
* ISO 3166-1 alpha-2 country code where the person resides
|
|
2652
|
+
* @example "US"
|
|
2653
|
+
* @example "CA"
|
|
2654
|
+
* @example "GB"
|
|
2655
|
+
*/
|
|
2656
|
+
countryOfResidence?: CountryCode;
|
|
2657
|
+
}
|
|
2658
|
+
|
|
1577
2659
|
/**
|
|
1578
2660
|
* The type of counterparty. Either a natural person or a legal person. If the customer is the same as the counterparty then the counterparty is a self.
|
|
1579
2661
|
* @public
|
|
@@ -1606,6 +2688,46 @@ declare type PersonV2 = Omit<Person, 'naturalPerson'> & {
|
|
|
1606
2688
|
accountNumber?: string[];
|
|
1607
2689
|
};
|
|
1608
2690
|
|
|
2691
|
+
/**
|
|
2692
|
+
* Policy type definition
|
|
2693
|
+
* Union type of all possible policy types in TAP.
|
|
2694
|
+
*/
|
|
2695
|
+
declare type Policies = RequireAuthorization | RequirePresentation | RequireRelationshipConfirmation | RequirePurpose;
|
|
2696
|
+
|
|
2697
|
+
/**
|
|
2698
|
+
* Base interface for all TAP policy types.
|
|
2699
|
+
* Policies define requirements and constraints that must be satisfied during a transaction.
|
|
2700
|
+
* Each specific policy type extends this base interface with its own requirements.
|
|
2701
|
+
*
|
|
2702
|
+
* @template T - The specific policy type identifier (e.g. "RequireAuthorization", "RequirePresentation")
|
|
2703
|
+
*
|
|
2704
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-7.md | TAIP-7: Policies}
|
|
2705
|
+
*/
|
|
2706
|
+
declare interface Policy<T extends string> extends JsonLdObject<T> {
|
|
2707
|
+
/** The type identifier for this policy */
|
|
2708
|
+
"@type": T;
|
|
2709
|
+
/**
|
|
2710
|
+
* Optional DID of the party or agent required to fulfill this policy
|
|
2711
|
+
* Can be a single DID or an array of DIDs
|
|
2712
|
+
*/
|
|
2713
|
+
from?: DID_2 | IRI;
|
|
2714
|
+
/**
|
|
2715
|
+
* Optional role of the party required to fulfill this policy
|
|
2716
|
+
* E.g. 'SettlementAddress', 'SourceAddress', or 'CustodialService'
|
|
2717
|
+
*/
|
|
2718
|
+
fromRole?: AgentRoles;
|
|
2719
|
+
/**
|
|
2720
|
+
* Optional agent representing a party required to fulfill this policy
|
|
2721
|
+
* E.g. 'originator' or 'beneficiary' in TAIP-3
|
|
2722
|
+
*/
|
|
2723
|
+
fromAgent?: PartyType;
|
|
2724
|
+
/**
|
|
2725
|
+
* Optional human-readable description of the policy's purpose
|
|
2726
|
+
* Used to explain why this requirement exists
|
|
2727
|
+
*/
|
|
2728
|
+
purpose?: string;
|
|
2729
|
+
}
|
|
2730
|
+
|
|
1609
2731
|
/**
|
|
1610
2732
|
* Status of the ownership proof verification process
|
|
1611
2733
|
*
|
|
@@ -1693,6 +2815,74 @@ export declare interface RefreshSource {
|
|
|
1693
2815
|
|
|
1694
2816
|
declare type RequestID = UUID;
|
|
1695
2817
|
|
|
2818
|
+
/**
|
|
2819
|
+
* Policy requiring authorization before proceeding
|
|
2820
|
+
* Used to ensure specific agents authorize a transaction.
|
|
2821
|
+
*
|
|
2822
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-7.md | TAIP-7: Policies}
|
|
2823
|
+
*/
|
|
2824
|
+
declare interface RequireAuthorization extends Policy<"RequireAuthorization"> {
|
|
2825
|
+
}
|
|
2826
|
+
|
|
2827
|
+
/**
|
|
2828
|
+
* Policy requiring presentation of verifiable credentials
|
|
2829
|
+
* Used to request specific verifiable credentials from participants.
|
|
2830
|
+
*
|
|
2831
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-7.md | TAIP-7: Policies}
|
|
2832
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-8.md | TAIP-8: Verifiable Credentials}
|
|
2833
|
+
*/
|
|
2834
|
+
declare interface RequirePresentation extends Policy<"RequirePresentation"> {
|
|
2835
|
+
/**
|
|
2836
|
+
* Optional DID of the party the presentation is about
|
|
2837
|
+
* Used when requesting credentials about a specific party
|
|
2838
|
+
*/
|
|
2839
|
+
aboutParty?: DID_2 | IRI;
|
|
2840
|
+
/**
|
|
2841
|
+
* Optional DID of the agent the presentation is about
|
|
2842
|
+
* Used when requesting credentials about a specific agent
|
|
2843
|
+
*/
|
|
2844
|
+
aboutAgent?: DID_2 | IRI;
|
|
2845
|
+
/**
|
|
2846
|
+
* Presentation Exchange definition
|
|
2847
|
+
* Specifies the required credentials and constraints
|
|
2848
|
+
*/
|
|
2849
|
+
presentationDefinition: string;
|
|
2850
|
+
/**
|
|
2851
|
+
* Optional credential type shorthand
|
|
2852
|
+
* Simplified way to request a specific credential type
|
|
2853
|
+
*/
|
|
2854
|
+
credentialType?: string;
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2857
|
+
/**
|
|
2858
|
+
* Policy requiring purpose codes for transactions
|
|
2859
|
+
* Used to enforce the inclusion of ISO 20022 purpose codes.
|
|
2860
|
+
*
|
|
2861
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-13.md | TAIP-13: Purpose Codes}
|
|
2862
|
+
*/
|
|
2863
|
+
declare interface RequirePurpose extends Policy<"RequirePurpose"> {
|
|
2864
|
+
/**
|
|
2865
|
+
* Required purpose code fields
|
|
2866
|
+
* Specifies which purpose code types must be included
|
|
2867
|
+
*/
|
|
2868
|
+
required: Array<"purpose" | "categoryPurpose">;
|
|
2869
|
+
}
|
|
2870
|
+
|
|
2871
|
+
/**
|
|
2872
|
+
* Policy requiring relationship confirmation
|
|
2873
|
+
* Used to verify control of addresses and relationships between parties.
|
|
2874
|
+
*
|
|
2875
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-7.md | TAIP-7: Policies}
|
|
2876
|
+
* @see {@link https://github.com/TransactionAuthorizationProtocol/TAIPs/blob/main/TAIPs/taip-9.md | TAIP-9: Proof of Relationship}
|
|
2877
|
+
*/
|
|
2878
|
+
declare interface RequireRelationshipConfirmation extends Policy<"RequireRelationshipConfirmation"> {
|
|
2879
|
+
/**
|
|
2880
|
+
* Required nonce for signature
|
|
2881
|
+
* Prevents replay attacks
|
|
2882
|
+
*/
|
|
2883
|
+
nonce: string;
|
|
2884
|
+
}
|
|
2885
|
+
|
|
1696
2886
|
/**
|
|
1697
2887
|
* Represents a resize request component message. This is handled by the library.
|
|
1698
2888
|
* @internal
|
|
@@ -1844,6 +3034,131 @@ export declare enum Status {
|
|
|
1844
3034
|
BANNED = "banned"
|
|
1845
3035
|
}
|
|
1846
3036
|
|
|
3037
|
+
/**
|
|
3038
|
+
* Tax Category
|
|
3039
|
+
* Represents a tax category with its rate and scheme
|
|
3040
|
+
*/
|
|
3041
|
+
declare interface TaxCategory {
|
|
3042
|
+
/**
|
|
3043
|
+
* Tax category identifier
|
|
3044
|
+
* Uses UBL Tax Category Code standard
|
|
3045
|
+
*
|
|
3046
|
+
* @example TaxCategoryCode.StandardRate
|
|
3047
|
+
* @example TaxCategoryCode.ZeroRated
|
|
3048
|
+
* @example TaxCategoryCode.ExemptFromTax
|
|
3049
|
+
*/
|
|
3050
|
+
id: TaxCategoryCode;
|
|
3051
|
+
/**
|
|
3052
|
+
* Tax rate percentage
|
|
3053
|
+
*
|
|
3054
|
+
* @example 20.0 // 20% VAT
|
|
3055
|
+
* @example 0.0 // Zero rate
|
|
3056
|
+
*/
|
|
3057
|
+
percent: number;
|
|
3058
|
+
/**
|
|
3059
|
+
* Tax scheme identifier
|
|
3060
|
+
* Uses UBL Tax Scheme Code standard
|
|
3061
|
+
*
|
|
3062
|
+
* @example TaxSchemeCode.ValueAddedTax
|
|
3063
|
+
* @example TaxSchemeCode.GoodsAndServicesTax
|
|
3064
|
+
* @example TaxSchemeCode.SalesTax
|
|
3065
|
+
*/
|
|
3066
|
+
taxScheme: TaxSchemeCode | string;
|
|
3067
|
+
}
|
|
3068
|
+
|
|
3069
|
+
/**
|
|
3070
|
+
* UBL Tax Category Code standard (UN/ECE 5305 Tax Category Code)
|
|
3071
|
+
* Based on UN/CEFACT and EU tax categories
|
|
3072
|
+
*
|
|
3073
|
+
* @see {@link http://docs.oasis-open.org/ubl/os-UBL-2.1/cl/gc/default/TaxCategory-2.1.gc | UBL Tax Category Codes}
|
|
3074
|
+
* @see {@link https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5305/ | PEPPOL BIS 3.0 Tax Category Codes}
|
|
3075
|
+
*/
|
|
3076
|
+
declare enum TaxCategoryCode {
|
|
3077
|
+
StandardRate = "S",
|
|
3078
|
+
ZeroRated = "Z",
|
|
3079
|
+
ExemptFromTax = "E",
|
|
3080
|
+
VATReverseCharge = "AE",
|
|
3081
|
+
FreeExportItem = "G",
|
|
3082
|
+
OutsideScopeOfTax = "O",
|
|
3083
|
+
VATExemptIntraCommunity = "K",
|
|
3084
|
+
CanaryIslandsIndirectTax = "L",
|
|
3085
|
+
CeutaMelillaTax = "M",
|
|
3086
|
+
HigherRate = "H",
|
|
3087
|
+
LowerRate = "AA",
|
|
3088
|
+
TransferredVAT = "B",
|
|
3089
|
+
MixedTaxRate = "A",
|
|
3090
|
+
ExemptForResale = "AB",
|
|
3091
|
+
VATReverseChargeAlt = "AC",
|
|
3092
|
+
VATExemptIntraCommunityAlt = "AD",
|
|
3093
|
+
ExemptFromTaxDeprecated = "C",
|
|
3094
|
+
ExemptArticle309 = "D"
|
|
3095
|
+
}
|
|
3096
|
+
|
|
3097
|
+
/**
|
|
3098
|
+
* UBL Tax Scheme Code standard (UN/ECE 5305 Tax Type Code)
|
|
3099
|
+
* Based on UN/CEFACT tax types
|
|
3100
|
+
*
|
|
3101
|
+
* @see {@link http://docs.oasis-open.org/ubl/os-UBL-2.1/cl/gc/default/TaxScheme-2.1.gc | UBL Tax Scheme Codes}
|
|
3102
|
+
*/
|
|
3103
|
+
declare enum TaxSchemeCode {
|
|
3104
|
+
ProfitTax = "AAA",
|
|
3105
|
+
CorporateIncomeTax = "AAB",
|
|
3106
|
+
PersonalIncomeTax = "AAC",
|
|
3107
|
+
SocialSecurityTax = "AAD",
|
|
3108
|
+
PropertyTax = "AAE",
|
|
3109
|
+
InheritanceTax = "AAF",
|
|
3110
|
+
GiftTax = "AAG",
|
|
3111
|
+
CapitalGainsTax = "AAH",
|
|
3112
|
+
WealthTax = "AAI",
|
|
3113
|
+
StampDuty = "AAJ",
|
|
3114
|
+
ConsumptionTax = "CST",
|
|
3115
|
+
CustomsDuty = "CUS",
|
|
3116
|
+
EnvironmentalTax = "ENV",
|
|
3117
|
+
ExciseTax = "EXC",
|
|
3118
|
+
ExportTax = "EXP",
|
|
3119
|
+
FreightTax = "FRT",
|
|
3120
|
+
GoodsAndServicesTax = "GST",
|
|
3121
|
+
ImportTax = "IMP",
|
|
3122
|
+
OtherTax = "OTH",
|
|
3123
|
+
SalesTax = "SAL",
|
|
3124
|
+
TurnoverTax = "TOT",
|
|
3125
|
+
ValueAddedTax = "VAT"
|
|
3126
|
+
}
|
|
3127
|
+
|
|
3128
|
+
/**
|
|
3129
|
+
* Tax Subtotal
|
|
3130
|
+
* Breakdown of taxes by category
|
|
3131
|
+
*/
|
|
3132
|
+
declare interface TaxSubtotal {
|
|
3133
|
+
/**
|
|
3134
|
+
* Amount subject to this tax
|
|
3135
|
+
*/
|
|
3136
|
+
taxableAmount: number;
|
|
3137
|
+
/**
|
|
3138
|
+
* Tax amount for this category
|
|
3139
|
+
*/
|
|
3140
|
+
taxAmount: number;
|
|
3141
|
+
/**
|
|
3142
|
+
* Tax category information
|
|
3143
|
+
*/
|
|
3144
|
+
taxCategory: TaxCategory;
|
|
3145
|
+
}
|
|
3146
|
+
|
|
3147
|
+
/**
|
|
3148
|
+
* Tax Total
|
|
3149
|
+
* Aggregate tax information for the invoice
|
|
3150
|
+
*/
|
|
3151
|
+
declare interface TaxTotal {
|
|
3152
|
+
/**
|
|
3153
|
+
* Total tax amount for the invoice
|
|
3154
|
+
*/
|
|
3155
|
+
taxAmount: number;
|
|
3156
|
+
/**
|
|
3157
|
+
* Breakdown of taxes by category
|
|
3158
|
+
*/
|
|
3159
|
+
taxSubtotal?: TaxSubtotal[];
|
|
3160
|
+
}
|
|
3161
|
+
|
|
1847
3162
|
/**
|
|
1848
3163
|
* The theme of the Notabene SDK
|
|
1849
3164
|
* @public
|
|
@@ -1972,6 +3287,7 @@ export declare interface TransactionOptions {
|
|
|
1972
3287
|
microTransfer?: {
|
|
1973
3288
|
destination: BlockchainAddress;
|
|
1974
3289
|
amountSubunits: string;
|
|
3290
|
+
requireHash?: boolean;
|
|
1975
3291
|
};
|
|
1976
3292
|
fallbacks?: ProofTypes[];
|
|
1977
3293
|
deminimis?: ThresholdOptions;
|
|
@@ -2052,6 +3368,43 @@ declare type TransliterationMethodCode = 'arab' | 'aran' | 'armn' | 'cyrl' | 'de
|
|
|
2052
3368
|
|
|
2053
3369
|
*/ export declare type TravelAddress = `ta${string}`;
|
|
2054
3370
|
|
|
3371
|
+
/**
|
|
3372
|
+
* UBL Unit of Measure Code standard
|
|
3373
|
+
* Based on UN/CEFACT code list
|
|
3374
|
+
*
|
|
3375
|
+
* @see {@link http://docs.oasis-open.org/ubl/os-UBL-2.1/cl/gc/default/UnitOfMeasureCode-2.1.gc | UBL Unit of Measure Codes}
|
|
3376
|
+
*/
|
|
3377
|
+
declare enum UnitCode {
|
|
3378
|
+
Kilogram = "KGM",
|
|
3379
|
+
Gram = "GRM",
|
|
3380
|
+
Milligram = "MGM",
|
|
3381
|
+
Tonne = "TNE",
|
|
3382
|
+
Liter = "LTR",
|
|
3383
|
+
Milliliter = "MLT",
|
|
3384
|
+
CubicMillimeter = "MMQ",
|
|
3385
|
+
CubicCentimeter = "CMQ",
|
|
3386
|
+
CubicDecimeter = "DMQ",
|
|
3387
|
+
CubicMeter = "MTQ",
|
|
3388
|
+
Millimeter = "MMT",
|
|
3389
|
+
Centimeter = "CMT",
|
|
3390
|
+
Decimeter = "DMT",
|
|
3391
|
+
Meter = "MTR",
|
|
3392
|
+
Kilometer = "KMT",
|
|
3393
|
+
SquareMeter = "MTK",
|
|
3394
|
+
Each = "EA",
|
|
3395
|
+
Piece = "PCE",
|
|
3396
|
+
NumberOfPairs = "NPR",
|
|
3397
|
+
Second = "SEC",
|
|
3398
|
+
Minute = "MIN",
|
|
3399
|
+
Hour = "HUR",
|
|
3400
|
+
Day = "DAY",
|
|
3401
|
+
Week = "WEE",
|
|
3402
|
+
Month = "MON",
|
|
3403
|
+
Year = "ANN",
|
|
3404
|
+
KilowattHour = "KWH",
|
|
3405
|
+
NumberOfArticles = "NAR"
|
|
3406
|
+
}
|
|
3407
|
+
|
|
2055
3408
|
/**
|
|
2056
3409
|
* Message type for updating component state and configuration from host application
|
|
2057
3410
|
*
|
|
@@ -2079,6 +3432,7 @@ export declare type UpdateValue<T, O> = {
|
|
|
2079
3432
|
|
|
2080
3433
|
/**
|
|
2081
3434
|
* A Uniform Resource Identifier
|
|
3435
|
+
* @remarks This type will be narrowed to `` `${string}:${string}` `` in the next major release.
|
|
2082
3436
|
* @public
|
|
2083
3437
|
*/
|
|
2084
3438
|
declare type URI = string;
|