@datalayer/agent-runtimes 1.3.111 → 1.3.112
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/dist-embed/datalayer-app-main.js +4 -4
- package/lib/apps/apps/appspec.js +2 -0
- package/lib/apps/apps/checks.js +10 -6
- package/lib/examples/PapSignInDisplayExample.d.ts +4 -0
- package/lib/examples/PapSignInDisplayExample.js +23 -0
- package/lib/examples/example-selector.js +1 -0
- package/lib/examples/index.d.ts +1 -0
- package/lib/examples/index.js +1 -0
- package/lib/examples/main.js +2 -0
- package/lib/examples/pap/PapSignInDisplayView.d.ts +15 -0
- package/lib/examples/pap/PapSignInDisplayView.js +49 -0
- package/lib/examples/pap/PapTraceView.d.ts +2 -3
- package/lib/examples/pap/PapTraceView.js +3 -4
- package/lib/examples/pap/papSignInCases.d.ts +12 -0
- package/lib/examples/pap/papSignInCases.js +88 -0
- package/lib/protocols/a2a/index.d.ts +52 -0
- package/lib/protocols/a2a/index.js +164 -0
- package/lib/protocols/agentProtocols.d.ts +15 -0
- package/lib/protocols/agentProtocols.js +47 -0
- package/lib/protocols/agentic-commerce/index.d.ts +86 -0
- package/lib/protocols/agentic-commerce/index.js +267 -0
- package/lib/protocols/agentic-commerce/models.d.ts +3292 -0
- package/lib/protocols/agentic-commerce/models.js +10 -0
- package/lib/protocols/commerce.d.ts +42 -0
- package/lib/protocols/commerce.js +47 -0
- package/lib/protocols/core.d.ts +44 -0
- package/lib/protocols/core.js +62 -0
- package/lib/protocols/mcp/index.d.ts +4 -0
- package/lib/protocols/mcp/index.js +37 -0
- package/lib/protocols/pact/index.d.ts +139 -0
- package/lib/protocols/pact/index.js +357 -0
- package/lib/protocols/ucp/index.d.ts +79 -0
- package/lib/protocols/ucp/index.js +277 -0
- package/lib/protocols/web-bot-auth/index.d.ts +161 -0
- package/lib/protocols/web-bot-auth/index.js +427 -0
- package/lib/specs/actions.js +4 -0
- package/lib/specs/apps.d.ts +2 -0
- package/lib/specs/apps.js +481 -0
- package/lib/specs/appspecSchema.js +200 -2
- package/lib/types/agentspecs.d.ts +2 -0
- package/package.json +4 -1
- package/scripts/codegen/generate_agentic_commerce.sh +74 -0
- package/scripts/codegen/generate_apps.py +11 -0
- package/scripts/validate_pap_examples.py +27 -2
|
@@ -0,0 +1,3292 @@
|
|
|
1
|
+
export declare const AGENTIC_COMMERCE_VERSION = "2026-04-17";
|
|
2
|
+
/**
|
|
3
|
+
* Optional affiliate attribution data for crediting third-party publishers. Write-only: not returned in responses. Forward compatibility: Servers SHOULD ignore unknown fields to support future extensions (per RFC §8.2).
|
|
4
|
+
*
|
|
5
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
6
|
+
* via the `definition` "AffiliateAttribution".
|
|
7
|
+
*/
|
|
8
|
+
export type AffiliateAttribution = AffiliateAttribution1 & {
|
|
9
|
+
/**
|
|
10
|
+
* Identifier for the attribution provider / affiliate network namespace (e.g., 'impact.com').
|
|
11
|
+
*/
|
|
12
|
+
provider: string;
|
|
13
|
+
/**
|
|
14
|
+
* Opaque provider-issued token for fraud-resistant validation. Treat as secret.
|
|
15
|
+
*/
|
|
16
|
+
token?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Provider-scoped affiliate/publisher identifier. Required if token is omitted.
|
|
19
|
+
*/
|
|
20
|
+
publisher_id?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Provider-scoped campaign identifier.
|
|
23
|
+
*/
|
|
24
|
+
campaign_id?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Provider-scoped creative identifier.
|
|
27
|
+
*/
|
|
28
|
+
creative_id?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Provider-scoped sub-tracking identifier.
|
|
31
|
+
*/
|
|
32
|
+
sub_id?: string;
|
|
33
|
+
source?: AffiliateAttributionSource;
|
|
34
|
+
/**
|
|
35
|
+
* RFC3339 timestamp when the attribution token was issued.
|
|
36
|
+
*/
|
|
37
|
+
issued_at?: string;
|
|
38
|
+
/**
|
|
39
|
+
* RFC3339 timestamp when the attribution token expires.
|
|
40
|
+
*/
|
|
41
|
+
expires_at?: string;
|
|
42
|
+
metadata?: AffiliateAttributionMetadata;
|
|
43
|
+
/**
|
|
44
|
+
* Attribution touchpoint type. Use 'first' when capturing at session creation, 'last' when capturing at completion. Enables multi-touch attribution models.
|
|
45
|
+
*/
|
|
46
|
+
touchpoint?: 'first' | 'last';
|
|
47
|
+
};
|
|
48
|
+
export type AffiliateAttribution1 = {
|
|
49
|
+
[k: string]: unknown | undefined;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Payment instrument data collected from the buyer (e.g., card details, wallet tokens)
|
|
53
|
+
*
|
|
54
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
55
|
+
* via the `definition` "PaymentData".
|
|
56
|
+
*/
|
|
57
|
+
export type PaymentData = PaymentData1 & {
|
|
58
|
+
/**
|
|
59
|
+
* ID of the payment handler to use
|
|
60
|
+
*/
|
|
61
|
+
handler_id?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Payment instrument details
|
|
64
|
+
*/
|
|
65
|
+
instrument?: {
|
|
66
|
+
/**
|
|
67
|
+
* Instrument type (e.g., card, wallet_token)
|
|
68
|
+
*/
|
|
69
|
+
type: string;
|
|
70
|
+
/**
|
|
71
|
+
* Payment credential
|
|
72
|
+
*/
|
|
73
|
+
credential: {
|
|
74
|
+
/**
|
|
75
|
+
* Credential type (e.g., spt, wallet_token)
|
|
76
|
+
*/
|
|
77
|
+
type: string;
|
|
78
|
+
/**
|
|
79
|
+
* Credential token value
|
|
80
|
+
*/
|
|
81
|
+
token: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
billing_address?: Address3;
|
|
85
|
+
/**
|
|
86
|
+
* Purchase order number
|
|
87
|
+
*/
|
|
88
|
+
purchase_order_number?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Payment terms for B2B transactions
|
|
91
|
+
*/
|
|
92
|
+
payment_terms?: 'immediate' | 'net_15' | 'net_30' | 'net_60' | 'net_90';
|
|
93
|
+
/**
|
|
94
|
+
* RFC 3339 timestamp when payment is due
|
|
95
|
+
*/
|
|
96
|
+
due_date?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Whether this payment requires approval
|
|
99
|
+
*/
|
|
100
|
+
approval_required?: boolean;
|
|
101
|
+
};
|
|
102
|
+
export type PaymentData1 = {
|
|
103
|
+
[k: string]: unknown | undefined;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Error codes for rejected discount codes, used in messages[].code.
|
|
107
|
+
*
|
|
108
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
109
|
+
* via the `definition` "DiscountErrorCode".
|
|
110
|
+
*/
|
|
111
|
+
export type DiscountErrorCode = 'discount_code_expired' | 'discount_code_invalid' | 'discount_code_already_applied' | 'discount_code_combination_disallowed' | 'discount_code_minimum_not_met' | 'discount_code_user_not_logged_in' | 'discount_code_user_ineligible' | 'discount_code_usage_limit_reached';
|
|
112
|
+
/**
|
|
113
|
+
* Agent-provided authentication results returned to the seller for card-based 3D Secure.
|
|
114
|
+
*
|
|
115
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
116
|
+
* via the `definition` "AuthenticationResult".
|
|
117
|
+
*/
|
|
118
|
+
export type AuthenticationResult = {
|
|
119
|
+
[k: string]: unknown | undefined;
|
|
120
|
+
} & {
|
|
121
|
+
/**
|
|
122
|
+
* The outcome of this 3DS Authentication.
|
|
123
|
+
*/
|
|
124
|
+
outcome: 'abandoned' | 'attempt_acknowledged' | 'authenticated' | 'canceled' | 'denied' | 'informational' | 'internal_error' | 'not_supported' | 'processing_error' | 'rejected';
|
|
125
|
+
/**
|
|
126
|
+
* Detailed authentication data. This field is required when the outcome is 'authenticated', 'informational', or 'attempt_acknowledged'.
|
|
127
|
+
*/
|
|
128
|
+
outcome_details?: {
|
|
129
|
+
/**
|
|
130
|
+
* The 3DS cryptogram (authentication value / AAV/CAVV/AEVV). This value is 20 bytes, base64-encoded into a 28-character string.
|
|
131
|
+
*/
|
|
132
|
+
three_ds_cryptogram: string;
|
|
133
|
+
/**
|
|
134
|
+
* Electronic Commerce Indicator (ECI) returned by the 3D Secure provider. Indicates the degree/type of authentication performed.
|
|
135
|
+
*/
|
|
136
|
+
electronic_commerce_indicator: '01' | '02' | '05' | '06' | '07';
|
|
137
|
+
/**
|
|
138
|
+
* Transaction identifier returned by the 3DS system:
|
|
139
|
+
* - For 3DS1: the XID
|
|
140
|
+
* - For 3DS2: the Directory Server Transaction ID (dsTransID)
|
|
141
|
+
*/
|
|
142
|
+
transaction_id: string;
|
|
143
|
+
/**
|
|
144
|
+
* The 3D Secure version used for this authentication (for example '1.0.2' or '2.2.0').
|
|
145
|
+
*/
|
|
146
|
+
version: string;
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Checkout session response model
|
|
151
|
+
*
|
|
152
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
153
|
+
* via the `definition` "CheckoutSession".
|
|
154
|
+
*/
|
|
155
|
+
export type CheckoutSession = CheckoutSessionBase;
|
|
156
|
+
/**
|
|
157
|
+
* Checkout session response after completion, includes the created order
|
|
158
|
+
*
|
|
159
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
160
|
+
* via the `definition` "CheckoutSessionWithOrder".
|
|
161
|
+
*/
|
|
162
|
+
export type CheckoutSessionWithOrder = CheckoutSessionBase & {
|
|
163
|
+
order: Order1;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Affiliate attribution data for first-touch tracking
|
|
167
|
+
*/
|
|
168
|
+
export type AffiliateAttribution2 = {
|
|
169
|
+
[k: string]: unknown | undefined;
|
|
170
|
+
} & {
|
|
171
|
+
/**
|
|
172
|
+
* Identifier for the attribution provider / affiliate network namespace (e.g., 'impact.com').
|
|
173
|
+
*/
|
|
174
|
+
provider: string;
|
|
175
|
+
/**
|
|
176
|
+
* Opaque provider-issued token for fraud-resistant validation. Treat as secret.
|
|
177
|
+
*/
|
|
178
|
+
token?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Provider-scoped affiliate/publisher identifier. Required if token is omitted.
|
|
181
|
+
*/
|
|
182
|
+
publisher_id?: string;
|
|
183
|
+
/**
|
|
184
|
+
* Provider-scoped campaign identifier.
|
|
185
|
+
*/
|
|
186
|
+
campaign_id?: string;
|
|
187
|
+
/**
|
|
188
|
+
* Provider-scoped creative identifier.
|
|
189
|
+
*/
|
|
190
|
+
creative_id?: string;
|
|
191
|
+
/**
|
|
192
|
+
* Provider-scoped sub-tracking identifier.
|
|
193
|
+
*/
|
|
194
|
+
sub_id?: string;
|
|
195
|
+
source?: AffiliateAttributionSource;
|
|
196
|
+
/**
|
|
197
|
+
* RFC3339 timestamp when the attribution token was issued.
|
|
198
|
+
*/
|
|
199
|
+
issued_at?: string;
|
|
200
|
+
/**
|
|
201
|
+
* RFC3339 timestamp when the attribution token expires.
|
|
202
|
+
*/
|
|
203
|
+
expires_at?: string;
|
|
204
|
+
metadata?: AffiliateAttributionMetadata;
|
|
205
|
+
/**
|
|
206
|
+
* Attribution touchpoint type. Use 'first' when capturing at session creation, 'last' when capturing at completion. Enables multi-touch attribution models.
|
|
207
|
+
*/
|
|
208
|
+
touchpoint?: 'first' | 'last';
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Payment method and details
|
|
212
|
+
*/
|
|
213
|
+
export type PaymentData2 = {
|
|
214
|
+
[k: string]: unknown | undefined;
|
|
215
|
+
} & {
|
|
216
|
+
/**
|
|
217
|
+
* ID of the payment handler to use
|
|
218
|
+
*/
|
|
219
|
+
handler_id?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Payment instrument details
|
|
222
|
+
*/
|
|
223
|
+
instrument?: {
|
|
224
|
+
/**
|
|
225
|
+
* Instrument type (e.g., card, wallet_token)
|
|
226
|
+
*/
|
|
227
|
+
type: string;
|
|
228
|
+
/**
|
|
229
|
+
* Payment credential
|
|
230
|
+
*/
|
|
231
|
+
credential: {
|
|
232
|
+
/**
|
|
233
|
+
* Credential type (e.g., spt, wallet_token)
|
|
234
|
+
*/
|
|
235
|
+
type: string;
|
|
236
|
+
/**
|
|
237
|
+
* Credential token value
|
|
238
|
+
*/
|
|
239
|
+
token: string;
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
billing_address?: Address3;
|
|
243
|
+
/**
|
|
244
|
+
* Purchase order number
|
|
245
|
+
*/
|
|
246
|
+
purchase_order_number?: string;
|
|
247
|
+
/**
|
|
248
|
+
* Payment terms for B2B transactions
|
|
249
|
+
*/
|
|
250
|
+
payment_terms?: 'immediate' | 'net_15' | 'net_30' | 'net_60' | 'net_90';
|
|
251
|
+
/**
|
|
252
|
+
* RFC 3339 timestamp when payment is due
|
|
253
|
+
*/
|
|
254
|
+
due_date?: string;
|
|
255
|
+
/**
|
|
256
|
+
* Whether this payment requires approval
|
|
257
|
+
*/
|
|
258
|
+
approval_required?: boolean;
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Authentication result for 3DS flows
|
|
262
|
+
*/
|
|
263
|
+
export type AuthenticationResult1 = {
|
|
264
|
+
[k: string]: unknown | undefined;
|
|
265
|
+
} & {
|
|
266
|
+
/**
|
|
267
|
+
* The outcome of this 3DS Authentication.
|
|
268
|
+
*/
|
|
269
|
+
outcome: 'abandoned' | 'attempt_acknowledged' | 'authenticated' | 'canceled' | 'denied' | 'informational' | 'internal_error' | 'not_supported' | 'processing_error' | 'rejected';
|
|
270
|
+
/**
|
|
271
|
+
* Detailed authentication data. This field is required when the outcome is 'authenticated', 'informational', or 'attempt_acknowledged'.
|
|
272
|
+
*/
|
|
273
|
+
outcome_details?: {
|
|
274
|
+
/**
|
|
275
|
+
* The 3DS cryptogram (authentication value / AAV/CAVV/AEVV). This value is 20 bytes, base64-encoded into a 28-character string.
|
|
276
|
+
*/
|
|
277
|
+
three_ds_cryptogram: string;
|
|
278
|
+
/**
|
|
279
|
+
* Electronic Commerce Indicator (ECI) returned by the 3D Secure provider. Indicates the degree/type of authentication performed.
|
|
280
|
+
*/
|
|
281
|
+
electronic_commerce_indicator: '01' | '02' | '05' | '06' | '07';
|
|
282
|
+
/**
|
|
283
|
+
* Transaction identifier returned by the 3DS system:
|
|
284
|
+
* - For 3DS1: the XID
|
|
285
|
+
* - For 3DS2: the Directory Server Transaction ID (dsTransID)
|
|
286
|
+
*/
|
|
287
|
+
transaction_id: string;
|
|
288
|
+
/**
|
|
289
|
+
* The 3D Secure version used for this authentication (for example '1.0.2' or '2.2.0').
|
|
290
|
+
*/
|
|
291
|
+
version: string;
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
/**
|
|
295
|
+
* Affiliate attribution data for last-touch tracking
|
|
296
|
+
*/
|
|
297
|
+
export type AffiliateAttribution3 = {
|
|
298
|
+
[k: string]: unknown | undefined;
|
|
299
|
+
} & {
|
|
300
|
+
/**
|
|
301
|
+
* Identifier for the attribution provider / affiliate network namespace (e.g., 'impact.com').
|
|
302
|
+
*/
|
|
303
|
+
provider: string;
|
|
304
|
+
/**
|
|
305
|
+
* Opaque provider-issued token for fraud-resistant validation. Treat as secret.
|
|
306
|
+
*/
|
|
307
|
+
token?: string;
|
|
308
|
+
/**
|
|
309
|
+
* Provider-scoped affiliate/publisher identifier. Required if token is omitted.
|
|
310
|
+
*/
|
|
311
|
+
publisher_id?: string;
|
|
312
|
+
/**
|
|
313
|
+
* Provider-scoped campaign identifier.
|
|
314
|
+
*/
|
|
315
|
+
campaign_id?: string;
|
|
316
|
+
/**
|
|
317
|
+
* Provider-scoped creative identifier.
|
|
318
|
+
*/
|
|
319
|
+
creative_id?: string;
|
|
320
|
+
/**
|
|
321
|
+
* Provider-scoped sub-tracking identifier.
|
|
322
|
+
*/
|
|
323
|
+
sub_id?: string;
|
|
324
|
+
source?: AffiliateAttributionSource;
|
|
325
|
+
/**
|
|
326
|
+
* RFC3339 timestamp when the attribution token was issued.
|
|
327
|
+
*/
|
|
328
|
+
issued_at?: string;
|
|
329
|
+
/**
|
|
330
|
+
* RFC3339 timestamp when the attribution token expires.
|
|
331
|
+
*/
|
|
332
|
+
expires_at?: string;
|
|
333
|
+
metadata?: AffiliateAttributionMetadata;
|
|
334
|
+
/**
|
|
335
|
+
* Attribution touchpoint type. Use 'first' when capturing at session creation, 'last' when capturing at completion. Enables multi-touch attribution models.
|
|
336
|
+
*/
|
|
337
|
+
touchpoint?: 'first' | 'last';
|
|
338
|
+
};
|
|
339
|
+
export interface AgenticCheckoutSchemaBundle {
|
|
340
|
+
VariantOption?: VariantOption;
|
|
341
|
+
WeightInfo?: WeightInfo;
|
|
342
|
+
DimensionsInfo?: DimensionsInfo;
|
|
343
|
+
DiscountDetail?: DiscountDetail;
|
|
344
|
+
Address?: Address;
|
|
345
|
+
AffiliateAttributionSource?: AffiliateAttributionSource;
|
|
346
|
+
AffiliateAttributionMetadata?: AffiliateAttributionMetadata;
|
|
347
|
+
AffiliateAttribution?: AffiliateAttribution;
|
|
348
|
+
FulfillmentDetails?: FulfillmentDetails;
|
|
349
|
+
CompanyInfo?: CompanyInfo;
|
|
350
|
+
LoyaltyInfo?: LoyaltyInfo;
|
|
351
|
+
TaxExemption?: TaxExemption;
|
|
352
|
+
Buyer?: Buyer;
|
|
353
|
+
InterventionCapabilities?: InterventionCapabilities;
|
|
354
|
+
Capabilities?: Capabilities;
|
|
355
|
+
ExtensionDeclaration?: ExtensionDeclaration;
|
|
356
|
+
PaymentMethodObject?: PaymentMethodObject;
|
|
357
|
+
Item?: Item;
|
|
358
|
+
Disclosure?: Disclosure;
|
|
359
|
+
CustomAttribute?: CustomAttribute;
|
|
360
|
+
MarketplaceSellerDetails?: MarketplaceSellerDetails;
|
|
361
|
+
PaymentHandler?: PaymentHandler;
|
|
362
|
+
Payment?: Payment;
|
|
363
|
+
LineItem?: LineItem;
|
|
364
|
+
TaxBreakdownItem?: TaxBreakdownItem;
|
|
365
|
+
Total?: Total;
|
|
366
|
+
FulfillmentOptionPickup?: FulfillmentOptionPickup;
|
|
367
|
+
FulfillmentOptionLocalDelivery?: FulfillmentOptionLocalDelivery;
|
|
368
|
+
FulfillmentOptionShipping?: FulfillmentOptionShipping;
|
|
369
|
+
FulfillmentOptionDigital?: FulfillmentOptionDigital;
|
|
370
|
+
SelectedFulfillmentOption?: SelectedFulfillmentOption;
|
|
371
|
+
GiftWrap?: GiftWrap;
|
|
372
|
+
SplitPayment?: SplitPayment;
|
|
373
|
+
FulfillmentGroup?: FulfillmentGroup;
|
|
374
|
+
EstimatedDelivery?: EstimatedDelivery;
|
|
375
|
+
OrderConfirmation?: OrderConfirmation;
|
|
376
|
+
SupportInfo?: SupportInfo;
|
|
377
|
+
MessageInfo?: MessageInfo;
|
|
378
|
+
MessageWarning?: MessageWarning;
|
|
379
|
+
MessageError?: MessageError;
|
|
380
|
+
Link?: Link;
|
|
381
|
+
PaymentData?: PaymentData;
|
|
382
|
+
ProtocolVersion?: ProtocolVersion;
|
|
383
|
+
DiscountAllocation?: DiscountAllocation;
|
|
384
|
+
Coupon?: Coupon;
|
|
385
|
+
AppliedDiscount?: AppliedDiscount;
|
|
386
|
+
DiscountsRequest?: DiscountsRequest;
|
|
387
|
+
DiscountsResponse?: DiscountsResponse;
|
|
388
|
+
RejectedDiscount?: RejectedDiscount;
|
|
389
|
+
DiscountErrorCode?: DiscountErrorCode;
|
|
390
|
+
PaymentResponse?: PaymentResponse;
|
|
391
|
+
RiskSignals?: RiskSignals;
|
|
392
|
+
Order?: Order;
|
|
393
|
+
OrderLineItem?: OrderLineItem;
|
|
394
|
+
OrderLineItemQuantity?: OrderLineItemQuantity;
|
|
395
|
+
LineItemReference?: LineItemReference;
|
|
396
|
+
Fulfillment?: Fulfillment;
|
|
397
|
+
FulfillmentEvent?: FulfillmentEvent;
|
|
398
|
+
Adjustment?: Adjustment;
|
|
399
|
+
AuthenticationMetadata?: AuthenticationMetadata;
|
|
400
|
+
AuthenticationResult?: AuthenticationResult;
|
|
401
|
+
MarketingConsentOption?: MarketingConsentOption;
|
|
402
|
+
MarketingConsent?: MarketingConsent;
|
|
403
|
+
CheckoutSessionBase?: CheckoutSessionBase;
|
|
404
|
+
CheckoutSession?: CheckoutSession;
|
|
405
|
+
CheckoutSessionWithOrder?: CheckoutSessionWithOrder;
|
|
406
|
+
CheckoutSessionCreateRequest?: CheckoutSessionCreateRequest;
|
|
407
|
+
CheckoutSessionUpdateRequest?: CheckoutSessionUpdateRequest;
|
|
408
|
+
CheckoutSessionCompleteRequest?: CheckoutSessionCompleteRequest;
|
|
409
|
+
IntentTrace?: IntentTrace;
|
|
410
|
+
CancelSessionRequest?: CancelSessionRequest;
|
|
411
|
+
DiscoveryResponse?: DiscoveryResponse;
|
|
412
|
+
DiscoveryCapabilities?: DiscoveryCapabilities;
|
|
413
|
+
DiscoveryProtocol?: DiscoveryProtocol;
|
|
414
|
+
DiscoveryExtension?: DiscoveryExtension;
|
|
415
|
+
Error?: Error;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Represents a single variant option for a product (e.g., size, color, material)
|
|
419
|
+
*
|
|
420
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
421
|
+
* via the `definition` "VariantOption".
|
|
422
|
+
*/
|
|
423
|
+
export interface VariantOption {
|
|
424
|
+
/**
|
|
425
|
+
* Variant attribute name (e.g., 'Size', 'Color')
|
|
426
|
+
*/
|
|
427
|
+
name: string;
|
|
428
|
+
/**
|
|
429
|
+
* Variant attribute value (e.g., 'Large', 'Blue')
|
|
430
|
+
*/
|
|
431
|
+
value: string;
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Product weight with unit of measurement
|
|
435
|
+
*
|
|
436
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
437
|
+
* via the `definition` "WeightInfo".
|
|
438
|
+
*/
|
|
439
|
+
export interface WeightInfo {
|
|
440
|
+
/**
|
|
441
|
+
* Numeric weight value
|
|
442
|
+
*/
|
|
443
|
+
value: number;
|
|
444
|
+
/**
|
|
445
|
+
* Unit of measurement for weight
|
|
446
|
+
*/
|
|
447
|
+
unit: 'g' | 'kg' | 'oz' | 'lb';
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Physical dimensions of a product with unit of measurement
|
|
451
|
+
*
|
|
452
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
453
|
+
* via the `definition` "DimensionsInfo".
|
|
454
|
+
*/
|
|
455
|
+
export interface DimensionsInfo {
|
|
456
|
+
/**
|
|
457
|
+
* Length dimension
|
|
458
|
+
*/
|
|
459
|
+
length: number;
|
|
460
|
+
/**
|
|
461
|
+
* Width dimension
|
|
462
|
+
*/
|
|
463
|
+
width: number;
|
|
464
|
+
/**
|
|
465
|
+
* Height dimension
|
|
466
|
+
*/
|
|
467
|
+
height: number;
|
|
468
|
+
/**
|
|
469
|
+
* Unit of measurement for dimensions
|
|
470
|
+
*/
|
|
471
|
+
unit: 'cm' | 'in';
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Information about a discount applied to the checkout or a specific item
|
|
475
|
+
*
|
|
476
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
477
|
+
* via the `definition` "DiscountDetail".
|
|
478
|
+
*/
|
|
479
|
+
export interface DiscountDetail {
|
|
480
|
+
/**
|
|
481
|
+
* Discount code if applicable
|
|
482
|
+
*/
|
|
483
|
+
code?: string;
|
|
484
|
+
/**
|
|
485
|
+
* Type of discount
|
|
486
|
+
*/
|
|
487
|
+
type: 'percentage' | 'fixed' | 'bogo' | 'volume';
|
|
488
|
+
/**
|
|
489
|
+
* Discount amount in minor currency units (e.g. 100 cents for $1.00 or 100 for ¥100)
|
|
490
|
+
*/
|
|
491
|
+
amount: number;
|
|
492
|
+
/**
|
|
493
|
+
* Human-readable discount description
|
|
494
|
+
*/
|
|
495
|
+
description?: string;
|
|
496
|
+
/**
|
|
497
|
+
* Source of the discount
|
|
498
|
+
*/
|
|
499
|
+
source?: 'coupon' | 'automatic' | 'loyalty';
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Physical address for shipping, billing, or pickup locations
|
|
503
|
+
*
|
|
504
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
505
|
+
* via the `definition` "Address".
|
|
506
|
+
*/
|
|
507
|
+
export interface Address {
|
|
508
|
+
/**
|
|
509
|
+
* Recipient name for this address
|
|
510
|
+
*/
|
|
511
|
+
name: string;
|
|
512
|
+
/**
|
|
513
|
+
* Primary street address line
|
|
514
|
+
*/
|
|
515
|
+
line_one: string;
|
|
516
|
+
/**
|
|
517
|
+
* Secondary address line (apartment, suite, etc.)
|
|
518
|
+
*/
|
|
519
|
+
line_two?: string;
|
|
520
|
+
/**
|
|
521
|
+
* City name
|
|
522
|
+
*/
|
|
523
|
+
city: string;
|
|
524
|
+
/**
|
|
525
|
+
* State or province code
|
|
526
|
+
*/
|
|
527
|
+
state: string;
|
|
528
|
+
/**
|
|
529
|
+
* ISO 3166-1 alpha-2 country code
|
|
530
|
+
*/
|
|
531
|
+
country: string;
|
|
532
|
+
/**
|
|
533
|
+
* Postal or ZIP code
|
|
534
|
+
*/
|
|
535
|
+
postal_code: string;
|
|
536
|
+
/**
|
|
537
|
+
* Postal or ZIP code
|
|
538
|
+
*/
|
|
539
|
+
company?: string;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Context about where the attribution originated.
|
|
543
|
+
*
|
|
544
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
545
|
+
* via the `definition` "AffiliateAttributionSource".
|
|
546
|
+
*/
|
|
547
|
+
export interface AffiliateAttributionSource {
|
|
548
|
+
/**
|
|
549
|
+
* The type of attribution source.
|
|
550
|
+
*/
|
|
551
|
+
type: 'url' | 'platform' | 'unknown';
|
|
552
|
+
/**
|
|
553
|
+
* Canonical content URL when type is 'url'.
|
|
554
|
+
*/
|
|
555
|
+
url?: string;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Flat key/value map for additional non-sensitive context. Keys must be strings; values must be strings, numbers, or booleans. Arrays and nested objects are NOT permitted.
|
|
559
|
+
*
|
|
560
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
561
|
+
* via the `definition` "AffiliateAttributionMetadata".
|
|
562
|
+
*/
|
|
563
|
+
export interface AffiliateAttributionMetadata {
|
|
564
|
+
[k: string]: (string | number | boolean) | undefined;
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Details about how items will be fulfilled (shipping, pickup, or delivery information)
|
|
568
|
+
*
|
|
569
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
570
|
+
* via the `definition` "FulfillmentDetails".
|
|
571
|
+
*/
|
|
572
|
+
export interface FulfillmentDetails {
|
|
573
|
+
/**
|
|
574
|
+
* Full name for fulfillment contact
|
|
575
|
+
*/
|
|
576
|
+
name?: string;
|
|
577
|
+
/**
|
|
578
|
+
* Contact phone number. E.164 format recommended (e.g., +15551234567) for global interoperability and SMS/delivery carrier systems.
|
|
579
|
+
*/
|
|
580
|
+
phone_number?: string;
|
|
581
|
+
/**
|
|
582
|
+
* Contact email address
|
|
583
|
+
*/
|
|
584
|
+
email?: string;
|
|
585
|
+
address?: Address1;
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Fulfillment address
|
|
589
|
+
*/
|
|
590
|
+
export interface Address1 {
|
|
591
|
+
/**
|
|
592
|
+
* Recipient name for this address
|
|
593
|
+
*/
|
|
594
|
+
name: string;
|
|
595
|
+
/**
|
|
596
|
+
* Primary street address line
|
|
597
|
+
*/
|
|
598
|
+
line_one: string;
|
|
599
|
+
/**
|
|
600
|
+
* Secondary address line (apartment, suite, etc.)
|
|
601
|
+
*/
|
|
602
|
+
line_two?: string;
|
|
603
|
+
/**
|
|
604
|
+
* City name
|
|
605
|
+
*/
|
|
606
|
+
city: string;
|
|
607
|
+
/**
|
|
608
|
+
* State or province code
|
|
609
|
+
*/
|
|
610
|
+
state: string;
|
|
611
|
+
/**
|
|
612
|
+
* ISO 3166-1 alpha-2 country code
|
|
613
|
+
*/
|
|
614
|
+
country: string;
|
|
615
|
+
/**
|
|
616
|
+
* Postal or ZIP code
|
|
617
|
+
*/
|
|
618
|
+
postal_code: string;
|
|
619
|
+
/**
|
|
620
|
+
* Postal or ZIP code
|
|
621
|
+
*/
|
|
622
|
+
company?: string;
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Information about a company or organization associated with the buyer
|
|
626
|
+
*
|
|
627
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
628
|
+
* via the `definition` "CompanyInfo".
|
|
629
|
+
*/
|
|
630
|
+
export interface CompanyInfo {
|
|
631
|
+
/**
|
|
632
|
+
* Company or organization name
|
|
633
|
+
*/
|
|
634
|
+
name: string;
|
|
635
|
+
/**
|
|
636
|
+
* Business tax identification number
|
|
637
|
+
*/
|
|
638
|
+
tax_id?: string;
|
|
639
|
+
/**
|
|
640
|
+
* Department within the organization
|
|
641
|
+
*/
|
|
642
|
+
department?: string;
|
|
643
|
+
/**
|
|
644
|
+
* Cost center code for internal accounting
|
|
645
|
+
*/
|
|
646
|
+
cost_center?: string;
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Loyalty program information including membership details and rewards balance
|
|
650
|
+
*
|
|
651
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
652
|
+
* via the `definition` "LoyaltyInfo".
|
|
653
|
+
*/
|
|
654
|
+
export interface LoyaltyInfo {
|
|
655
|
+
/**
|
|
656
|
+
* Loyalty program tier level
|
|
657
|
+
*/
|
|
658
|
+
tier?: string;
|
|
659
|
+
/**
|
|
660
|
+
* Current loyalty points balance
|
|
661
|
+
*/
|
|
662
|
+
points_balance?: number;
|
|
663
|
+
/**
|
|
664
|
+
* RFC 3339 timestamp when the customer joined the loyalty program
|
|
665
|
+
*/
|
|
666
|
+
member_since?: string;
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* Tax exemption information including exemption type and applicable regions
|
|
670
|
+
*
|
|
671
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
672
|
+
* via the `definition` "TaxExemption".
|
|
673
|
+
*/
|
|
674
|
+
export interface TaxExemption {
|
|
675
|
+
/**
|
|
676
|
+
* Unique identifier for the tax exemption certificate
|
|
677
|
+
*/
|
|
678
|
+
certificate_id: string;
|
|
679
|
+
/**
|
|
680
|
+
* Type of tax exemption certificate
|
|
681
|
+
*/
|
|
682
|
+
certificate_type: 'resale' | 'exempt_organization' | 'government';
|
|
683
|
+
/**
|
|
684
|
+
* List of regions where the exemption applies (e.g., state codes)
|
|
685
|
+
*/
|
|
686
|
+
exempt_regions?: string[];
|
|
687
|
+
/**
|
|
688
|
+
* RFC 3339 timestamp when the exemption certificate expires
|
|
689
|
+
*/
|
|
690
|
+
expires_at?: string;
|
|
691
|
+
}
|
|
692
|
+
/**
|
|
693
|
+
* Information about the buyer including contact details, company info, and loyalty status
|
|
694
|
+
*
|
|
695
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
696
|
+
* via the `definition` "Buyer".
|
|
697
|
+
*/
|
|
698
|
+
export interface Buyer {
|
|
699
|
+
/**
|
|
700
|
+
* Buyer's first name
|
|
701
|
+
*/
|
|
702
|
+
first_name?: string;
|
|
703
|
+
/**
|
|
704
|
+
* Buyer's last name
|
|
705
|
+
*/
|
|
706
|
+
last_name?: string;
|
|
707
|
+
/**
|
|
708
|
+
* Buyer's full name
|
|
709
|
+
*/
|
|
710
|
+
full_name?: string;
|
|
711
|
+
/**
|
|
712
|
+
* Buyer's email address
|
|
713
|
+
*/
|
|
714
|
+
email: string;
|
|
715
|
+
/**
|
|
716
|
+
* Buyer's phone number
|
|
717
|
+
*/
|
|
718
|
+
phone_number?: string;
|
|
719
|
+
/**
|
|
720
|
+
* Merchant's internal customer identifier
|
|
721
|
+
*/
|
|
722
|
+
customer_id?: string;
|
|
723
|
+
/**
|
|
724
|
+
* Type of buyer account
|
|
725
|
+
*/
|
|
726
|
+
account_type?: 'guest' | 'registered' | 'business';
|
|
727
|
+
/**
|
|
728
|
+
* Buyer's authentication status
|
|
729
|
+
*/
|
|
730
|
+
authentication_status?: 'authenticated' | 'guest' | 'requires_signin';
|
|
731
|
+
company?: CompanyInfo1;
|
|
732
|
+
loyalty?: LoyaltyInfo1;
|
|
733
|
+
tax_exemption?: TaxExemption1;
|
|
734
|
+
}
|
|
735
|
+
/**
|
|
736
|
+
* Company information for business buyers
|
|
737
|
+
*/
|
|
738
|
+
export interface CompanyInfo1 {
|
|
739
|
+
/**
|
|
740
|
+
* Company or organization name
|
|
741
|
+
*/
|
|
742
|
+
name: string;
|
|
743
|
+
/**
|
|
744
|
+
* Business tax identification number
|
|
745
|
+
*/
|
|
746
|
+
tax_id?: string;
|
|
747
|
+
/**
|
|
748
|
+
* Department within the organization
|
|
749
|
+
*/
|
|
750
|
+
department?: string;
|
|
751
|
+
/**
|
|
752
|
+
* Cost center code for internal accounting
|
|
753
|
+
*/
|
|
754
|
+
cost_center?: string;
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* Loyalty program information
|
|
758
|
+
*/
|
|
759
|
+
export interface LoyaltyInfo1 {
|
|
760
|
+
/**
|
|
761
|
+
* Loyalty program tier level
|
|
762
|
+
*/
|
|
763
|
+
tier?: string;
|
|
764
|
+
/**
|
|
765
|
+
* Current loyalty points balance
|
|
766
|
+
*/
|
|
767
|
+
points_balance?: number;
|
|
768
|
+
/**
|
|
769
|
+
* RFC 3339 timestamp when the customer joined the loyalty program
|
|
770
|
+
*/
|
|
771
|
+
member_since?: string;
|
|
772
|
+
}
|
|
773
|
+
/**
|
|
774
|
+
* Tax exemption details
|
|
775
|
+
*/
|
|
776
|
+
export interface TaxExemption1 {
|
|
777
|
+
/**
|
|
778
|
+
* Unique identifier for the tax exemption certificate
|
|
779
|
+
*/
|
|
780
|
+
certificate_id: string;
|
|
781
|
+
/**
|
|
782
|
+
* Type of tax exemption certificate
|
|
783
|
+
*/
|
|
784
|
+
certificate_type: 'resale' | 'exempt_organization' | 'government';
|
|
785
|
+
/**
|
|
786
|
+
* List of regions where the exemption applies (e.g., state codes)
|
|
787
|
+
*/
|
|
788
|
+
exempt_regions?: string[];
|
|
789
|
+
/**
|
|
790
|
+
* RFC 3339 timestamp when the exemption certificate expires
|
|
791
|
+
*/
|
|
792
|
+
expires_at?: string;
|
|
793
|
+
}
|
|
794
|
+
/**
|
|
795
|
+
* Intervention capabilities. Context-specific fields: display_context, redirect_context, max_redirects, max_interaction_depth (requests only). required, enforcement (responses only). supported field contains intersection in responses.
|
|
796
|
+
*
|
|
797
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
798
|
+
* via the `definition` "InterventionCapabilities".
|
|
799
|
+
*/
|
|
800
|
+
export interface InterventionCapabilities {
|
|
801
|
+
/**
|
|
802
|
+
* Intervention types supported. Agent request: Interventions the agent can handle. Seller response: Intersection of supported interventions.
|
|
803
|
+
*/
|
|
804
|
+
supported?: ('3ds' | 'biometric' | 'address_verification')[];
|
|
805
|
+
/**
|
|
806
|
+
* Intervention methods required for this session (seller only).
|
|
807
|
+
*/
|
|
808
|
+
required?: ('3ds' | 'biometric')[];
|
|
809
|
+
/**
|
|
810
|
+
* When required interventions are enforced (seller only).
|
|
811
|
+
*/
|
|
812
|
+
enforcement?: 'always' | 'conditional' | 'optional';
|
|
813
|
+
/**
|
|
814
|
+
* How the Agent presents interventions (agent only).
|
|
815
|
+
*/
|
|
816
|
+
display_context?: 'native' | 'webview' | 'modal' | 'redirect';
|
|
817
|
+
/**
|
|
818
|
+
* How the Agent handles redirects (agent only).
|
|
819
|
+
*/
|
|
820
|
+
redirect_context?: 'in_app' | 'external_browser' | 'none';
|
|
821
|
+
/**
|
|
822
|
+
* Maximum number of redirects the Agent can handle (agent only).
|
|
823
|
+
*/
|
|
824
|
+
max_redirects?: number;
|
|
825
|
+
/**
|
|
826
|
+
* Maximum depth of nested interactions the Agent can handle (agent only).
|
|
827
|
+
*/
|
|
828
|
+
max_interaction_depth?: number;
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Capabilities object used in requests and responses. Context determines the party: requests are from Agents, responses are from Sellers. Seller responses contain the intersection of supported interventions.
|
|
832
|
+
*
|
|
833
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
834
|
+
* via the `definition` "Capabilities".
|
|
835
|
+
*/
|
|
836
|
+
export interface Capabilities {
|
|
837
|
+
payment?: Payment;
|
|
838
|
+
interventions?: InterventionCapabilities;
|
|
839
|
+
/**
|
|
840
|
+
* Extensions supported by the party. Requests: array of extension identifiers. Responses: array of extension declaration objects.
|
|
841
|
+
*/
|
|
842
|
+
extensions?: string[] | ExtensionDeclaration[];
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* Payment configuration with handlers
|
|
846
|
+
*
|
|
847
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
848
|
+
* via the `definition` "Payment".
|
|
849
|
+
*/
|
|
850
|
+
export interface Payment {
|
|
851
|
+
/**
|
|
852
|
+
* Available payment handlers
|
|
853
|
+
*/
|
|
854
|
+
handlers: PaymentHandler[];
|
|
855
|
+
}
|
|
856
|
+
/**
|
|
857
|
+
* Payment handler configuration and capabilities
|
|
858
|
+
*
|
|
859
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
860
|
+
* via the `definition` "PaymentHandler".
|
|
861
|
+
*/
|
|
862
|
+
export interface PaymentHandler {
|
|
863
|
+
/**
|
|
864
|
+
* Seller-defined handler identifier
|
|
865
|
+
*/
|
|
866
|
+
id: string;
|
|
867
|
+
/**
|
|
868
|
+
* Handler name in reverse-DNS format (e.g., dev.acp.tokenized.card)
|
|
869
|
+
*/
|
|
870
|
+
name: string;
|
|
871
|
+
/**
|
|
872
|
+
* Human-readable name for UI (e.g., Credit Card). Use when showing payment options to the buyer.
|
|
873
|
+
*/
|
|
874
|
+
display_name?: string;
|
|
875
|
+
/**
|
|
876
|
+
* Handler version in YYYY-MM-DD format
|
|
877
|
+
*/
|
|
878
|
+
version: string;
|
|
879
|
+
/**
|
|
880
|
+
* URL to handler specification
|
|
881
|
+
*/
|
|
882
|
+
spec: string;
|
|
883
|
+
/**
|
|
884
|
+
* Whether this handler requires using delegate_payment API
|
|
885
|
+
*/
|
|
886
|
+
requires_delegate_payment: boolean;
|
|
887
|
+
/**
|
|
888
|
+
* Whether this handler routes PCI DSS sensitive data
|
|
889
|
+
*/
|
|
890
|
+
requires_pci_compliance: boolean;
|
|
891
|
+
/**
|
|
892
|
+
* Payment Service Provider identifier
|
|
893
|
+
*/
|
|
894
|
+
psp: string;
|
|
895
|
+
/**
|
|
896
|
+
* URL to JSON Schema for handler configuration
|
|
897
|
+
*/
|
|
898
|
+
config_schema: string;
|
|
899
|
+
/**
|
|
900
|
+
* URLs to JSON Schemas for payment instruments
|
|
901
|
+
*/
|
|
902
|
+
instrument_schemas: string[];
|
|
903
|
+
/**
|
|
904
|
+
* Handler-specific configuration
|
|
905
|
+
*/
|
|
906
|
+
config: {};
|
|
907
|
+
/**
|
|
908
|
+
* Optional merchant-suggested display order (lower = higher preference). Suggestive only; platform/agent MAY reorder.
|
|
909
|
+
*/
|
|
910
|
+
display_order?: number;
|
|
911
|
+
}
|
|
912
|
+
/**
|
|
913
|
+
* Extension declaration in capabilities.extensions (response). Describes an active extension and which schema fields it adds.
|
|
914
|
+
*
|
|
915
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
916
|
+
* via the `definition` "ExtensionDeclaration".
|
|
917
|
+
*/
|
|
918
|
+
export interface ExtensionDeclaration {
|
|
919
|
+
/**
|
|
920
|
+
* Unique identifier for the extension.
|
|
921
|
+
*/
|
|
922
|
+
name: string;
|
|
923
|
+
/**
|
|
924
|
+
* JSONPath expressions identifying the schema fields added by this extension. Format: $.<SchemaName>.<fieldName> (e.g., $.CheckoutSession.discounts).
|
|
925
|
+
*/
|
|
926
|
+
extends?: string[];
|
|
927
|
+
/**
|
|
928
|
+
* URL to the extension's JSON Schema definition.
|
|
929
|
+
*/
|
|
930
|
+
schema?: string;
|
|
931
|
+
/**
|
|
932
|
+
* URL to the extension's specification document.
|
|
933
|
+
*/
|
|
934
|
+
spec?: string;
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* Payment method with additional constraints (e.g., card brands, PSP routing)
|
|
938
|
+
*
|
|
939
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
940
|
+
* via the `definition` "PaymentMethodObject".
|
|
941
|
+
*/
|
|
942
|
+
export interface PaymentMethodObject {
|
|
943
|
+
/**
|
|
944
|
+
* The payment method identifier
|
|
945
|
+
*/
|
|
946
|
+
method: string;
|
|
947
|
+
/**
|
|
948
|
+
* Specific card brands/networks accepted
|
|
949
|
+
*/
|
|
950
|
+
brands?: ('visa' | 'mastercard' | 'amex' | 'discover' | 'diners' | 'jcb' | 'unionpay' | 'eftpos' | 'interac')[];
|
|
951
|
+
/**
|
|
952
|
+
* For card methods, funding types accepted
|
|
953
|
+
*/
|
|
954
|
+
funding_types?: ('credit' | 'debit' | 'prepaid')[];
|
|
955
|
+
/**
|
|
956
|
+
* Optional PSP routing information
|
|
957
|
+
*/
|
|
958
|
+
providers?: string[];
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* A purchasable item with variant options (e.g., size, color) and quantity
|
|
962
|
+
*
|
|
963
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
964
|
+
* via the `definition` "Item".
|
|
965
|
+
*/
|
|
966
|
+
export interface Item {
|
|
967
|
+
/**
|
|
968
|
+
* Unique identifier for the item
|
|
969
|
+
*/
|
|
970
|
+
id: string;
|
|
971
|
+
/**
|
|
972
|
+
* Display name of the item
|
|
973
|
+
*/
|
|
974
|
+
name?: string;
|
|
975
|
+
/**
|
|
976
|
+
* Price per unit in minor currency units (e.g. 100 cents for $1.00 or 100 for ¥100)
|
|
977
|
+
*/
|
|
978
|
+
unit_amount?: number;
|
|
979
|
+
}
|
|
980
|
+
/**
|
|
981
|
+
* Legal disclosure or terms that must be acknowledged by the buyer
|
|
982
|
+
*
|
|
983
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
984
|
+
* via the `definition` "Disclosure".
|
|
985
|
+
*/
|
|
986
|
+
export interface Disclosure {
|
|
987
|
+
/**
|
|
988
|
+
* Type of disclosure
|
|
989
|
+
*/
|
|
990
|
+
type: 'disclaimer';
|
|
991
|
+
/**
|
|
992
|
+
* Format of the disclosure content. When set to 'markdown', content MUST conform to CommonMark (https://spec.commonmark.org/0.31.2/). Raw HTML elements MUST NOT be included. When set to 'plain', content is plain text with no formatting.
|
|
993
|
+
*/
|
|
994
|
+
content_type: 'plain' | 'markdown';
|
|
995
|
+
/**
|
|
996
|
+
* The disclosure text content. When content_type is 'markdown', this MUST be valid CommonMark with no raw HTML. Agents MUST render using a CommonMark-compliant parser with raw HTML output disabled or sanitized.
|
|
997
|
+
*/
|
|
998
|
+
content: string;
|
|
999
|
+
}
|
|
1000
|
+
/**
|
|
1001
|
+
* Custom key-value attribute for merchant-specific metadata on line items
|
|
1002
|
+
*
|
|
1003
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1004
|
+
* via the `definition` "CustomAttribute".
|
|
1005
|
+
*/
|
|
1006
|
+
export interface CustomAttribute {
|
|
1007
|
+
/**
|
|
1008
|
+
* Human-readable label for the attribute
|
|
1009
|
+
*/
|
|
1010
|
+
display_name: string;
|
|
1011
|
+
/**
|
|
1012
|
+
* Attribute value
|
|
1013
|
+
*/
|
|
1014
|
+
value: string;
|
|
1015
|
+
}
|
|
1016
|
+
/**
|
|
1017
|
+
* Information about a third-party seller in a marketplace model
|
|
1018
|
+
*
|
|
1019
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1020
|
+
* via the `definition` "MarketplaceSellerDetails".
|
|
1021
|
+
*/
|
|
1022
|
+
export interface MarketplaceSellerDetails {
|
|
1023
|
+
/**
|
|
1024
|
+
* Name of the marketplace seller or vendor
|
|
1025
|
+
*/
|
|
1026
|
+
name: string;
|
|
1027
|
+
}
|
|
1028
|
+
/**
|
|
1029
|
+
* A line item in the checkout representing a product with pricing, discounts, and fulfillment details
|
|
1030
|
+
*
|
|
1031
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1032
|
+
* via the `definition` "LineItem".
|
|
1033
|
+
*/
|
|
1034
|
+
export interface LineItem {
|
|
1035
|
+
/**
|
|
1036
|
+
* Unique identifier for the line item
|
|
1037
|
+
*/
|
|
1038
|
+
id: string;
|
|
1039
|
+
item: Item1;
|
|
1040
|
+
/**
|
|
1041
|
+
* Number of units for this line item
|
|
1042
|
+
*/
|
|
1043
|
+
quantity: number;
|
|
1044
|
+
/**
|
|
1045
|
+
* Display name of the line item
|
|
1046
|
+
*/
|
|
1047
|
+
name?: string;
|
|
1048
|
+
/**
|
|
1049
|
+
* Detailed description of the line item
|
|
1050
|
+
*/
|
|
1051
|
+
description?: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* Array of image URLs for this line item
|
|
1054
|
+
*/
|
|
1055
|
+
images?: string[];
|
|
1056
|
+
/**
|
|
1057
|
+
* The unit price of the line item in the smallest currency unit (e.g., cents for USD)
|
|
1058
|
+
*/
|
|
1059
|
+
unit_amount?: number;
|
|
1060
|
+
/**
|
|
1061
|
+
* Legal disclosures or disclaimers for this item
|
|
1062
|
+
*/
|
|
1063
|
+
disclosures?: Disclosure[];
|
|
1064
|
+
/**
|
|
1065
|
+
* Custom attributes specific to this line item
|
|
1066
|
+
*/
|
|
1067
|
+
custom_attributes?: CustomAttribute[];
|
|
1068
|
+
marketplace_seller_details?: MarketplaceSellerDetails1;
|
|
1069
|
+
/**
|
|
1070
|
+
* Merchant's product identifier
|
|
1071
|
+
*/
|
|
1072
|
+
product_id?: string;
|
|
1073
|
+
/**
|
|
1074
|
+
* Stock keeping unit identifier
|
|
1075
|
+
*/
|
|
1076
|
+
sku?: string;
|
|
1077
|
+
/**
|
|
1078
|
+
* Product variant identifier
|
|
1079
|
+
*/
|
|
1080
|
+
variant_id?: string;
|
|
1081
|
+
/**
|
|
1082
|
+
* Product category
|
|
1083
|
+
*/
|
|
1084
|
+
category?: string;
|
|
1085
|
+
/**
|
|
1086
|
+
* Product tags or labels
|
|
1087
|
+
*/
|
|
1088
|
+
tags?: string[];
|
|
1089
|
+
weight?: WeightInfo1;
|
|
1090
|
+
dimensions?: DimensionsInfo1;
|
|
1091
|
+
/**
|
|
1092
|
+
* Current availability status of the item
|
|
1093
|
+
*/
|
|
1094
|
+
availability_status?: 'in_stock' | 'low_stock' | 'out_of_stock' | 'backorder' | 'pre_order';
|
|
1095
|
+
/**
|
|
1096
|
+
* Quantity currently available for purchase
|
|
1097
|
+
*/
|
|
1098
|
+
available_quantity?: number;
|
|
1099
|
+
/**
|
|
1100
|
+
* Maximum quantity allowed per order
|
|
1101
|
+
*/
|
|
1102
|
+
max_quantity_per_order?: number;
|
|
1103
|
+
/**
|
|
1104
|
+
* RFC 3339 timestamp when item becomes available for fulfillment
|
|
1105
|
+
*/
|
|
1106
|
+
fulfillable_on?: string;
|
|
1107
|
+
/**
|
|
1108
|
+
* Selected product variant options (e.g., size, color)
|
|
1109
|
+
*/
|
|
1110
|
+
variant_options?: VariantOption[];
|
|
1111
|
+
/**
|
|
1112
|
+
* Line-item level discount details
|
|
1113
|
+
*/
|
|
1114
|
+
discount_details?: DiscountDetail[];
|
|
1115
|
+
/**
|
|
1116
|
+
* Whether this line item is tax exempt
|
|
1117
|
+
*/
|
|
1118
|
+
tax_exempt?: boolean;
|
|
1119
|
+
/**
|
|
1120
|
+
* Reason for tax exemption if applicable
|
|
1121
|
+
*/
|
|
1122
|
+
tax_exemption_reason?: string;
|
|
1123
|
+
/**
|
|
1124
|
+
* Reference to parent line item for bundled products
|
|
1125
|
+
*/
|
|
1126
|
+
parent_id?: string;
|
|
1127
|
+
/**
|
|
1128
|
+
* Line-item level totals breakdown including base_amount, discount, subtotal, tax, and total
|
|
1129
|
+
*/
|
|
1130
|
+
totals: Total[];
|
|
1131
|
+
}
|
|
1132
|
+
/**
|
|
1133
|
+
* Reference to the item being purchased
|
|
1134
|
+
*/
|
|
1135
|
+
export interface Item1 {
|
|
1136
|
+
/**
|
|
1137
|
+
* Unique identifier for the item
|
|
1138
|
+
*/
|
|
1139
|
+
id: string;
|
|
1140
|
+
/**
|
|
1141
|
+
* Display name of the item
|
|
1142
|
+
*/
|
|
1143
|
+
name?: string;
|
|
1144
|
+
/**
|
|
1145
|
+
* Price per unit in minor currency units (e.g. 100 cents for $1.00 or 100 for ¥100)
|
|
1146
|
+
*/
|
|
1147
|
+
unit_amount?: number;
|
|
1148
|
+
}
|
|
1149
|
+
/**
|
|
1150
|
+
* Seller details for marketplace items
|
|
1151
|
+
*/
|
|
1152
|
+
export interface MarketplaceSellerDetails1 {
|
|
1153
|
+
/**
|
|
1154
|
+
* Name of the marketplace seller or vendor
|
|
1155
|
+
*/
|
|
1156
|
+
name: string;
|
|
1157
|
+
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Weight information for the item
|
|
1160
|
+
*/
|
|
1161
|
+
export interface WeightInfo1 {
|
|
1162
|
+
/**
|
|
1163
|
+
* Numeric weight value
|
|
1164
|
+
*/
|
|
1165
|
+
value: number;
|
|
1166
|
+
/**
|
|
1167
|
+
* Unit of measurement for weight
|
|
1168
|
+
*/
|
|
1169
|
+
unit: 'g' | 'kg' | 'oz' | 'lb';
|
|
1170
|
+
}
|
|
1171
|
+
/**
|
|
1172
|
+
* Dimensions for the item
|
|
1173
|
+
*/
|
|
1174
|
+
export interface DimensionsInfo1 {
|
|
1175
|
+
/**
|
|
1176
|
+
* Length dimension
|
|
1177
|
+
*/
|
|
1178
|
+
length: number;
|
|
1179
|
+
/**
|
|
1180
|
+
* Width dimension
|
|
1181
|
+
*/
|
|
1182
|
+
width: number;
|
|
1183
|
+
/**
|
|
1184
|
+
* Height dimension
|
|
1185
|
+
*/
|
|
1186
|
+
height: number;
|
|
1187
|
+
/**
|
|
1188
|
+
* Unit of measurement for dimensions
|
|
1189
|
+
*/
|
|
1190
|
+
unit: 'cm' | 'in';
|
|
1191
|
+
}
|
|
1192
|
+
/**
|
|
1193
|
+
* Total amounts for the checkout including subtotal, discounts, tax, shipping, and final total
|
|
1194
|
+
*
|
|
1195
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1196
|
+
* via the `definition` "Total".
|
|
1197
|
+
*/
|
|
1198
|
+
export interface Total {
|
|
1199
|
+
/**
|
|
1200
|
+
* Type of total line item
|
|
1201
|
+
*/
|
|
1202
|
+
type: 'items_base_amount' | 'items_discount' | 'subtotal' | 'discount' | 'fulfillment' | 'tax' | 'fee' | 'gift_wrap' | 'tip' | 'store_credit' | 'total' | 'amount_refunded';
|
|
1203
|
+
/**
|
|
1204
|
+
* Localized display text for this total
|
|
1205
|
+
*/
|
|
1206
|
+
display_text: string;
|
|
1207
|
+
/**
|
|
1208
|
+
* Amount in minor currency units (e.g. 100 cents for $1.00 or 100 for ¥100)
|
|
1209
|
+
*/
|
|
1210
|
+
amount: number;
|
|
1211
|
+
/**
|
|
1212
|
+
* Amount in presentment currency minor units if different from settlement currency
|
|
1213
|
+
*/
|
|
1214
|
+
presentment_amount?: number;
|
|
1215
|
+
/**
|
|
1216
|
+
* Additional descriptive text for this total
|
|
1217
|
+
*/
|
|
1218
|
+
description?: string;
|
|
1219
|
+
/**
|
|
1220
|
+
* Detailed breakdown for tax totals
|
|
1221
|
+
*/
|
|
1222
|
+
breakdown?: TaxBreakdownItem[];
|
|
1223
|
+
}
|
|
1224
|
+
/**
|
|
1225
|
+
* Breakdown of tax amounts by type, jurisdiction, or rate
|
|
1226
|
+
*
|
|
1227
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1228
|
+
* via the `definition` "TaxBreakdownItem".
|
|
1229
|
+
*/
|
|
1230
|
+
export interface TaxBreakdownItem {
|
|
1231
|
+
/**
|
|
1232
|
+
* Tax jurisdiction name (e.g., 'California State Tax', 'City of San Francisco')
|
|
1233
|
+
*/
|
|
1234
|
+
jurisdiction: string;
|
|
1235
|
+
/**
|
|
1236
|
+
* Tax rate as a decimal (e.g., 0.0875 for 8.75%)
|
|
1237
|
+
*/
|
|
1238
|
+
rate: number;
|
|
1239
|
+
/**
|
|
1240
|
+
* Tax amount in minor currency units (e.g. 100 cents for $1.00 or 100 for ¥100)
|
|
1241
|
+
*/
|
|
1242
|
+
amount: number;
|
|
1243
|
+
}
|
|
1244
|
+
/**
|
|
1245
|
+
* In-store or curbside pickup fulfillment option with pickup location details
|
|
1246
|
+
*
|
|
1247
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1248
|
+
* via the `definition` "FulfillmentOptionPickup".
|
|
1249
|
+
*/
|
|
1250
|
+
export interface FulfillmentOptionPickup {
|
|
1251
|
+
/**
|
|
1252
|
+
* Fulfillment type discriminator
|
|
1253
|
+
*/
|
|
1254
|
+
type: 'pickup';
|
|
1255
|
+
/**
|
|
1256
|
+
* Unique identifier for this fulfillment option
|
|
1257
|
+
*/
|
|
1258
|
+
id: string;
|
|
1259
|
+
/**
|
|
1260
|
+
* Display title for this pickup option
|
|
1261
|
+
*/
|
|
1262
|
+
title: string;
|
|
1263
|
+
/**
|
|
1264
|
+
* Additional details about this pickup option
|
|
1265
|
+
*/
|
|
1266
|
+
description?: string;
|
|
1267
|
+
/**
|
|
1268
|
+
* Pickup location details
|
|
1269
|
+
*/
|
|
1270
|
+
location: {
|
|
1271
|
+
/**
|
|
1272
|
+
* Location name
|
|
1273
|
+
*/
|
|
1274
|
+
name: string;
|
|
1275
|
+
address: Address2;
|
|
1276
|
+
/**
|
|
1277
|
+
* Location phone number
|
|
1278
|
+
*/
|
|
1279
|
+
phone?: string;
|
|
1280
|
+
/**
|
|
1281
|
+
* Special pickup instructions
|
|
1282
|
+
*/
|
|
1283
|
+
instructions?: string;
|
|
1284
|
+
};
|
|
1285
|
+
/**
|
|
1286
|
+
* Type of pickup method
|
|
1287
|
+
*/
|
|
1288
|
+
pickup_type?: 'in_store' | 'curbside' | 'locker';
|
|
1289
|
+
/**
|
|
1290
|
+
* RFC 3339 timestamp when order will be ready for pickup
|
|
1291
|
+
*/
|
|
1292
|
+
ready_by?: string;
|
|
1293
|
+
/**
|
|
1294
|
+
* RFC 3339 timestamp by which order must be picked up
|
|
1295
|
+
*/
|
|
1296
|
+
pickup_by?: string;
|
|
1297
|
+
/**
|
|
1298
|
+
* Cost breakdown for this fulfillment option
|
|
1299
|
+
*/
|
|
1300
|
+
totals: Total[];
|
|
1301
|
+
}
|
|
1302
|
+
/**
|
|
1303
|
+
* Pickup address
|
|
1304
|
+
*/
|
|
1305
|
+
export interface Address2 {
|
|
1306
|
+
/**
|
|
1307
|
+
* Recipient name for this address
|
|
1308
|
+
*/
|
|
1309
|
+
name: string;
|
|
1310
|
+
/**
|
|
1311
|
+
* Primary street address line
|
|
1312
|
+
*/
|
|
1313
|
+
line_one: string;
|
|
1314
|
+
/**
|
|
1315
|
+
* Secondary address line (apartment, suite, etc.)
|
|
1316
|
+
*/
|
|
1317
|
+
line_two?: string;
|
|
1318
|
+
/**
|
|
1319
|
+
* City name
|
|
1320
|
+
*/
|
|
1321
|
+
city: string;
|
|
1322
|
+
/**
|
|
1323
|
+
* State or province code
|
|
1324
|
+
*/
|
|
1325
|
+
state: string;
|
|
1326
|
+
/**
|
|
1327
|
+
* ISO 3166-1 alpha-2 country code
|
|
1328
|
+
*/
|
|
1329
|
+
country: string;
|
|
1330
|
+
/**
|
|
1331
|
+
* Postal or ZIP code
|
|
1332
|
+
*/
|
|
1333
|
+
postal_code: string;
|
|
1334
|
+
/**
|
|
1335
|
+
* Postal or ZIP code
|
|
1336
|
+
*/
|
|
1337
|
+
company?: string;
|
|
1338
|
+
}
|
|
1339
|
+
/**
|
|
1340
|
+
* Local delivery fulfillment option with delivery address and scheduling details
|
|
1341
|
+
*
|
|
1342
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1343
|
+
* via the `definition` "FulfillmentOptionLocalDelivery".
|
|
1344
|
+
*/
|
|
1345
|
+
export interface FulfillmentOptionLocalDelivery {
|
|
1346
|
+
/**
|
|
1347
|
+
* Fulfillment type discriminator
|
|
1348
|
+
*/
|
|
1349
|
+
type: 'local_delivery';
|
|
1350
|
+
/**
|
|
1351
|
+
* Unique identifier for this fulfillment option
|
|
1352
|
+
*/
|
|
1353
|
+
id: string;
|
|
1354
|
+
/**
|
|
1355
|
+
* Display title for this local delivery option
|
|
1356
|
+
*/
|
|
1357
|
+
title: string;
|
|
1358
|
+
/**
|
|
1359
|
+
* Additional details about this delivery option
|
|
1360
|
+
*/
|
|
1361
|
+
description?: string;
|
|
1362
|
+
/**
|
|
1363
|
+
* Expected delivery time window
|
|
1364
|
+
*/
|
|
1365
|
+
delivery_window?: {
|
|
1366
|
+
/**
|
|
1367
|
+
* RFC 3339 timestamp for delivery window start
|
|
1368
|
+
*/
|
|
1369
|
+
start: string;
|
|
1370
|
+
/**
|
|
1371
|
+
* RFC 3339 timestamp for delivery window end
|
|
1372
|
+
*/
|
|
1373
|
+
end: string;
|
|
1374
|
+
};
|
|
1375
|
+
/**
|
|
1376
|
+
* Geographic service area for local delivery
|
|
1377
|
+
*/
|
|
1378
|
+
service_area?: {
|
|
1379
|
+
/**
|
|
1380
|
+
* Delivery radius in miles
|
|
1381
|
+
*/
|
|
1382
|
+
radius_miles?: number;
|
|
1383
|
+
/**
|
|
1384
|
+
* Center point postal code for delivery radius
|
|
1385
|
+
*/
|
|
1386
|
+
center_postal_code?: string;
|
|
1387
|
+
};
|
|
1388
|
+
/**
|
|
1389
|
+
* Cost breakdown for this fulfillment option
|
|
1390
|
+
*/
|
|
1391
|
+
totals: Total[];
|
|
1392
|
+
}
|
|
1393
|
+
/**
|
|
1394
|
+
* Shipping fulfillment option with carrier, service level, and delivery estimates
|
|
1395
|
+
*
|
|
1396
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1397
|
+
* via the `definition` "FulfillmentOptionShipping".
|
|
1398
|
+
*/
|
|
1399
|
+
export interface FulfillmentOptionShipping {
|
|
1400
|
+
/**
|
|
1401
|
+
* Fulfillment type discriminator
|
|
1402
|
+
*/
|
|
1403
|
+
type: 'shipping';
|
|
1404
|
+
/**
|
|
1405
|
+
* Unique identifier for this fulfillment option
|
|
1406
|
+
*/
|
|
1407
|
+
id: string;
|
|
1408
|
+
/**
|
|
1409
|
+
* Display title for this shipping option (e.g., 'Standard Shipping', 'Express')
|
|
1410
|
+
*/
|
|
1411
|
+
title: string;
|
|
1412
|
+
/**
|
|
1413
|
+
* Additional details about this shipping option
|
|
1414
|
+
*/
|
|
1415
|
+
description?: string;
|
|
1416
|
+
/**
|
|
1417
|
+
* Shipping carrier name (e.g., 'USPS', 'FedEx')
|
|
1418
|
+
*/
|
|
1419
|
+
carrier?: string;
|
|
1420
|
+
/**
|
|
1421
|
+
* RFC 3339 timestamp for earliest expected delivery
|
|
1422
|
+
*/
|
|
1423
|
+
earliest_delivery_time?: string;
|
|
1424
|
+
/**
|
|
1425
|
+
* RFC 3339 timestamp for latest expected delivery
|
|
1426
|
+
*/
|
|
1427
|
+
latest_delivery_time?: string;
|
|
1428
|
+
/**
|
|
1429
|
+
* Cost breakdown for this fulfillment option
|
|
1430
|
+
*/
|
|
1431
|
+
totals: Total[];
|
|
1432
|
+
}
|
|
1433
|
+
/**
|
|
1434
|
+
* Digital delivery fulfillment option for downloadable or streaming content
|
|
1435
|
+
*
|
|
1436
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1437
|
+
* via the `definition` "FulfillmentOptionDigital".
|
|
1438
|
+
*/
|
|
1439
|
+
export interface FulfillmentOptionDigital {
|
|
1440
|
+
/**
|
|
1441
|
+
* Fulfillment type discriminator
|
|
1442
|
+
*/
|
|
1443
|
+
type: 'digital';
|
|
1444
|
+
/**
|
|
1445
|
+
* Unique identifier for this fulfillment option
|
|
1446
|
+
*/
|
|
1447
|
+
id: string;
|
|
1448
|
+
/**
|
|
1449
|
+
* Display title for this digital delivery option
|
|
1450
|
+
*/
|
|
1451
|
+
title: string;
|
|
1452
|
+
/**
|
|
1453
|
+
* Additional details about digital delivery method
|
|
1454
|
+
*/
|
|
1455
|
+
description?: string;
|
|
1456
|
+
/**
|
|
1457
|
+
* Cost breakdown for this fulfillment option
|
|
1458
|
+
*/
|
|
1459
|
+
totals: Total[];
|
|
1460
|
+
}
|
|
1461
|
+
/**
|
|
1462
|
+
* Fulfillment option selected by the buyer for specific line items
|
|
1463
|
+
*
|
|
1464
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1465
|
+
* via the `definition` "SelectedFulfillmentOption".
|
|
1466
|
+
*/
|
|
1467
|
+
export interface SelectedFulfillmentOption {
|
|
1468
|
+
/**
|
|
1469
|
+
* Type of fulfillment option selected
|
|
1470
|
+
*/
|
|
1471
|
+
type: 'shipping' | 'digital' | 'pickup' | 'local_delivery';
|
|
1472
|
+
/**
|
|
1473
|
+
* ID of the selected fulfillment option
|
|
1474
|
+
*/
|
|
1475
|
+
option_id: string;
|
|
1476
|
+
/**
|
|
1477
|
+
* List of line item IDs associated with this fulfillment option
|
|
1478
|
+
*/
|
|
1479
|
+
item_ids: string[];
|
|
1480
|
+
}
|
|
1481
|
+
/**
|
|
1482
|
+
* Gift wrapping option with associated cost and customization details
|
|
1483
|
+
*
|
|
1484
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1485
|
+
* via the `definition` "GiftWrap".
|
|
1486
|
+
*/
|
|
1487
|
+
export interface GiftWrap {
|
|
1488
|
+
/**
|
|
1489
|
+
* Whether gift wrapping is enabled for this order
|
|
1490
|
+
*/
|
|
1491
|
+
enabled: boolean;
|
|
1492
|
+
/**
|
|
1493
|
+
* Gift wrap style selected
|
|
1494
|
+
*/
|
|
1495
|
+
style?: 'birthday' | 'holiday' | 'elegant';
|
|
1496
|
+
/**
|
|
1497
|
+
* Additional charge for gift wrapping in minor currency units (e.g. 100 cents for $1.00 or 100 for ¥100)
|
|
1498
|
+
*/
|
|
1499
|
+
charge?: number;
|
|
1500
|
+
}
|
|
1501
|
+
/**
|
|
1502
|
+
* Split payment configuration allowing payment across multiple methods or parties
|
|
1503
|
+
*
|
|
1504
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1505
|
+
* via the `definition` "SplitPayment".
|
|
1506
|
+
*/
|
|
1507
|
+
export interface SplitPayment {
|
|
1508
|
+
/**
|
|
1509
|
+
* Payment amount in minor currency units (e.g. 100 cents for $1.00 or 100 for ¥100) for this split
|
|
1510
|
+
*/
|
|
1511
|
+
amount: number;
|
|
1512
|
+
}
|
|
1513
|
+
/**
|
|
1514
|
+
* Group of line items that share the same fulfillment method and destination
|
|
1515
|
+
*
|
|
1516
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1517
|
+
* via the `definition` "FulfillmentGroup".
|
|
1518
|
+
*/
|
|
1519
|
+
export interface FulfillmentGroup {
|
|
1520
|
+
/**
|
|
1521
|
+
* Unique identifier for this fulfillment group
|
|
1522
|
+
*/
|
|
1523
|
+
id: string;
|
|
1524
|
+
/**
|
|
1525
|
+
* List of line item IDs in this fulfillment group
|
|
1526
|
+
*/
|
|
1527
|
+
item_ids: string[];
|
|
1528
|
+
/**
|
|
1529
|
+
* Type of fulfillment for this group
|
|
1530
|
+
*/
|
|
1531
|
+
destination_type: 'shipping' | 'pickup' | 'local_delivery' | 'digital';
|
|
1532
|
+
fulfillment_details?: FulfillmentDetails1;
|
|
1533
|
+
/**
|
|
1534
|
+
* Location identifier for pickup or local delivery
|
|
1535
|
+
*/
|
|
1536
|
+
location_id?: string;
|
|
1537
|
+
/**
|
|
1538
|
+
* Special fulfillment instructions
|
|
1539
|
+
*/
|
|
1540
|
+
instructions?: string;
|
|
1541
|
+
}
|
|
1542
|
+
/**
|
|
1543
|
+
* Fulfillment contact and address details
|
|
1544
|
+
*/
|
|
1545
|
+
export interface FulfillmentDetails1 {
|
|
1546
|
+
/**
|
|
1547
|
+
* Full name for fulfillment contact
|
|
1548
|
+
*/
|
|
1549
|
+
name?: string;
|
|
1550
|
+
/**
|
|
1551
|
+
* Contact phone number. E.164 format recommended (e.g., +15551234567) for global interoperability and SMS/delivery carrier systems.
|
|
1552
|
+
*/
|
|
1553
|
+
phone_number?: string;
|
|
1554
|
+
/**
|
|
1555
|
+
* Contact email address
|
|
1556
|
+
*/
|
|
1557
|
+
email?: string;
|
|
1558
|
+
address?: Address1;
|
|
1559
|
+
}
|
|
1560
|
+
/**
|
|
1561
|
+
* Estimated delivery date range for a fulfillment option
|
|
1562
|
+
*
|
|
1563
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1564
|
+
* via the `definition` "EstimatedDelivery".
|
|
1565
|
+
*/
|
|
1566
|
+
export interface EstimatedDelivery {
|
|
1567
|
+
/**
|
|
1568
|
+
* RFC 3339 timestamp for earliest expected delivery
|
|
1569
|
+
*/
|
|
1570
|
+
earliest: string;
|
|
1571
|
+
/**
|
|
1572
|
+
* RFC 3339 timestamp for latest expected delivery
|
|
1573
|
+
*/
|
|
1574
|
+
latest: string;
|
|
1575
|
+
}
|
|
1576
|
+
/**
|
|
1577
|
+
* Order confirmation details including order number and tracking information
|
|
1578
|
+
*
|
|
1579
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1580
|
+
* via the `definition` "OrderConfirmation".
|
|
1581
|
+
*/
|
|
1582
|
+
export interface OrderConfirmation {
|
|
1583
|
+
/**
|
|
1584
|
+
* Order confirmation number
|
|
1585
|
+
*/
|
|
1586
|
+
confirmation_number?: string;
|
|
1587
|
+
/**
|
|
1588
|
+
* Whether a confirmation email has been sent
|
|
1589
|
+
*/
|
|
1590
|
+
confirmation_email_sent?: boolean;
|
|
1591
|
+
/**
|
|
1592
|
+
* URL to the order receipt
|
|
1593
|
+
*/
|
|
1594
|
+
receipt_url?: string;
|
|
1595
|
+
/**
|
|
1596
|
+
* Invoice number if generated
|
|
1597
|
+
*/
|
|
1598
|
+
invoice_number?: string;
|
|
1599
|
+
/**
|
|
1600
|
+
* Echo of order_notes attached to the order.
|
|
1601
|
+
*/
|
|
1602
|
+
order_notes?: string;
|
|
1603
|
+
}
|
|
1604
|
+
/**
|
|
1605
|
+
* Customer support contact information including email, phone, and URL
|
|
1606
|
+
*
|
|
1607
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1608
|
+
* via the `definition` "SupportInfo".
|
|
1609
|
+
*/
|
|
1610
|
+
export interface SupportInfo {
|
|
1611
|
+
/**
|
|
1612
|
+
* Support contact email
|
|
1613
|
+
*/
|
|
1614
|
+
email?: string;
|
|
1615
|
+
/**
|
|
1616
|
+
* Support contact phone number
|
|
1617
|
+
*/
|
|
1618
|
+
phone?: string;
|
|
1619
|
+
/**
|
|
1620
|
+
* Support hours of operation
|
|
1621
|
+
*/
|
|
1622
|
+
hours?: string;
|
|
1623
|
+
/**
|
|
1624
|
+
* URL to merchant's help center
|
|
1625
|
+
*/
|
|
1626
|
+
help_center_url?: string;
|
|
1627
|
+
}
|
|
1628
|
+
/**
|
|
1629
|
+
* Informational message to display to the buyer during checkout
|
|
1630
|
+
*
|
|
1631
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1632
|
+
* via the `definition` "MessageInfo".
|
|
1633
|
+
*/
|
|
1634
|
+
export interface MessageInfo {
|
|
1635
|
+
/**
|
|
1636
|
+
* Message type discriminator
|
|
1637
|
+
*/
|
|
1638
|
+
type: 'info';
|
|
1639
|
+
/**
|
|
1640
|
+
* Severity level of this informational message
|
|
1641
|
+
*/
|
|
1642
|
+
severity?: 'info' | 'low' | 'medium' | 'high' | 'critical';
|
|
1643
|
+
/**
|
|
1644
|
+
* Who resolves this message. 'recoverable': agent can fix via API. 'requires_buyer_input': buyer must provide info. 'requires_buyer_review': buyer must authorize.
|
|
1645
|
+
*/
|
|
1646
|
+
resolution?: 'recoverable' | 'requires_buyer_input' | 'requires_buyer_review';
|
|
1647
|
+
/**
|
|
1648
|
+
* RFC 9535 JSONPath
|
|
1649
|
+
*/
|
|
1650
|
+
param?: string;
|
|
1651
|
+
/**
|
|
1652
|
+
* Format of the message content. When set to 'markdown', content MUST conform to CommonMark (https://spec.commonmark.org/0.31.2/). Raw HTML elements MUST NOT be included. When set to 'plain', content is plain text with no formatting.
|
|
1653
|
+
*/
|
|
1654
|
+
content_type: 'plain' | 'markdown';
|
|
1655
|
+
/**
|
|
1656
|
+
* Informational message text. When content_type is 'markdown', this MUST be valid CommonMark with no raw HTML. Agents MUST render using a CommonMark-compliant parser with raw HTML output disabled or sanitized.
|
|
1657
|
+
*/
|
|
1658
|
+
content: string;
|
|
1659
|
+
}
|
|
1660
|
+
/**
|
|
1661
|
+
* Warning message to display to the buyer during checkout (non-blocking)
|
|
1662
|
+
*
|
|
1663
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1664
|
+
* via the `definition` "MessageWarning".
|
|
1665
|
+
*/
|
|
1666
|
+
export interface MessageWarning {
|
|
1667
|
+
/**
|
|
1668
|
+
* Message type discriminator
|
|
1669
|
+
*/
|
|
1670
|
+
type: 'warning';
|
|
1671
|
+
/**
|
|
1672
|
+
* Warning code indicating the type of warning
|
|
1673
|
+
*/
|
|
1674
|
+
code: 'low_stock' | 'high_demand' | 'shipping_delay' | 'price_change' | 'expiring_promotion' | 'limited_availability' | 'discount_code_expired' | 'discount_code_invalid' | 'discount_code_already_applied' | 'discount_code_combination_disallowed' | 'discount_code_minimum_not_met' | 'discount_code_user_not_logged_in' | 'discount_code_user_ineligible' | 'discount_code_usage_limit_reached';
|
|
1675
|
+
/**
|
|
1676
|
+
* Severity level of this warning
|
|
1677
|
+
*/
|
|
1678
|
+
severity?: 'info' | 'low' | 'medium' | 'high' | 'critical';
|
|
1679
|
+
/**
|
|
1680
|
+
* Who resolves this message. 'recoverable': agent can fix via API. 'requires_buyer_input': buyer must provide info. 'requires_buyer_review': buyer must authorize.
|
|
1681
|
+
*/
|
|
1682
|
+
resolution?: 'recoverable' | 'requires_buyer_input' | 'requires_buyer_review';
|
|
1683
|
+
/**
|
|
1684
|
+
* RFC 9535 JSONPath
|
|
1685
|
+
*/
|
|
1686
|
+
param?: string;
|
|
1687
|
+
/**
|
|
1688
|
+
* Format of the warning message content. When set to 'markdown', content MUST conform to CommonMark (https://spec.commonmark.org/0.31.2/). Raw HTML elements MUST NOT be included. When set to 'plain', content is plain text with no formatting.
|
|
1689
|
+
*/
|
|
1690
|
+
content_type: 'plain' | 'markdown';
|
|
1691
|
+
/**
|
|
1692
|
+
* Warning message text. When content_type is 'markdown', this MUST be valid CommonMark with no raw HTML. Agents MUST render using a CommonMark-compliant parser with raw HTML output disabled or sanitized.
|
|
1693
|
+
*/
|
|
1694
|
+
content: string;
|
|
1695
|
+
}
|
|
1696
|
+
/**
|
|
1697
|
+
* Business-logic error within a valid CheckoutSession response. Used in messages[] on 2xx responses when the session is valid but has actionable issues (e.g. status "not_ready_for_payment"). The agent can respond by asking the buyer for corrections or trying alternatives. Use MessageError—not Error—when you can return a valid CheckoutSession and the problem is conversational (e.g. invalid email → code "invalid" and param "$.buyer.email"; out of stock → code "out_of_stock" and param "$.items[0]").
|
|
1698
|
+
*
|
|
1699
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1700
|
+
* via the `definition` "MessageError".
|
|
1701
|
+
*/
|
|
1702
|
+
export interface MessageError {
|
|
1703
|
+
/**
|
|
1704
|
+
* Message type discriminator
|
|
1705
|
+
*/
|
|
1706
|
+
type: 'error';
|
|
1707
|
+
/**
|
|
1708
|
+
* Error code indicating the type of error
|
|
1709
|
+
*/
|
|
1710
|
+
code: 'missing' | 'invalid' | 'out_of_stock' | 'payment_declined' | 'requires_sign_in' | 'requires_3ds' | 'low_stock' | 'quantity_exceeded' | 'coupon_invalid' | 'coupon_expired' | 'minimum_not_met' | 'maximum_exceeded' | 'region_restricted' | 'age_verification_required' | 'approval_required' | 'unsupported' | 'not_found' | 'conflict' | 'rate_limited' | 'expired' | 'intervention_required';
|
|
1711
|
+
/**
|
|
1712
|
+
* Severity level of this error
|
|
1713
|
+
*/
|
|
1714
|
+
severity?: 'info' | 'low' | 'medium' | 'high' | 'critical';
|
|
1715
|
+
/**
|
|
1716
|
+
* Who resolves this message. 'recoverable': agent can fix via API. 'requires_buyer_input': buyer must provide info. 'requires_buyer_review': buyer must authorize.
|
|
1717
|
+
*/
|
|
1718
|
+
resolution?: 'recoverable' | 'requires_buyer_input' | 'requires_buyer_review';
|
|
1719
|
+
/**
|
|
1720
|
+
* RFC 9535 JSONPath
|
|
1721
|
+
*/
|
|
1722
|
+
param?: string;
|
|
1723
|
+
/**
|
|
1724
|
+
* Format of the error message content. When set to 'markdown', content MUST conform to CommonMark (https://spec.commonmark.org/0.31.2/). Raw HTML elements MUST NOT be included. When set to 'plain', content is plain text with no formatting.
|
|
1725
|
+
*/
|
|
1726
|
+
content_type: 'plain' | 'markdown';
|
|
1727
|
+
/**
|
|
1728
|
+
* Error message text. When content_type is 'markdown', this MUST be valid CommonMark with no raw HTML. Agents MUST render using a CommonMark-compliant parser with raw HTML output disabled or sanitized.
|
|
1729
|
+
*/
|
|
1730
|
+
content: string;
|
|
1731
|
+
}
|
|
1732
|
+
/**
|
|
1733
|
+
* Hyperlink with URL, display text, and optional action semantics
|
|
1734
|
+
*
|
|
1735
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1736
|
+
* via the `definition` "Link".
|
|
1737
|
+
*/
|
|
1738
|
+
export interface Link {
|
|
1739
|
+
/**
|
|
1740
|
+
* Type of link
|
|
1741
|
+
*/
|
|
1742
|
+
type: 'terms_of_use' | 'privacy_policy' | 'return_policy' | 'shipping_policy' | 'contact_us' | 'about_us' | 'faq' | 'support';
|
|
1743
|
+
/**
|
|
1744
|
+
* Display text for the link
|
|
1745
|
+
*/
|
|
1746
|
+
title?: string;
|
|
1747
|
+
/**
|
|
1748
|
+
* URL destination
|
|
1749
|
+
*/
|
|
1750
|
+
url: string;
|
|
1751
|
+
}
|
|
1752
|
+
/**
|
|
1753
|
+
* Billing address for the payment
|
|
1754
|
+
*/
|
|
1755
|
+
export interface Address3 {
|
|
1756
|
+
/**
|
|
1757
|
+
* Recipient name for this address
|
|
1758
|
+
*/
|
|
1759
|
+
name: string;
|
|
1760
|
+
/**
|
|
1761
|
+
* Primary street address line
|
|
1762
|
+
*/
|
|
1763
|
+
line_one: string;
|
|
1764
|
+
/**
|
|
1765
|
+
* Secondary address line (apartment, suite, etc.)
|
|
1766
|
+
*/
|
|
1767
|
+
line_two?: string;
|
|
1768
|
+
/**
|
|
1769
|
+
* City name
|
|
1770
|
+
*/
|
|
1771
|
+
city: string;
|
|
1772
|
+
/**
|
|
1773
|
+
* State or province code
|
|
1774
|
+
*/
|
|
1775
|
+
state: string;
|
|
1776
|
+
/**
|
|
1777
|
+
* ISO 3166-1 alpha-2 country code
|
|
1778
|
+
*/
|
|
1779
|
+
country: string;
|
|
1780
|
+
/**
|
|
1781
|
+
* Postal or ZIP code
|
|
1782
|
+
*/
|
|
1783
|
+
postal_code: string;
|
|
1784
|
+
/**
|
|
1785
|
+
* Postal or ZIP code
|
|
1786
|
+
*/
|
|
1787
|
+
company?: string;
|
|
1788
|
+
}
|
|
1789
|
+
/**
|
|
1790
|
+
* Protocol metadata included in checkout responses. Indicates the ACP version.
|
|
1791
|
+
*
|
|
1792
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1793
|
+
* via the `definition` "ProtocolVersion".
|
|
1794
|
+
*/
|
|
1795
|
+
export interface ProtocolVersion {
|
|
1796
|
+
/**
|
|
1797
|
+
* ACP protocol version in YYYY-MM-DD format.
|
|
1798
|
+
*/
|
|
1799
|
+
version: string;
|
|
1800
|
+
}
|
|
1801
|
+
/**
|
|
1802
|
+
* Breakdown of how a discount amount was allocated to a specific target.
|
|
1803
|
+
*
|
|
1804
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1805
|
+
* via the `definition` "DiscountAllocation".
|
|
1806
|
+
*/
|
|
1807
|
+
export interface DiscountAllocation {
|
|
1808
|
+
/**
|
|
1809
|
+
* JSONPath to the allocation target (e.g., '$.line_items[0]', '$.totals.shipping').
|
|
1810
|
+
*/
|
|
1811
|
+
path: string;
|
|
1812
|
+
/**
|
|
1813
|
+
* Amount allocated to this target in minor (cents) currency units.
|
|
1814
|
+
*/
|
|
1815
|
+
amount: number;
|
|
1816
|
+
}
|
|
1817
|
+
/**
|
|
1818
|
+
* Coupon details describing the discount terms.
|
|
1819
|
+
*
|
|
1820
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1821
|
+
* via the `definition` "Coupon".
|
|
1822
|
+
*/
|
|
1823
|
+
export interface Coupon {
|
|
1824
|
+
/**
|
|
1825
|
+
* Unique identifier for the coupon.
|
|
1826
|
+
*/
|
|
1827
|
+
id: string;
|
|
1828
|
+
/**
|
|
1829
|
+
* Human-readable coupon name (e.g., 'Summer Sale 20% Off').
|
|
1830
|
+
*/
|
|
1831
|
+
name: string;
|
|
1832
|
+
/**
|
|
1833
|
+
* Percentage discount (0-100). Mutually exclusive with amount_off.
|
|
1834
|
+
*/
|
|
1835
|
+
percent_off?: number;
|
|
1836
|
+
/**
|
|
1837
|
+
* Fixed discount amount in minor currency units. Mutually exclusive with percent_off.
|
|
1838
|
+
*/
|
|
1839
|
+
amount_off?: number;
|
|
1840
|
+
/**
|
|
1841
|
+
* ISO 4217 currency code for amount_off. Required if amount_off is set.
|
|
1842
|
+
*/
|
|
1843
|
+
currency?: string;
|
|
1844
|
+
/**
|
|
1845
|
+
* How long the discount applies. 'once' = single use, 'repeating' = multiple billing periods, 'forever' = indefinitely.
|
|
1846
|
+
*/
|
|
1847
|
+
duration?: 'once' | 'repeating' | 'forever';
|
|
1848
|
+
/**
|
|
1849
|
+
* Number of months the coupon applies if duration is 'repeating'.
|
|
1850
|
+
*/
|
|
1851
|
+
duration_in_months?: number;
|
|
1852
|
+
/**
|
|
1853
|
+
* Maximum number of times this coupon can be redeemed across all customers.
|
|
1854
|
+
*/
|
|
1855
|
+
max_redemptions?: number;
|
|
1856
|
+
/**
|
|
1857
|
+
* Number of times this coupon has been redeemed.
|
|
1858
|
+
*/
|
|
1859
|
+
times_redeemed?: number;
|
|
1860
|
+
/**
|
|
1861
|
+
* Arbitrary key-value metadata attached to the coupon.
|
|
1862
|
+
*/
|
|
1863
|
+
metadata?: {
|
|
1864
|
+
/**
|
|
1865
|
+
* Metadata value
|
|
1866
|
+
*/
|
|
1867
|
+
[k: string]: string | undefined;
|
|
1868
|
+
};
|
|
1869
|
+
}
|
|
1870
|
+
/**
|
|
1871
|
+
* A discount that was successfully applied to the checkout session.
|
|
1872
|
+
*
|
|
1873
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1874
|
+
* via the `definition` "AppliedDiscount".
|
|
1875
|
+
*/
|
|
1876
|
+
export interface AppliedDiscount {
|
|
1877
|
+
/**
|
|
1878
|
+
* Unique identifier for this applied discount instance.
|
|
1879
|
+
*/
|
|
1880
|
+
id: string;
|
|
1881
|
+
/**
|
|
1882
|
+
* The discount code entered by the user. Omitted for automatic discounts.
|
|
1883
|
+
*/
|
|
1884
|
+
code?: string;
|
|
1885
|
+
coupon: Coupon1;
|
|
1886
|
+
/**
|
|
1887
|
+
* Total discount amount in minor (cents) currency units.
|
|
1888
|
+
*/
|
|
1889
|
+
amount: number;
|
|
1890
|
+
/**
|
|
1891
|
+
* True if applied automatically by merchant rules (no code required).
|
|
1892
|
+
*/
|
|
1893
|
+
automatic?: boolean;
|
|
1894
|
+
/**
|
|
1895
|
+
* RFC 3339 timestamp when the discount became active.
|
|
1896
|
+
*/
|
|
1897
|
+
start?: string;
|
|
1898
|
+
/**
|
|
1899
|
+
* RFC 3339 timestamp when the discount expires.
|
|
1900
|
+
*/
|
|
1901
|
+
end?: string;
|
|
1902
|
+
/**
|
|
1903
|
+
* Allocation method. 'each' = applied independently per item. 'across' = split proportionally by value.
|
|
1904
|
+
*/
|
|
1905
|
+
method?: 'each' | 'across';
|
|
1906
|
+
/**
|
|
1907
|
+
* Stacking order for discount calculation. Lower numbers applied first (1 = first).
|
|
1908
|
+
*/
|
|
1909
|
+
priority?: number;
|
|
1910
|
+
/**
|
|
1911
|
+
* Breakdown of where this discount was allocated. Sum of allocation amounts equals total amount.
|
|
1912
|
+
*/
|
|
1913
|
+
allocations?: DiscountAllocation[];
|
|
1914
|
+
}
|
|
1915
|
+
/**
|
|
1916
|
+
* Details about the underlying coupon/promotion.
|
|
1917
|
+
*/
|
|
1918
|
+
export interface Coupon1 {
|
|
1919
|
+
/**
|
|
1920
|
+
* Unique identifier for the coupon.
|
|
1921
|
+
*/
|
|
1922
|
+
id: string;
|
|
1923
|
+
/**
|
|
1924
|
+
* Human-readable coupon name (e.g., 'Summer Sale 20% Off').
|
|
1925
|
+
*/
|
|
1926
|
+
name: string;
|
|
1927
|
+
/**
|
|
1928
|
+
* Percentage discount (0-100). Mutually exclusive with amount_off.
|
|
1929
|
+
*/
|
|
1930
|
+
percent_off?: number;
|
|
1931
|
+
/**
|
|
1932
|
+
* Fixed discount amount in minor currency units. Mutually exclusive with percent_off.
|
|
1933
|
+
*/
|
|
1934
|
+
amount_off?: number;
|
|
1935
|
+
/**
|
|
1936
|
+
* ISO 4217 currency code for amount_off. Required if amount_off is set.
|
|
1937
|
+
*/
|
|
1938
|
+
currency?: string;
|
|
1939
|
+
/**
|
|
1940
|
+
* How long the discount applies. 'once' = single use, 'repeating' = multiple billing periods, 'forever' = indefinitely.
|
|
1941
|
+
*/
|
|
1942
|
+
duration?: 'once' | 'repeating' | 'forever';
|
|
1943
|
+
/**
|
|
1944
|
+
* Number of months the coupon applies if duration is 'repeating'.
|
|
1945
|
+
*/
|
|
1946
|
+
duration_in_months?: number;
|
|
1947
|
+
/**
|
|
1948
|
+
* Maximum number of times this coupon can be redeemed across all customers.
|
|
1949
|
+
*/
|
|
1950
|
+
max_redemptions?: number;
|
|
1951
|
+
/**
|
|
1952
|
+
* Number of times this coupon has been redeemed.
|
|
1953
|
+
*/
|
|
1954
|
+
times_redeemed?: number;
|
|
1955
|
+
/**
|
|
1956
|
+
* Arbitrary key-value metadata attached to the coupon.
|
|
1957
|
+
*/
|
|
1958
|
+
metadata?: {
|
|
1959
|
+
/**
|
|
1960
|
+
* Metadata value
|
|
1961
|
+
*/
|
|
1962
|
+
[k: string]: string | undefined;
|
|
1963
|
+
};
|
|
1964
|
+
}
|
|
1965
|
+
/**
|
|
1966
|
+
* Discount codes input for checkout create/update requests.
|
|
1967
|
+
*
|
|
1968
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1969
|
+
* via the `definition` "DiscountsRequest".
|
|
1970
|
+
*/
|
|
1971
|
+
export interface DiscountsRequest {
|
|
1972
|
+
/**
|
|
1973
|
+
* Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.
|
|
1974
|
+
*/
|
|
1975
|
+
codes?: string[];
|
|
1976
|
+
}
|
|
1977
|
+
/**
|
|
1978
|
+
* Discount codes input and applied discounts output in checkout responses.
|
|
1979
|
+
*
|
|
1980
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
1981
|
+
* via the `definition` "DiscountsResponse".
|
|
1982
|
+
*/
|
|
1983
|
+
export interface DiscountsResponse {
|
|
1984
|
+
/**
|
|
1985
|
+
* Echo of submitted discount codes.
|
|
1986
|
+
*/
|
|
1987
|
+
codes?: string[];
|
|
1988
|
+
/**
|
|
1989
|
+
* Discounts successfully applied (code-based and automatic).
|
|
1990
|
+
*/
|
|
1991
|
+
applied?: AppliedDiscount[];
|
|
1992
|
+
/**
|
|
1993
|
+
* Discount codes that could not be applied, with reasons.
|
|
1994
|
+
*/
|
|
1995
|
+
rejected?: RejectedDiscount[];
|
|
1996
|
+
}
|
|
1997
|
+
/**
|
|
1998
|
+
* A discount code that could not be applied, with the reason.
|
|
1999
|
+
*
|
|
2000
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2001
|
+
* via the `definition` "RejectedDiscount".
|
|
2002
|
+
*/
|
|
2003
|
+
export interface RejectedDiscount {
|
|
2004
|
+
/**
|
|
2005
|
+
* The discount code that was rejected.
|
|
2006
|
+
*/
|
|
2007
|
+
code: string;
|
|
2008
|
+
/**
|
|
2009
|
+
* Error code indicating why the discount was rejected.
|
|
2010
|
+
*/
|
|
2011
|
+
reason: 'discount_code_expired' | 'discount_code_invalid' | 'discount_code_already_applied' | 'discount_code_combination_disallowed' | 'discount_code_minimum_not_met' | 'discount_code_user_not_logged_in' | 'discount_code_user_ineligible' | 'discount_code_usage_limit_reached';
|
|
2012
|
+
/**
|
|
2013
|
+
* Human-readable explanation of why the code was rejected.
|
|
2014
|
+
*/
|
|
2015
|
+
message?: string;
|
|
2016
|
+
}
|
|
2017
|
+
/**
|
|
2018
|
+
* Payment configuration returned by the seller including accepted methods and handlers
|
|
2019
|
+
*
|
|
2020
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2021
|
+
* via the `definition` "PaymentResponse".
|
|
2022
|
+
*/
|
|
2023
|
+
export interface PaymentResponse {
|
|
2024
|
+
/**
|
|
2025
|
+
* Payment provider identifier
|
|
2026
|
+
*/
|
|
2027
|
+
provider?: string;
|
|
2028
|
+
/**
|
|
2029
|
+
* Available payment instruments
|
|
2030
|
+
*/
|
|
2031
|
+
instruments?: {
|
|
2032
|
+
[k: string]: unknown | undefined;
|
|
2033
|
+
}[];
|
|
2034
|
+
/**
|
|
2035
|
+
* Available payment handlers
|
|
2036
|
+
*/
|
|
2037
|
+
handlers?: {
|
|
2038
|
+
[k: string]: unknown | undefined;
|
|
2039
|
+
}[];
|
|
2040
|
+
}
|
|
2041
|
+
/**
|
|
2042
|
+
* Risk and fraud detection signals for the checkout session
|
|
2043
|
+
*
|
|
2044
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2045
|
+
* via the `definition` "RiskSignals".
|
|
2046
|
+
*/
|
|
2047
|
+
export interface RiskSignals {
|
|
2048
|
+
/**
|
|
2049
|
+
* IP address of the buyer
|
|
2050
|
+
*/
|
|
2051
|
+
ip_address?: string;
|
|
2052
|
+
/**
|
|
2053
|
+
* User agent string of the buyer's browser
|
|
2054
|
+
*/
|
|
2055
|
+
user_agent?: string;
|
|
2056
|
+
/**
|
|
2057
|
+
* Accept-Language header from the buyer's browser
|
|
2058
|
+
*/
|
|
2059
|
+
accept_language?: string;
|
|
2060
|
+
/**
|
|
2061
|
+
* Session identifier for the buyer
|
|
2062
|
+
*/
|
|
2063
|
+
session_id?: string;
|
|
2064
|
+
/**
|
|
2065
|
+
* Device fingerprint for fraud detection
|
|
2066
|
+
*/
|
|
2067
|
+
device_fingerprint?: string;
|
|
2068
|
+
}
|
|
2069
|
+
/**
|
|
2070
|
+
* Order returned after checkout completion. Contains order details and optional rich post-purchase tracking.
|
|
2071
|
+
*
|
|
2072
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2073
|
+
* via the `definition` "Order".
|
|
2074
|
+
*/
|
|
2075
|
+
export interface Order {
|
|
2076
|
+
/**
|
|
2077
|
+
* Discriminator field for webhook payloads. Always 'order' when present.
|
|
2078
|
+
*/
|
|
2079
|
+
type?: 'order';
|
|
2080
|
+
/**
|
|
2081
|
+
* Unique identifier for the order
|
|
2082
|
+
*/
|
|
2083
|
+
id: string;
|
|
2084
|
+
/**
|
|
2085
|
+
* ID of the checkout session that created this order
|
|
2086
|
+
*/
|
|
2087
|
+
checkout_session_id: string;
|
|
2088
|
+
/**
|
|
2089
|
+
* Human-readable order number for customer reference
|
|
2090
|
+
*/
|
|
2091
|
+
order_number?: string;
|
|
2092
|
+
/**
|
|
2093
|
+
* Reference from the client (agent/platform) stored on the order for reconciliation (e.g. platform transaction id, PO number, ERP id).
|
|
2094
|
+
*/
|
|
2095
|
+
client_reference_id?: string;
|
|
2096
|
+
/**
|
|
2097
|
+
* Permanent URL where the customer can view order details
|
|
2098
|
+
*/
|
|
2099
|
+
permalink_url: string;
|
|
2100
|
+
/**
|
|
2101
|
+
* Order-level status. Implementations MUST accept unrecognized values gracefully. Defined values: 'created', 'confirmed', 'manual_review', 'processing', 'shipped', 'completed', 'canceled'. 'completed' means all items have been delivered/received regardless of fulfillment method. Distinct from LineItem.status 'fulfilled', which indicates the seller has dispatched the item.
|
|
2102
|
+
*/
|
|
2103
|
+
status?: string;
|
|
2104
|
+
estimated_delivery?: EstimatedDelivery1;
|
|
2105
|
+
confirmation?: OrderConfirmation1;
|
|
2106
|
+
support?: SupportInfo1;
|
|
2107
|
+
/**
|
|
2108
|
+
* What was ordered, with per-item fulfillment tracking
|
|
2109
|
+
*/
|
|
2110
|
+
line_items?: OrderLineItem[];
|
|
2111
|
+
/**
|
|
2112
|
+
* How items are being delivered (shipping, pickup, digital)
|
|
2113
|
+
*/
|
|
2114
|
+
fulfillments?: Fulfillment[];
|
|
2115
|
+
/**
|
|
2116
|
+
* Post-order changes: refunds, credits, returns, disputes
|
|
2117
|
+
*/
|
|
2118
|
+
adjustments?: Adjustment[];
|
|
2119
|
+
/**
|
|
2120
|
+
* Order-level totals using the same Total schema as checkout. The 'total' entry is always the original charged amount. 'amount_refunded' tracks cumulative refunds.
|
|
2121
|
+
*/
|
|
2122
|
+
totals?: Total[];
|
|
2123
|
+
}
|
|
2124
|
+
/**
|
|
2125
|
+
* Estimated delivery time range
|
|
2126
|
+
*/
|
|
2127
|
+
export interface EstimatedDelivery1 {
|
|
2128
|
+
/**
|
|
2129
|
+
* RFC 3339 timestamp for earliest expected delivery
|
|
2130
|
+
*/
|
|
2131
|
+
earliest: string;
|
|
2132
|
+
/**
|
|
2133
|
+
* RFC 3339 timestamp for latest expected delivery
|
|
2134
|
+
*/
|
|
2135
|
+
latest: string;
|
|
2136
|
+
}
|
|
2137
|
+
/**
|
|
2138
|
+
* Order confirmation details
|
|
2139
|
+
*/
|
|
2140
|
+
export interface OrderConfirmation1 {
|
|
2141
|
+
/**
|
|
2142
|
+
* Order confirmation number
|
|
2143
|
+
*/
|
|
2144
|
+
confirmation_number?: string;
|
|
2145
|
+
/**
|
|
2146
|
+
* Whether a confirmation email has been sent
|
|
2147
|
+
*/
|
|
2148
|
+
confirmation_email_sent?: boolean;
|
|
2149
|
+
/**
|
|
2150
|
+
* URL to the order receipt
|
|
2151
|
+
*/
|
|
2152
|
+
receipt_url?: string;
|
|
2153
|
+
/**
|
|
2154
|
+
* Invoice number if generated
|
|
2155
|
+
*/
|
|
2156
|
+
invoice_number?: string;
|
|
2157
|
+
/**
|
|
2158
|
+
* Echo of order_notes attached to the order.
|
|
2159
|
+
*/
|
|
2160
|
+
order_notes?: string;
|
|
2161
|
+
}
|
|
2162
|
+
/**
|
|
2163
|
+
* Customer support contact information
|
|
2164
|
+
*/
|
|
2165
|
+
export interface SupportInfo1 {
|
|
2166
|
+
/**
|
|
2167
|
+
* Support contact email
|
|
2168
|
+
*/
|
|
2169
|
+
email?: string;
|
|
2170
|
+
/**
|
|
2171
|
+
* Support contact phone number
|
|
2172
|
+
*/
|
|
2173
|
+
phone?: string;
|
|
2174
|
+
/**
|
|
2175
|
+
* Support hours of operation
|
|
2176
|
+
*/
|
|
2177
|
+
hours?: string;
|
|
2178
|
+
/**
|
|
2179
|
+
* URL to merchant's help center
|
|
2180
|
+
*/
|
|
2181
|
+
help_center_url?: string;
|
|
2182
|
+
}
|
|
2183
|
+
/**
|
|
2184
|
+
* Per-line-item tracking of what was ordered and fulfillment progress.
|
|
2185
|
+
*
|
|
2186
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2187
|
+
* via the `definition` "OrderLineItem".
|
|
2188
|
+
*/
|
|
2189
|
+
export interface OrderLineItem {
|
|
2190
|
+
/**
|
|
2191
|
+
* Line item identifier, used for references in fulfillments and adjustments
|
|
2192
|
+
*/
|
|
2193
|
+
id: string;
|
|
2194
|
+
/**
|
|
2195
|
+
* Product name
|
|
2196
|
+
*/
|
|
2197
|
+
title: string;
|
|
2198
|
+
/**
|
|
2199
|
+
* Catalog product ID
|
|
2200
|
+
*/
|
|
2201
|
+
product_id?: string;
|
|
2202
|
+
/**
|
|
2203
|
+
* Product description
|
|
2204
|
+
*/
|
|
2205
|
+
description?: string;
|
|
2206
|
+
/**
|
|
2207
|
+
* Product image URL
|
|
2208
|
+
*/
|
|
2209
|
+
image_url?: string;
|
|
2210
|
+
/**
|
|
2211
|
+
* Product page URL
|
|
2212
|
+
*/
|
|
2213
|
+
url?: string;
|
|
2214
|
+
quantity: OrderLineItemQuantity;
|
|
2215
|
+
/**
|
|
2216
|
+
* Price per unit in minor currency units (cents)
|
|
2217
|
+
*/
|
|
2218
|
+
unit_price?: number;
|
|
2219
|
+
/**
|
|
2220
|
+
* Line total in minor currency units
|
|
2221
|
+
*/
|
|
2222
|
+
subtotal?: number;
|
|
2223
|
+
/**
|
|
2224
|
+
* Optional line-item level totals breakdown using the same Total schema as checkout. Merchants who can provide richer breakdowns MAY use this alongside or instead of unit_price/subtotal.
|
|
2225
|
+
*/
|
|
2226
|
+
totals?: Total[];
|
|
2227
|
+
/**
|
|
2228
|
+
* Derived from quantity fields. Implementations MUST accept unrecognized values gracefully. Defined values: 'processing', 'partial', 'fulfilled', 'removed'. Rules: 'removed' if current==0, 'fulfilled' if fulfilled==current, 'partial' if 0<fulfilled<current, 'processing' otherwise.
|
|
2229
|
+
*/
|
|
2230
|
+
status?: string;
|
|
2231
|
+
}
|
|
2232
|
+
/**
|
|
2233
|
+
* Quantity tracking for an order line item. Uses a 3-field model: ordered (original), current (active after cancellations/returns), fulfilled (completed).
|
|
2234
|
+
*
|
|
2235
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2236
|
+
* via the `definition` "OrderLineItemQuantity".
|
|
2237
|
+
*/
|
|
2238
|
+
export interface OrderLineItemQuantity {
|
|
2239
|
+
/**
|
|
2240
|
+
* Quantity originally ordered by the customer
|
|
2241
|
+
*/
|
|
2242
|
+
ordered: number;
|
|
2243
|
+
/**
|
|
2244
|
+
* Current active quantity on the order. May be less than ordered due to cancellations or returns. A value of 0 means the line item has been fully removed.
|
|
2245
|
+
*/
|
|
2246
|
+
current: number;
|
|
2247
|
+
/**
|
|
2248
|
+
* Quantity that has been fulfilled (shipped, picked up, or digitally delivered). Applies to all fulfillment types, not just shipping.
|
|
2249
|
+
*/
|
|
2250
|
+
fulfilled?: number;
|
|
2251
|
+
}
|
|
2252
|
+
/**
|
|
2253
|
+
* A fulfillment represents how items are delivered to the buyer (shipping, pickup, digital).
|
|
2254
|
+
*
|
|
2255
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2256
|
+
* via the `definition` "Fulfillment".
|
|
2257
|
+
*/
|
|
2258
|
+
export interface Fulfillment {
|
|
2259
|
+
/**
|
|
2260
|
+
* Fulfillment identifier
|
|
2261
|
+
*/
|
|
2262
|
+
id: string;
|
|
2263
|
+
/**
|
|
2264
|
+
* Fulfillment method type
|
|
2265
|
+
*/
|
|
2266
|
+
type: 'shipping' | 'pickup' | 'digital';
|
|
2267
|
+
/**
|
|
2268
|
+
* Current fulfillment status. Implementations MUST accept unrecognized values gracefully. Defined values: 'pending', 'processing', 'shipped', 'in_transit', 'out_for_delivery', 'ready_for_pickup', 'delivered', 'failed', 'canceled'. Not all statuses apply to all types.
|
|
2269
|
+
*/
|
|
2270
|
+
status?: string;
|
|
2271
|
+
/**
|
|
2272
|
+
* Which line items and quantities are in this fulfillment
|
|
2273
|
+
*/
|
|
2274
|
+
line_items?: LineItemReference[];
|
|
2275
|
+
/**
|
|
2276
|
+
* Carrier name (e.g., 'FedEx', 'UPS', 'USPS'). Applies to type: shipping.
|
|
2277
|
+
*/
|
|
2278
|
+
carrier?: string;
|
|
2279
|
+
/**
|
|
2280
|
+
* Carrier tracking number. Applies to type: shipping.
|
|
2281
|
+
*/
|
|
2282
|
+
tracking_number?: string;
|
|
2283
|
+
/**
|
|
2284
|
+
* URL to track this shipment. Applies to type: shipping.
|
|
2285
|
+
*/
|
|
2286
|
+
tracking_url?: string;
|
|
2287
|
+
destination?: Address;
|
|
2288
|
+
estimated_delivery?: EstimatedDelivery;
|
|
2289
|
+
/**
|
|
2290
|
+
* Digital delivery details. Applies to type: digital.
|
|
2291
|
+
*/
|
|
2292
|
+
digital_delivery?: {
|
|
2293
|
+
/**
|
|
2294
|
+
* URL to access digital content (download link, streaming page, etc.)
|
|
2295
|
+
*/
|
|
2296
|
+
access_url?: string;
|
|
2297
|
+
/**
|
|
2298
|
+
* License or activation key
|
|
2299
|
+
*/
|
|
2300
|
+
license_key?: string;
|
|
2301
|
+
/**
|
|
2302
|
+
* When access expires (RFC 3339 timestamp)
|
|
2303
|
+
*/
|
|
2304
|
+
expires_at?: string;
|
|
2305
|
+
};
|
|
2306
|
+
/**
|
|
2307
|
+
* Human-readable description (e.g., 'Backordered - ships Feb 15')
|
|
2308
|
+
*/
|
|
2309
|
+
description?: string;
|
|
2310
|
+
/**
|
|
2311
|
+
* Append-only event log tracking fulfillment progress
|
|
2312
|
+
*/
|
|
2313
|
+
events?: FulfillmentEvent[];
|
|
2314
|
+
}
|
|
2315
|
+
/**
|
|
2316
|
+
* Reference to a line item with quantity, used in fulfillments and adjustments
|
|
2317
|
+
*
|
|
2318
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2319
|
+
* via the `definition` "LineItemReference".
|
|
2320
|
+
*/
|
|
2321
|
+
export interface LineItemReference {
|
|
2322
|
+
/**
|
|
2323
|
+
* Line item ID reference
|
|
2324
|
+
*/
|
|
2325
|
+
id: string;
|
|
2326
|
+
/**
|
|
2327
|
+
* Quantity in this fulfillment or adjustment
|
|
2328
|
+
*/
|
|
2329
|
+
quantity: number;
|
|
2330
|
+
}
|
|
2331
|
+
/**
|
|
2332
|
+
* A point-in-time event in the fulfillment lifecycle.
|
|
2333
|
+
*
|
|
2334
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2335
|
+
* via the `definition` "FulfillmentEvent".
|
|
2336
|
+
*/
|
|
2337
|
+
export interface FulfillmentEvent {
|
|
2338
|
+
/**
|
|
2339
|
+
* Event identifier
|
|
2340
|
+
*/
|
|
2341
|
+
id: string;
|
|
2342
|
+
/**
|
|
2343
|
+
* Event type. Implementations MUST accept unrecognized values gracefully. Defined values: 'processing', 'shipped', 'in_transit', 'out_for_delivery', 'ready_for_pickup', 'delivered', 'failed_attempt', 'returned_to_sender', 'canceled', 'undeliverable'. 'out_for_delivery' and 'ready_for_pickup' are ACP extensions for richer agent experiences.
|
|
2344
|
+
*/
|
|
2345
|
+
type: string;
|
|
2346
|
+
/**
|
|
2347
|
+
* RFC 3339 timestamp when this event occurred
|
|
2348
|
+
*/
|
|
2349
|
+
occurred_at: string;
|
|
2350
|
+
/**
|
|
2351
|
+
* Human-readable description (e.g., 'Left at front door')
|
|
2352
|
+
*/
|
|
2353
|
+
description?: string;
|
|
2354
|
+
/**
|
|
2355
|
+
* Location where this event occurred (e.g., 'Memphis, TN')
|
|
2356
|
+
*/
|
|
2357
|
+
location?: string;
|
|
2358
|
+
}
|
|
2359
|
+
/**
|
|
2360
|
+
* A post-order change such as refund, credit, return, or dispute.
|
|
2361
|
+
*
|
|
2362
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2363
|
+
* via the `definition` "Adjustment".
|
|
2364
|
+
*/
|
|
2365
|
+
export interface Adjustment {
|
|
2366
|
+
/**
|
|
2367
|
+
* Adjustment identifier
|
|
2368
|
+
*/
|
|
2369
|
+
id: string;
|
|
2370
|
+
/**
|
|
2371
|
+
* Type of adjustment. Implementations MUST accept unrecognized values gracefully. Defined values: 'refund', 'credit', 'return', 'exchange', 'price_adjustment', 'cancellation', 'dispute'. Use 'refund' for both full and partial refunds (distinguish by amount). 'credit' replaces 'store_credit'. 'dispute' covers chargebacks.
|
|
2372
|
+
*/
|
|
2373
|
+
type: string;
|
|
2374
|
+
/**
|
|
2375
|
+
* RFC 3339 timestamp when this adjustment occurred
|
|
2376
|
+
*/
|
|
2377
|
+
occurred_at: string;
|
|
2378
|
+
/**
|
|
2379
|
+
* Adjustment status. Implementations MUST accept unrecognized values gracefully. Defined values: 'pending', 'completed', 'failed'.
|
|
2380
|
+
*/
|
|
2381
|
+
status: string;
|
|
2382
|
+
/**
|
|
2383
|
+
* Which line items and quantities are affected
|
|
2384
|
+
*/
|
|
2385
|
+
line_items?: LineItemReference[];
|
|
2386
|
+
/**
|
|
2387
|
+
* Total amount credited to the buyer in minor currency units, inclusive of any applicable tax
|
|
2388
|
+
*/
|
|
2389
|
+
amount?: number;
|
|
2390
|
+
/**
|
|
2391
|
+
* ISO 4217 currency code
|
|
2392
|
+
*/
|
|
2393
|
+
currency?: string;
|
|
2394
|
+
/**
|
|
2395
|
+
* Human-readable reason (e.g., 'Defective item')
|
|
2396
|
+
*/
|
|
2397
|
+
description?: string;
|
|
2398
|
+
/**
|
|
2399
|
+
* Structured reason code
|
|
2400
|
+
*/
|
|
2401
|
+
reason?: string;
|
|
2402
|
+
}
|
|
2403
|
+
/**
|
|
2404
|
+
* Seller-provided authentication metadata for 3DS flows.
|
|
2405
|
+
*
|
|
2406
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2407
|
+
* via the `definition` "AuthenticationMetadata".
|
|
2408
|
+
*/
|
|
2409
|
+
export interface AuthenticationMetadata {
|
|
2410
|
+
/**
|
|
2411
|
+
* Details about the acquirer used for this 3DS Authentication. This object MUST be present.
|
|
2412
|
+
*/
|
|
2413
|
+
acquirer_details: {
|
|
2414
|
+
/**
|
|
2415
|
+
* The Acquirer BIN (directory-server specific).
|
|
2416
|
+
*/
|
|
2417
|
+
acquirer_bin: string;
|
|
2418
|
+
/**
|
|
2419
|
+
* Two-letter ISO 3166-1 alpha-2 country code.
|
|
2420
|
+
*/
|
|
2421
|
+
acquirer_country: string;
|
|
2422
|
+
/**
|
|
2423
|
+
* The Merchant ID assigned by the acquirer.
|
|
2424
|
+
*/
|
|
2425
|
+
acquirer_merchant_id: string;
|
|
2426
|
+
/**
|
|
2427
|
+
* Merchant name assigned by the acquirer.
|
|
2428
|
+
*/
|
|
2429
|
+
merchant_name: string;
|
|
2430
|
+
/**
|
|
2431
|
+
* Requestor ID (if required by the directory server).
|
|
2432
|
+
*/
|
|
2433
|
+
requestor_id?: string;
|
|
2434
|
+
};
|
|
2435
|
+
/**
|
|
2436
|
+
* The 3DS directory server used for this Authentication.
|
|
2437
|
+
*/
|
|
2438
|
+
directory_server: 'american_express' | 'mastercard' | 'visa';
|
|
2439
|
+
/**
|
|
2440
|
+
* Contains additional details on the seller's preference for the 3DS authentication flow. Sellers MAY request a preference, but issuers ultimately decide the actual flow.
|
|
2441
|
+
*/
|
|
2442
|
+
flow_preference?: {
|
|
2443
|
+
/**
|
|
2444
|
+
* Type of flow requested for this 3DS Authentication. 'challenge' requests a challenge flow; 'frictionless' requests a frictionless flow.
|
|
2445
|
+
*/
|
|
2446
|
+
type: 'challenge' | 'frictionless';
|
|
2447
|
+
/**
|
|
2448
|
+
* Details about the requested challenge flow.
|
|
2449
|
+
*/
|
|
2450
|
+
challenge?: {
|
|
2451
|
+
/**
|
|
2452
|
+
* Subtype of challenge preference.
|
|
2453
|
+
*/
|
|
2454
|
+
type?: 'mandated' | 'preferred';
|
|
2455
|
+
};
|
|
2456
|
+
/**
|
|
2457
|
+
* Details about the requested frictionless flow.
|
|
2458
|
+
*/
|
|
2459
|
+
frictionless?: {
|
|
2460
|
+
/**
|
|
2461
|
+
* Subtype of frictionless preference.
|
|
2462
|
+
*/
|
|
2463
|
+
type?: 'low_risk';
|
|
2464
|
+
};
|
|
2465
|
+
};
|
|
2466
|
+
[k: string]: unknown | undefined;
|
|
2467
|
+
}
|
|
2468
|
+
/**
|
|
2469
|
+
* Seller-declared marketing consent option that specifies an available channel for which the seller must obtain the buyer's consent before sending marketing content
|
|
2470
|
+
*
|
|
2471
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2472
|
+
* via the `definition` "MarketingConsentOption".
|
|
2473
|
+
*/
|
|
2474
|
+
export interface MarketingConsentOption {
|
|
2475
|
+
/**
|
|
2476
|
+
* Channel for marketing consent.
|
|
2477
|
+
*/
|
|
2478
|
+
channel: string;
|
|
2479
|
+
/**
|
|
2480
|
+
* What the buyer is consenting to receive, e.g., 'promotional emails, product launches, and exclusive offers'. Agents MAY use this to compose their own consent prompt.
|
|
2481
|
+
*/
|
|
2482
|
+
display_text: string;
|
|
2483
|
+
/**
|
|
2484
|
+
* URL to the seller's privacy policy governing use of the buyer's contact information for marketing.
|
|
2485
|
+
*/
|
|
2486
|
+
privacy_policy_url: string;
|
|
2487
|
+
/**
|
|
2488
|
+
* Whether the buyer is currently subscribed to marketing via this channel. When true, agents SHOULD render the consent checkbox as pre-checked. Defaults to false if omitted.
|
|
2489
|
+
*/
|
|
2490
|
+
is_subscribed?: boolean;
|
|
2491
|
+
}
|
|
2492
|
+
/**
|
|
2493
|
+
* Buyer's marketing consent decision for a specific channel submitted at checkout completion
|
|
2494
|
+
*
|
|
2495
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2496
|
+
* via the `definition` "MarketingConsent".
|
|
2497
|
+
*/
|
|
2498
|
+
export interface MarketingConsent {
|
|
2499
|
+
/**
|
|
2500
|
+
* Channel matching the consent option channel.
|
|
2501
|
+
*/
|
|
2502
|
+
channel: string;
|
|
2503
|
+
/**
|
|
2504
|
+
* Whether the buyer consented to receive marketing via this channel.
|
|
2505
|
+
*/
|
|
2506
|
+
opted_in: boolean;
|
|
2507
|
+
}
|
|
2508
|
+
/**
|
|
2509
|
+
* Base checkout session model containing common fields for all checkout session states
|
|
2510
|
+
*
|
|
2511
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2512
|
+
* via the `definition` "CheckoutSessionBase".
|
|
2513
|
+
*/
|
|
2514
|
+
export interface CheckoutSessionBase {
|
|
2515
|
+
/**
|
|
2516
|
+
* Unique identifier for the checkout session
|
|
2517
|
+
*/
|
|
2518
|
+
id: string;
|
|
2519
|
+
protocol?: ProtocolVersion1;
|
|
2520
|
+
capabilities: Capabilities1;
|
|
2521
|
+
buyer?: Buyer1;
|
|
2522
|
+
/**
|
|
2523
|
+
* Current status of the checkout session
|
|
2524
|
+
*/
|
|
2525
|
+
status: 'incomplete' | 'not_ready_for_payment' | 'requires_escalation' | 'authentication_required' | 'ready_for_payment' | 'pending_approval' | 'complete_in_progress' | 'completed' | 'canceled' | 'in_progress' | 'expired';
|
|
2526
|
+
/**
|
|
2527
|
+
* ISO 4217 settlement currency code
|
|
2528
|
+
*/
|
|
2529
|
+
currency: string;
|
|
2530
|
+
/**
|
|
2531
|
+
* ISO 4217 presentment currency code if different from settlement currency
|
|
2532
|
+
*/
|
|
2533
|
+
presentment_currency?: string;
|
|
2534
|
+
/**
|
|
2535
|
+
* Exchange rate from presentment to settlement currency
|
|
2536
|
+
*/
|
|
2537
|
+
exchange_rate?: number;
|
|
2538
|
+
/**
|
|
2539
|
+
* RFC 3339 timestamp when exchange rate was determined
|
|
2540
|
+
*/
|
|
2541
|
+
exchange_rate_timestamp?: string;
|
|
2542
|
+
/**
|
|
2543
|
+
* Locale code (e.g., 'en-US') for localizing content
|
|
2544
|
+
*/
|
|
2545
|
+
locale?: string;
|
|
2546
|
+
/**
|
|
2547
|
+
* IANA timezone identifier (e.g., 'America/New_York')
|
|
2548
|
+
*/
|
|
2549
|
+
timezone?: string;
|
|
2550
|
+
/**
|
|
2551
|
+
* Line items in the checkout session
|
|
2552
|
+
*/
|
|
2553
|
+
line_items: LineItem[];
|
|
2554
|
+
fulfillment_details?: FulfillmentDetails2;
|
|
2555
|
+
/**
|
|
2556
|
+
* Available fulfillment options
|
|
2557
|
+
*/
|
|
2558
|
+
fulfillment_options: (FulfillmentOptionShipping | FulfillmentOptionDigital | FulfillmentOptionPickup | FulfillmentOptionLocalDelivery)[];
|
|
2559
|
+
/**
|
|
2560
|
+
* Currently selected fulfillment options
|
|
2561
|
+
*/
|
|
2562
|
+
selected_fulfillment_options?: SelectedFulfillmentOption[];
|
|
2563
|
+
/**
|
|
2564
|
+
* Optional grouping of line items by fulfillment method
|
|
2565
|
+
*/
|
|
2566
|
+
fulfillment_groups?: FulfillmentGroup[];
|
|
2567
|
+
/**
|
|
2568
|
+
* Cart-level totals breakdown
|
|
2569
|
+
*/
|
|
2570
|
+
totals: Total[];
|
|
2571
|
+
/**
|
|
2572
|
+
* Messages to communicate with the buyer (info, warnings, errors)
|
|
2573
|
+
*/
|
|
2574
|
+
messages: (MessageInfo | MessageWarning | MessageError)[];
|
|
2575
|
+
/**
|
|
2576
|
+
* Relevant links (terms, policies, support)
|
|
2577
|
+
*/
|
|
2578
|
+
links: Link[];
|
|
2579
|
+
authentication_metadata?: AuthenticationMetadata1;
|
|
2580
|
+
/**
|
|
2581
|
+
* RFC 3339 timestamp when the session was created
|
|
2582
|
+
*/
|
|
2583
|
+
created_at?: string;
|
|
2584
|
+
/**
|
|
2585
|
+
* RFC 3339 timestamp of last update
|
|
2586
|
+
*/
|
|
2587
|
+
updated_at?: string;
|
|
2588
|
+
/**
|
|
2589
|
+
* RFC 3339 timestamp when the session expires
|
|
2590
|
+
*/
|
|
2591
|
+
expires_at?: string;
|
|
2592
|
+
/**
|
|
2593
|
+
* URL to continue or resume the checkout session
|
|
2594
|
+
*/
|
|
2595
|
+
continue_url?: string;
|
|
2596
|
+
/**
|
|
2597
|
+
* Arbitrary metadata for merchant use
|
|
2598
|
+
*/
|
|
2599
|
+
metadata?: {
|
|
2600
|
+
[k: string]: unknown | undefined;
|
|
2601
|
+
};
|
|
2602
|
+
/**
|
|
2603
|
+
* Quote identifier if this session is based on a quote
|
|
2604
|
+
*/
|
|
2605
|
+
quote_id?: string;
|
|
2606
|
+
/**
|
|
2607
|
+
* RFC 3339 timestamp when the quote expires
|
|
2608
|
+
*/
|
|
2609
|
+
quote_expires_at?: string;
|
|
2610
|
+
discounts?: DiscountsResponse1;
|
|
2611
|
+
/**
|
|
2612
|
+
* Marketing consent options the seller offers. When present, the agent SHOULD display these to the buyer before checkout completion. Agents MAY selectively surface a subset of options; options not surfaced MUST be omitted from marketing_consents in the complete request. When absent, the agent MUST NOT surface any marketing consent UI. An empty array is equivalent to absent.
|
|
2613
|
+
*/
|
|
2614
|
+
marketing_consent_options?: MarketingConsentOption[];
|
|
2615
|
+
order?: Order;
|
|
2616
|
+
}
|
|
2617
|
+
/**
|
|
2618
|
+
* Protocol version metadata
|
|
2619
|
+
*/
|
|
2620
|
+
export interface ProtocolVersion1 {
|
|
2621
|
+
/**
|
|
2622
|
+
* ACP protocol version in YYYY-MM-DD format.
|
|
2623
|
+
*/
|
|
2624
|
+
version: string;
|
|
2625
|
+
}
|
|
2626
|
+
/**
|
|
2627
|
+
* Negotiated capabilities between agent and seller
|
|
2628
|
+
*/
|
|
2629
|
+
export interface Capabilities1 {
|
|
2630
|
+
payment?: Payment;
|
|
2631
|
+
interventions?: InterventionCapabilities;
|
|
2632
|
+
/**
|
|
2633
|
+
* Extensions supported by the party. Requests: array of extension identifiers. Responses: array of extension declaration objects.
|
|
2634
|
+
*/
|
|
2635
|
+
extensions?: string[] | ExtensionDeclaration[];
|
|
2636
|
+
}
|
|
2637
|
+
/**
|
|
2638
|
+
* Buyer information
|
|
2639
|
+
*/
|
|
2640
|
+
export interface Buyer1 {
|
|
2641
|
+
/**
|
|
2642
|
+
* Buyer's first name
|
|
2643
|
+
*/
|
|
2644
|
+
first_name?: string;
|
|
2645
|
+
/**
|
|
2646
|
+
* Buyer's last name
|
|
2647
|
+
*/
|
|
2648
|
+
last_name?: string;
|
|
2649
|
+
/**
|
|
2650
|
+
* Buyer's full name
|
|
2651
|
+
*/
|
|
2652
|
+
full_name?: string;
|
|
2653
|
+
/**
|
|
2654
|
+
* Buyer's email address
|
|
2655
|
+
*/
|
|
2656
|
+
email: string;
|
|
2657
|
+
/**
|
|
2658
|
+
* Buyer's phone number
|
|
2659
|
+
*/
|
|
2660
|
+
phone_number?: string;
|
|
2661
|
+
/**
|
|
2662
|
+
* Merchant's internal customer identifier
|
|
2663
|
+
*/
|
|
2664
|
+
customer_id?: string;
|
|
2665
|
+
/**
|
|
2666
|
+
* Type of buyer account
|
|
2667
|
+
*/
|
|
2668
|
+
account_type?: 'guest' | 'registered' | 'business';
|
|
2669
|
+
/**
|
|
2670
|
+
* Buyer's authentication status
|
|
2671
|
+
*/
|
|
2672
|
+
authentication_status?: 'authenticated' | 'guest' | 'requires_signin';
|
|
2673
|
+
company?: CompanyInfo1;
|
|
2674
|
+
loyalty?: LoyaltyInfo1;
|
|
2675
|
+
tax_exemption?: TaxExemption1;
|
|
2676
|
+
}
|
|
2677
|
+
/**
|
|
2678
|
+
* Fulfillment contact and address details
|
|
2679
|
+
*/
|
|
2680
|
+
export interface FulfillmentDetails2 {
|
|
2681
|
+
/**
|
|
2682
|
+
* Full name for fulfillment contact
|
|
2683
|
+
*/
|
|
2684
|
+
name?: string;
|
|
2685
|
+
/**
|
|
2686
|
+
* Contact phone number. E.164 format recommended (e.g., +15551234567) for global interoperability and SMS/delivery carrier systems.
|
|
2687
|
+
*/
|
|
2688
|
+
phone_number?: string;
|
|
2689
|
+
/**
|
|
2690
|
+
* Contact email address
|
|
2691
|
+
*/
|
|
2692
|
+
email?: string;
|
|
2693
|
+
address?: Address1;
|
|
2694
|
+
}
|
|
2695
|
+
/**
|
|
2696
|
+
* Authentication metadata for payment interventions (e.g., 3DS)
|
|
2697
|
+
*/
|
|
2698
|
+
export interface AuthenticationMetadata1 {
|
|
2699
|
+
/**
|
|
2700
|
+
* Details about the acquirer used for this 3DS Authentication. This object MUST be present.
|
|
2701
|
+
*/
|
|
2702
|
+
acquirer_details: {
|
|
2703
|
+
/**
|
|
2704
|
+
* The Acquirer BIN (directory-server specific).
|
|
2705
|
+
*/
|
|
2706
|
+
acquirer_bin: string;
|
|
2707
|
+
/**
|
|
2708
|
+
* Two-letter ISO 3166-1 alpha-2 country code.
|
|
2709
|
+
*/
|
|
2710
|
+
acquirer_country: string;
|
|
2711
|
+
/**
|
|
2712
|
+
* The Merchant ID assigned by the acquirer.
|
|
2713
|
+
*/
|
|
2714
|
+
acquirer_merchant_id: string;
|
|
2715
|
+
/**
|
|
2716
|
+
* Merchant name assigned by the acquirer.
|
|
2717
|
+
*/
|
|
2718
|
+
merchant_name: string;
|
|
2719
|
+
/**
|
|
2720
|
+
* Requestor ID (if required by the directory server).
|
|
2721
|
+
*/
|
|
2722
|
+
requestor_id?: string;
|
|
2723
|
+
};
|
|
2724
|
+
/**
|
|
2725
|
+
* The 3DS directory server used for this Authentication.
|
|
2726
|
+
*/
|
|
2727
|
+
directory_server: 'american_express' | 'mastercard' | 'visa';
|
|
2728
|
+
/**
|
|
2729
|
+
* Contains additional details on the seller's preference for the 3DS authentication flow. Sellers MAY request a preference, but issuers ultimately decide the actual flow.
|
|
2730
|
+
*/
|
|
2731
|
+
flow_preference?: {
|
|
2732
|
+
/**
|
|
2733
|
+
* Type of flow requested for this 3DS Authentication. 'challenge' requests a challenge flow; 'frictionless' requests a frictionless flow.
|
|
2734
|
+
*/
|
|
2735
|
+
type: 'challenge' | 'frictionless';
|
|
2736
|
+
/**
|
|
2737
|
+
* Details about the requested challenge flow.
|
|
2738
|
+
*/
|
|
2739
|
+
challenge?: {
|
|
2740
|
+
/**
|
|
2741
|
+
* Subtype of challenge preference.
|
|
2742
|
+
*/
|
|
2743
|
+
type?: 'mandated' | 'preferred';
|
|
2744
|
+
};
|
|
2745
|
+
/**
|
|
2746
|
+
* Details about the requested frictionless flow.
|
|
2747
|
+
*/
|
|
2748
|
+
frictionless?: {
|
|
2749
|
+
/**
|
|
2750
|
+
* Subtype of frictionless preference.
|
|
2751
|
+
*/
|
|
2752
|
+
type?: 'low_risk';
|
|
2753
|
+
};
|
|
2754
|
+
};
|
|
2755
|
+
[k: string]: unknown | undefined;
|
|
2756
|
+
}
|
|
2757
|
+
/**
|
|
2758
|
+
* Discount extension: submitted codes and applied discounts. Present when the 'discount' extension is active.
|
|
2759
|
+
*/
|
|
2760
|
+
export interface DiscountsResponse1 {
|
|
2761
|
+
/**
|
|
2762
|
+
* Echo of submitted discount codes.
|
|
2763
|
+
*/
|
|
2764
|
+
codes?: string[];
|
|
2765
|
+
/**
|
|
2766
|
+
* Discounts successfully applied (code-based and automatic).
|
|
2767
|
+
*/
|
|
2768
|
+
applied?: AppliedDiscount[];
|
|
2769
|
+
/**
|
|
2770
|
+
* Discount codes that could not be applied, with reasons.
|
|
2771
|
+
*/
|
|
2772
|
+
rejected?: RejectedDiscount[];
|
|
2773
|
+
}
|
|
2774
|
+
/**
|
|
2775
|
+
* Order returned after checkout completion. Contains order details and optional rich post-purchase tracking.
|
|
2776
|
+
*/
|
|
2777
|
+
export interface Order1 {
|
|
2778
|
+
/**
|
|
2779
|
+
* Discriminator field for webhook payloads. Always 'order' when present.
|
|
2780
|
+
*/
|
|
2781
|
+
type?: 'order';
|
|
2782
|
+
/**
|
|
2783
|
+
* Unique identifier for the order
|
|
2784
|
+
*/
|
|
2785
|
+
id: string;
|
|
2786
|
+
/**
|
|
2787
|
+
* ID of the checkout session that created this order
|
|
2788
|
+
*/
|
|
2789
|
+
checkout_session_id: string;
|
|
2790
|
+
/**
|
|
2791
|
+
* Human-readable order number for customer reference
|
|
2792
|
+
*/
|
|
2793
|
+
order_number?: string;
|
|
2794
|
+
/**
|
|
2795
|
+
* Reference from the client (agent/platform) stored on the order for reconciliation (e.g. platform transaction id, PO number, ERP id).
|
|
2796
|
+
*/
|
|
2797
|
+
client_reference_id?: string;
|
|
2798
|
+
/**
|
|
2799
|
+
* Permanent URL where the customer can view order details
|
|
2800
|
+
*/
|
|
2801
|
+
permalink_url: string;
|
|
2802
|
+
/**
|
|
2803
|
+
* Order-level status. Implementations MUST accept unrecognized values gracefully. Defined values: 'created', 'confirmed', 'manual_review', 'processing', 'shipped', 'completed', 'canceled'. 'completed' means all items have been delivered/received regardless of fulfillment method. Distinct from LineItem.status 'fulfilled', which indicates the seller has dispatched the item.
|
|
2804
|
+
*/
|
|
2805
|
+
status?: string;
|
|
2806
|
+
estimated_delivery?: EstimatedDelivery1;
|
|
2807
|
+
confirmation?: OrderConfirmation1;
|
|
2808
|
+
support?: SupportInfo1;
|
|
2809
|
+
/**
|
|
2810
|
+
* What was ordered, with per-item fulfillment tracking
|
|
2811
|
+
*/
|
|
2812
|
+
line_items?: OrderLineItem[];
|
|
2813
|
+
/**
|
|
2814
|
+
* How items are being delivered (shipping, pickup, digital)
|
|
2815
|
+
*/
|
|
2816
|
+
fulfillments?: Fulfillment[];
|
|
2817
|
+
/**
|
|
2818
|
+
* Post-order changes: refunds, credits, returns, disputes
|
|
2819
|
+
*/
|
|
2820
|
+
adjustments?: Adjustment[];
|
|
2821
|
+
/**
|
|
2822
|
+
* Order-level totals using the same Total schema as checkout. The 'total' entry is always the original charged amount. 'amount_refunded' tracks cumulative refunds.
|
|
2823
|
+
*/
|
|
2824
|
+
totals?: Total[];
|
|
2825
|
+
}
|
|
2826
|
+
/**
|
|
2827
|
+
* Request to create a new checkout session
|
|
2828
|
+
*
|
|
2829
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2830
|
+
* via the `definition` "CheckoutSessionCreateRequest".
|
|
2831
|
+
*/
|
|
2832
|
+
export interface CheckoutSessionCreateRequest {
|
|
2833
|
+
buyer?: Buyer2;
|
|
2834
|
+
/**
|
|
2835
|
+
* Items to add to the checkout session
|
|
2836
|
+
*
|
|
2837
|
+
* @minItems 1
|
|
2838
|
+
*/
|
|
2839
|
+
line_items: [Item, ...Item[]];
|
|
2840
|
+
/**
|
|
2841
|
+
* ISO 4217 currency code
|
|
2842
|
+
*/
|
|
2843
|
+
currency: string;
|
|
2844
|
+
fulfillment_details?: FulfillmentDetails3;
|
|
2845
|
+
capabilities: Capabilities2;
|
|
2846
|
+
/**
|
|
2847
|
+
* Grouping of items by fulfillment method
|
|
2848
|
+
*/
|
|
2849
|
+
fulfillment_groups?: FulfillmentGroup[];
|
|
2850
|
+
affiliate_attribution?: AffiliateAttribution2;
|
|
2851
|
+
/**
|
|
2852
|
+
* DEPRECATED: Use discounts.codes instead. Discount codes to apply.
|
|
2853
|
+
*/
|
|
2854
|
+
coupons?: string[];
|
|
2855
|
+
discounts?: DiscountsRequest1;
|
|
2856
|
+
/**
|
|
2857
|
+
* Locale code for localizing content (e.g., 'en-US')
|
|
2858
|
+
*/
|
|
2859
|
+
locale?: string;
|
|
2860
|
+
/**
|
|
2861
|
+
* IANA timezone identifier (e.g., 'America/New_York')
|
|
2862
|
+
*/
|
|
2863
|
+
timezone?: string;
|
|
2864
|
+
/**
|
|
2865
|
+
* Quote identifier if this session is based on a quote
|
|
2866
|
+
*/
|
|
2867
|
+
quote_id?: string;
|
|
2868
|
+
/**
|
|
2869
|
+
* Arbitrary metadata for merchant use
|
|
2870
|
+
*/
|
|
2871
|
+
metadata?: {
|
|
2872
|
+
[k: string]: unknown | undefined;
|
|
2873
|
+
};
|
|
2874
|
+
/**
|
|
2875
|
+
* Optional customer/order notes (e.g., delivery instructions, gift message).
|
|
2876
|
+
*/
|
|
2877
|
+
order_notes?: string;
|
|
2878
|
+
}
|
|
2879
|
+
/**
|
|
2880
|
+
* Buyer information
|
|
2881
|
+
*/
|
|
2882
|
+
export interface Buyer2 {
|
|
2883
|
+
/**
|
|
2884
|
+
* Buyer's first name
|
|
2885
|
+
*/
|
|
2886
|
+
first_name?: string;
|
|
2887
|
+
/**
|
|
2888
|
+
* Buyer's last name
|
|
2889
|
+
*/
|
|
2890
|
+
last_name?: string;
|
|
2891
|
+
/**
|
|
2892
|
+
* Buyer's full name
|
|
2893
|
+
*/
|
|
2894
|
+
full_name?: string;
|
|
2895
|
+
/**
|
|
2896
|
+
* Buyer's email address
|
|
2897
|
+
*/
|
|
2898
|
+
email: string;
|
|
2899
|
+
/**
|
|
2900
|
+
* Buyer's phone number
|
|
2901
|
+
*/
|
|
2902
|
+
phone_number?: string;
|
|
2903
|
+
/**
|
|
2904
|
+
* Merchant's internal customer identifier
|
|
2905
|
+
*/
|
|
2906
|
+
customer_id?: string;
|
|
2907
|
+
/**
|
|
2908
|
+
* Type of buyer account
|
|
2909
|
+
*/
|
|
2910
|
+
account_type?: 'guest' | 'registered' | 'business';
|
|
2911
|
+
/**
|
|
2912
|
+
* Buyer's authentication status
|
|
2913
|
+
*/
|
|
2914
|
+
authentication_status?: 'authenticated' | 'guest' | 'requires_signin';
|
|
2915
|
+
company?: CompanyInfo1;
|
|
2916
|
+
loyalty?: LoyaltyInfo1;
|
|
2917
|
+
tax_exemption?: TaxExemption1;
|
|
2918
|
+
}
|
|
2919
|
+
/**
|
|
2920
|
+
* Fulfillment contact and address details
|
|
2921
|
+
*/
|
|
2922
|
+
export interface FulfillmentDetails3 {
|
|
2923
|
+
/**
|
|
2924
|
+
* Full name for fulfillment contact
|
|
2925
|
+
*/
|
|
2926
|
+
name?: string;
|
|
2927
|
+
/**
|
|
2928
|
+
* Contact phone number. E.164 format recommended (e.g., +15551234567) for global interoperability and SMS/delivery carrier systems.
|
|
2929
|
+
*/
|
|
2930
|
+
phone_number?: string;
|
|
2931
|
+
/**
|
|
2932
|
+
* Contact email address
|
|
2933
|
+
*/
|
|
2934
|
+
email?: string;
|
|
2935
|
+
address?: Address1;
|
|
2936
|
+
}
|
|
2937
|
+
/**
|
|
2938
|
+
* Agent capabilities and supported features
|
|
2939
|
+
*/
|
|
2940
|
+
export interface Capabilities2 {
|
|
2941
|
+
payment?: Payment;
|
|
2942
|
+
interventions?: InterventionCapabilities;
|
|
2943
|
+
/**
|
|
2944
|
+
* Extensions supported by the party. Requests: array of extension identifiers. Responses: array of extension declaration objects.
|
|
2945
|
+
*/
|
|
2946
|
+
extensions?: string[] | ExtensionDeclaration[];
|
|
2947
|
+
}
|
|
2948
|
+
/**
|
|
2949
|
+
* Discount codes to apply to the checkout session.
|
|
2950
|
+
*/
|
|
2951
|
+
export interface DiscountsRequest1 {
|
|
2952
|
+
/**
|
|
2953
|
+
* Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.
|
|
2954
|
+
*/
|
|
2955
|
+
codes?: string[];
|
|
2956
|
+
}
|
|
2957
|
+
/**
|
|
2958
|
+
* Request to update an existing checkout session
|
|
2959
|
+
*
|
|
2960
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
2961
|
+
* via the `definition` "CheckoutSessionUpdateRequest".
|
|
2962
|
+
*/
|
|
2963
|
+
export interface CheckoutSessionUpdateRequest {
|
|
2964
|
+
buyer?: Buyer3;
|
|
2965
|
+
/**
|
|
2966
|
+
* Items to update in the checkout session
|
|
2967
|
+
*/
|
|
2968
|
+
line_items?: Item[];
|
|
2969
|
+
fulfillment_details?: FulfillmentDetails4;
|
|
2970
|
+
/**
|
|
2971
|
+
* Updated fulfillment groupings
|
|
2972
|
+
*/
|
|
2973
|
+
fulfillment_groups?: FulfillmentGroup[];
|
|
2974
|
+
/**
|
|
2975
|
+
* Fulfillment option selected by the buyer
|
|
2976
|
+
*/
|
|
2977
|
+
selected_fulfillment_options?: SelectedFulfillmentOption[];
|
|
2978
|
+
/**
|
|
2979
|
+
* DEPRECATED: Use discounts.codes instead. Discount codes to apply.
|
|
2980
|
+
*/
|
|
2981
|
+
coupons?: string[];
|
|
2982
|
+
discounts?: DiscountsRequest2;
|
|
2983
|
+
/**
|
|
2984
|
+
* Optional customer/order notes.
|
|
2985
|
+
*/
|
|
2986
|
+
order_notes?: string;
|
|
2987
|
+
}
|
|
2988
|
+
/**
|
|
2989
|
+
* Updated buyer information
|
|
2990
|
+
*/
|
|
2991
|
+
export interface Buyer3 {
|
|
2992
|
+
/**
|
|
2993
|
+
* Buyer's first name
|
|
2994
|
+
*/
|
|
2995
|
+
first_name?: string;
|
|
2996
|
+
/**
|
|
2997
|
+
* Buyer's last name
|
|
2998
|
+
*/
|
|
2999
|
+
last_name?: string;
|
|
3000
|
+
/**
|
|
3001
|
+
* Buyer's full name
|
|
3002
|
+
*/
|
|
3003
|
+
full_name?: string;
|
|
3004
|
+
/**
|
|
3005
|
+
* Buyer's email address
|
|
3006
|
+
*/
|
|
3007
|
+
email: string;
|
|
3008
|
+
/**
|
|
3009
|
+
* Buyer's phone number
|
|
3010
|
+
*/
|
|
3011
|
+
phone_number?: string;
|
|
3012
|
+
/**
|
|
3013
|
+
* Merchant's internal customer identifier
|
|
3014
|
+
*/
|
|
3015
|
+
customer_id?: string;
|
|
3016
|
+
/**
|
|
3017
|
+
* Type of buyer account
|
|
3018
|
+
*/
|
|
3019
|
+
account_type?: 'guest' | 'registered' | 'business';
|
|
3020
|
+
/**
|
|
3021
|
+
* Buyer's authentication status
|
|
3022
|
+
*/
|
|
3023
|
+
authentication_status?: 'authenticated' | 'guest' | 'requires_signin';
|
|
3024
|
+
company?: CompanyInfo1;
|
|
3025
|
+
loyalty?: LoyaltyInfo1;
|
|
3026
|
+
tax_exemption?: TaxExemption1;
|
|
3027
|
+
}
|
|
3028
|
+
/**
|
|
3029
|
+
* Updated fulfillment contact and address
|
|
3030
|
+
*/
|
|
3031
|
+
export interface FulfillmentDetails4 {
|
|
3032
|
+
/**
|
|
3033
|
+
* Full name for fulfillment contact
|
|
3034
|
+
*/
|
|
3035
|
+
name?: string;
|
|
3036
|
+
/**
|
|
3037
|
+
* Contact phone number. E.164 format recommended (e.g., +15551234567) for global interoperability and SMS/delivery carrier systems.
|
|
3038
|
+
*/
|
|
3039
|
+
phone_number?: string;
|
|
3040
|
+
/**
|
|
3041
|
+
* Contact email address
|
|
3042
|
+
*/
|
|
3043
|
+
email?: string;
|
|
3044
|
+
address?: Address1;
|
|
3045
|
+
}
|
|
3046
|
+
/**
|
|
3047
|
+
* Discount codes to apply. Replaces previously submitted codes.
|
|
3048
|
+
*/
|
|
3049
|
+
export interface DiscountsRequest2 {
|
|
3050
|
+
/**
|
|
3051
|
+
* Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.
|
|
3052
|
+
*/
|
|
3053
|
+
codes?: string[];
|
|
3054
|
+
}
|
|
3055
|
+
/**
|
|
3056
|
+
* Request to complete a checkout session and create an order
|
|
3057
|
+
*
|
|
3058
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3059
|
+
* via the `definition` "CheckoutSessionCompleteRequest".
|
|
3060
|
+
*/
|
|
3061
|
+
export interface CheckoutSessionCompleteRequest {
|
|
3062
|
+
buyer?: Buyer4;
|
|
3063
|
+
payment_data: PaymentData2;
|
|
3064
|
+
authentication_result?: AuthenticationResult1;
|
|
3065
|
+
affiliate_attribution?: AffiliateAttribution3;
|
|
3066
|
+
risk_signals?: RiskSignals1;
|
|
3067
|
+
/**
|
|
3068
|
+
* Buyer's marketing consent decisions. Agents SHOULD include an entry for each consent option surfaced to the buyer. Options not surfaced MUST be omitted — omission preserves existing subscription state. Sellers SHOULD ignore entries in marketing_consents that do not correspond to a channel in marketing_consent_options.
|
|
3069
|
+
*/
|
|
3070
|
+
marketing_consents?: MarketingConsent[];
|
|
3071
|
+
/**
|
|
3072
|
+
* Optional customer/order notes (delivery instructions, gift message).
|
|
3073
|
+
*/
|
|
3074
|
+
order_notes?: string;
|
|
3075
|
+
}
|
|
3076
|
+
/**
|
|
3077
|
+
* Final buyer information
|
|
3078
|
+
*/
|
|
3079
|
+
export interface Buyer4 {
|
|
3080
|
+
/**
|
|
3081
|
+
* Buyer's first name
|
|
3082
|
+
*/
|
|
3083
|
+
first_name?: string;
|
|
3084
|
+
/**
|
|
3085
|
+
* Buyer's last name
|
|
3086
|
+
*/
|
|
3087
|
+
last_name?: string;
|
|
3088
|
+
/**
|
|
3089
|
+
* Buyer's full name
|
|
3090
|
+
*/
|
|
3091
|
+
full_name?: string;
|
|
3092
|
+
/**
|
|
3093
|
+
* Buyer's email address
|
|
3094
|
+
*/
|
|
3095
|
+
email: string;
|
|
3096
|
+
/**
|
|
3097
|
+
* Buyer's phone number
|
|
3098
|
+
*/
|
|
3099
|
+
phone_number?: string;
|
|
3100
|
+
/**
|
|
3101
|
+
* Merchant's internal customer identifier
|
|
3102
|
+
*/
|
|
3103
|
+
customer_id?: string;
|
|
3104
|
+
/**
|
|
3105
|
+
* Type of buyer account
|
|
3106
|
+
*/
|
|
3107
|
+
account_type?: 'guest' | 'registered' | 'business';
|
|
3108
|
+
/**
|
|
3109
|
+
* Buyer's authentication status
|
|
3110
|
+
*/
|
|
3111
|
+
authentication_status?: 'authenticated' | 'guest' | 'requires_signin';
|
|
3112
|
+
company?: CompanyInfo1;
|
|
3113
|
+
loyalty?: LoyaltyInfo1;
|
|
3114
|
+
tax_exemption?: TaxExemption1;
|
|
3115
|
+
}
|
|
3116
|
+
/**
|
|
3117
|
+
* Risk and fraud signals
|
|
3118
|
+
*/
|
|
3119
|
+
export interface RiskSignals1 {
|
|
3120
|
+
/**
|
|
3121
|
+
* IP address of the buyer
|
|
3122
|
+
*/
|
|
3123
|
+
ip_address?: string;
|
|
3124
|
+
/**
|
|
3125
|
+
* User agent string of the buyer's browser
|
|
3126
|
+
*/
|
|
3127
|
+
user_agent?: string;
|
|
3128
|
+
/**
|
|
3129
|
+
* Accept-Language header from the buyer's browser
|
|
3130
|
+
*/
|
|
3131
|
+
accept_language?: string;
|
|
3132
|
+
/**
|
|
3133
|
+
* Session identifier for the buyer
|
|
3134
|
+
*/
|
|
3135
|
+
session_id?: string;
|
|
3136
|
+
/**
|
|
3137
|
+
* Device fingerprint for fraud detection
|
|
3138
|
+
*/
|
|
3139
|
+
device_fingerprint?: string;
|
|
3140
|
+
}
|
|
3141
|
+
/**
|
|
3142
|
+
* Structured reason for why a buyer action was taken, used for analytics and debugging
|
|
3143
|
+
*
|
|
3144
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3145
|
+
* via the `definition` "IntentTrace".
|
|
3146
|
+
*/
|
|
3147
|
+
export interface IntentTrace {
|
|
3148
|
+
/**
|
|
3149
|
+
* Reason for abandonment. This enum is extensible: servers SHOULD accept unrecognized values and treat them as 'other' (see RFC Section 7.2). Validators SHOULD be configured for lenient enum handling.
|
|
3150
|
+
*/
|
|
3151
|
+
reason_code: 'price_sensitivity' | 'shipping_cost' | 'shipping_speed' | 'product_fit' | 'trust_security' | 'returns_policy' | 'payment_options' | 'comparison' | 'timing_deferred' | 'other';
|
|
3152
|
+
/**
|
|
3153
|
+
* A generated summary of the specific objection or negotiation gap.
|
|
3154
|
+
*/
|
|
3155
|
+
trace_summary?: string;
|
|
3156
|
+
/**
|
|
3157
|
+
* Additional structured metadata about the intent
|
|
3158
|
+
*/
|
|
3159
|
+
metadata?: {
|
|
3160
|
+
/**
|
|
3161
|
+
* Metadata value
|
|
3162
|
+
*/
|
|
3163
|
+
[k: string]: (string | number | boolean) | undefined;
|
|
3164
|
+
};
|
|
3165
|
+
}
|
|
3166
|
+
/**
|
|
3167
|
+
* Request to cancel a checkout session
|
|
3168
|
+
*
|
|
3169
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3170
|
+
* via the `definition` "CancelSessionRequest".
|
|
3171
|
+
*/
|
|
3172
|
+
export interface CancelSessionRequest {
|
|
3173
|
+
intent_trace?: IntentTrace;
|
|
3174
|
+
}
|
|
3175
|
+
/**
|
|
3176
|
+
* Well-known discovery document served at /.well-known/acp.json. Describes the seller's capabilities. This is stable, deterministic information that does not vary per session. Session-specific capabilities (payment methods, payment handlers) are negotiated inline via the capabilities object on POST /checkout_sessions.
|
|
3177
|
+
*
|
|
3178
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3179
|
+
* via the `definition` "DiscoveryResponse".
|
|
3180
|
+
*/
|
|
3181
|
+
export interface DiscoveryResponse {
|
|
3182
|
+
protocol: DiscoveryProtocol;
|
|
3183
|
+
/**
|
|
3184
|
+
* Base URL for the ACP REST API. Agents append resource paths to this URL (e.g., {api_base_url}/checkout_sessions).
|
|
3185
|
+
*/
|
|
3186
|
+
api_base_url: string;
|
|
3187
|
+
/**
|
|
3188
|
+
* Transport bindings supported by this seller. "rest" indicates the REST API at api_base_url. "mcp" indicates a Model Context Protocol server is available (see SEP #135). New values are introduced in new API versions; agents MAY treat this enum as exhaustive for a given version.
|
|
3189
|
+
*/
|
|
3190
|
+
transports: ('rest' | 'mcp')[];
|
|
3191
|
+
capabilities: DiscoveryCapabilities;
|
|
3192
|
+
}
|
|
3193
|
+
/**
|
|
3194
|
+
* Protocol identification and version information.
|
|
3195
|
+
*
|
|
3196
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3197
|
+
* via the `definition` "DiscoveryProtocol".
|
|
3198
|
+
*/
|
|
3199
|
+
export interface DiscoveryProtocol {
|
|
3200
|
+
/**
|
|
3201
|
+
* Protocol identifier. Always "acp".
|
|
3202
|
+
*/
|
|
3203
|
+
name: 'acp';
|
|
3204
|
+
/**
|
|
3205
|
+
* The current (latest) API version supported by the seller, in YYYY-MM-DD format.
|
|
3206
|
+
*/
|
|
3207
|
+
version: string;
|
|
3208
|
+
/**
|
|
3209
|
+
* All API versions the seller currently supports, in chronological order (oldest first). Agents SHOULD use the API-Version header to request a specific version. The last element is always the latest supported version.
|
|
3210
|
+
*/
|
|
3211
|
+
supported_versions: string[];
|
|
3212
|
+
/**
|
|
3213
|
+
* URL to the seller's ACP documentation.
|
|
3214
|
+
*/
|
|
3215
|
+
documentation_url?: string;
|
|
3216
|
+
}
|
|
3217
|
+
/**
|
|
3218
|
+
* Seller capabilities advertised in the well-known discovery document. Contains feature declarations that are stable across sessions.
|
|
3219
|
+
*
|
|
3220
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3221
|
+
* via the `definition` "DiscoveryCapabilities".
|
|
3222
|
+
*/
|
|
3223
|
+
export interface DiscoveryCapabilities {
|
|
3224
|
+
/**
|
|
3225
|
+
* Services available from this seller. Indicates which ACP operations are implemented. This enum is closed per API version; new values are introduced in new API versions. Agents MAY treat the set as exhaustive for a given version.
|
|
3226
|
+
*/
|
|
3227
|
+
services: ('checkout' | 'orders' | 'delegate_payment' | 'carts')[];
|
|
3228
|
+
/**
|
|
3229
|
+
* Extensions the seller supports. Whether a specific extension is active for a given session is determined during checkout session creation.
|
|
3230
|
+
*/
|
|
3231
|
+
extensions?: DiscoveryExtension[];
|
|
3232
|
+
/**
|
|
3233
|
+
* Intervention types the seller supports. Actual availability for a specific session is negotiated via the capabilities object on POST /checkout_sessions. This enum is closed per API version; new values are introduced in new API versions. Agents MAY treat the set as exhaustive for a given version.
|
|
3234
|
+
*/
|
|
3235
|
+
intervention_types?: ('3ds' | 'biometric' | 'address_verification')[];
|
|
3236
|
+
/**
|
|
3237
|
+
* ISO 4217 currency codes supported by the seller.
|
|
3238
|
+
*/
|
|
3239
|
+
supported_currencies?: string[];
|
|
3240
|
+
/**
|
|
3241
|
+
* BCP 47 locale tags supported by the seller for localized responses.
|
|
3242
|
+
*/
|
|
3243
|
+
supported_locales?: string[];
|
|
3244
|
+
}
|
|
3245
|
+
/**
|
|
3246
|
+
* High-level extension declaration in the discovery document. Identifies the extension and provides a spec URL, but does not include session-level details like schema or extends fields.
|
|
3247
|
+
*
|
|
3248
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3249
|
+
* via the `definition` "DiscoveryExtension".
|
|
3250
|
+
*/
|
|
3251
|
+
export interface DiscoveryExtension {
|
|
3252
|
+
/**
|
|
3253
|
+
* Extension identifier (e.g., "discount", "fulfillment").
|
|
3254
|
+
*/
|
|
3255
|
+
name: string;
|
|
3256
|
+
/**
|
|
3257
|
+
* URL to the extension's specification document.
|
|
3258
|
+
*/
|
|
3259
|
+
spec?: string;
|
|
3260
|
+
/**
|
|
3261
|
+
* URL to the extension's JSON Schema definition for programmatic validation.
|
|
3262
|
+
*/
|
|
3263
|
+
schema?: string;
|
|
3264
|
+
}
|
|
3265
|
+
/**
|
|
3266
|
+
* Protocol-level error returned in 4xx/5xx responses when the server cannot return a valid CheckoutSession at all (e.g. malformed request or unexpected failure). Use Error—not MessageError—when there is no valid session state to return. type semantics: invalid_request — malformed request, missing required fields, invalid JSON, or idempotency violations (codes: idempotency_key_required, idempotency_in_flight, idempotency_conflict); processing_error — unexpected server-side failure; service_unavailable — temporary unavailability.
|
|
3267
|
+
*
|
|
3268
|
+
* This interface was referenced by `AgenticCheckoutSchemaBundle`'s JSON-Schema
|
|
3269
|
+
* via the `definition` "Error".
|
|
3270
|
+
*/
|
|
3271
|
+
export interface Error {
|
|
3272
|
+
/**
|
|
3273
|
+
* Error type indicating the category of protocol-level error
|
|
3274
|
+
*/
|
|
3275
|
+
type: 'invalid_request' | 'processing_error' | 'service_unavailable';
|
|
3276
|
+
/**
|
|
3277
|
+
* Implementation-defined error code
|
|
3278
|
+
*/
|
|
3279
|
+
code: string;
|
|
3280
|
+
/**
|
|
3281
|
+
* Human-readable error message
|
|
3282
|
+
*/
|
|
3283
|
+
message: string;
|
|
3284
|
+
/**
|
|
3285
|
+
* RFC 9535 JSONPath (optional)
|
|
3286
|
+
*/
|
|
3287
|
+
param?: string;
|
|
3288
|
+
/**
|
|
3289
|
+
* List of API versions supported by the server, ordered by preference (newest first). Only included in version-related errors.
|
|
3290
|
+
*/
|
|
3291
|
+
supported_versions?: string[];
|
|
3292
|
+
}
|