@asstio-dev/storefront 0.27.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +113 -3
- package/dist/account/browser.d.ts +22 -0
- package/dist/account/browser.js +19 -0
- package/dist/account/cart.d.ts +24 -0
- package/dist/account/cart.js +51 -0
- package/dist/account/cookies.d.ts +64 -0
- package/dist/account/cookies.js +56 -0
- package/dist/account/index.d.ts +100 -0
- package/dist/account/index.js +114 -0
- package/dist/account/next.d.ts +82 -0
- package/dist/account/next.js +161 -0
- package/dist/account/security.d.ts +30 -0
- package/dist/account/security.js +85 -0
- package/dist/checkout/server.d.ts +16 -6
- package/dist/checkout/server.js +12 -10
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/schema.d.ts +1232 -285
- package/dist/seo/sitemap.d.ts +44 -0
- package/dist/seo/sitemap.js +91 -0
- package/package.json +30 -2
- package/src/schema.d.ts +1232 -285
package/src/schema.d.ts
CHANGED
|
@@ -4,6 +4,60 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
export interface paths {
|
|
7
|
+
"/v1/auth/sign-in": {
|
|
8
|
+
parameters: {
|
|
9
|
+
query?: never;
|
|
10
|
+
header?: never;
|
|
11
|
+
path?: never;
|
|
12
|
+
cookie?: never;
|
|
13
|
+
};
|
|
14
|
+
get?: never;
|
|
15
|
+
put?: never;
|
|
16
|
+
/** Start a sign-in: e-mails an 8-digit code and a link when the address may sign in. The 202 is the same either way; keep binding in the __Host-sf_signin cookie. */
|
|
17
|
+
post: operations["StartSignIn"];
|
|
18
|
+
delete?: never;
|
|
19
|
+
options?: never;
|
|
20
|
+
head?: never;
|
|
21
|
+
patch?: never;
|
|
22
|
+
trace?: never;
|
|
23
|
+
};
|
|
24
|
+
"/v1/auth/sign-in/verify": {
|
|
25
|
+
parameters: {
|
|
26
|
+
query?: never;
|
|
27
|
+
header?: never;
|
|
28
|
+
path?: never;
|
|
29
|
+
cookie?: never;
|
|
30
|
+
};
|
|
31
|
+
get?: never;
|
|
32
|
+
put?: never;
|
|
33
|
+
/**
|
|
34
|
+
* Verify a sign-in with its code or link and mint a shopper session. Without the start's binding the answer is 409 SIGN_IN_CONFIRM_REQUIRED until confirm is true.
|
|
35
|
+
* @description Exactly one of code (8 digits; spaces allowed) and link. link is the sfl_{challengeId}.{secret} token from the sign-in link's fragment; a whole sign-in URL is accepted too, and only the part after its last '#' is used. challengeId is required with code and optional with link (the link carries it; a challengeId that names another challenge is SIGN_IN_INVALID), so a link opened on another device verifies on its own. binding is the start answer's binding from the __Host-sf_signin cookie; without it a correct code or link answers 409 SIGN_IN_CONFIRM_REQUIRED (maskedEmail and siteName in the problem) until the shopper confirms and the request is repeated with confirm: true. A replayed code mints nothing; a lost answer is recovered by a new sign-in.
|
|
36
|
+
*/
|
|
37
|
+
post: operations["VerifySignIn"];
|
|
38
|
+
delete?: never;
|
|
39
|
+
options?: never;
|
|
40
|
+
head?: never;
|
|
41
|
+
patch?: never;
|
|
42
|
+
trace?: never;
|
|
43
|
+
};
|
|
44
|
+
"/v1/auth/sign-out": {
|
|
45
|
+
parameters: {
|
|
46
|
+
query?: never;
|
|
47
|
+
header?: never;
|
|
48
|
+
path?: never;
|
|
49
|
+
cookie?: never;
|
|
50
|
+
};
|
|
51
|
+
get?: never;
|
|
52
|
+
put?: never;
|
|
53
|
+
/** End the session, or every session of the account with everywhere: true. Works on a paused site. */
|
|
54
|
+
post: operations["SignOut"];
|
|
55
|
+
delete?: never;
|
|
56
|
+
options?: never;
|
|
57
|
+
head?: never;
|
|
58
|
+
patch?: never;
|
|
59
|
+
trace?: never;
|
|
60
|
+
};
|
|
7
61
|
"/v1/brands": {
|
|
8
62
|
parameters: {
|
|
9
63
|
query?: never;
|
|
@@ -266,6 +320,57 @@ export interface paths {
|
|
|
266
320
|
patch?: never;
|
|
267
321
|
trace?: never;
|
|
268
322
|
};
|
|
323
|
+
"/v1/me": {
|
|
324
|
+
parameters: {
|
|
325
|
+
query?: never;
|
|
326
|
+
header?: never;
|
|
327
|
+
path?: never;
|
|
328
|
+
cookie?: never;
|
|
329
|
+
};
|
|
330
|
+
/** The signed-in account: e-mail, names, and the principals it can act as on this site. */
|
|
331
|
+
get: operations["GetMe"];
|
|
332
|
+
put?: never;
|
|
333
|
+
post?: never;
|
|
334
|
+
delete?: never;
|
|
335
|
+
options?: never;
|
|
336
|
+
head?: never;
|
|
337
|
+
patch?: never;
|
|
338
|
+
trace?: never;
|
|
339
|
+
};
|
|
340
|
+
"/v1/me/cart": {
|
|
341
|
+
parameters: {
|
|
342
|
+
query?: never;
|
|
343
|
+
header?: never;
|
|
344
|
+
path?: never;
|
|
345
|
+
cookie?: never;
|
|
346
|
+
};
|
|
347
|
+
/** The current principal's saved cart, read-only; 404 NOT_FOUND when it has none. Use its token as X-Cart-Token on the cart routes, with the session. */
|
|
348
|
+
get: operations["GetMyCart"];
|
|
349
|
+
put?: never;
|
|
350
|
+
post?: never;
|
|
351
|
+
delete?: never;
|
|
352
|
+
options?: never;
|
|
353
|
+
head?: never;
|
|
354
|
+
patch?: never;
|
|
355
|
+
trace?: never;
|
|
356
|
+
};
|
|
357
|
+
"/v1/me/company": {
|
|
358
|
+
parameters: {
|
|
359
|
+
query?: never;
|
|
360
|
+
header?: never;
|
|
361
|
+
path?: never;
|
|
362
|
+
cookie?: never;
|
|
363
|
+
};
|
|
364
|
+
/** The current company principal's company, role and permissions. A consumer principal answers 403 PRINCIPAL_NOT_AVAILABLE. */
|
|
365
|
+
get: operations["GetMyCompany"];
|
|
366
|
+
put?: never;
|
|
367
|
+
post?: never;
|
|
368
|
+
delete?: never;
|
|
369
|
+
options?: never;
|
|
370
|
+
head?: never;
|
|
371
|
+
patch?: never;
|
|
372
|
+
trace?: never;
|
|
373
|
+
};
|
|
269
374
|
"/v1/orders/{orderId}": {
|
|
270
375
|
parameters: {
|
|
271
376
|
query?: never;
|
|
@@ -384,6 +489,40 @@ export interface paths {
|
|
|
384
489
|
patch?: never;
|
|
385
490
|
trace?: never;
|
|
386
491
|
};
|
|
492
|
+
"/v1/session": {
|
|
493
|
+
parameters: {
|
|
494
|
+
query?: never;
|
|
495
|
+
header?: never;
|
|
496
|
+
path?: never;
|
|
497
|
+
cookie?: never;
|
|
498
|
+
};
|
|
499
|
+
/** The session the request carries: account, current principal, switch targets and expiry. Works on a paused site. */
|
|
500
|
+
get: operations["GetSession"];
|
|
501
|
+
put?: never;
|
|
502
|
+
post?: never;
|
|
503
|
+
delete?: never;
|
|
504
|
+
options?: never;
|
|
505
|
+
head?: never;
|
|
506
|
+
patch?: never;
|
|
507
|
+
trace?: never;
|
|
508
|
+
};
|
|
509
|
+
"/v1/session/principal": {
|
|
510
|
+
parameters: {
|
|
511
|
+
query?: never;
|
|
512
|
+
header?: never;
|
|
513
|
+
path?: never;
|
|
514
|
+
cookie?: never;
|
|
515
|
+
};
|
|
516
|
+
get?: never;
|
|
517
|
+
/** Act as another principal ("consumer" or a membership id). Rotates the session: store the new token; the old one serves GETs for 30 s only. */
|
|
518
|
+
put: operations["SwitchPrincipal"];
|
|
519
|
+
post?: never;
|
|
520
|
+
delete?: never;
|
|
521
|
+
options?: never;
|
|
522
|
+
head?: never;
|
|
523
|
+
patch?: never;
|
|
524
|
+
trace?: never;
|
|
525
|
+
};
|
|
387
526
|
"/v1/site": {
|
|
388
527
|
parameters: {
|
|
389
528
|
query?: never;
|
|
@@ -408,7 +547,7 @@ export interface paths {
|
|
|
408
547
|
path?: never;
|
|
409
548
|
cookie?: never;
|
|
410
549
|
};
|
|
411
|
-
/** Ids, slugs, URLs and lastmod for sitemap.xml and selective revalidation. type=product|collection|brand, ?since= is inclusive. */
|
|
550
|
+
/** Ids, slugs, URLs and lastmod for sitemap.xml and selective revalidation. type=product|collection|brand, ?since= is inclusive; ?cursor=start walks the whole sitemap along nextCursor. */
|
|
412
551
|
get: operations["GetSitemap"];
|
|
413
552
|
put?: never;
|
|
414
553
|
post?: never;
|
|
@@ -422,6 +561,23 @@ export interface paths {
|
|
|
422
561
|
export type webhooks = Record<string, never>;
|
|
423
562
|
export interface components {
|
|
424
563
|
schemas: {
|
|
564
|
+
AccountDto: {
|
|
565
|
+
companies: components["schemas"]["PrincipalDto"][];
|
|
566
|
+
consumer: boolean;
|
|
567
|
+
email: string;
|
|
568
|
+
firstName: null | string;
|
|
569
|
+
id: string;
|
|
570
|
+
lastName: null | string;
|
|
571
|
+
phone: null | string;
|
|
572
|
+
};
|
|
573
|
+
AccountPathsDto: {
|
|
574
|
+
account: string;
|
|
575
|
+
signIn: string;
|
|
576
|
+
};
|
|
577
|
+
AccountRefDto: {
|
|
578
|
+
email: string;
|
|
579
|
+
id: string;
|
|
580
|
+
};
|
|
425
581
|
AddCartLineRequest: {
|
|
426
582
|
/** Format: int32 */
|
|
427
583
|
quantity: number | string;
|
|
@@ -548,6 +704,9 @@ export interface components {
|
|
|
548
704
|
};
|
|
549
705
|
url: null | string;
|
|
550
706
|
};
|
|
707
|
+
CartTokenDto: {
|
|
708
|
+
token: string;
|
|
709
|
+
};
|
|
551
710
|
CategoryNodeDto: {
|
|
552
711
|
children: components["schemas"]["CategoryNodeDto"][];
|
|
553
712
|
id: string;
|
|
@@ -705,6 +864,9 @@ export interface components {
|
|
|
705
864
|
slug: string;
|
|
706
865
|
url: string;
|
|
707
866
|
};
|
|
867
|
+
CompanyNameDto: {
|
|
868
|
+
name: string;
|
|
869
|
+
};
|
|
708
870
|
DeliveryRangeDto: {
|
|
709
871
|
/** Format: int32 */
|
|
710
872
|
max: number;
|
|
@@ -875,6 +1037,11 @@ export interface components {
|
|
|
875
1037
|
/** Format: int32 */
|
|
876
1038
|
w: number | string;
|
|
877
1039
|
};
|
|
1040
|
+
MyCompanyDto: {
|
|
1041
|
+
name: string;
|
|
1042
|
+
permissions: string[];
|
|
1043
|
+
role: string;
|
|
1044
|
+
};
|
|
878
1045
|
OptionDto: {
|
|
879
1046
|
name: string;
|
|
880
1047
|
values: string[];
|
|
@@ -970,6 +1137,13 @@ export interface components {
|
|
|
970
1137
|
vatIncluded: boolean;
|
|
971
1138
|
vatRate: string;
|
|
972
1139
|
};
|
|
1140
|
+
PrincipalDto: {
|
|
1141
|
+
company: null | components["schemas"]["CompanyNameDto"];
|
|
1142
|
+
id: string;
|
|
1143
|
+
kind: string;
|
|
1144
|
+
permissions: string[];
|
|
1145
|
+
role: null | string;
|
|
1146
|
+
};
|
|
973
1147
|
ProductCardDto: {
|
|
974
1148
|
attributes: components["schemas"]["AttributeDto"][];
|
|
975
1149
|
brand: null | components["schemas"]["BrandDto"];
|
|
@@ -1112,6 +1286,22 @@ export interface components {
|
|
|
1112
1286
|
description: null | string;
|
|
1113
1287
|
title: string;
|
|
1114
1288
|
};
|
|
1289
|
+
SessionDto: {
|
|
1290
|
+
account: components["schemas"]["AccountRefDto"];
|
|
1291
|
+
authMethod: string;
|
|
1292
|
+
/** Format: date-time */
|
|
1293
|
+
expiresAt: string;
|
|
1294
|
+
/** Format: date-time */
|
|
1295
|
+
idleExpiresAt: string;
|
|
1296
|
+
principal: components["schemas"]["PrincipalDto"];
|
|
1297
|
+
principals: components["schemas"]["PrincipalDto"][];
|
|
1298
|
+
stale: boolean;
|
|
1299
|
+
};
|
|
1300
|
+
SessionTokenDto: {
|
|
1301
|
+
/** Format: date-time */
|
|
1302
|
+
expiresAt: string;
|
|
1303
|
+
token: string;
|
|
1304
|
+
};
|
|
1115
1305
|
SetCartMarketRequest: {
|
|
1116
1306
|
market: string;
|
|
1117
1307
|
};
|
|
@@ -1136,7 +1326,32 @@ export interface components {
|
|
|
1136
1326
|
icon: null | string;
|
|
1137
1327
|
name: string;
|
|
1138
1328
|
};
|
|
1329
|
+
SignInStartedDto: {
|
|
1330
|
+
binding: string;
|
|
1331
|
+
challengeId: string;
|
|
1332
|
+
/** Format: int32 */
|
|
1333
|
+
codeLength: number | string;
|
|
1334
|
+
/** Format: date-time */
|
|
1335
|
+
expiresAt: string;
|
|
1336
|
+
};
|
|
1337
|
+
SignOutRequest: {
|
|
1338
|
+
everywhere?: boolean | null;
|
|
1339
|
+
};
|
|
1340
|
+
SignedInDto: {
|
|
1341
|
+
browserCart: null | components["schemas"]["CartTokenDto"];
|
|
1342
|
+
cart: null | components["schemas"]["CartTokenDto"];
|
|
1343
|
+
principal: components["schemas"]["PrincipalDto"];
|
|
1344
|
+
principals: components["schemas"]["PrincipalDto"][];
|
|
1345
|
+
returnPath: null | string;
|
|
1346
|
+
session: components["schemas"]["SessionTokenDto"];
|
|
1347
|
+
};
|
|
1348
|
+
SiteAccountsDto: {
|
|
1349
|
+
company: boolean;
|
|
1350
|
+
consumer: boolean;
|
|
1351
|
+
paths: components["schemas"]["AccountPathsDto"];
|
|
1352
|
+
};
|
|
1139
1353
|
SiteDto: {
|
|
1354
|
+
accounts: null | components["schemas"]["SiteAccountsDto"];
|
|
1140
1355
|
code: string;
|
|
1141
1356
|
configVersion: string;
|
|
1142
1357
|
defaultMarket: string;
|
|
@@ -1161,6 +1376,7 @@ export interface components {
|
|
|
1161
1376
|
};
|
|
1162
1377
|
SitemapResponse: {
|
|
1163
1378
|
items: components["schemas"]["SitemapEntryDto"][];
|
|
1379
|
+
nextCursor: null | string;
|
|
1164
1380
|
/** Format: int32 */
|
|
1165
1381
|
page: number | string;
|
|
1166
1382
|
/** Format: int32 */
|
|
@@ -1181,6 +1397,10 @@ export interface components {
|
|
|
1181
1397
|
option: null | string;
|
|
1182
1398
|
returnOrigin: null | string;
|
|
1183
1399
|
};
|
|
1400
|
+
StartSignInRequest: {
|
|
1401
|
+
email: null | string;
|
|
1402
|
+
returnPath?: null | string;
|
|
1403
|
+
};
|
|
1184
1404
|
/**
|
|
1185
1405
|
* Problem
|
|
1186
1406
|
* @description RFC 9457 problem document. Branch on `code`: it is stable, unlike `title` and `detail`.
|
|
@@ -1225,6 +1445,9 @@ export interface components {
|
|
|
1225
1445
|
color: null | string;
|
|
1226
1446
|
image: null | components["schemas"]["MediaDescriptorDto"];
|
|
1227
1447
|
};
|
|
1448
|
+
SwitchPrincipalRequest: {
|
|
1449
|
+
principal: null | string;
|
|
1450
|
+
};
|
|
1228
1451
|
TrackingDto: {
|
|
1229
1452
|
carrier: string;
|
|
1230
1453
|
number: string;
|
|
@@ -1285,6 +1508,15 @@ export interface components {
|
|
|
1285
1508
|
amount: string;
|
|
1286
1509
|
rate: string;
|
|
1287
1510
|
};
|
|
1511
|
+
VerifySignInRequest: {
|
|
1512
|
+
binding?: null | string;
|
|
1513
|
+
/** @description The start answer's challengeId. Required with code; optional with link, which carries it — when both are given they must name the same challenge. */
|
|
1514
|
+
challengeId?: null | string;
|
|
1515
|
+
code?: null | string;
|
|
1516
|
+
confirm?: boolean | null;
|
|
1517
|
+
/** @description The sfl_{challengeId}.{secret} token from the sign-in link's fragment. A whole sign-in URL is accepted too: only the part after its last '#' is used. */
|
|
1518
|
+
link?: null | string;
|
|
1519
|
+
};
|
|
1288
1520
|
WarningDto: {
|
|
1289
1521
|
code: string;
|
|
1290
1522
|
lineId?: null | string;
|
|
@@ -1300,37 +1532,38 @@ export interface components {
|
|
|
1300
1532
|
}
|
|
1301
1533
|
export type $defs = Record<string, never>;
|
|
1302
1534
|
export interface operations {
|
|
1303
|
-
|
|
1535
|
+
StartSignIn: {
|
|
1304
1536
|
parameters: {
|
|
1305
|
-
query?:
|
|
1306
|
-
/** @description 1-based page. page × pageSize must not exceed 10000 (default pageSize 100, max 1000). */
|
|
1307
|
-
page?: number;
|
|
1308
|
-
/** @description Items per page, 1–1000. Out of range is a 400 with code INVALID_PAGE. */
|
|
1309
|
-
pageSize?: number;
|
|
1310
|
-
};
|
|
1537
|
+
query?: never;
|
|
1311
1538
|
header: {
|
|
1312
|
-
/** @description
|
|
1539
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
1313
1540
|
"X-Site-Key": string;
|
|
1314
1541
|
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
1315
1542
|
"X-Market"?: string;
|
|
1316
1543
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
1317
1544
|
"Accept-Language"?: string;
|
|
1545
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
1546
|
+
"X-Shopper-Ip"?: string;
|
|
1318
1547
|
};
|
|
1319
1548
|
path?: never;
|
|
1320
1549
|
cookie?: never;
|
|
1321
1550
|
};
|
|
1322
|
-
requestBody
|
|
1551
|
+
requestBody: {
|
|
1552
|
+
content: {
|
|
1553
|
+
"application/json": components["schemas"]["StartSignInRequest"];
|
|
1554
|
+
};
|
|
1555
|
+
};
|
|
1323
1556
|
responses: {
|
|
1324
|
-
/** @description
|
|
1325
|
-
|
|
1557
|
+
/** @description Accepted */
|
|
1558
|
+
202: {
|
|
1326
1559
|
headers: {
|
|
1327
1560
|
[name: string]: unknown;
|
|
1328
1561
|
};
|
|
1329
1562
|
content: {
|
|
1330
|
-
"application/json": components["schemas"]["
|
|
1563
|
+
"application/json": components["schemas"]["SignInStartedDto"];
|
|
1331
1564
|
};
|
|
1332
1565
|
};
|
|
1333
|
-
/** @description problem+json.
|
|
1566
|
+
/** @description problem+json. INVALID_EMAIL (email missing, longer than 320 characters, or not an address), or MARKET_UNKNOWN. An unsafe returnPath is dropped, not refused. */
|
|
1334
1567
|
400: {
|
|
1335
1568
|
headers: {
|
|
1336
1569
|
[name: string]: unknown;
|
|
@@ -1339,7 +1572,7 @@ export interface operations {
|
|
|
1339
1572
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1340
1573
|
};
|
|
1341
1574
|
};
|
|
1342
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
1575
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session header is sent and does not validate. */
|
|
1343
1576
|
401: {
|
|
1344
1577
|
headers: {
|
|
1345
1578
|
[name: string]: unknown;
|
|
@@ -1348,7 +1581,7 @@ export interface operations {
|
|
|
1348
1581
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1349
1582
|
};
|
|
1350
1583
|
};
|
|
1351
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER
|
|
1584
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). */
|
|
1352
1585
|
403: {
|
|
1353
1586
|
headers: {
|
|
1354
1587
|
[name: string]: unknown;
|
|
@@ -1357,7 +1590,7 @@ export interface operations {
|
|
|
1357
1590
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1358
1591
|
};
|
|
1359
1592
|
};
|
|
1360
|
-
/** @description problem+json.
|
|
1593
|
+
/** @description problem+json. ACCOUNTS_DISABLED: the site has no shopper accounts; or SITE_INACTIVE (sign-in closes with the catalogue). */
|
|
1361
1594
|
404: {
|
|
1362
1595
|
headers: {
|
|
1363
1596
|
[name: string]: unknown;
|
|
@@ -1375,7 +1608,7 @@ export interface operations {
|
|
|
1375
1608
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1376
1609
|
};
|
|
1377
1610
|
};
|
|
1378
|
-
/** @description problem+json.
|
|
1611
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
1379
1612
|
503: {
|
|
1380
1613
|
headers: {
|
|
1381
1614
|
[name: string]: unknown;
|
|
@@ -1386,23 +1619,29 @@ export interface operations {
|
|
|
1386
1619
|
};
|
|
1387
1620
|
};
|
|
1388
1621
|
};
|
|
1389
|
-
|
|
1622
|
+
VerifySignIn: {
|
|
1390
1623
|
parameters: {
|
|
1391
1624
|
query?: never;
|
|
1392
1625
|
header: {
|
|
1393
|
-
/** @description
|
|
1626
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
1394
1627
|
"X-Site-Key": string;
|
|
1395
1628
|
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
1396
1629
|
"X-Market"?: string;
|
|
1397
1630
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
1398
1631
|
"Accept-Language"?: string;
|
|
1632
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
1633
|
+
"X-Shopper-Ip"?: string;
|
|
1634
|
+
/** @description Optional. The browser's cart, for the cart resolution at sign-in (accounts B3). */
|
|
1635
|
+
"X-Cart-Token"?: string;
|
|
1399
1636
|
};
|
|
1400
|
-
path
|
|
1401
|
-
slugOrId: string;
|
|
1402
|
-
};
|
|
1637
|
+
path?: never;
|
|
1403
1638
|
cookie?: never;
|
|
1404
1639
|
};
|
|
1405
|
-
requestBody
|
|
1640
|
+
requestBody: {
|
|
1641
|
+
content: {
|
|
1642
|
+
"application/json": components["schemas"]["VerifySignInRequest"];
|
|
1643
|
+
};
|
|
1644
|
+
};
|
|
1406
1645
|
responses: {
|
|
1407
1646
|
/** @description OK */
|
|
1408
1647
|
200: {
|
|
@@ -1410,10 +1649,10 @@ export interface operations {
|
|
|
1410
1649
|
[name: string]: unknown;
|
|
1411
1650
|
};
|
|
1412
1651
|
content: {
|
|
1413
|
-
"application/json": components["schemas"]["
|
|
1652
|
+
"application/json": components["schemas"]["SignedInDto"];
|
|
1414
1653
|
};
|
|
1415
1654
|
};
|
|
1416
|
-
/** @description problem+json.
|
|
1655
|
+
/** @description problem+json. SIGN_IN_INVALID: one code for a wrong, expired, exhausted (5 attempts), consumed or ineligible challenge and for a malformed body — start a new sign-in. Or MARKET_UNKNOWN. */
|
|
1417
1656
|
400: {
|
|
1418
1657
|
headers: {
|
|
1419
1658
|
[name: string]: unknown;
|
|
@@ -1422,7 +1661,7 @@ export interface operations {
|
|
|
1422
1661
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1423
1662
|
};
|
|
1424
1663
|
};
|
|
1425
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
1664
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session header is sent and does not validate. */
|
|
1426
1665
|
401: {
|
|
1427
1666
|
headers: {
|
|
1428
1667
|
[name: string]: unknown;
|
|
@@ -1431,7 +1670,7 @@ export interface operations {
|
|
|
1431
1670
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1432
1671
|
};
|
|
1433
1672
|
};
|
|
1434
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER
|
|
1673
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). */
|
|
1435
1674
|
403: {
|
|
1436
1675
|
headers: {
|
|
1437
1676
|
[name: string]: unknown;
|
|
@@ -1440,7 +1679,7 @@ export interface operations {
|
|
|
1440
1679
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1441
1680
|
};
|
|
1442
1681
|
};
|
|
1443
|
-
/** @description problem+json.
|
|
1682
|
+
/** @description problem+json. ACCOUNTS_DISABLED: the site has no shopper accounts; or SITE_INACTIVE (sign-in closes with the catalogue). */
|
|
1444
1683
|
404: {
|
|
1445
1684
|
headers: {
|
|
1446
1685
|
[name: string]: unknown;
|
|
@@ -1449,6 +1688,15 @@ export interface operations {
|
|
|
1449
1688
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1450
1689
|
};
|
|
1451
1690
|
};
|
|
1691
|
+
/** @description problem+json. SIGN_IN_CONFIRM_REQUIRED: the code or link is right but this browser has no binding. The problem carries maskedEmail and siteName for the "Sign in on this device?" question; repeat the request with confirm: true. */
|
|
1692
|
+
409: {
|
|
1693
|
+
headers: {
|
|
1694
|
+
[name: string]: unknown;
|
|
1695
|
+
};
|
|
1696
|
+
content: {
|
|
1697
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1698
|
+
};
|
|
1699
|
+
};
|
|
1452
1700
|
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
1453
1701
|
429: {
|
|
1454
1702
|
headers: {
|
|
@@ -1458,7 +1706,7 @@ export interface operations {
|
|
|
1458
1706
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1459
1707
|
};
|
|
1460
1708
|
};
|
|
1461
|
-
/** @description problem+json.
|
|
1709
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
1462
1710
|
503: {
|
|
1463
1711
|
headers: {
|
|
1464
1712
|
[name: string]: unknown;
|
|
@@ -1469,34 +1717,36 @@ export interface operations {
|
|
|
1469
1717
|
};
|
|
1470
1718
|
};
|
|
1471
1719
|
};
|
|
1472
|
-
|
|
1720
|
+
SignOut: {
|
|
1473
1721
|
parameters: {
|
|
1474
1722
|
query?: never;
|
|
1475
1723
|
header: {
|
|
1476
|
-
/** @description
|
|
1724
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
1477
1725
|
"X-Site-Key": string;
|
|
1478
1726
|
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
1479
1727
|
"X-Market"?: string;
|
|
1480
1728
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
1481
1729
|
"Accept-Language"?: string;
|
|
1482
|
-
/** @description The
|
|
1483
|
-
"X-
|
|
1730
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
1731
|
+
"X-Shopper-Ip"?: string;
|
|
1484
1732
|
};
|
|
1485
1733
|
path?: never;
|
|
1486
1734
|
cookie?: never;
|
|
1487
1735
|
};
|
|
1488
|
-
requestBody?:
|
|
1736
|
+
requestBody?: {
|
|
1737
|
+
content: {
|
|
1738
|
+
"application/json": components["schemas"]["SignOutRequest"];
|
|
1739
|
+
};
|
|
1740
|
+
};
|
|
1489
1741
|
responses: {
|
|
1490
|
-
/** @description
|
|
1491
|
-
|
|
1742
|
+
/** @description No Content */
|
|
1743
|
+
204: {
|
|
1492
1744
|
headers: {
|
|
1493
1745
|
[name: string]: unknown;
|
|
1494
1746
|
};
|
|
1495
|
-
content
|
|
1496
|
-
"application/json": components["schemas"]["CartDto"];
|
|
1497
|
-
};
|
|
1747
|
+
content?: never;
|
|
1498
1748
|
};
|
|
1499
|
-
/** @description problem+json.
|
|
1749
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site). */
|
|
1500
1750
|
400: {
|
|
1501
1751
|
headers: {
|
|
1502
1752
|
[name: string]: unknown;
|
|
@@ -1505,7 +1755,7 @@ export interface operations {
|
|
|
1505
1755
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1506
1756
|
};
|
|
1507
1757
|
};
|
|
1508
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
1758
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_REQUIRED (no X-Shopper-Session) or SESSION_INVALID (unknown, expired or revoked; a session is never silently dropped). Render signed-out and clear the session cookie. */
|
|
1509
1759
|
401: {
|
|
1510
1760
|
headers: {
|
|
1511
1761
|
[name: string]: unknown;
|
|
@@ -1514,7 +1764,7 @@ export interface operations {
|
|
|
1514
1764
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1515
1765
|
};
|
|
1516
1766
|
};
|
|
1517
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER
|
|
1767
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). */
|
|
1518
1768
|
403: {
|
|
1519
1769
|
headers: {
|
|
1520
1770
|
[name: string]: unknown;
|
|
@@ -1523,7 +1773,7 @@ export interface operations {
|
|
|
1523
1773
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1524
1774
|
};
|
|
1525
1775
|
};
|
|
1526
|
-
/** @description problem+json.
|
|
1776
|
+
/** @description problem+json. ACCOUNTS_DISABLED: the site has no shopper accounts. Works on a paused site (no SITE_INACTIVE). */
|
|
1527
1777
|
404: {
|
|
1528
1778
|
headers: {
|
|
1529
1779
|
[name: string]: unknown;
|
|
@@ -1532,15 +1782,6 @@ export interface operations {
|
|
|
1532
1782
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1533
1783
|
};
|
|
1534
1784
|
};
|
|
1535
|
-
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
1536
|
-
410: {
|
|
1537
|
-
headers: {
|
|
1538
|
-
[name: string]: unknown;
|
|
1539
|
-
};
|
|
1540
|
-
content: {
|
|
1541
|
-
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1542
|
-
};
|
|
1543
|
-
};
|
|
1544
1785
|
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
1545
1786
|
429: {
|
|
1546
1787
|
headers: {
|
|
@@ -1550,7 +1791,7 @@ export interface operations {
|
|
|
1550
1791
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1551
1792
|
};
|
|
1552
1793
|
};
|
|
1553
|
-
/** @description problem+json.
|
|
1794
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
1554
1795
|
503: {
|
|
1555
1796
|
headers: {
|
|
1556
1797
|
[name: string]: unknown;
|
|
@@ -1561,9 +1802,14 @@ export interface operations {
|
|
|
1561
1802
|
};
|
|
1562
1803
|
};
|
|
1563
1804
|
};
|
|
1564
|
-
|
|
1805
|
+
ListBrands: {
|
|
1565
1806
|
parameters: {
|
|
1566
|
-
query?:
|
|
1807
|
+
query?: {
|
|
1808
|
+
/** @description 1-based page. page × pageSize must not exceed 10000 (default pageSize 100, max 1000). */
|
|
1809
|
+
page?: number;
|
|
1810
|
+
/** @description Items per page, 1–1000. Out of range is a 400 with code INVALID_PAGE. */
|
|
1811
|
+
pageSize?: number;
|
|
1812
|
+
};
|
|
1567
1813
|
header: {
|
|
1568
1814
|
/** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
|
|
1569
1815
|
"X-Site-Key": string;
|
|
@@ -1583,7 +1829,7 @@ export interface operations {
|
|
|
1583
1829
|
[name: string]: unknown;
|
|
1584
1830
|
};
|
|
1585
1831
|
content: {
|
|
1586
|
-
"application/json": components["schemas"]["
|
|
1832
|
+
"application/json": components["schemas"]["BrandPageDto"];
|
|
1587
1833
|
};
|
|
1588
1834
|
};
|
|
1589
1835
|
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
|
|
@@ -1642,7 +1888,7 @@ export interface operations {
|
|
|
1642
1888
|
};
|
|
1643
1889
|
};
|
|
1644
1890
|
};
|
|
1645
|
-
|
|
1891
|
+
GetBrand: {
|
|
1646
1892
|
parameters: {
|
|
1647
1893
|
query?: never;
|
|
1648
1894
|
header: {
|
|
@@ -1652,21 +1898,13 @@ export interface operations {
|
|
|
1652
1898
|
"X-Market"?: string;
|
|
1653
1899
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
1654
1900
|
"Accept-Language"?: string;
|
|
1655
|
-
/** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
|
|
1656
|
-
"X-Cart-Token": string;
|
|
1657
|
-
/** @description An opaque client-chosen key. Replaying the exact same add with the same key is a no-op (the line's quantity is not added twice); a different key, or none, tops the existing line up like any other add. */
|
|
1658
|
-
"Idempotency-Key"?: string;
|
|
1659
|
-
/** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
|
|
1660
|
-
"If-Match"?: string;
|
|
1661
1901
|
};
|
|
1662
|
-
path
|
|
1902
|
+
path: {
|
|
1903
|
+
slugOrId: string;
|
|
1904
|
+
};
|
|
1663
1905
|
cookie?: never;
|
|
1664
1906
|
};
|
|
1665
|
-
requestBody
|
|
1666
|
-
content: {
|
|
1667
|
-
"application/json": components["schemas"]["AddCartLineRequest"];
|
|
1668
|
-
};
|
|
1669
|
-
};
|
|
1907
|
+
requestBody?: never;
|
|
1670
1908
|
responses: {
|
|
1671
1909
|
/** @description OK */
|
|
1672
1910
|
200: {
|
|
@@ -1674,10 +1912,10 @@ export interface operations {
|
|
|
1674
1912
|
[name: string]: unknown;
|
|
1675
1913
|
};
|
|
1676
1914
|
content: {
|
|
1677
|
-
"application/json": components["schemas"]["
|
|
1915
|
+
"application/json": components["schemas"]["BrandDetailDto"];
|
|
1678
1916
|
};
|
|
1679
1917
|
};
|
|
1680
|
-
/** @description problem+json.
|
|
1918
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
|
|
1681
1919
|
400: {
|
|
1682
1920
|
headers: {
|
|
1683
1921
|
[name: string]: unknown;
|
|
@@ -1704,7 +1942,7 @@ export interface operations {
|
|
|
1704
1942
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1705
1943
|
};
|
|
1706
1944
|
};
|
|
1707
|
-
/** @description problem+json.
|
|
1945
|
+
/** @description problem+json. BRAND_NOT_FOUND, or SITE_INACTIVE when the site itself is not live. */
|
|
1708
1946
|
404: {
|
|
1709
1947
|
headers: {
|
|
1710
1948
|
[name: string]: unknown;
|
|
@@ -1713,24 +1951,6 @@ export interface operations {
|
|
|
1713
1951
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1714
1952
|
};
|
|
1715
1953
|
};
|
|
1716
|
-
/** @description problem+json. CART_CONFLICT (stale If-Match), STOCK_INSUFFICIENT, or PRODUCT_GONE. */
|
|
1717
|
-
409: {
|
|
1718
|
-
headers: {
|
|
1719
|
-
[name: string]: unknown;
|
|
1720
|
-
};
|
|
1721
|
-
content: {
|
|
1722
|
-
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1723
|
-
};
|
|
1724
|
-
};
|
|
1725
|
-
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
1726
|
-
410: {
|
|
1727
|
-
headers: {
|
|
1728
|
-
[name: string]: unknown;
|
|
1729
|
-
};
|
|
1730
|
-
content: {
|
|
1731
|
-
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1732
|
-
};
|
|
1733
|
-
};
|
|
1734
1954
|
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
1735
1955
|
429: {
|
|
1736
1956
|
headers: {
|
|
@@ -1751,7 +1971,7 @@ export interface operations {
|
|
|
1751
1971
|
};
|
|
1752
1972
|
};
|
|
1753
1973
|
};
|
|
1754
|
-
|
|
1974
|
+
GetCart: {
|
|
1755
1975
|
parameters: {
|
|
1756
1976
|
query?: never;
|
|
1757
1977
|
header: {
|
|
@@ -1763,12 +1983,10 @@ export interface operations {
|
|
|
1763
1983
|
"Accept-Language"?: string;
|
|
1764
1984
|
/** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
|
|
1765
1985
|
"X-Cart-Token": string;
|
|
1766
|
-
/** @description The
|
|
1767
|
-
"
|
|
1768
|
-
};
|
|
1769
|
-
path: {
|
|
1770
|
-
id: string;
|
|
1986
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
1987
|
+
"X-Shopper-Session"?: string;
|
|
1771
1988
|
};
|
|
1989
|
+
path?: never;
|
|
1772
1990
|
cookie?: never;
|
|
1773
1991
|
};
|
|
1774
1992
|
requestBody?: never;
|
|
@@ -1791,7 +2009,7 @@ export interface operations {
|
|
|
1791
2009
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1792
2010
|
};
|
|
1793
2011
|
};
|
|
1794
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
2012
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
1795
2013
|
401: {
|
|
1796
2014
|
headers: {
|
|
1797
2015
|
[name: string]: unknown;
|
|
@@ -1800,7 +2018,7 @@ export interface operations {
|
|
|
1800
2018
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1801
2019
|
};
|
|
1802
2020
|
};
|
|
1803
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
2021
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). */
|
|
1804
2022
|
403: {
|
|
1805
2023
|
headers: {
|
|
1806
2024
|
[name: string]: unknown;
|
|
@@ -1809,7 +2027,7 @@ export interface operations {
|
|
|
1809
2027
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1810
2028
|
};
|
|
1811
2029
|
};
|
|
1812
|
-
/** @description problem+json.
|
|
2030
|
+
/** @description problem+json. NOT_FOUND: no such cart. The same answer for a saved cart of another principal or account (with or without a session) and for a cart whose owner was erased. Or SITE_INACTIVE. */
|
|
1813
2031
|
404: {
|
|
1814
2032
|
headers: {
|
|
1815
2033
|
[name: string]: unknown;
|
|
@@ -1818,15 +2036,6 @@ export interface operations {
|
|
|
1818
2036
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1819
2037
|
};
|
|
1820
2038
|
};
|
|
1821
|
-
/** @description problem+json. CART_CONFLICT (stale If-Match). */
|
|
1822
|
-
409: {
|
|
1823
|
-
headers: {
|
|
1824
|
-
[name: string]: unknown;
|
|
1825
|
-
};
|
|
1826
|
-
content: {
|
|
1827
|
-
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1828
|
-
};
|
|
1829
|
-
};
|
|
1830
2039
|
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
1831
2040
|
410: {
|
|
1832
2041
|
headers: {
|
|
@@ -1856,7 +2065,7 @@ export interface operations {
|
|
|
1856
2065
|
};
|
|
1857
2066
|
};
|
|
1858
2067
|
};
|
|
1859
|
-
|
|
2068
|
+
CreateCart: {
|
|
1860
2069
|
parameters: {
|
|
1861
2070
|
query?: never;
|
|
1862
2071
|
header: {
|
|
@@ -1866,21 +2075,13 @@ export interface operations {
|
|
|
1866
2075
|
"X-Market"?: string;
|
|
1867
2076
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
1868
2077
|
"Accept-Language"?: string;
|
|
1869
|
-
/** @description The
|
|
1870
|
-
"X-
|
|
1871
|
-
/** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
|
|
1872
|
-
"If-Match"?: string;
|
|
1873
|
-
};
|
|
1874
|
-
path: {
|
|
1875
|
-
id: string;
|
|
2078
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2079
|
+
"X-Shopper-Session"?: string;
|
|
1876
2080
|
};
|
|
2081
|
+
path?: never;
|
|
1877
2082
|
cookie?: never;
|
|
1878
2083
|
};
|
|
1879
|
-
requestBody
|
|
1880
|
-
content: {
|
|
1881
|
-
"application/json": components["schemas"]["UpdateCartLineRequest"];
|
|
1882
|
-
};
|
|
1883
|
-
};
|
|
2084
|
+
requestBody?: never;
|
|
1884
2085
|
responses: {
|
|
1885
2086
|
/** @description OK */
|
|
1886
2087
|
200: {
|
|
@@ -1891,7 +2092,7 @@ export interface operations {
|
|
|
1891
2092
|
"application/json": components["schemas"]["CartDto"];
|
|
1892
2093
|
};
|
|
1893
2094
|
};
|
|
1894
|
-
/** @description problem+json.
|
|
2095
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
|
|
1895
2096
|
400: {
|
|
1896
2097
|
headers: {
|
|
1897
2098
|
[name: string]: unknown;
|
|
@@ -1900,7 +2101,7 @@ export interface operations {
|
|
|
1900
2101
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1901
2102
|
};
|
|
1902
2103
|
};
|
|
1903
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
2104
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
1904
2105
|
401: {
|
|
1905
2106
|
headers: {
|
|
1906
2107
|
[name: string]: unknown;
|
|
@@ -1909,7 +2110,7 @@ export interface operations {
|
|
|
1909
2110
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1910
2111
|
};
|
|
1911
2112
|
};
|
|
1912
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
2113
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). PERMISSION_DENIED (extension permission: cart.edit): the principal may not change its saved cart. */
|
|
1913
2114
|
403: {
|
|
1914
2115
|
headers: {
|
|
1915
2116
|
[name: string]: unknown;
|
|
@@ -1927,24 +2128,6 @@ export interface operations {
|
|
|
1927
2128
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1928
2129
|
};
|
|
1929
2130
|
};
|
|
1930
|
-
/** @description problem+json. CART_CONFLICT (stale If-Match), STOCK_INSUFFICIENT, or PRODUCT_GONE. */
|
|
1931
|
-
409: {
|
|
1932
|
-
headers: {
|
|
1933
|
-
[name: string]: unknown;
|
|
1934
|
-
};
|
|
1935
|
-
content: {
|
|
1936
|
-
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1937
|
-
};
|
|
1938
|
-
};
|
|
1939
|
-
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
1940
|
-
410: {
|
|
1941
|
-
headers: {
|
|
1942
|
-
[name: string]: unknown;
|
|
1943
|
-
};
|
|
1944
|
-
content: {
|
|
1945
|
-
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
1946
|
-
};
|
|
1947
|
-
};
|
|
1948
2131
|
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
1949
2132
|
429: {
|
|
1950
2133
|
headers: {
|
|
@@ -1965,7 +2148,7 @@ export interface operations {
|
|
|
1965
2148
|
};
|
|
1966
2149
|
};
|
|
1967
2150
|
};
|
|
1968
|
-
|
|
2151
|
+
AddCartLine: {
|
|
1969
2152
|
parameters: {
|
|
1970
2153
|
query?: never;
|
|
1971
2154
|
header: {
|
|
@@ -1977,15 +2160,19 @@ export interface operations {
|
|
|
1977
2160
|
"Accept-Language"?: string;
|
|
1978
2161
|
/** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
|
|
1979
2162
|
"X-Cart-Token": string;
|
|
2163
|
+
/** @description An opaque client-chosen key. Replaying the exact same add with the same key is a no-op (the line's quantity is not added twice); a different key, or none, tops the existing line up like any other add. */
|
|
2164
|
+
"Idempotency-Key"?: string;
|
|
1980
2165
|
/** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
|
|
1981
2166
|
"If-Match"?: string;
|
|
2167
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2168
|
+
"X-Shopper-Session"?: string;
|
|
1982
2169
|
};
|
|
1983
2170
|
path?: never;
|
|
1984
2171
|
cookie?: never;
|
|
1985
2172
|
};
|
|
1986
2173
|
requestBody: {
|
|
1987
2174
|
content: {
|
|
1988
|
-
"application/json": components["schemas"]["
|
|
2175
|
+
"application/json": components["schemas"]["AddCartLineRequest"];
|
|
1989
2176
|
};
|
|
1990
2177
|
};
|
|
1991
2178
|
responses: {
|
|
@@ -1998,7 +2185,7 @@ export interface operations {
|
|
|
1998
2185
|
"application/json": components["schemas"]["CartDto"];
|
|
1999
2186
|
};
|
|
2000
2187
|
};
|
|
2001
|
-
/** @description problem+json. NOT_FOUND (X-Cart-Token missing), or
|
|
2188
|
+
/** @description problem+json. NOT_FOUND (X-Cart-Token missing), INVALID_QUANTITY, or CART_FULL. */
|
|
2002
2189
|
400: {
|
|
2003
2190
|
headers: {
|
|
2004
2191
|
[name: string]: unknown;
|
|
@@ -2007,7 +2194,7 @@ export interface operations {
|
|
|
2007
2194
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2008
2195
|
};
|
|
2009
2196
|
};
|
|
2010
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
2197
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
2011
2198
|
401: {
|
|
2012
2199
|
headers: {
|
|
2013
2200
|
[name: string]: unknown;
|
|
@@ -2016,7 +2203,7 @@ export interface operations {
|
|
|
2016
2203
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2017
2204
|
};
|
|
2018
2205
|
};
|
|
2019
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
2206
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). PERMISSION_DENIED (extension permission: cart.edit): the principal may not change its saved cart. */
|
|
2020
2207
|
403: {
|
|
2021
2208
|
headers: {
|
|
2022
2209
|
[name: string]: unknown;
|
|
@@ -2025,7 +2212,7 @@ export interface operations {
|
|
|
2025
2212
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2026
2213
|
};
|
|
2027
2214
|
};
|
|
2028
|
-
/** @description problem+json.
|
|
2215
|
+
/** @description problem+json. NOT_FOUND: no such cart. The same answer for a saved cart of another principal or account (with or without a session) and for a cart whose owner was erased. Or SITE_INACTIVE. */
|
|
2029
2216
|
404: {
|
|
2030
2217
|
headers: {
|
|
2031
2218
|
[name: string]: unknown;
|
|
@@ -2034,7 +2221,7 @@ export interface operations {
|
|
|
2034
2221
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2035
2222
|
};
|
|
2036
2223
|
};
|
|
2037
|
-
/** @description problem+json. CART_CONFLICT (stale If-Match). */
|
|
2224
|
+
/** @description problem+json. CART_CONFLICT (stale If-Match), STOCK_INSUFFICIENT, or PRODUCT_GONE. */
|
|
2038
2225
|
409: {
|
|
2039
2226
|
headers: {
|
|
2040
2227
|
[name: string]: unknown;
|
|
@@ -2072,7 +2259,7 @@ export interface operations {
|
|
|
2072
2259
|
};
|
|
2073
2260
|
};
|
|
2074
2261
|
};
|
|
2075
|
-
|
|
2262
|
+
RemoveCartLine: {
|
|
2076
2263
|
parameters: {
|
|
2077
2264
|
query?: never;
|
|
2078
2265
|
header: {
|
|
@@ -2084,8 +2271,14 @@ export interface operations {
|
|
|
2084
2271
|
"Accept-Language"?: string;
|
|
2085
2272
|
/** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
|
|
2086
2273
|
"X-Cart-Token": string;
|
|
2274
|
+
/** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
|
|
2275
|
+
"If-Match"?: string;
|
|
2276
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2277
|
+
"X-Shopper-Session"?: string;
|
|
2278
|
+
};
|
|
2279
|
+
path: {
|
|
2280
|
+
id: string;
|
|
2087
2281
|
};
|
|
2088
|
-
path?: never;
|
|
2089
2282
|
cookie?: never;
|
|
2090
2283
|
};
|
|
2091
2284
|
requestBody?: never;
|
|
@@ -2096,7 +2289,7 @@ export interface operations {
|
|
|
2096
2289
|
[name: string]: unknown;
|
|
2097
2290
|
};
|
|
2098
2291
|
content: {
|
|
2099
|
-
"application/json": components["schemas"]["
|
|
2292
|
+
"application/json": components["schemas"]["CartDto"];
|
|
2100
2293
|
};
|
|
2101
2294
|
};
|
|
2102
2295
|
/** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
|
|
@@ -2108,7 +2301,7 @@ export interface operations {
|
|
|
2108
2301
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2109
2302
|
};
|
|
2110
2303
|
};
|
|
2111
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
2304
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
2112
2305
|
401: {
|
|
2113
2306
|
headers: {
|
|
2114
2307
|
[name: string]: unknown;
|
|
@@ -2117,7 +2310,7 @@ export interface operations {
|
|
|
2117
2310
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2118
2311
|
};
|
|
2119
2312
|
};
|
|
2120
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
2313
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). PERMISSION_DENIED (extension permission: cart.edit): the principal may not change its saved cart. */
|
|
2121
2314
|
403: {
|
|
2122
2315
|
headers: {
|
|
2123
2316
|
[name: string]: unknown;
|
|
@@ -2126,7 +2319,7 @@ export interface operations {
|
|
|
2126
2319
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2127
2320
|
};
|
|
2128
2321
|
};
|
|
2129
|
-
/** @description problem+json.
|
|
2322
|
+
/** @description problem+json. NOT_FOUND: no such cart. The same answer for a saved cart of another principal or account (with or without a session) and for a cart whose owner was erased. Or SITE_INACTIVE. */
|
|
2130
2323
|
404: {
|
|
2131
2324
|
headers: {
|
|
2132
2325
|
[name: string]: unknown;
|
|
@@ -2135,6 +2328,15 @@ export interface operations {
|
|
|
2135
2328
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2136
2329
|
};
|
|
2137
2330
|
};
|
|
2331
|
+
/** @description problem+json. CART_CONFLICT (stale If-Match). */
|
|
2332
|
+
409: {
|
|
2333
|
+
headers: {
|
|
2334
|
+
[name: string]: unknown;
|
|
2335
|
+
};
|
|
2336
|
+
content: {
|
|
2337
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2338
|
+
};
|
|
2339
|
+
};
|
|
2138
2340
|
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
2139
2341
|
410: {
|
|
2140
2342
|
headers: {
|
|
@@ -2164,7 +2366,7 @@ export interface operations {
|
|
|
2164
2366
|
};
|
|
2165
2367
|
};
|
|
2166
2368
|
};
|
|
2167
|
-
|
|
2369
|
+
UpdateCartLine: {
|
|
2168
2370
|
parameters: {
|
|
2169
2371
|
query?: never;
|
|
2170
2372
|
header: {
|
|
@@ -2174,11 +2376,23 @@ export interface operations {
|
|
|
2174
2376
|
"X-Market"?: string;
|
|
2175
2377
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2176
2378
|
"Accept-Language"?: string;
|
|
2379
|
+
/** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
|
|
2380
|
+
"X-Cart-Token": string;
|
|
2381
|
+
/** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
|
|
2382
|
+
"If-Match"?: string;
|
|
2383
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2384
|
+
"X-Shopper-Session"?: string;
|
|
2385
|
+
};
|
|
2386
|
+
path: {
|
|
2387
|
+
id: string;
|
|
2177
2388
|
};
|
|
2178
|
-
path?: never;
|
|
2179
2389
|
cookie?: never;
|
|
2180
2390
|
};
|
|
2181
|
-
requestBody
|
|
2391
|
+
requestBody: {
|
|
2392
|
+
content: {
|
|
2393
|
+
"application/json": components["schemas"]["UpdateCartLineRequest"];
|
|
2394
|
+
};
|
|
2395
|
+
};
|
|
2182
2396
|
responses: {
|
|
2183
2397
|
/** @description OK */
|
|
2184
2398
|
200: {
|
|
@@ -2186,10 +2400,10 @@ export interface operations {
|
|
|
2186
2400
|
[name: string]: unknown;
|
|
2187
2401
|
};
|
|
2188
2402
|
content: {
|
|
2189
|
-
"application/json": components["schemas"]["
|
|
2403
|
+
"application/json": components["schemas"]["CartDto"];
|
|
2190
2404
|
};
|
|
2191
2405
|
};
|
|
2192
|
-
/** @description problem+json.
|
|
2406
|
+
/** @description problem+json. NOT_FOUND (X-Cart-Token missing), or INVALID_QUANTITY. */
|
|
2193
2407
|
400: {
|
|
2194
2408
|
headers: {
|
|
2195
2409
|
[name: string]: unknown;
|
|
@@ -2198,7 +2412,7 @@ export interface operations {
|
|
|
2198
2412
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2199
2413
|
};
|
|
2200
2414
|
};
|
|
2201
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
2415
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
2202
2416
|
401: {
|
|
2203
2417
|
headers: {
|
|
2204
2418
|
[name: string]: unknown;
|
|
@@ -2207,7 +2421,7 @@ export interface operations {
|
|
|
2207
2421
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2208
2422
|
};
|
|
2209
2423
|
};
|
|
2210
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
2424
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). PERMISSION_DENIED (extension permission: cart.edit): the principal may not change its saved cart. */
|
|
2211
2425
|
403: {
|
|
2212
2426
|
headers: {
|
|
2213
2427
|
[name: string]: unknown;
|
|
@@ -2216,7 +2430,7 @@ export interface operations {
|
|
|
2216
2430
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2217
2431
|
};
|
|
2218
2432
|
};
|
|
2219
|
-
/** @description problem+json.
|
|
2433
|
+
/** @description problem+json. NOT_FOUND: no such cart. The same answer for a saved cart of another principal or account (with or without a session) and for a cart whose owner was erased. Or SITE_INACTIVE. */
|
|
2220
2434
|
404: {
|
|
2221
2435
|
headers: {
|
|
2222
2436
|
[name: string]: unknown;
|
|
@@ -2225,6 +2439,24 @@ export interface operations {
|
|
|
2225
2439
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2226
2440
|
};
|
|
2227
2441
|
};
|
|
2442
|
+
/** @description problem+json. CART_CONFLICT (stale If-Match), STOCK_INSUFFICIENT, or PRODUCT_GONE. */
|
|
2443
|
+
409: {
|
|
2444
|
+
headers: {
|
|
2445
|
+
[name: string]: unknown;
|
|
2446
|
+
};
|
|
2447
|
+
content: {
|
|
2448
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2449
|
+
};
|
|
2450
|
+
};
|
|
2451
|
+
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
2452
|
+
410: {
|
|
2453
|
+
headers: {
|
|
2454
|
+
[name: string]: unknown;
|
|
2455
|
+
};
|
|
2456
|
+
content: {
|
|
2457
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2458
|
+
};
|
|
2459
|
+
};
|
|
2228
2460
|
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
2229
2461
|
429: {
|
|
2230
2462
|
headers: {
|
|
@@ -2245,7 +2477,7 @@ export interface operations {
|
|
|
2245
2477
|
};
|
|
2246
2478
|
};
|
|
2247
2479
|
};
|
|
2248
|
-
|
|
2480
|
+
SetCartMarket: {
|
|
2249
2481
|
parameters: {
|
|
2250
2482
|
query?: never;
|
|
2251
2483
|
header: {
|
|
@@ -2255,15 +2487,19 @@ export interface operations {
|
|
|
2255
2487
|
"X-Market"?: string;
|
|
2256
2488
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2257
2489
|
"Accept-Language"?: string;
|
|
2258
|
-
/** @description The
|
|
2490
|
+
/** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
|
|
2259
2491
|
"X-Cart-Token": string;
|
|
2492
|
+
/** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
|
|
2493
|
+
"If-Match"?: string;
|
|
2494
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2495
|
+
"X-Shopper-Session"?: string;
|
|
2260
2496
|
};
|
|
2261
2497
|
path?: never;
|
|
2262
2498
|
cookie?: never;
|
|
2263
2499
|
};
|
|
2264
|
-
requestBody
|
|
2500
|
+
requestBody: {
|
|
2265
2501
|
content: {
|
|
2266
|
-
"application/json":
|
|
2502
|
+
"application/json": components["schemas"]["SetCartMarketRequest"];
|
|
2267
2503
|
};
|
|
2268
2504
|
};
|
|
2269
2505
|
responses: {
|
|
@@ -2273,10 +2509,10 @@ export interface operations {
|
|
|
2273
2509
|
[name: string]: unknown;
|
|
2274
2510
|
};
|
|
2275
2511
|
content: {
|
|
2276
|
-
"application/json": components["schemas"]["
|
|
2512
|
+
"application/json": components["schemas"]["CartDto"];
|
|
2277
2513
|
};
|
|
2278
2514
|
};
|
|
2279
|
-
/** @description problem+json. NOT_FOUND (X-Cart-Token missing),
|
|
2515
|
+
/** @description problem+json. NOT_FOUND (X-Cart-Token missing), or MARKET_UNKNOWN. */
|
|
2280
2516
|
400: {
|
|
2281
2517
|
headers: {
|
|
2282
2518
|
[name: string]: unknown;
|
|
@@ -2285,7 +2521,7 @@ export interface operations {
|
|
|
2285
2521
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2286
2522
|
};
|
|
2287
2523
|
};
|
|
2288
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
2524
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
2289
2525
|
401: {
|
|
2290
2526
|
headers: {
|
|
2291
2527
|
[name: string]: unknown;
|
|
@@ -2294,7 +2530,7 @@ export interface operations {
|
|
|
2294
2530
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2295
2531
|
};
|
|
2296
2532
|
};
|
|
2297
|
-
/** @description problem+json.
|
|
2533
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). PERMISSION_DENIED (extension permission: cart.edit): the principal may not change its saved cart. */
|
|
2298
2534
|
403: {
|
|
2299
2535
|
headers: {
|
|
2300
2536
|
[name: string]: unknown;
|
|
@@ -2303,7 +2539,7 @@ export interface operations {
|
|
|
2303
2539
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2304
2540
|
};
|
|
2305
2541
|
};
|
|
2306
|
-
/** @description problem+json.
|
|
2542
|
+
/** @description problem+json. NOT_FOUND: no such cart. The same answer for a saved cart of another principal or account (with or without a session) and for a cart whose owner was erased. Or SITE_INACTIVE. */
|
|
2307
2543
|
404: {
|
|
2308
2544
|
headers: {
|
|
2309
2545
|
[name: string]: unknown;
|
|
@@ -2312,7 +2548,7 @@ export interface operations {
|
|
|
2312
2548
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2313
2549
|
};
|
|
2314
2550
|
};
|
|
2315
|
-
/** @description problem+json.
|
|
2551
|
+
/** @description problem+json. CART_CONFLICT (stale If-Match). */
|
|
2316
2552
|
409: {
|
|
2317
2553
|
headers: {
|
|
2318
2554
|
[name: string]: unknown;
|
|
@@ -2321,7 +2557,7 @@ export interface operations {
|
|
|
2321
2557
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2322
2558
|
};
|
|
2323
2559
|
};
|
|
2324
|
-
/** @description problem+json. CART_EXPIRED. */
|
|
2560
|
+
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
2325
2561
|
410: {
|
|
2326
2562
|
headers: {
|
|
2327
2563
|
[name: string]: unknown;
|
|
@@ -2339,16 +2575,7 @@ export interface operations {
|
|
|
2339
2575
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2340
2576
|
};
|
|
2341
2577
|
};
|
|
2342
|
-
/** @description problem+json.
|
|
2343
|
-
502: {
|
|
2344
|
-
headers: {
|
|
2345
|
-
[name: string]: unknown;
|
|
2346
|
-
};
|
|
2347
|
-
content: {
|
|
2348
|
-
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2349
|
-
};
|
|
2350
|
-
};
|
|
2351
|
-
/** @description problem+json. CHECKOUT_UNAVAILABLE, SHIPPING_UNAVAILABLE (the market's shipping configuration cannot be served) or CHECKOUT_PROVIDER_UNAVAILABLE (Retry-After); SITE_REGISTRY_WARMING. */
|
|
2578
|
+
/** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
|
|
2352
2579
|
503: {
|
|
2353
2580
|
headers: {
|
|
2354
2581
|
[name: string]: unknown;
|
|
@@ -2359,7 +2586,7 @@ export interface operations {
|
|
|
2359
2586
|
};
|
|
2360
2587
|
};
|
|
2361
2588
|
};
|
|
2362
|
-
|
|
2589
|
+
GetShippingEstimate: {
|
|
2363
2590
|
parameters: {
|
|
2364
2591
|
query?: never;
|
|
2365
2592
|
header: {
|
|
@@ -2369,12 +2596,12 @@ export interface operations {
|
|
|
2369
2596
|
"X-Market"?: string;
|
|
2370
2597
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2371
2598
|
"Accept-Language"?: string;
|
|
2372
|
-
/** @description The
|
|
2599
|
+
/** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
|
|
2373
2600
|
"X-Cart-Token": string;
|
|
2601
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2602
|
+
"X-Shopper-Session"?: string;
|
|
2374
2603
|
};
|
|
2375
|
-
path
|
|
2376
|
-
attemptId: string;
|
|
2377
|
-
};
|
|
2604
|
+
path?: never;
|
|
2378
2605
|
cookie?: never;
|
|
2379
2606
|
};
|
|
2380
2607
|
requestBody?: never;
|
|
@@ -2385,7 +2612,7 @@ export interface operations {
|
|
|
2385
2612
|
[name: string]: unknown;
|
|
2386
2613
|
};
|
|
2387
2614
|
content: {
|
|
2388
|
-
"application/json": components["schemas"]["
|
|
2615
|
+
"application/json": components["schemas"]["ShippingEstimateDto"];
|
|
2389
2616
|
};
|
|
2390
2617
|
};
|
|
2391
2618
|
/** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
|
|
@@ -2397,7 +2624,7 @@ export interface operations {
|
|
|
2397
2624
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2398
2625
|
};
|
|
2399
2626
|
};
|
|
2400
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
2627
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
2401
2628
|
401: {
|
|
2402
2629
|
headers: {
|
|
2403
2630
|
[name: string]: unknown;
|
|
@@ -2406,7 +2633,7 @@ export interface operations {
|
|
|
2406
2633
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2407
2634
|
};
|
|
2408
2635
|
};
|
|
2409
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
2636
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). */
|
|
2410
2637
|
403: {
|
|
2411
2638
|
headers: {
|
|
2412
2639
|
[name: string]: unknown;
|
|
@@ -2415,7 +2642,7 @@ export interface operations {
|
|
|
2415
2642
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2416
2643
|
};
|
|
2417
2644
|
};
|
|
2418
|
-
/** @description problem+json.
|
|
2645
|
+
/** @description problem+json. NOT_FOUND: no such cart. The same answer for a saved cart of another principal or account (with or without a session) and for a cart whose owner was erased. Or SITE_INACTIVE. */
|
|
2419
2646
|
404: {
|
|
2420
2647
|
headers: {
|
|
2421
2648
|
[name: string]: unknown;
|
|
@@ -2424,6 +2651,15 @@ export interface operations {
|
|
|
2424
2651
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2425
2652
|
};
|
|
2426
2653
|
};
|
|
2654
|
+
/** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
|
|
2655
|
+
410: {
|
|
2656
|
+
headers: {
|
|
2657
|
+
[name: string]: unknown;
|
|
2658
|
+
};
|
|
2659
|
+
content: {
|
|
2660
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2661
|
+
};
|
|
2662
|
+
};
|
|
2427
2663
|
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
2428
2664
|
429: {
|
|
2429
2665
|
headers: {
|
|
@@ -2444,7 +2680,7 @@ export interface operations {
|
|
|
2444
2680
|
};
|
|
2445
2681
|
};
|
|
2446
2682
|
};
|
|
2447
|
-
|
|
2683
|
+
GetCategories: {
|
|
2448
2684
|
parameters: {
|
|
2449
2685
|
query?: never;
|
|
2450
2686
|
header: {
|
|
@@ -2454,12 +2690,8 @@ export interface operations {
|
|
|
2454
2690
|
"X-Market"?: string;
|
|
2455
2691
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2456
2692
|
"Accept-Language"?: string;
|
|
2457
|
-
/** @description Optional. When it names the attempt's cart, the answer carries the order's access token (complete) or opens the order (orders). */
|
|
2458
|
-
"X-Cart-Token"?: string;
|
|
2459
|
-
};
|
|
2460
|
-
path: {
|
|
2461
|
-
attemptId: string;
|
|
2462
2693
|
};
|
|
2694
|
+
path?: never;
|
|
2463
2695
|
cookie?: never;
|
|
2464
2696
|
};
|
|
2465
2697
|
requestBody?: never;
|
|
@@ -2470,7 +2702,7 @@ export interface operations {
|
|
|
2470
2702
|
[name: string]: unknown;
|
|
2471
2703
|
};
|
|
2472
2704
|
content: {
|
|
2473
|
-
"application/json": components["schemas"]["
|
|
2705
|
+
"application/json": components["schemas"]["CategoryNodeDto"][];
|
|
2474
2706
|
};
|
|
2475
2707
|
};
|
|
2476
2708
|
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
|
|
@@ -2500,7 +2732,7 @@ export interface operations {
|
|
|
2500
2732
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2501
2733
|
};
|
|
2502
2734
|
};
|
|
2503
|
-
/** @description problem+json.
|
|
2735
|
+
/** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
|
|
2504
2736
|
404: {
|
|
2505
2737
|
headers: {
|
|
2506
2738
|
[name: string]: unknown;
|
|
@@ -2529,7 +2761,7 @@ export interface operations {
|
|
|
2529
2761
|
};
|
|
2530
2762
|
};
|
|
2531
2763
|
};
|
|
2532
|
-
|
|
2764
|
+
StartCheckout: {
|
|
2533
2765
|
parameters: {
|
|
2534
2766
|
query?: never;
|
|
2535
2767
|
header: {
|
|
@@ -2541,24 +2773,578 @@ export interface operations {
|
|
|
2541
2773
|
"Accept-Language"?: string;
|
|
2542
2774
|
/** @description The cart's bearer token. The checkout works on this cart. */
|
|
2543
2775
|
"X-Cart-Token": string;
|
|
2776
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2777
|
+
"X-Shopper-Session"?: string;
|
|
2544
2778
|
};
|
|
2545
|
-
path
|
|
2546
|
-
|
|
2779
|
+
path?: never;
|
|
2780
|
+
cookie?: never;
|
|
2781
|
+
};
|
|
2782
|
+
requestBody?: {
|
|
2783
|
+
content: {
|
|
2784
|
+
"application/json": null | components["schemas"]["StartCheckoutRequest"];
|
|
2785
|
+
};
|
|
2786
|
+
};
|
|
2787
|
+
responses: {
|
|
2788
|
+
/** @description OK */
|
|
2789
|
+
200: {
|
|
2790
|
+
headers: {
|
|
2791
|
+
[name: string]: unknown;
|
|
2792
|
+
};
|
|
2793
|
+
content: {
|
|
2794
|
+
"application/json": components["schemas"]["CheckoutDto"];
|
|
2795
|
+
};
|
|
2796
|
+
};
|
|
2797
|
+
/** @description problem+json. NOT_FOUND (X-Cart-Token missing), OPTION_NOT_AVAILABLE, or ORIGIN_NOT_ALLOWED. */
|
|
2798
|
+
400: {
|
|
2799
|
+
headers: {
|
|
2800
|
+
[name: string]: unknown;
|
|
2801
|
+
};
|
|
2802
|
+
content: {
|
|
2803
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2804
|
+
};
|
|
2805
|
+
};
|
|
2806
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
2807
|
+
401: {
|
|
2808
|
+
headers: {
|
|
2809
|
+
[name: string]: unknown;
|
|
2810
|
+
};
|
|
2811
|
+
content: {
|
|
2812
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2813
|
+
};
|
|
2814
|
+
};
|
|
2815
|
+
/** @description problem+json. CHECKOUT_PREVIEW_KEY: a preview key cannot check out; or SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). */
|
|
2816
|
+
403: {
|
|
2817
|
+
headers: {
|
|
2818
|
+
[name: string]: unknown;
|
|
2819
|
+
};
|
|
2820
|
+
content: {
|
|
2821
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2822
|
+
};
|
|
2823
|
+
};
|
|
2824
|
+
/** @description problem+json. NOT_FOUND: no such cart. The same answer for a saved cart of another principal or account (with or without a session) and for a cart whose owner was erased. Or SITE_INACTIVE. */
|
|
2825
|
+
404: {
|
|
2826
|
+
headers: {
|
|
2827
|
+
[name: string]: unknown;
|
|
2828
|
+
};
|
|
2829
|
+
content: {
|
|
2830
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2831
|
+
};
|
|
2832
|
+
};
|
|
2833
|
+
/** @description problem+json. CART_EMPTY; CHECKOUT_CART_CHANGED (the corrected cart is in `cart`); CHECKOUT_IN_PROGRESS (Retry-After); CHECKOUT_MARKET_MISMATCH; COMPANY_CHECKOUT_UNAVAILABLE (a company principal: company checkout is not available yet). */
|
|
2834
|
+
409: {
|
|
2835
|
+
headers: {
|
|
2836
|
+
[name: string]: unknown;
|
|
2837
|
+
};
|
|
2838
|
+
content: {
|
|
2839
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2840
|
+
};
|
|
2841
|
+
};
|
|
2842
|
+
/** @description problem+json. CART_EXPIRED. */
|
|
2843
|
+
410: {
|
|
2844
|
+
headers: {
|
|
2845
|
+
[name: string]: unknown;
|
|
2846
|
+
};
|
|
2847
|
+
content: {
|
|
2848
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2849
|
+
};
|
|
2850
|
+
};
|
|
2851
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
2852
|
+
429: {
|
|
2853
|
+
headers: {
|
|
2854
|
+
[name: string]: unknown;
|
|
2855
|
+
};
|
|
2856
|
+
content: {
|
|
2857
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2858
|
+
};
|
|
2859
|
+
};
|
|
2860
|
+
/** @description problem+json. CHECKOUT_PROVIDER_REJECTED. */
|
|
2861
|
+
502: {
|
|
2862
|
+
headers: {
|
|
2863
|
+
[name: string]: unknown;
|
|
2864
|
+
};
|
|
2865
|
+
content: {
|
|
2866
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2867
|
+
};
|
|
2868
|
+
};
|
|
2869
|
+
/** @description problem+json. CHECKOUT_UNAVAILABLE, SHIPPING_UNAVAILABLE (the market's shipping configuration cannot be served) or CHECKOUT_PROVIDER_UNAVAILABLE (Retry-After); SITE_REGISTRY_WARMING. */
|
|
2870
|
+
503: {
|
|
2871
|
+
headers: {
|
|
2872
|
+
[name: string]: unknown;
|
|
2873
|
+
};
|
|
2874
|
+
content: {
|
|
2875
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2876
|
+
};
|
|
2877
|
+
};
|
|
2878
|
+
};
|
|
2879
|
+
};
|
|
2880
|
+
GetCheckout: {
|
|
2881
|
+
parameters: {
|
|
2882
|
+
query?: never;
|
|
2883
|
+
header: {
|
|
2884
|
+
/** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
|
|
2885
|
+
"X-Site-Key": string;
|
|
2886
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
2887
|
+
"X-Market"?: string;
|
|
2888
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2889
|
+
"Accept-Language"?: string;
|
|
2890
|
+
/** @description The cart's bearer token. The checkout works on this cart. */
|
|
2891
|
+
"X-Cart-Token": string;
|
|
2892
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2893
|
+
"X-Shopper-Session"?: string;
|
|
2894
|
+
};
|
|
2895
|
+
path: {
|
|
2896
|
+
attemptId: string;
|
|
2897
|
+
};
|
|
2898
|
+
cookie?: never;
|
|
2899
|
+
};
|
|
2900
|
+
requestBody?: never;
|
|
2901
|
+
responses: {
|
|
2902
|
+
/** @description OK */
|
|
2903
|
+
200: {
|
|
2904
|
+
headers: {
|
|
2905
|
+
[name: string]: unknown;
|
|
2906
|
+
};
|
|
2907
|
+
content: {
|
|
2908
|
+
"application/json": components["schemas"]["CheckoutStatusDto"];
|
|
2909
|
+
};
|
|
2910
|
+
};
|
|
2911
|
+
/** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
|
|
2912
|
+
400: {
|
|
2913
|
+
headers: {
|
|
2914
|
+
[name: string]: unknown;
|
|
2915
|
+
};
|
|
2916
|
+
content: {
|
|
2917
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2918
|
+
};
|
|
2919
|
+
};
|
|
2920
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
2921
|
+
401: {
|
|
2922
|
+
headers: {
|
|
2923
|
+
[name: string]: unknown;
|
|
2924
|
+
};
|
|
2925
|
+
content: {
|
|
2926
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2927
|
+
};
|
|
2928
|
+
};
|
|
2929
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). */
|
|
2930
|
+
403: {
|
|
2931
|
+
headers: {
|
|
2932
|
+
[name: string]: unknown;
|
|
2933
|
+
};
|
|
2934
|
+
content: {
|
|
2935
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2936
|
+
};
|
|
2937
|
+
};
|
|
2938
|
+
/** @description problem+json. CHECKOUT_NOT_FOUND: no such attempt for this site and cart; the same answer when the attempt is not open to this caller — a company attempt without a session of its own membership, or a cart whose owner was erased, whatever token is sent. Or SITE_INACTIVE. */
|
|
2939
|
+
404: {
|
|
2940
|
+
headers: {
|
|
2941
|
+
[name: string]: unknown;
|
|
2942
|
+
};
|
|
2943
|
+
content: {
|
|
2944
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2945
|
+
};
|
|
2946
|
+
};
|
|
2947
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
2948
|
+
429: {
|
|
2949
|
+
headers: {
|
|
2950
|
+
[name: string]: unknown;
|
|
2951
|
+
};
|
|
2952
|
+
content: {
|
|
2953
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2954
|
+
};
|
|
2955
|
+
};
|
|
2956
|
+
/** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
|
|
2957
|
+
503: {
|
|
2958
|
+
headers: {
|
|
2959
|
+
[name: string]: unknown;
|
|
2960
|
+
};
|
|
2961
|
+
content: {
|
|
2962
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2963
|
+
};
|
|
2964
|
+
};
|
|
2965
|
+
};
|
|
2966
|
+
};
|
|
2967
|
+
CompleteCheckout: {
|
|
2968
|
+
parameters: {
|
|
2969
|
+
query?: never;
|
|
2970
|
+
header: {
|
|
2971
|
+
/** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
|
|
2972
|
+
"X-Site-Key": string;
|
|
2973
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
2974
|
+
"X-Market"?: string;
|
|
2975
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2976
|
+
"Accept-Language"?: string;
|
|
2977
|
+
/** @description Optional. When it names the attempt's cart, the answer carries the order's access token (complete) or opens the order (orders). */
|
|
2978
|
+
"X-Cart-Token"?: string;
|
|
2979
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
2980
|
+
"X-Shopper-Session"?: string;
|
|
2981
|
+
};
|
|
2982
|
+
path: {
|
|
2983
|
+
attemptId: string;
|
|
2984
|
+
};
|
|
2985
|
+
cookie?: never;
|
|
2986
|
+
};
|
|
2987
|
+
requestBody?: never;
|
|
2988
|
+
responses: {
|
|
2989
|
+
/** @description OK */
|
|
2990
|
+
200: {
|
|
2991
|
+
headers: {
|
|
2992
|
+
[name: string]: unknown;
|
|
2993
|
+
};
|
|
2994
|
+
content: {
|
|
2995
|
+
"application/json": components["schemas"]["CheckoutStatusDto"];
|
|
2996
|
+
};
|
|
2997
|
+
};
|
|
2998
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
|
|
2999
|
+
400: {
|
|
3000
|
+
headers: {
|
|
3001
|
+
[name: string]: unknown;
|
|
3002
|
+
};
|
|
3003
|
+
content: {
|
|
3004
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3005
|
+
};
|
|
3006
|
+
};
|
|
3007
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
3008
|
+
401: {
|
|
3009
|
+
headers: {
|
|
3010
|
+
[name: string]: unknown;
|
|
3011
|
+
};
|
|
3012
|
+
content: {
|
|
3013
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3014
|
+
};
|
|
3015
|
+
};
|
|
3016
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). */
|
|
3017
|
+
403: {
|
|
3018
|
+
headers: {
|
|
3019
|
+
[name: string]: unknown;
|
|
3020
|
+
};
|
|
3021
|
+
content: {
|
|
3022
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3023
|
+
};
|
|
3024
|
+
};
|
|
3025
|
+
/** @description problem+json. CHECKOUT_NOT_FOUND: no such attempt; the same answer when the attempt is not open to this caller — a company attempt without a session of its own membership, or a cart whose owner was erased, whatever token is sent. A refused request completes nothing. */
|
|
3026
|
+
404: {
|
|
3027
|
+
headers: {
|
|
3028
|
+
[name: string]: unknown;
|
|
3029
|
+
};
|
|
3030
|
+
content: {
|
|
3031
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3032
|
+
};
|
|
3033
|
+
};
|
|
3034
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
3035
|
+
429: {
|
|
3036
|
+
headers: {
|
|
3037
|
+
[name: string]: unknown;
|
|
3038
|
+
};
|
|
3039
|
+
content: {
|
|
3040
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3041
|
+
};
|
|
3042
|
+
};
|
|
3043
|
+
/** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
|
|
3044
|
+
503: {
|
|
3045
|
+
headers: {
|
|
3046
|
+
[name: string]: unknown;
|
|
3047
|
+
};
|
|
3048
|
+
content: {
|
|
3049
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3050
|
+
};
|
|
3051
|
+
};
|
|
3052
|
+
};
|
|
3053
|
+
};
|
|
3054
|
+
GetCheckoutShipping: {
|
|
3055
|
+
parameters: {
|
|
3056
|
+
query?: never;
|
|
3057
|
+
header: {
|
|
3058
|
+
/** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
|
|
3059
|
+
"X-Site-Key": string;
|
|
3060
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
3061
|
+
"X-Market"?: string;
|
|
3062
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
3063
|
+
"Accept-Language"?: string;
|
|
3064
|
+
/** @description The cart's bearer token. The checkout works on this cart. */
|
|
3065
|
+
"X-Cart-Token": string;
|
|
3066
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
3067
|
+
"X-Shopper-Session"?: string;
|
|
3068
|
+
};
|
|
3069
|
+
path: {
|
|
3070
|
+
attemptId: string;
|
|
3071
|
+
};
|
|
3072
|
+
cookie?: never;
|
|
3073
|
+
};
|
|
3074
|
+
requestBody?: never;
|
|
3075
|
+
responses: {
|
|
3076
|
+
/** @description OK */
|
|
3077
|
+
200: {
|
|
3078
|
+
headers: {
|
|
3079
|
+
[name: string]: unknown;
|
|
3080
|
+
};
|
|
3081
|
+
content: {
|
|
3082
|
+
"application/json": components["schemas"]["CheckoutShippingViewDto"];
|
|
3083
|
+
};
|
|
3084
|
+
};
|
|
3085
|
+
/** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
|
|
3086
|
+
400: {
|
|
3087
|
+
headers: {
|
|
3088
|
+
[name: string]: unknown;
|
|
3089
|
+
};
|
|
3090
|
+
content: {
|
|
3091
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3092
|
+
};
|
|
3093
|
+
};
|
|
3094
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
3095
|
+
401: {
|
|
3096
|
+
headers: {
|
|
3097
|
+
[name: string]: unknown;
|
|
3098
|
+
};
|
|
3099
|
+
content: {
|
|
3100
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3101
|
+
};
|
|
3102
|
+
};
|
|
3103
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). */
|
|
3104
|
+
403: {
|
|
3105
|
+
headers: {
|
|
3106
|
+
[name: string]: unknown;
|
|
3107
|
+
};
|
|
3108
|
+
content: {
|
|
3109
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3110
|
+
};
|
|
3111
|
+
};
|
|
3112
|
+
/** @description problem+json. CHECKOUT_NOT_FOUND: no such attempt for this site and cart; the same answer when the attempt is not open to this caller — a company attempt without a session of its own membership, or a cart whose owner was erased, whatever token is sent. Or SITE_INACTIVE. */
|
|
3113
|
+
404: {
|
|
3114
|
+
headers: {
|
|
3115
|
+
[name: string]: unknown;
|
|
3116
|
+
};
|
|
3117
|
+
content: {
|
|
3118
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3119
|
+
};
|
|
3120
|
+
};
|
|
3121
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
3122
|
+
429: {
|
|
3123
|
+
headers: {
|
|
3124
|
+
[name: string]: unknown;
|
|
3125
|
+
};
|
|
3126
|
+
content: {
|
|
3127
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3128
|
+
};
|
|
3129
|
+
};
|
|
3130
|
+
/** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
|
|
3131
|
+
503: {
|
|
3132
|
+
headers: {
|
|
3133
|
+
[name: string]: unknown;
|
|
3134
|
+
};
|
|
3135
|
+
content: {
|
|
3136
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3137
|
+
};
|
|
3138
|
+
};
|
|
3139
|
+
};
|
|
3140
|
+
};
|
|
3141
|
+
GetCollections: {
|
|
3142
|
+
parameters: {
|
|
3143
|
+
query?: never;
|
|
3144
|
+
header: {
|
|
3145
|
+
/** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
|
|
3146
|
+
"X-Site-Key": string;
|
|
3147
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
3148
|
+
"X-Market"?: string;
|
|
3149
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
3150
|
+
"Accept-Language"?: string;
|
|
3151
|
+
};
|
|
3152
|
+
path?: never;
|
|
3153
|
+
cookie?: never;
|
|
3154
|
+
};
|
|
3155
|
+
requestBody?: never;
|
|
3156
|
+
responses: {
|
|
3157
|
+
/** @description OK */
|
|
3158
|
+
200: {
|
|
3159
|
+
headers: {
|
|
3160
|
+
[name: string]: unknown;
|
|
3161
|
+
};
|
|
3162
|
+
content: {
|
|
3163
|
+
"application/json": components["schemas"]["CollectionDto"][];
|
|
3164
|
+
};
|
|
3165
|
+
};
|
|
3166
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
|
|
3167
|
+
400: {
|
|
3168
|
+
headers: {
|
|
3169
|
+
[name: string]: unknown;
|
|
3170
|
+
};
|
|
3171
|
+
content: {
|
|
3172
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3173
|
+
};
|
|
3174
|
+
};
|
|
3175
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
3176
|
+
401: {
|
|
3177
|
+
headers: {
|
|
3178
|
+
[name: string]: unknown;
|
|
3179
|
+
};
|
|
3180
|
+
content: {
|
|
3181
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3182
|
+
};
|
|
3183
|
+
};
|
|
3184
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
3185
|
+
403: {
|
|
3186
|
+
headers: {
|
|
3187
|
+
[name: string]: unknown;
|
|
3188
|
+
};
|
|
3189
|
+
content: {
|
|
3190
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3191
|
+
};
|
|
3192
|
+
};
|
|
3193
|
+
/** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
|
|
3194
|
+
404: {
|
|
3195
|
+
headers: {
|
|
3196
|
+
[name: string]: unknown;
|
|
3197
|
+
};
|
|
3198
|
+
content: {
|
|
3199
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3200
|
+
};
|
|
3201
|
+
};
|
|
3202
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
3203
|
+
429: {
|
|
3204
|
+
headers: {
|
|
3205
|
+
[name: string]: unknown;
|
|
3206
|
+
};
|
|
3207
|
+
content: {
|
|
3208
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3209
|
+
};
|
|
3210
|
+
};
|
|
3211
|
+
/** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
|
|
3212
|
+
503: {
|
|
3213
|
+
headers: {
|
|
3214
|
+
[name: string]: unknown;
|
|
3215
|
+
};
|
|
3216
|
+
content: {
|
|
3217
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3218
|
+
};
|
|
3219
|
+
};
|
|
3220
|
+
};
|
|
3221
|
+
};
|
|
3222
|
+
GetCollection: {
|
|
3223
|
+
parameters: {
|
|
3224
|
+
query?: {
|
|
3225
|
+
/** @description Free-text search. Omit to browse rather than search; a q of separators only (such as !!!) browses too. A search answers with search (how it was answered), and may set queryCorrection and redirect. */
|
|
3226
|
+
q?: string;
|
|
3227
|
+
/** @description 1-based page. page × pageSize must not exceed 10000 (default pageSize 24, max 100). */
|
|
3228
|
+
page?: number;
|
|
3229
|
+
/** @description Items per page, 1–100. Out of range is a 400 with code INVALID_PAGE. */
|
|
3230
|
+
pageSize?: number;
|
|
3231
|
+
/** @description Sort key. An unknown one is not refused: it falls back to relevance with a SORT_UNKNOWN warning, because it usually comes from a stale bookmark. */
|
|
3232
|
+
sort?: "name_asc" | "newest" | "price_asc" | "price_desc" | "relevance";
|
|
3233
|
+
/** @description Facet selection, sent as filter[key]=value. Several values for one facet are comma-separated; price is "min-max" and a boolean facet is "true". An unknown key is dropped with a FILTER_IGNORED warning. */
|
|
3234
|
+
filter?: {
|
|
3235
|
+
[key: string]: string;
|
|
3236
|
+
};
|
|
3237
|
+
/** @description Where a search came from, for measurement only: typed, suggestion, recent or other. It never changes the answer. Anything else is ignored with an ORIGIN_UNKNOWN warning. */
|
|
3238
|
+
origin?: "other" | "recent" | "suggestion" | "typed";
|
|
3239
|
+
};
|
|
3240
|
+
header: {
|
|
3241
|
+
/** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
|
|
3242
|
+
"X-Site-Key": string;
|
|
3243
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
3244
|
+
"X-Market"?: string;
|
|
3245
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
3246
|
+
"Accept-Language"?: string;
|
|
3247
|
+
};
|
|
3248
|
+
path: {
|
|
3249
|
+
slugOrId: string;
|
|
3250
|
+
};
|
|
3251
|
+
cookie?: never;
|
|
3252
|
+
};
|
|
3253
|
+
requestBody?: never;
|
|
3254
|
+
responses: {
|
|
3255
|
+
/** @description OK */
|
|
3256
|
+
200: {
|
|
3257
|
+
headers: {
|
|
3258
|
+
[name: string]: unknown;
|
|
3259
|
+
};
|
|
3260
|
+
content: {
|
|
3261
|
+
"application/json": components["schemas"]["CollectionListingResponse"];
|
|
3262
|
+
};
|
|
3263
|
+
};
|
|
3264
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
|
|
3265
|
+
400: {
|
|
3266
|
+
headers: {
|
|
3267
|
+
[name: string]: unknown;
|
|
3268
|
+
};
|
|
3269
|
+
content: {
|
|
3270
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3271
|
+
};
|
|
3272
|
+
};
|
|
3273
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
3274
|
+
401: {
|
|
3275
|
+
headers: {
|
|
3276
|
+
[name: string]: unknown;
|
|
3277
|
+
};
|
|
3278
|
+
content: {
|
|
3279
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3280
|
+
};
|
|
3281
|
+
};
|
|
3282
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
3283
|
+
403: {
|
|
3284
|
+
headers: {
|
|
3285
|
+
[name: string]: unknown;
|
|
3286
|
+
};
|
|
3287
|
+
content: {
|
|
3288
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3289
|
+
};
|
|
3290
|
+
};
|
|
3291
|
+
/** @description problem+json. COLLECTION_NOT_FOUND, or SITE_INACTIVE when the site itself is not live. */
|
|
3292
|
+
404: {
|
|
3293
|
+
headers: {
|
|
3294
|
+
[name: string]: unknown;
|
|
3295
|
+
};
|
|
3296
|
+
content: {
|
|
3297
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3298
|
+
};
|
|
3299
|
+
};
|
|
3300
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
3301
|
+
429: {
|
|
3302
|
+
headers: {
|
|
3303
|
+
[name: string]: unknown;
|
|
3304
|
+
};
|
|
3305
|
+
content: {
|
|
3306
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3307
|
+
};
|
|
3308
|
+
};
|
|
3309
|
+
/** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
|
|
3310
|
+
503: {
|
|
3311
|
+
headers: {
|
|
3312
|
+
[name: string]: unknown;
|
|
3313
|
+
};
|
|
3314
|
+
content: {
|
|
3315
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3316
|
+
};
|
|
3317
|
+
};
|
|
3318
|
+
};
|
|
3319
|
+
};
|
|
3320
|
+
RequestErasure: {
|
|
3321
|
+
parameters: {
|
|
3322
|
+
query?: never;
|
|
3323
|
+
header: {
|
|
3324
|
+
/** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
|
|
3325
|
+
"X-Site-Key": string;
|
|
3326
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
3327
|
+
"X-Market"?: string;
|
|
3328
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
3329
|
+
"Accept-Language"?: string;
|
|
3330
|
+
};
|
|
3331
|
+
path?: never;
|
|
3332
|
+
cookie?: never;
|
|
3333
|
+
};
|
|
3334
|
+
requestBody?: {
|
|
3335
|
+
content: {
|
|
3336
|
+
"application/json": null | components["schemas"]["ErasureRequest"];
|
|
2547
3337
|
};
|
|
2548
|
-
cookie?: never;
|
|
2549
3338
|
};
|
|
2550
|
-
requestBody?: never;
|
|
2551
3339
|
responses: {
|
|
2552
|
-
/** @description
|
|
2553
|
-
|
|
3340
|
+
/** @description Accepted */
|
|
3341
|
+
202: {
|
|
2554
3342
|
headers: {
|
|
2555
3343
|
[name: string]: unknown;
|
|
2556
3344
|
};
|
|
2557
|
-
content
|
|
2558
|
-
"application/json": components["schemas"]["CheckoutShippingViewDto"];
|
|
2559
|
-
};
|
|
3345
|
+
content?: never;
|
|
2560
3346
|
};
|
|
2561
|
-
/** @description problem+json.
|
|
3347
|
+
/** @description problem+json. INVALID_EMAIL. */
|
|
2562
3348
|
400: {
|
|
2563
3349
|
headers: {
|
|
2564
3350
|
[name: string]: unknown;
|
|
@@ -2576,7 +3362,7 @@ export interface operations {
|
|
|
2576
3362
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2577
3363
|
};
|
|
2578
3364
|
};
|
|
2579
|
-
/** @description problem+json.
|
|
3365
|
+
/** @description problem+json. SECRET_KEY_REQUIRED, or SECRET_KEY_FROM_BROWSER. */
|
|
2580
3366
|
403: {
|
|
2581
3367
|
headers: {
|
|
2582
3368
|
[name: string]: unknown;
|
|
@@ -2585,7 +3371,7 @@ export interface operations {
|
|
|
2585
3371
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2586
3372
|
};
|
|
2587
3373
|
};
|
|
2588
|
-
/** @description problem+json.
|
|
3374
|
+
/** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
|
|
2589
3375
|
404: {
|
|
2590
3376
|
headers: {
|
|
2591
3377
|
[name: string]: unknown;
|
|
@@ -2603,7 +3389,7 @@ export interface operations {
|
|
|
2603
3389
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2604
3390
|
};
|
|
2605
3391
|
};
|
|
2606
|
-
/** @description problem+json.
|
|
3392
|
+
/** @description problem+json. SITE_KEYS_SYNCING (Retry-After) or SITE_REGISTRY_WARMING. */
|
|
2607
3393
|
503: {
|
|
2608
3394
|
headers: {
|
|
2609
3395
|
[name: string]: unknown;
|
|
@@ -2614,7 +3400,7 @@ export interface operations {
|
|
|
2614
3400
|
};
|
|
2615
3401
|
};
|
|
2616
3402
|
};
|
|
2617
|
-
|
|
3403
|
+
TrackSearchEvents: {
|
|
2618
3404
|
parameters: {
|
|
2619
3405
|
query?: never;
|
|
2620
3406
|
header: {
|
|
@@ -2628,18 +3414,22 @@ export interface operations {
|
|
|
2628
3414
|
path?: never;
|
|
2629
3415
|
cookie?: never;
|
|
2630
3416
|
};
|
|
2631
|
-
requestBody
|
|
3417
|
+
requestBody: {
|
|
3418
|
+
content: {
|
|
3419
|
+
"application/json": components["schemas"]["SearchEventsRequest"];
|
|
3420
|
+
};
|
|
3421
|
+
};
|
|
2632
3422
|
responses: {
|
|
2633
|
-
/** @description
|
|
2634
|
-
|
|
3423
|
+
/** @description Accepted */
|
|
3424
|
+
202: {
|
|
2635
3425
|
headers: {
|
|
2636
3426
|
[name: string]: unknown;
|
|
2637
3427
|
};
|
|
2638
3428
|
content: {
|
|
2639
|
-
"application/json": components["schemas"]["
|
|
3429
|
+
"application/json": components["schemas"]["SearchEventsResponse"];
|
|
2640
3430
|
};
|
|
2641
3431
|
};
|
|
2642
|
-
/** @description problem+json.
|
|
3432
|
+
/** @description problem+json. EVENTS_INVALID (not JSON, not { "events": [ … ] }, no event or more than 50, or a body over 64 KB; nothing is stored), or MARKET_UNKNOWN. One bad event is not a 400: it is listed in the 202's rejected. */
|
|
2643
3433
|
400: {
|
|
2644
3434
|
headers: {
|
|
2645
3435
|
[name: string]: unknown;
|
|
@@ -2695,35 +3485,20 @@ export interface operations {
|
|
|
2695
3485
|
};
|
|
2696
3486
|
};
|
|
2697
3487
|
};
|
|
2698
|
-
|
|
3488
|
+
GetMe: {
|
|
2699
3489
|
parameters: {
|
|
2700
|
-
query?:
|
|
2701
|
-
/** @description Free-text search. Omit to browse rather than search; a q of separators only (such as !!!) browses too. A search answers with search (how it was answered), and may set queryCorrection and redirect. */
|
|
2702
|
-
q?: string;
|
|
2703
|
-
/** @description 1-based page. page × pageSize must not exceed 10000 (default pageSize 24, max 100). */
|
|
2704
|
-
page?: number;
|
|
2705
|
-
/** @description Items per page, 1–100. Out of range is a 400 with code INVALID_PAGE. */
|
|
2706
|
-
pageSize?: number;
|
|
2707
|
-
/** @description Sort key. An unknown one is not refused: it falls back to relevance with a SORT_UNKNOWN warning, because it usually comes from a stale bookmark. */
|
|
2708
|
-
sort?: "name_asc" | "newest" | "price_asc" | "price_desc" | "relevance";
|
|
2709
|
-
/** @description Facet selection, sent as filter[key]=value. Several values for one facet are comma-separated; price is "min-max" and a boolean facet is "true". An unknown key is dropped with a FILTER_IGNORED warning. */
|
|
2710
|
-
filter?: {
|
|
2711
|
-
[key: string]: string;
|
|
2712
|
-
};
|
|
2713
|
-
/** @description Where a search came from, for measurement only: typed, suggestion, recent or other. It never changes the answer. Anything else is ignored with an ORIGIN_UNKNOWN warning. */
|
|
2714
|
-
origin?: "other" | "recent" | "suggestion" | "typed";
|
|
2715
|
-
};
|
|
3490
|
+
query?: never;
|
|
2716
3491
|
header: {
|
|
2717
|
-
/** @description
|
|
3492
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
2718
3493
|
"X-Site-Key": string;
|
|
2719
3494
|
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
2720
3495
|
"X-Market"?: string;
|
|
2721
3496
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2722
3497
|
"Accept-Language"?: string;
|
|
3498
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
3499
|
+
"X-Shopper-Ip"?: string;
|
|
2723
3500
|
};
|
|
2724
|
-
path
|
|
2725
|
-
slugOrId: string;
|
|
2726
|
-
};
|
|
3501
|
+
path?: never;
|
|
2727
3502
|
cookie?: never;
|
|
2728
3503
|
};
|
|
2729
3504
|
requestBody?: never;
|
|
@@ -2734,10 +3509,10 @@ export interface operations {
|
|
|
2734
3509
|
[name: string]: unknown;
|
|
2735
3510
|
};
|
|
2736
3511
|
content: {
|
|
2737
|
-
"application/json": components["schemas"]["
|
|
3512
|
+
"application/json": components["schemas"]["AccountDto"];
|
|
2738
3513
|
};
|
|
2739
3514
|
};
|
|
2740
|
-
/** @description problem+json. MARKET_UNKNOWN (no such market on this site)
|
|
3515
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site). */
|
|
2741
3516
|
400: {
|
|
2742
3517
|
headers: {
|
|
2743
3518
|
[name: string]: unknown;
|
|
@@ -2746,7 +3521,7 @@ export interface operations {
|
|
|
2746
3521
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2747
3522
|
};
|
|
2748
3523
|
};
|
|
2749
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
3524
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_REQUIRED (no X-Shopper-Session) or SESSION_INVALID (unknown, expired or revoked; a session is never silently dropped). Render signed-out and clear the session cookie. */
|
|
2750
3525
|
401: {
|
|
2751
3526
|
headers: {
|
|
2752
3527
|
[name: string]: unknown;
|
|
@@ -2755,7 +3530,7 @@ export interface operations {
|
|
|
2755
3530
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2756
3531
|
};
|
|
2757
3532
|
};
|
|
2758
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER
|
|
3533
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). */
|
|
2759
3534
|
403: {
|
|
2760
3535
|
headers: {
|
|
2761
3536
|
[name: string]: unknown;
|
|
@@ -2764,7 +3539,7 @@ export interface operations {
|
|
|
2764
3539
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2765
3540
|
};
|
|
2766
3541
|
};
|
|
2767
|
-
/** @description problem+json.
|
|
3542
|
+
/** @description problem+json. ACCOUNTS_DISABLED: the site has no shopper accounts; or SITE_INACTIVE (sign-in closes with the catalogue). */
|
|
2768
3543
|
404: {
|
|
2769
3544
|
headers: {
|
|
2770
3545
|
[name: string]: unknown;
|
|
@@ -2782,7 +3557,7 @@ export interface operations {
|
|
|
2782
3557
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2783
3558
|
};
|
|
2784
3559
|
};
|
|
2785
|
-
/** @description problem+json.
|
|
3560
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
2786
3561
|
503: {
|
|
2787
3562
|
headers: {
|
|
2788
3563
|
[name: string]: unknown;
|
|
@@ -2793,34 +3568,34 @@ export interface operations {
|
|
|
2793
3568
|
};
|
|
2794
3569
|
};
|
|
2795
3570
|
};
|
|
2796
|
-
|
|
3571
|
+
GetMyCart: {
|
|
2797
3572
|
parameters: {
|
|
2798
3573
|
query?: never;
|
|
2799
3574
|
header: {
|
|
2800
|
-
/** @description
|
|
3575
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
2801
3576
|
"X-Site-Key": string;
|
|
2802
3577
|
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
2803
3578
|
"X-Market"?: string;
|
|
2804
3579
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2805
3580
|
"Accept-Language"?: string;
|
|
3581
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
3582
|
+
"X-Shopper-Ip"?: string;
|
|
2806
3583
|
};
|
|
2807
3584
|
path?: never;
|
|
2808
3585
|
cookie?: never;
|
|
2809
3586
|
};
|
|
2810
|
-
requestBody?:
|
|
2811
|
-
content: {
|
|
2812
|
-
"application/json": null | components["schemas"]["ErasureRequest"];
|
|
2813
|
-
};
|
|
2814
|
-
};
|
|
3587
|
+
requestBody?: never;
|
|
2815
3588
|
responses: {
|
|
2816
|
-
/** @description
|
|
2817
|
-
|
|
3589
|
+
/** @description OK */
|
|
3590
|
+
200: {
|
|
2818
3591
|
headers: {
|
|
2819
3592
|
[name: string]: unknown;
|
|
2820
3593
|
};
|
|
2821
|
-
content
|
|
3594
|
+
content: {
|
|
3595
|
+
"application/json": components["schemas"]["CartDto"];
|
|
3596
|
+
};
|
|
2822
3597
|
};
|
|
2823
|
-
/** @description problem+json.
|
|
3598
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site). */
|
|
2824
3599
|
400: {
|
|
2825
3600
|
headers: {
|
|
2826
3601
|
[name: string]: unknown;
|
|
@@ -2829,7 +3604,7 @@ export interface operations {
|
|
|
2829
3604
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2830
3605
|
};
|
|
2831
3606
|
};
|
|
2832
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
3607
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_REQUIRED (no X-Shopper-Session) or SESSION_INVALID (unknown, expired or revoked; a session is never silently dropped). Render signed-out and clear the session cookie. */
|
|
2833
3608
|
401: {
|
|
2834
3609
|
headers: {
|
|
2835
3610
|
[name: string]: unknown;
|
|
@@ -2838,7 +3613,7 @@ export interface operations {
|
|
|
2838
3613
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2839
3614
|
};
|
|
2840
3615
|
};
|
|
2841
|
-
/** @description problem+json.
|
|
3616
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). */
|
|
2842
3617
|
403: {
|
|
2843
3618
|
headers: {
|
|
2844
3619
|
[name: string]: unknown;
|
|
@@ -2847,7 +3622,7 @@ export interface operations {
|
|
|
2847
3622
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2848
3623
|
};
|
|
2849
3624
|
};
|
|
2850
|
-
/** @description problem+json.
|
|
3625
|
+
/** @description problem+json. NOT_FOUND: the principal has no active saved cart. Or ACCOUNTS_DISABLED (the site has no shopper accounts) or SITE_INACTIVE. */
|
|
2851
3626
|
404: {
|
|
2852
3627
|
headers: {
|
|
2853
3628
|
[name: string]: unknown;
|
|
@@ -2865,7 +3640,7 @@ export interface operations {
|
|
|
2865
3640
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2866
3641
|
};
|
|
2867
3642
|
};
|
|
2868
|
-
/** @description problem+json. SITE_KEYS_SYNCING (Retry-After) or SITE_REGISTRY_WARMING. */
|
|
3643
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
2869
3644
|
503: {
|
|
2870
3645
|
headers: {
|
|
2871
3646
|
[name: string]: unknown;
|
|
@@ -2876,36 +3651,34 @@ export interface operations {
|
|
|
2876
3651
|
};
|
|
2877
3652
|
};
|
|
2878
3653
|
};
|
|
2879
|
-
|
|
3654
|
+
GetMyCompany: {
|
|
2880
3655
|
parameters: {
|
|
2881
3656
|
query?: never;
|
|
2882
3657
|
header: {
|
|
2883
|
-
/** @description
|
|
3658
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
2884
3659
|
"X-Site-Key": string;
|
|
2885
3660
|
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
2886
3661
|
"X-Market"?: string;
|
|
2887
3662
|
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
2888
3663
|
"Accept-Language"?: string;
|
|
3664
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
3665
|
+
"X-Shopper-Ip"?: string;
|
|
2889
3666
|
};
|
|
2890
3667
|
path?: never;
|
|
2891
3668
|
cookie?: never;
|
|
2892
3669
|
};
|
|
2893
|
-
requestBody
|
|
2894
|
-
content: {
|
|
2895
|
-
"application/json": components["schemas"]["SearchEventsRequest"];
|
|
2896
|
-
};
|
|
2897
|
-
};
|
|
3670
|
+
requestBody?: never;
|
|
2898
3671
|
responses: {
|
|
2899
|
-
/** @description
|
|
2900
|
-
|
|
3672
|
+
/** @description OK */
|
|
3673
|
+
200: {
|
|
2901
3674
|
headers: {
|
|
2902
3675
|
[name: string]: unknown;
|
|
2903
3676
|
};
|
|
2904
3677
|
content: {
|
|
2905
|
-
"application/json": components["schemas"]["
|
|
3678
|
+
"application/json": components["schemas"]["MyCompanyDto"];
|
|
2906
3679
|
};
|
|
2907
3680
|
};
|
|
2908
|
-
/** @description problem+json.
|
|
3681
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site). */
|
|
2909
3682
|
400: {
|
|
2910
3683
|
headers: {
|
|
2911
3684
|
[name: string]: unknown;
|
|
@@ -2914,7 +3687,7 @@ export interface operations {
|
|
|
2914
3687
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2915
3688
|
};
|
|
2916
3689
|
};
|
|
2917
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
3690
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_REQUIRED (no X-Shopper-Session) or SESSION_INVALID (unknown, expired or revoked; a session is never silently dropped). Render signed-out and clear the session cookie. */
|
|
2918
3691
|
401: {
|
|
2919
3692
|
headers: {
|
|
2920
3693
|
[name: string]: unknown;
|
|
@@ -2923,7 +3696,7 @@ export interface operations {
|
|
|
2923
3696
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2924
3697
|
};
|
|
2925
3698
|
};
|
|
2926
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER
|
|
3699
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). PRINCIPAL_NOT_AVAILABLE: the current principal is the consumer, which has no company. */
|
|
2927
3700
|
403: {
|
|
2928
3701
|
headers: {
|
|
2929
3702
|
[name: string]: unknown;
|
|
@@ -2932,7 +3705,7 @@ export interface operations {
|
|
|
2932
3705
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2933
3706
|
};
|
|
2934
3707
|
};
|
|
2935
|
-
/** @description problem+json.
|
|
3708
|
+
/** @description problem+json. ACCOUNTS_DISABLED: the site has no shopper accounts; or SITE_INACTIVE (sign-in closes with the catalogue). */
|
|
2936
3709
|
404: {
|
|
2937
3710
|
headers: {
|
|
2938
3711
|
[name: string]: unknown;
|
|
@@ -2950,7 +3723,7 @@ export interface operations {
|
|
|
2950
3723
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
2951
3724
|
};
|
|
2952
3725
|
};
|
|
2953
|
-
/** @description problem+json.
|
|
3726
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
2954
3727
|
503: {
|
|
2955
3728
|
headers: {
|
|
2956
3729
|
[name: string]: unknown;
|
|
@@ -2975,6 +3748,8 @@ export interface operations {
|
|
|
2975
3748
|
"X-Cart-Token"?: string;
|
|
2976
3749
|
/** @description The order's access token, from the completion answer. A header only — never a query parameter. */
|
|
2977
3750
|
"X-Order-Token"?: string;
|
|
3751
|
+
/** @description Optional. The shopper session (sfs_…) of a signed-in shopper, server-to-server with the site's server key only: it opens the principal's saved carts and orders, and is never needed for a guest cart or order. On a site without accounts it is not read. Not in the CORS allow-list. */
|
|
3752
|
+
"X-Shopper-Session"?: string;
|
|
2978
3753
|
};
|
|
2979
3754
|
path: {
|
|
2980
3755
|
orderId: string;
|
|
@@ -3001,7 +3776,7 @@ export interface operations {
|
|
|
3001
3776
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3002
3777
|
};
|
|
3003
3778
|
};
|
|
3004
|
-
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
|
|
3779
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_INVALID when an X-Shopper-Session is sent on a site with accounts and does not validate (unknown, expired or revoked) — never a silent signed-out answer. Render signed-out and clear the session cookie. */
|
|
3005
3780
|
401: {
|
|
3006
3781
|
headers: {
|
|
3007
3782
|
[name: string]: unknown;
|
|
@@ -3010,7 +3785,7 @@ export interface operations {
|
|
|
3010
3785
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3011
3786
|
};
|
|
3012
3787
|
};
|
|
3013
|
-
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
|
|
3788
|
+
/** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret or server key was sent from a browser. With X-Shopper-Session: SERVER_KEY_REQUIRED (any key but the site's server key) or SESSION_FROM_BROWSER (the header with an Origin header). */
|
|
3014
3789
|
403: {
|
|
3015
3790
|
headers: {
|
|
3016
3791
|
[name: string]: unknown;
|
|
@@ -3019,7 +3794,7 @@ export interface operations {
|
|
|
3019
3794
|
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
3020
3795
|
};
|
|
3021
3796
|
};
|
|
3022
|
-
/** @description problem+json. ORDER_NOT_FOUND: no such order, or the credential does not open it — the same answer for both. */
|
|
3797
|
+
/** @description problem+json. ORDER_NOT_FOUND: no such order, or the credential does not open it — the same answer for both. A company order opens only to a session of its own membership with orders.read.own; its order and cart tokens never open it, and no token opens an order whose cart owner was erased (the secret key's read excepted). */
|
|
3023
3798
|
404: {
|
|
3024
3799
|
headers: {
|
|
3025
3800
|
[name: string]: unknown;
|
|
@@ -3581,6 +4356,176 @@ export interface operations {
|
|
|
3581
4356
|
};
|
|
3582
4357
|
};
|
|
3583
4358
|
};
|
|
4359
|
+
GetSession: {
|
|
4360
|
+
parameters: {
|
|
4361
|
+
query?: never;
|
|
4362
|
+
header: {
|
|
4363
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
4364
|
+
"X-Site-Key": string;
|
|
4365
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
4366
|
+
"X-Market"?: string;
|
|
4367
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
4368
|
+
"Accept-Language"?: string;
|
|
4369
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
4370
|
+
"X-Shopper-Ip"?: string;
|
|
4371
|
+
};
|
|
4372
|
+
path?: never;
|
|
4373
|
+
cookie?: never;
|
|
4374
|
+
};
|
|
4375
|
+
requestBody?: never;
|
|
4376
|
+
responses: {
|
|
4377
|
+
/** @description OK */
|
|
4378
|
+
200: {
|
|
4379
|
+
headers: {
|
|
4380
|
+
[name: string]: unknown;
|
|
4381
|
+
};
|
|
4382
|
+
content: {
|
|
4383
|
+
"application/json": components["schemas"]["SessionDto"];
|
|
4384
|
+
};
|
|
4385
|
+
};
|
|
4386
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site). */
|
|
4387
|
+
400: {
|
|
4388
|
+
headers: {
|
|
4389
|
+
[name: string]: unknown;
|
|
4390
|
+
};
|
|
4391
|
+
content: {
|
|
4392
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4393
|
+
};
|
|
4394
|
+
};
|
|
4395
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_REQUIRED (no X-Shopper-Session) or SESSION_INVALID (unknown, expired or revoked; a session is never silently dropped). Render signed-out and clear the session cookie. */
|
|
4396
|
+
401: {
|
|
4397
|
+
headers: {
|
|
4398
|
+
[name: string]: unknown;
|
|
4399
|
+
};
|
|
4400
|
+
content: {
|
|
4401
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4402
|
+
};
|
|
4403
|
+
};
|
|
4404
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). */
|
|
4405
|
+
403: {
|
|
4406
|
+
headers: {
|
|
4407
|
+
[name: string]: unknown;
|
|
4408
|
+
};
|
|
4409
|
+
content: {
|
|
4410
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4411
|
+
};
|
|
4412
|
+
};
|
|
4413
|
+
/** @description problem+json. ACCOUNTS_DISABLED: the site has no shopper accounts. Works on a paused site (no SITE_INACTIVE). */
|
|
4414
|
+
404: {
|
|
4415
|
+
headers: {
|
|
4416
|
+
[name: string]: unknown;
|
|
4417
|
+
};
|
|
4418
|
+
content: {
|
|
4419
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4420
|
+
};
|
|
4421
|
+
};
|
|
4422
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
4423
|
+
429: {
|
|
4424
|
+
headers: {
|
|
4425
|
+
[name: string]: unknown;
|
|
4426
|
+
};
|
|
4427
|
+
content: {
|
|
4428
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4429
|
+
};
|
|
4430
|
+
};
|
|
4431
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
4432
|
+
503: {
|
|
4433
|
+
headers: {
|
|
4434
|
+
[name: string]: unknown;
|
|
4435
|
+
};
|
|
4436
|
+
content: {
|
|
4437
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4438
|
+
};
|
|
4439
|
+
};
|
|
4440
|
+
};
|
|
4441
|
+
};
|
|
4442
|
+
SwitchPrincipal: {
|
|
4443
|
+
parameters: {
|
|
4444
|
+
query?: never;
|
|
4445
|
+
header: {
|
|
4446
|
+
/** @description The site's server key (sfk_srv_…). Account routes answer 403 SERVER_KEY_REQUIRED to any other key; server-side only. */
|
|
4447
|
+
"X-Site-Key": string;
|
|
4448
|
+
/** @description Market code (e.g. "se"). Omit for the site's default market. */
|
|
4449
|
+
"X-Market"?: string;
|
|
4450
|
+
/** @description BCP-47 language tag. Omit to use the market's language. */
|
|
4451
|
+
"Accept-Language"?: string;
|
|
4452
|
+
/** @description The shopper's IP address as the frontend server saw it. Trusted only with a verified server key; the sign-in rate limits are per shopper IP. */
|
|
4453
|
+
"X-Shopper-Ip"?: string;
|
|
4454
|
+
};
|
|
4455
|
+
path?: never;
|
|
4456
|
+
cookie?: never;
|
|
4457
|
+
};
|
|
4458
|
+
requestBody: {
|
|
4459
|
+
content: {
|
|
4460
|
+
"application/json": components["schemas"]["SwitchPrincipalRequest"];
|
|
4461
|
+
};
|
|
4462
|
+
};
|
|
4463
|
+
responses: {
|
|
4464
|
+
/** @description OK */
|
|
4465
|
+
200: {
|
|
4466
|
+
headers: {
|
|
4467
|
+
[name: string]: unknown;
|
|
4468
|
+
};
|
|
4469
|
+
content: {
|
|
4470
|
+
"application/json": components["schemas"]["SignedInDto"];
|
|
4471
|
+
};
|
|
4472
|
+
};
|
|
4473
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site). */
|
|
4474
|
+
400: {
|
|
4475
|
+
headers: {
|
|
4476
|
+
[name: string]: unknown;
|
|
4477
|
+
};
|
|
4478
|
+
content: {
|
|
4479
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4480
|
+
};
|
|
4481
|
+
};
|
|
4482
|
+
/** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID; SESSION_REQUIRED (no X-Shopper-Session), SESSION_INVALID (unknown, expired, revoked, or a replaced token outside a GET), or SESSION_REAUTH_REQUIRED (the target principal needs a new sign-in). */
|
|
4483
|
+
401: {
|
|
4484
|
+
headers: {
|
|
4485
|
+
[name: string]: unknown;
|
|
4486
|
+
};
|
|
4487
|
+
content: {
|
|
4488
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4489
|
+
};
|
|
4490
|
+
};
|
|
4491
|
+
/** @description problem+json. SERVER_KEY_REQUIRED (any key but the site's server key), SESSION_FROM_BROWSER (X-Shopper-Session with an Origin header) or SECRET_KEY_FROM_BROWSER (the server key with an Origin header). PRINCIPAL_NOT_AVAILABLE: the principal is not one of the session's. */
|
|
4492
|
+
403: {
|
|
4493
|
+
headers: {
|
|
4494
|
+
[name: string]: unknown;
|
|
4495
|
+
};
|
|
4496
|
+
content: {
|
|
4497
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4498
|
+
};
|
|
4499
|
+
};
|
|
4500
|
+
/** @description problem+json. ACCOUNTS_DISABLED: the site has no shopper accounts; or SITE_INACTIVE (sign-in closes with the catalogue). */
|
|
4501
|
+
404: {
|
|
4502
|
+
headers: {
|
|
4503
|
+
[name: string]: unknown;
|
|
4504
|
+
};
|
|
4505
|
+
content: {
|
|
4506
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4507
|
+
};
|
|
4508
|
+
};
|
|
4509
|
+
/** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
|
|
4510
|
+
429: {
|
|
4511
|
+
headers: {
|
|
4512
|
+
[name: string]: unknown;
|
|
4513
|
+
};
|
|
4514
|
+
content: {
|
|
4515
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4516
|
+
};
|
|
4517
|
+
};
|
|
4518
|
+
/** @description problem+json. SITE_KEYS_SYNCING (the server key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
|
|
4519
|
+
503: {
|
|
4520
|
+
headers: {
|
|
4521
|
+
[name: string]: unknown;
|
|
4522
|
+
};
|
|
4523
|
+
content: {
|
|
4524
|
+
"application/problem+json": components["schemas"]["StorefrontProblem"];
|
|
4525
|
+
};
|
|
4526
|
+
};
|
|
4527
|
+
};
|
|
4528
|
+
};
|
|
3584
4529
|
GetSite: {
|
|
3585
4530
|
parameters: {
|
|
3586
4531
|
query?: never;
|
|
@@ -3666,10 +4611,12 @@ export interface operations {
|
|
|
3666
4611
|
parameters: {
|
|
3667
4612
|
query?: {
|
|
3668
4613
|
/** @description Which URLs to list. Defaults to product. */
|
|
3669
|
-
type?: "collection" | "product";
|
|
4614
|
+
type?: "brand" | "collection" | "product";
|
|
3670
4615
|
/** @description Inclusive ISO-8601 timestamp; only entries changed at or after it. An offset-free value is read as UTC. */
|
|
3671
4616
|
since?: string;
|
|
3672
|
-
/** @description
|
|
4617
|
+
/** @description Cursor mode: start with "start", then pass each response's nextCursor until it is null. No result window applies. Not combined with page > 1. A value this endpoint did not issue for the same type is a 400 with code INVALID_CURSOR. */
|
|
4618
|
+
cursor?: string;
|
|
4619
|
+
/** @description Page mode only (no cursor). 1-based page. page × pageSize must not exceed 10000 (default pageSize 500, max 1000). Use cursor=start to walk past that. */
|
|
3673
4620
|
page?: number;
|
|
3674
4621
|
/** @description Items per page, 1–1000. Out of range is a 400 with code INVALID_PAGE. */
|
|
3675
4622
|
pageSize?: number;
|
|
@@ -3696,7 +4643,7 @@ export interface operations {
|
|
|
3696
4643
|
"application/json": components["schemas"]["SitemapResponse"];
|
|
3697
4644
|
};
|
|
3698
4645
|
};
|
|
3699
|
-
/** @description problem+json. MARKET_UNKNOWN (no such market on this site) or
|
|
4646
|
+
/** @description problem+json. MARKET_UNKNOWN (no such market on this site), INVALID_PAGE, or INVALID_TYPE (an unknown type), INVALID_SINCE (since not an ISO-8601 timestamp) or INVALID_CURSOR (a cursor that is not start or a nextCursor issued for this type). */
|
|
3700
4647
|
400: {
|
|
3701
4648
|
headers: {
|
|
3702
4649
|
[name: string]: unknown;
|