@poweredbysous/storefront-admin-sdk 4.0.3 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -476,6 +476,63 @@ interface paths {
476
476
  patch?: never;
477
477
  trace?: never;
478
478
  };
479
+ "/api/v1/admin/printing/jobs/": {
480
+ parameters: {
481
+ query?: never;
482
+ header?: never;
483
+ path?: never;
484
+ cookie?: never;
485
+ };
486
+ /** @description The latest print job per printer for an order: did it print? */
487
+ get: operations["admin_printing_order_jobs"];
488
+ put?: never;
489
+ post?: never;
490
+ delete?: never;
491
+ options?: never;
492
+ head?: never;
493
+ patch?: never;
494
+ trace?: never;
495
+ };
496
+ "/api/v1/admin/printing/print-order/": {
497
+ parameters: {
498
+ query?: never;
499
+ header?: never;
500
+ path?: never;
501
+ cookie?: never;
502
+ };
503
+ get?: never;
504
+ put?: never;
505
+ /**
506
+ * @description Print an order again on the store's cloud printers.
507
+ *
508
+ * 202 with the jobs created (or, for a repeated ``request_id``, the jobs the
509
+ * first request created). 409 when the store has no enabled printer for the
510
+ * order's kitchen, so the portal can fall back to printing locally.
511
+ */
512
+ post: operations["admin_printing_print_order"];
513
+ delete?: never;
514
+ options?: never;
515
+ head?: never;
516
+ patch?: never;
517
+ trace?: never;
518
+ };
519
+ "/api/v1/admin/printing/stores/{store_public_id}/devices/": {
520
+ parameters: {
521
+ query?: never;
522
+ header?: never;
523
+ path?: never;
524
+ cookie?: never;
525
+ };
526
+ /** @description The store's enabled cloud printers. An empty list: no cloud printing. */
527
+ get: operations["admin_printing_store_devices"];
528
+ put?: never;
529
+ post?: never;
530
+ delete?: never;
531
+ options?: never;
532
+ head?: never;
533
+ patch?: never;
534
+ trace?: never;
535
+ };
479
536
  "/api/v1/admin/products/": {
480
537
  parameters: {
481
538
  query?: never;
@@ -2790,6 +2847,31 @@ interface paths {
2790
2847
  patch?: never;
2791
2848
  trace?: never;
2792
2849
  };
2850
+ "/api/v1/products/deliverability/": {
2851
+ parameters: {
2852
+ query?: never;
2853
+ header?: never;
2854
+ path?: never;
2855
+ cookie?: never;
2856
+ };
2857
+ get?: never;
2858
+ put?: never;
2859
+ /**
2860
+ * @description Which products reach a position, and how: the address-aware list, body-borne.
2861
+ *
2862
+ * The same filter and badges as ``GET /products/?latitude=&longitude=``,
2863
+ * but the position and postcode travel in the body, because a URL is
2864
+ * written to every access log between the shopper and here. Returns every
2865
+ * reachable product (ids and badges only), so there is no page to run off
2866
+ * the end of.
2867
+ */
2868
+ post: operations["products_deliverability_create"];
2869
+ delete?: never;
2870
+ options?: never;
2871
+ head?: never;
2872
+ patch?: never;
2873
+ trace?: never;
2874
+ };
2793
2875
  "/api/v1/products/search/": {
2794
2876
  parameters: {
2795
2877
  query?: never;
@@ -3437,6 +3519,12 @@ interface components {
3437
3519
  public_id: string;
3438
3520
  fulfillment_types: string[];
3439
3521
  };
3522
+ /**
3523
+ * @description * `ok` - ok
3524
+ * * `alerting` - alerting
3525
+ * @enum {string}
3526
+ */
3527
+ AlertStateEnum: "ok" | "alerting";
3440
3528
  /**
3441
3529
  * @description * `order` - Entire Order
3442
3530
  * * `shipping` - Shipping
@@ -4134,6 +4222,23 @@ interface components {
4134
4222
  /** Format: date-time */
4135
4223
  readonly updated_at: string;
4136
4224
  };
4225
+ /**
4226
+ * @description A merchant pressed Print on an order in the merchant portal.
4227
+ *
4228
+ * ``order_id`` is the storefront Order PK and ``store_id`` the storefront
4229
+ * ``Store.id``, as merchant-portal-backend records them on its order
4230
+ * (``external_id``, ``metadata.store_id``). The store must be the merchant's
4231
+ * and must own the order. ``request_id`` is generated per click: a retry
4232
+ * with the same id prints nothing new. Who asked is read from the login
4233
+ * token, not from the body.
4234
+ */
4235
+ MerchantPrintOrderRequest: {
4236
+ /** Format: uuid */
4237
+ order_id: string;
4238
+ store_id: number;
4239
+ /** Format: uuid */
4240
+ request_id: string;
4241
+ };
4137
4242
  MessageContent: {
4138
4243
  /** Format: uuid */
4139
4244
  readonly id: string;
@@ -5170,6 +5275,47 @@ interface components {
5170
5275
  [key: string]: unknown;
5171
5276
  }[];
5172
5277
  };
5278
+ PrintDevice: {
5279
+ id: number;
5280
+ name: string;
5281
+ /**
5282
+ * @description `alerting`: the printer recently failed to print and the merchant was emailed. Cleared by its next successful print.
5283
+ *
5284
+ * * `ok` - ok
5285
+ * * `alerting` - alerting
5286
+ */
5287
+ alert_state: components["schemas"]["AlertStateEnum"];
5288
+ /** Format: date-time */
5289
+ last_seen_at: string | null;
5290
+ };
5291
+ PrintDevicesResponse: {
5292
+ devices: components["schemas"]["PrintDevice"][];
5293
+ };
5294
+ PrintJob: {
5295
+ /** Format: uuid */
5296
+ id: string;
5297
+ device_id: number;
5298
+ device_name: string;
5299
+ trigger: components["schemas"]["TriggerEnum"];
5300
+ status: components["schemas"]["PrintJobStatusEnum"];
5301
+ failure_reason: string;
5302
+ /** Format: date-time */
5303
+ queued_at: string;
5304
+ /** Format: date-time */
5305
+ printed_at: string | null;
5306
+ };
5307
+ /**
5308
+ * @description * `queued` - queued
5309
+ * * `announced` - announced
5310
+ * * `collected` - collected
5311
+ * * `printed` - printed
5312
+ * * `failed` - failed
5313
+ * @enum {string}
5314
+ */
5315
+ PrintJobStatusEnum: "queued" | "announced" | "collected" | "printed" | "failed";
5316
+ PrintJobsResponse: {
5317
+ jobs: components["schemas"]["PrintJob"][];
5318
+ };
5173
5319
  /** @description Write serializer for merchant-initiated or merchant-approved refunds. */
5174
5320
  ProcessRefund: {
5175
5321
  /** Format: uuid */
@@ -5249,6 +5395,40 @@ interface components {
5249
5395
  pre_order_lead_time?: number | null;
5250
5396
  readonly variant_overrides: components["schemas"]["VariantPriceOverride"][];
5251
5397
  };
5398
+ /** @description Which products reach the address, and the badges each carries there. */
5399
+ ProductDeliverability: {
5400
+ results: components["schemas"]["ProductDeliverabilityItem"][];
5401
+ delivery_metadata: components["schemas"]["ProductDeliveryMetadata"];
5402
+ };
5403
+ ProductDeliverabilityItem: {
5404
+ id: number;
5405
+ address_fulfillment_types: string[];
5406
+ };
5407
+ /**
5408
+ * @description Body of ``POST /products/deliverability/``: where the shopper is.
5409
+ *
5410
+ * A body, not a query string, because a position and a postcode are personal
5411
+ * data and a URL is written to every access log on the way here. ``latitude``
5412
+ * and ``longitude`` are ``RegexField`` rather than ``DecimalField`` because
5413
+ * ``DecimalField`` bounds are runtime-only in OpenAPI: generated clients see
5414
+ * a bare string. The pattern restates the ±90 / ±180 bounds where the client
5415
+ * can read them, and the view still converts to ``Decimal``.
5416
+ */
5417
+ ProductDeliverabilityRequest: {
5418
+ /** @description Latitude, within ±90 degrees. */
5419
+ latitude: string;
5420
+ /** @description Longitude, within ±180 degrees. */
5421
+ longitude: string;
5422
+ postal_code?: string;
5423
+ /** @description ISO 3166-1 alpha-2. A nationwide carrier that declares per-country service areas only offers its products once the country is known. */
5424
+ country?: string;
5425
+ };
5426
+ ProductDeliveryMetadata: {
5427
+ delivery_unavailable: boolean;
5428
+ near_delivery_zone: boolean;
5429
+ /** @description Closest pickup location; present only when delivery is unavailable. */
5430
+ nearest_pickup?: components["schemas"]["ProductNearestPickup"];
5431
+ };
5252
5432
  /** @description Resolve tags from ProductTranslation, falling back to Product.tags. */
5253
5433
  ProductDetail: {
5254
5434
  readonly id: number;
@@ -5400,6 +5580,13 @@ interface components {
5400
5580
  position?: number;
5401
5581
  readonly modifiers: components["schemas"]["ProductModifier"][];
5402
5582
  };
5583
+ /** @description The closest pickup location: the same shape ``address-check`` returns. */
5584
+ ProductNearestPickup: {
5585
+ id: number;
5586
+ name: string;
5587
+ /** Format: double */
5588
+ distance_km: number;
5589
+ };
5403
5590
  /**
5404
5591
  * @description Display-only promotion badge attached to a product.
5405
5592
  *
@@ -5967,6 +6154,12 @@ interface components {
5967
6154
  /** Format: date-time */
5968
6155
  readonly created_at: string;
5969
6156
  };
6157
+ /**
6158
+ * @description * `auto` - auto
6159
+ * * `manual` - manual
6160
+ * @enum {string}
6161
+ */
6162
+ TriggerEnum: "auto" | "manual";
5970
6163
  /**
5971
6164
  * @description * `authorization_request` - Authorization Request
5972
6165
  * * `authorization_success` - Authorization Success
@@ -8227,6 +8420,261 @@ interface operations {
8227
8420
  };
8228
8421
  };
8229
8422
  };
8423
+ admin_printing_order_jobs: {
8424
+ parameters: {
8425
+ query: {
8426
+ order_id: string;
8427
+ store_id: number;
8428
+ };
8429
+ header?: {
8430
+ /** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
8431
+ "X-Sous-Company-Id"?: number;
8432
+ };
8433
+ path?: never;
8434
+ cookie?: never;
8435
+ };
8436
+ requestBody?: never;
8437
+ responses: {
8438
+ 200: {
8439
+ headers: {
8440
+ [name: string]: unknown;
8441
+ };
8442
+ content: {
8443
+ "application/json": components["schemas"]["PrintJobsResponse"];
8444
+ };
8445
+ };
8446
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8447
+ 400: {
8448
+ headers: {
8449
+ [name: string]: unknown;
8450
+ };
8451
+ content: {
8452
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8453
+ };
8454
+ };
8455
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
8456
+ 401: {
8457
+ headers: {
8458
+ [name: string]: unknown;
8459
+ };
8460
+ content: {
8461
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8462
+ };
8463
+ };
8464
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
8465
+ 403: {
8466
+ headers: {
8467
+ [name: string]: unknown;
8468
+ };
8469
+ content: {
8470
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8471
+ };
8472
+ };
8473
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
8474
+ 404: {
8475
+ headers: {
8476
+ [name: string]: unknown;
8477
+ };
8478
+ content: {
8479
+ "application/json": {
8480
+ [key: string]: unknown;
8481
+ };
8482
+ };
8483
+ };
8484
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
8485
+ 429: {
8486
+ headers: {
8487
+ [name: string]: unknown;
8488
+ };
8489
+ content: {
8490
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8491
+ };
8492
+ };
8493
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8494
+ 500: {
8495
+ headers: {
8496
+ [name: string]: unknown;
8497
+ };
8498
+ content: {
8499
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8500
+ };
8501
+ };
8502
+ };
8503
+ };
8504
+ admin_printing_print_order: {
8505
+ parameters: {
8506
+ query?: never;
8507
+ header?: {
8508
+ /** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
8509
+ "X-Sous-Company-Id"?: number;
8510
+ };
8511
+ path?: never;
8512
+ cookie?: never;
8513
+ };
8514
+ requestBody: {
8515
+ content: {
8516
+ "application/json": components["schemas"]["MerchantPrintOrderRequest"];
8517
+ "application/x-www-form-urlencoded": components["schemas"]["MerchantPrintOrderRequest"];
8518
+ "multipart/form-data": components["schemas"]["MerchantPrintOrderRequest"];
8519
+ };
8520
+ };
8521
+ responses: {
8522
+ 202: {
8523
+ headers: {
8524
+ [name: string]: unknown;
8525
+ };
8526
+ content: {
8527
+ "application/json": components["schemas"]["PrintJobsResponse"];
8528
+ };
8529
+ };
8530
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8531
+ 400: {
8532
+ headers: {
8533
+ [name: string]: unknown;
8534
+ };
8535
+ content: {
8536
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8537
+ };
8538
+ };
8539
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
8540
+ 401: {
8541
+ headers: {
8542
+ [name: string]: unknown;
8543
+ };
8544
+ content: {
8545
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8546
+ };
8547
+ };
8548
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
8549
+ 403: {
8550
+ headers: {
8551
+ [name: string]: unknown;
8552
+ };
8553
+ content: {
8554
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8555
+ };
8556
+ };
8557
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
8558
+ 404: {
8559
+ headers: {
8560
+ [name: string]: unknown;
8561
+ };
8562
+ content: {
8563
+ "application/json": {
8564
+ [key: string]: unknown;
8565
+ };
8566
+ };
8567
+ };
8568
+ 409: {
8569
+ headers: {
8570
+ [name: string]: unknown;
8571
+ };
8572
+ content: {
8573
+ "application/json": {
8574
+ [key: string]: unknown;
8575
+ };
8576
+ };
8577
+ };
8578
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
8579
+ 429: {
8580
+ headers: {
8581
+ [name: string]: unknown;
8582
+ };
8583
+ content: {
8584
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8585
+ };
8586
+ };
8587
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8588
+ 500: {
8589
+ headers: {
8590
+ [name: string]: unknown;
8591
+ };
8592
+ content: {
8593
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8594
+ };
8595
+ };
8596
+ };
8597
+ };
8598
+ admin_printing_store_devices: {
8599
+ parameters: {
8600
+ query?: never;
8601
+ header?: {
8602
+ /** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
8603
+ "X-Sous-Company-Id"?: number;
8604
+ };
8605
+ path: {
8606
+ store_public_id: string;
8607
+ };
8608
+ cookie?: never;
8609
+ };
8610
+ requestBody?: never;
8611
+ responses: {
8612
+ 200: {
8613
+ headers: {
8614
+ [name: string]: unknown;
8615
+ };
8616
+ content: {
8617
+ "application/json": components["schemas"]["PrintDevicesResponse"];
8618
+ };
8619
+ };
8620
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8621
+ 400: {
8622
+ headers: {
8623
+ [name: string]: unknown;
8624
+ };
8625
+ content: {
8626
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8627
+ };
8628
+ };
8629
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
8630
+ 401: {
8631
+ headers: {
8632
+ [name: string]: unknown;
8633
+ };
8634
+ content: {
8635
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8636
+ };
8637
+ };
8638
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
8639
+ 403: {
8640
+ headers: {
8641
+ [name: string]: unknown;
8642
+ };
8643
+ content: {
8644
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8645
+ };
8646
+ };
8647
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
8648
+ 404: {
8649
+ headers: {
8650
+ [name: string]: unknown;
8651
+ };
8652
+ content: {
8653
+ "application/json": {
8654
+ [key: string]: unknown;
8655
+ };
8656
+ };
8657
+ };
8658
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
8659
+ 429: {
8660
+ headers: {
8661
+ [name: string]: unknown;
8662
+ };
8663
+ content: {
8664
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8665
+ };
8666
+ };
8667
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8668
+ 500: {
8669
+ headers: {
8670
+ [name: string]: unknown;
8671
+ };
8672
+ content: {
8673
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8674
+ };
8675
+ };
8676
+ };
8677
+ };
8230
8678
  admin_products_list: {
8231
8679
  parameters: {
8232
8680
  query?: {
@@ -19575,6 +20023,85 @@ interface operations {
19575
20023
  };
19576
20024
  };
19577
20025
  };
20026
+ products_deliverability_create: {
20027
+ parameters: {
20028
+ query?: never;
20029
+ header?: never;
20030
+ path?: never;
20031
+ cookie?: never;
20032
+ };
20033
+ requestBody: {
20034
+ content: {
20035
+ "application/json": components["schemas"]["ProductDeliverabilityRequest"];
20036
+ "application/x-www-form-urlencoded": components["schemas"]["ProductDeliverabilityRequest"];
20037
+ "multipart/form-data": components["schemas"]["ProductDeliverabilityRequest"];
20038
+ };
20039
+ };
20040
+ responses: {
20041
+ 200: {
20042
+ headers: {
20043
+ [name: string]: unknown;
20044
+ };
20045
+ content: {
20046
+ "application/json": components["schemas"]["ProductDeliverability"];
20047
+ };
20048
+ };
20049
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
20050
+ 400: {
20051
+ headers: {
20052
+ [name: string]: unknown;
20053
+ };
20054
+ content: {
20055
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20056
+ };
20057
+ };
20058
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
20059
+ 401: {
20060
+ headers: {
20061
+ [name: string]: unknown;
20062
+ };
20063
+ content: {
20064
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20065
+ };
20066
+ };
20067
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
20068
+ 403: {
20069
+ headers: {
20070
+ [name: string]: unknown;
20071
+ };
20072
+ content: {
20073
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20074
+ };
20075
+ };
20076
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. Possible error codes include `PRODUCT_NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
20077
+ 404: {
20078
+ headers: {
20079
+ [name: string]: unknown;
20080
+ };
20081
+ content: {
20082
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20083
+ };
20084
+ };
20085
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
20086
+ 429: {
20087
+ headers: {
20088
+ [name: string]: unknown;
20089
+ };
20090
+ content: {
20091
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20092
+ };
20093
+ };
20094
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
20095
+ 500: {
20096
+ headers: {
20097
+ [name: string]: unknown;
20098
+ };
20099
+ content: {
20100
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20101
+ };
20102
+ };
20103
+ };
20104
+ };
19578
20105
  products_search_retrieve: {
19579
20106
  parameters: {
19580
20107
  query?: {
package/dist/index.d.ts CHANGED
@@ -476,6 +476,63 @@ interface paths {
476
476
  patch?: never;
477
477
  trace?: never;
478
478
  };
479
+ "/api/v1/admin/printing/jobs/": {
480
+ parameters: {
481
+ query?: never;
482
+ header?: never;
483
+ path?: never;
484
+ cookie?: never;
485
+ };
486
+ /** @description The latest print job per printer for an order: did it print? */
487
+ get: operations["admin_printing_order_jobs"];
488
+ put?: never;
489
+ post?: never;
490
+ delete?: never;
491
+ options?: never;
492
+ head?: never;
493
+ patch?: never;
494
+ trace?: never;
495
+ };
496
+ "/api/v1/admin/printing/print-order/": {
497
+ parameters: {
498
+ query?: never;
499
+ header?: never;
500
+ path?: never;
501
+ cookie?: never;
502
+ };
503
+ get?: never;
504
+ put?: never;
505
+ /**
506
+ * @description Print an order again on the store's cloud printers.
507
+ *
508
+ * 202 with the jobs created (or, for a repeated ``request_id``, the jobs the
509
+ * first request created). 409 when the store has no enabled printer for the
510
+ * order's kitchen, so the portal can fall back to printing locally.
511
+ */
512
+ post: operations["admin_printing_print_order"];
513
+ delete?: never;
514
+ options?: never;
515
+ head?: never;
516
+ patch?: never;
517
+ trace?: never;
518
+ };
519
+ "/api/v1/admin/printing/stores/{store_public_id}/devices/": {
520
+ parameters: {
521
+ query?: never;
522
+ header?: never;
523
+ path?: never;
524
+ cookie?: never;
525
+ };
526
+ /** @description The store's enabled cloud printers. An empty list: no cloud printing. */
527
+ get: operations["admin_printing_store_devices"];
528
+ put?: never;
529
+ post?: never;
530
+ delete?: never;
531
+ options?: never;
532
+ head?: never;
533
+ patch?: never;
534
+ trace?: never;
535
+ };
479
536
  "/api/v1/admin/products/": {
480
537
  parameters: {
481
538
  query?: never;
@@ -2790,6 +2847,31 @@ interface paths {
2790
2847
  patch?: never;
2791
2848
  trace?: never;
2792
2849
  };
2850
+ "/api/v1/products/deliverability/": {
2851
+ parameters: {
2852
+ query?: never;
2853
+ header?: never;
2854
+ path?: never;
2855
+ cookie?: never;
2856
+ };
2857
+ get?: never;
2858
+ put?: never;
2859
+ /**
2860
+ * @description Which products reach a position, and how: the address-aware list, body-borne.
2861
+ *
2862
+ * The same filter and badges as ``GET /products/?latitude=&longitude=``,
2863
+ * but the position and postcode travel in the body, because a URL is
2864
+ * written to every access log between the shopper and here. Returns every
2865
+ * reachable product (ids and badges only), so there is no page to run off
2866
+ * the end of.
2867
+ */
2868
+ post: operations["products_deliverability_create"];
2869
+ delete?: never;
2870
+ options?: never;
2871
+ head?: never;
2872
+ patch?: never;
2873
+ trace?: never;
2874
+ };
2793
2875
  "/api/v1/products/search/": {
2794
2876
  parameters: {
2795
2877
  query?: never;
@@ -3437,6 +3519,12 @@ interface components {
3437
3519
  public_id: string;
3438
3520
  fulfillment_types: string[];
3439
3521
  };
3522
+ /**
3523
+ * @description * `ok` - ok
3524
+ * * `alerting` - alerting
3525
+ * @enum {string}
3526
+ */
3527
+ AlertStateEnum: "ok" | "alerting";
3440
3528
  /**
3441
3529
  * @description * `order` - Entire Order
3442
3530
  * * `shipping` - Shipping
@@ -4134,6 +4222,23 @@ interface components {
4134
4222
  /** Format: date-time */
4135
4223
  readonly updated_at: string;
4136
4224
  };
4225
+ /**
4226
+ * @description A merchant pressed Print on an order in the merchant portal.
4227
+ *
4228
+ * ``order_id`` is the storefront Order PK and ``store_id`` the storefront
4229
+ * ``Store.id``, as merchant-portal-backend records them on its order
4230
+ * (``external_id``, ``metadata.store_id``). The store must be the merchant's
4231
+ * and must own the order. ``request_id`` is generated per click: a retry
4232
+ * with the same id prints nothing new. Who asked is read from the login
4233
+ * token, not from the body.
4234
+ */
4235
+ MerchantPrintOrderRequest: {
4236
+ /** Format: uuid */
4237
+ order_id: string;
4238
+ store_id: number;
4239
+ /** Format: uuid */
4240
+ request_id: string;
4241
+ };
4137
4242
  MessageContent: {
4138
4243
  /** Format: uuid */
4139
4244
  readonly id: string;
@@ -5170,6 +5275,47 @@ interface components {
5170
5275
  [key: string]: unknown;
5171
5276
  }[];
5172
5277
  };
5278
+ PrintDevice: {
5279
+ id: number;
5280
+ name: string;
5281
+ /**
5282
+ * @description `alerting`: the printer recently failed to print and the merchant was emailed. Cleared by its next successful print.
5283
+ *
5284
+ * * `ok` - ok
5285
+ * * `alerting` - alerting
5286
+ */
5287
+ alert_state: components["schemas"]["AlertStateEnum"];
5288
+ /** Format: date-time */
5289
+ last_seen_at: string | null;
5290
+ };
5291
+ PrintDevicesResponse: {
5292
+ devices: components["schemas"]["PrintDevice"][];
5293
+ };
5294
+ PrintJob: {
5295
+ /** Format: uuid */
5296
+ id: string;
5297
+ device_id: number;
5298
+ device_name: string;
5299
+ trigger: components["schemas"]["TriggerEnum"];
5300
+ status: components["schemas"]["PrintJobStatusEnum"];
5301
+ failure_reason: string;
5302
+ /** Format: date-time */
5303
+ queued_at: string;
5304
+ /** Format: date-time */
5305
+ printed_at: string | null;
5306
+ };
5307
+ /**
5308
+ * @description * `queued` - queued
5309
+ * * `announced` - announced
5310
+ * * `collected` - collected
5311
+ * * `printed` - printed
5312
+ * * `failed` - failed
5313
+ * @enum {string}
5314
+ */
5315
+ PrintJobStatusEnum: "queued" | "announced" | "collected" | "printed" | "failed";
5316
+ PrintJobsResponse: {
5317
+ jobs: components["schemas"]["PrintJob"][];
5318
+ };
5173
5319
  /** @description Write serializer for merchant-initiated or merchant-approved refunds. */
5174
5320
  ProcessRefund: {
5175
5321
  /** Format: uuid */
@@ -5249,6 +5395,40 @@ interface components {
5249
5395
  pre_order_lead_time?: number | null;
5250
5396
  readonly variant_overrides: components["schemas"]["VariantPriceOverride"][];
5251
5397
  };
5398
+ /** @description Which products reach the address, and the badges each carries there. */
5399
+ ProductDeliverability: {
5400
+ results: components["schemas"]["ProductDeliverabilityItem"][];
5401
+ delivery_metadata: components["schemas"]["ProductDeliveryMetadata"];
5402
+ };
5403
+ ProductDeliverabilityItem: {
5404
+ id: number;
5405
+ address_fulfillment_types: string[];
5406
+ };
5407
+ /**
5408
+ * @description Body of ``POST /products/deliverability/``: where the shopper is.
5409
+ *
5410
+ * A body, not a query string, because a position and a postcode are personal
5411
+ * data and a URL is written to every access log on the way here. ``latitude``
5412
+ * and ``longitude`` are ``RegexField`` rather than ``DecimalField`` because
5413
+ * ``DecimalField`` bounds are runtime-only in OpenAPI: generated clients see
5414
+ * a bare string. The pattern restates the ±90 / ±180 bounds where the client
5415
+ * can read them, and the view still converts to ``Decimal``.
5416
+ */
5417
+ ProductDeliverabilityRequest: {
5418
+ /** @description Latitude, within ±90 degrees. */
5419
+ latitude: string;
5420
+ /** @description Longitude, within ±180 degrees. */
5421
+ longitude: string;
5422
+ postal_code?: string;
5423
+ /** @description ISO 3166-1 alpha-2. A nationwide carrier that declares per-country service areas only offers its products once the country is known. */
5424
+ country?: string;
5425
+ };
5426
+ ProductDeliveryMetadata: {
5427
+ delivery_unavailable: boolean;
5428
+ near_delivery_zone: boolean;
5429
+ /** @description Closest pickup location; present only when delivery is unavailable. */
5430
+ nearest_pickup?: components["schemas"]["ProductNearestPickup"];
5431
+ };
5252
5432
  /** @description Resolve tags from ProductTranslation, falling back to Product.tags. */
5253
5433
  ProductDetail: {
5254
5434
  readonly id: number;
@@ -5400,6 +5580,13 @@ interface components {
5400
5580
  position?: number;
5401
5581
  readonly modifiers: components["schemas"]["ProductModifier"][];
5402
5582
  };
5583
+ /** @description The closest pickup location: the same shape ``address-check`` returns. */
5584
+ ProductNearestPickup: {
5585
+ id: number;
5586
+ name: string;
5587
+ /** Format: double */
5588
+ distance_km: number;
5589
+ };
5403
5590
  /**
5404
5591
  * @description Display-only promotion badge attached to a product.
5405
5592
  *
@@ -5967,6 +6154,12 @@ interface components {
5967
6154
  /** Format: date-time */
5968
6155
  readonly created_at: string;
5969
6156
  };
6157
+ /**
6158
+ * @description * `auto` - auto
6159
+ * * `manual` - manual
6160
+ * @enum {string}
6161
+ */
6162
+ TriggerEnum: "auto" | "manual";
5970
6163
  /**
5971
6164
  * @description * `authorization_request` - Authorization Request
5972
6165
  * * `authorization_success` - Authorization Success
@@ -8227,6 +8420,261 @@ interface operations {
8227
8420
  };
8228
8421
  };
8229
8422
  };
8423
+ admin_printing_order_jobs: {
8424
+ parameters: {
8425
+ query: {
8426
+ order_id: string;
8427
+ store_id: number;
8428
+ };
8429
+ header?: {
8430
+ /** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
8431
+ "X-Sous-Company-Id"?: number;
8432
+ };
8433
+ path?: never;
8434
+ cookie?: never;
8435
+ };
8436
+ requestBody?: never;
8437
+ responses: {
8438
+ 200: {
8439
+ headers: {
8440
+ [name: string]: unknown;
8441
+ };
8442
+ content: {
8443
+ "application/json": components["schemas"]["PrintJobsResponse"];
8444
+ };
8445
+ };
8446
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8447
+ 400: {
8448
+ headers: {
8449
+ [name: string]: unknown;
8450
+ };
8451
+ content: {
8452
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8453
+ };
8454
+ };
8455
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
8456
+ 401: {
8457
+ headers: {
8458
+ [name: string]: unknown;
8459
+ };
8460
+ content: {
8461
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8462
+ };
8463
+ };
8464
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
8465
+ 403: {
8466
+ headers: {
8467
+ [name: string]: unknown;
8468
+ };
8469
+ content: {
8470
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8471
+ };
8472
+ };
8473
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
8474
+ 404: {
8475
+ headers: {
8476
+ [name: string]: unknown;
8477
+ };
8478
+ content: {
8479
+ "application/json": {
8480
+ [key: string]: unknown;
8481
+ };
8482
+ };
8483
+ };
8484
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
8485
+ 429: {
8486
+ headers: {
8487
+ [name: string]: unknown;
8488
+ };
8489
+ content: {
8490
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8491
+ };
8492
+ };
8493
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8494
+ 500: {
8495
+ headers: {
8496
+ [name: string]: unknown;
8497
+ };
8498
+ content: {
8499
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8500
+ };
8501
+ };
8502
+ };
8503
+ };
8504
+ admin_printing_print_order: {
8505
+ parameters: {
8506
+ query?: never;
8507
+ header?: {
8508
+ /** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
8509
+ "X-Sous-Company-Id"?: number;
8510
+ };
8511
+ path?: never;
8512
+ cookie?: never;
8513
+ };
8514
+ requestBody: {
8515
+ content: {
8516
+ "application/json": components["schemas"]["MerchantPrintOrderRequest"];
8517
+ "application/x-www-form-urlencoded": components["schemas"]["MerchantPrintOrderRequest"];
8518
+ "multipart/form-data": components["schemas"]["MerchantPrintOrderRequest"];
8519
+ };
8520
+ };
8521
+ responses: {
8522
+ 202: {
8523
+ headers: {
8524
+ [name: string]: unknown;
8525
+ };
8526
+ content: {
8527
+ "application/json": components["schemas"]["PrintJobsResponse"];
8528
+ };
8529
+ };
8530
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8531
+ 400: {
8532
+ headers: {
8533
+ [name: string]: unknown;
8534
+ };
8535
+ content: {
8536
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8537
+ };
8538
+ };
8539
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
8540
+ 401: {
8541
+ headers: {
8542
+ [name: string]: unknown;
8543
+ };
8544
+ content: {
8545
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8546
+ };
8547
+ };
8548
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
8549
+ 403: {
8550
+ headers: {
8551
+ [name: string]: unknown;
8552
+ };
8553
+ content: {
8554
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8555
+ };
8556
+ };
8557
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
8558
+ 404: {
8559
+ headers: {
8560
+ [name: string]: unknown;
8561
+ };
8562
+ content: {
8563
+ "application/json": {
8564
+ [key: string]: unknown;
8565
+ };
8566
+ };
8567
+ };
8568
+ 409: {
8569
+ headers: {
8570
+ [name: string]: unknown;
8571
+ };
8572
+ content: {
8573
+ "application/json": {
8574
+ [key: string]: unknown;
8575
+ };
8576
+ };
8577
+ };
8578
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
8579
+ 429: {
8580
+ headers: {
8581
+ [name: string]: unknown;
8582
+ };
8583
+ content: {
8584
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8585
+ };
8586
+ };
8587
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8588
+ 500: {
8589
+ headers: {
8590
+ [name: string]: unknown;
8591
+ };
8592
+ content: {
8593
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8594
+ };
8595
+ };
8596
+ };
8597
+ };
8598
+ admin_printing_store_devices: {
8599
+ parameters: {
8600
+ query?: never;
8601
+ header?: {
8602
+ /** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
8603
+ "X-Sous-Company-Id"?: number;
8604
+ };
8605
+ path: {
8606
+ store_public_id: string;
8607
+ };
8608
+ cookie?: never;
8609
+ };
8610
+ requestBody?: never;
8611
+ responses: {
8612
+ 200: {
8613
+ headers: {
8614
+ [name: string]: unknown;
8615
+ };
8616
+ content: {
8617
+ "application/json": components["schemas"]["PrintDevicesResponse"];
8618
+ };
8619
+ };
8620
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8621
+ 400: {
8622
+ headers: {
8623
+ [name: string]: unknown;
8624
+ };
8625
+ content: {
8626
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8627
+ };
8628
+ };
8629
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
8630
+ 401: {
8631
+ headers: {
8632
+ [name: string]: unknown;
8633
+ };
8634
+ content: {
8635
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8636
+ };
8637
+ };
8638
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
8639
+ 403: {
8640
+ headers: {
8641
+ [name: string]: unknown;
8642
+ };
8643
+ content: {
8644
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8645
+ };
8646
+ };
8647
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
8648
+ 404: {
8649
+ headers: {
8650
+ [name: string]: unknown;
8651
+ };
8652
+ content: {
8653
+ "application/json": {
8654
+ [key: string]: unknown;
8655
+ };
8656
+ };
8657
+ };
8658
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
8659
+ 429: {
8660
+ headers: {
8661
+ [name: string]: unknown;
8662
+ };
8663
+ content: {
8664
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8665
+ };
8666
+ };
8667
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
8668
+ 500: {
8669
+ headers: {
8670
+ [name: string]: unknown;
8671
+ };
8672
+ content: {
8673
+ "application/json": components["schemas"]["APIErrorEnvelope"];
8674
+ };
8675
+ };
8676
+ };
8677
+ };
8230
8678
  admin_products_list: {
8231
8679
  parameters: {
8232
8680
  query?: {
@@ -19575,6 +20023,85 @@ interface operations {
19575
20023
  };
19576
20024
  };
19577
20025
  };
20026
+ products_deliverability_create: {
20027
+ parameters: {
20028
+ query?: never;
20029
+ header?: never;
20030
+ path?: never;
20031
+ cookie?: never;
20032
+ };
20033
+ requestBody: {
20034
+ content: {
20035
+ "application/json": components["schemas"]["ProductDeliverabilityRequest"];
20036
+ "application/x-www-form-urlencoded": components["schemas"]["ProductDeliverabilityRequest"];
20037
+ "multipart/form-data": components["schemas"]["ProductDeliverabilityRequest"];
20038
+ };
20039
+ };
20040
+ responses: {
20041
+ 200: {
20042
+ headers: {
20043
+ [name: string]: unknown;
20044
+ };
20045
+ content: {
20046
+ "application/json": components["schemas"]["ProductDeliverability"];
20047
+ };
20048
+ };
20049
+ /** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
20050
+ 400: {
20051
+ headers: {
20052
+ [name: string]: unknown;
20053
+ };
20054
+ content: {
20055
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20056
+ };
20057
+ };
20058
+ /** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
20059
+ 401: {
20060
+ headers: {
20061
+ [name: string]: unknown;
20062
+ };
20063
+ content: {
20064
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20065
+ };
20066
+ };
20067
+ /** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
20068
+ 403: {
20069
+ headers: {
20070
+ [name: string]: unknown;
20071
+ };
20072
+ content: {
20073
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20074
+ };
20075
+ };
20076
+ /** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. Possible error codes include `PRODUCT_NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
20077
+ 404: {
20078
+ headers: {
20079
+ [name: string]: unknown;
20080
+ };
20081
+ content: {
20082
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20083
+ };
20084
+ };
20085
+ /** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
20086
+ 429: {
20087
+ headers: {
20088
+ [name: string]: unknown;
20089
+ };
20090
+ content: {
20091
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20092
+ };
20093
+ };
20094
+ /** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
20095
+ 500: {
20096
+ headers: {
20097
+ [name: string]: unknown;
20098
+ };
20099
+ content: {
20100
+ "application/json": components["schemas"]["APIErrorEnvelope"];
20101
+ };
20102
+ };
20103
+ };
20104
+ };
19578
20105
  products_search_retrieve: {
19579
20106
  parameters: {
19580
20107
  query?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poweredbysous/storefront-admin-sdk",
3
- "version": "4.0.3",
3
+ "version": "4.3.0",
4
4
  "description": "Type-safe TypeScript SDK for SOUS Storefront Backend admin endpoints",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,