@poweredbysous/storefront-admin-sdk 3.2.0 → 3.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 +249 -8
- package/dist/index.d.ts +249 -8
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -577,6 +577,50 @@ interface paths {
|
|
|
577
577
|
patch?: never;
|
|
578
578
|
trace?: never;
|
|
579
579
|
};
|
|
580
|
+
"/api/v1/admin/products/{product_id}/deposit/": {
|
|
581
|
+
parameters: {
|
|
582
|
+
query?: never;
|
|
583
|
+
header?: never;
|
|
584
|
+
path?: never;
|
|
585
|
+
cookie?: never;
|
|
586
|
+
};
|
|
587
|
+
/**
|
|
588
|
+
* Get a product's deposit (Pfand)
|
|
589
|
+
* @description Read or set one product's deposit (Pfand) from the Price tab.
|
|
590
|
+
*
|
|
591
|
+
* The portal sends an amount, not a surcharge id: this turns it into an
|
|
592
|
+
* attachment (``services.set_product_deposit``) and leaves the product's
|
|
593
|
+
* other surcharges alone, unlike ``AdminProductSurchargesView`` which
|
|
594
|
+
* replaces the whole set.
|
|
595
|
+
*
|
|
596
|
+
* Adding a deposit is refused unless the store's compliance profile offers
|
|
597
|
+
* one, so a store outside Germany — or with no country — cannot get a
|
|
598
|
+
* deposit by calling the API directly when the portal never shows the
|
|
599
|
+
* section. Removing one is always allowed.
|
|
600
|
+
*/
|
|
601
|
+
get: operations["admin_products_deposit_retrieve"];
|
|
602
|
+
/**
|
|
603
|
+
* Set a product's deposit (Pfand)
|
|
604
|
+
* @description Read or set one product's deposit (Pfand) from the Price tab.
|
|
605
|
+
*
|
|
606
|
+
* The portal sends an amount, not a surcharge id: this turns it into an
|
|
607
|
+
* attachment (``services.set_product_deposit``) and leaves the product's
|
|
608
|
+
* other surcharges alone, unlike ``AdminProductSurchargesView`` which
|
|
609
|
+
* replaces the whole set.
|
|
610
|
+
*
|
|
611
|
+
* Adding a deposit is refused unless the store's compliance profile offers
|
|
612
|
+
* one, so a store outside Germany — or with no country — cannot get a
|
|
613
|
+
* deposit by calling the API directly when the portal never shows the
|
|
614
|
+
* section. Removing one is always allowed.
|
|
615
|
+
*/
|
|
616
|
+
put: operations["admin_products_deposit_update"];
|
|
617
|
+
post?: never;
|
|
618
|
+
delete?: never;
|
|
619
|
+
options?: never;
|
|
620
|
+
head?: never;
|
|
621
|
+
patch?: never;
|
|
622
|
+
trace?: never;
|
|
623
|
+
};
|
|
580
624
|
"/api/v1/admin/products/{product_id}/surcharges/": {
|
|
581
625
|
parameters: {
|
|
582
626
|
query?: never;
|
|
@@ -3164,6 +3208,7 @@ interface components {
|
|
|
3164
3208
|
/** Format: decimal */
|
|
3165
3209
|
value_numeric?: string | null;
|
|
3166
3210
|
selected_choice_slugs?: string[];
|
|
3211
|
+
value_json?: unknown;
|
|
3167
3212
|
};
|
|
3168
3213
|
/**
|
|
3169
3214
|
* @description The request body of the admin attribute-value upsert.
|
|
@@ -3183,6 +3228,21 @@ interface components {
|
|
|
3183
3228
|
AdminAttributeValuesRequest: {
|
|
3184
3229
|
values: components["schemas"]["AdminAttributeValueWrite"][];
|
|
3185
3230
|
};
|
|
3231
|
+
/**
|
|
3232
|
+
* @description A product's deposit (Pfand) as the merchant portal's Price tab edits it.
|
|
3233
|
+
*
|
|
3234
|
+
* ``amount`` is the per-unit deposit in the store's currency, VAT-inclusive
|
|
3235
|
+
* like every surcharge amount: positive, in cents. Optional even when
|
|
3236
|
+
* ``applies`` is true — the amount is not hard-blocking (PAT-2275), and
|
|
3237
|
+
* ``{"applies": true, "amount": null}`` is a saved state in which nothing
|
|
3238
|
+
* is charged or shown until an amount is set. Ignored (and read back as
|
|
3239
|
+
* ``null``) when ``applies`` is false, and must be between 0.01 and 10.00.
|
|
3240
|
+
*/
|
|
3241
|
+
AdminProductDeposit: {
|
|
3242
|
+
applies: boolean;
|
|
3243
|
+
/** Format: decimal */
|
|
3244
|
+
amount?: string | null;
|
|
3245
|
+
};
|
|
3186
3246
|
/**
|
|
3187
3247
|
* @description Lightweight product row for the merchant-portal product picker.
|
|
3188
3248
|
*
|
|
@@ -3331,8 +3391,8 @@ interface components {
|
|
|
3331
3391
|
AdminStoreComplianceDefaults: {
|
|
3332
3392
|
/** @description Merchant-authored statement of how a customer returns a deposit-carrying container for the Pfand refund (D7). The platform charges and displays the deposit; the merchant runs the return — this is the platform's disclosure of that process, not the process itself. A store with any active deposit-charging product must set this before that product can list (see ``compliance.resolver.validate_products``). Empty means unset. */
|
|
3333
3393
|
deposit_return_policy?: string;
|
|
3334
|
-
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A product-level value always takes precedence.
|
|
3335
|
-
default_responsible_business?:
|
|
3394
|
+
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A structured object of the operator's address sub-fields (company, street, postal_code, city, country). A product-level value always takes precedence. An empty object means unset. */
|
|
3395
|
+
default_responsible_business?: unknown;
|
|
3336
3396
|
/** @description Fallback ``country_of_origin`` compliance value for this store's own prepacked products (D26). A product-level value always takes precedence. Empty means unset. */
|
|
3337
3397
|
default_country_of_origin?: string;
|
|
3338
3398
|
/** @description Whether this store offers reusable delivery packaging. German VerpackG §33 obliges eligible restaurants to offer and display the option; stores outside that scope leave it off and see no change. */
|
|
@@ -3609,12 +3669,13 @@ interface components {
|
|
|
3609
3669
|
label: string;
|
|
3610
3670
|
choices: components["schemas"]["ComplianceChoice"][];
|
|
3611
3671
|
inherits_store_default: boolean;
|
|
3612
|
-
inherited_value:
|
|
3672
|
+
inherited_value: unknown;
|
|
3613
3673
|
};
|
|
3614
3674
|
ComplianceSchemaResponse: {
|
|
3615
3675
|
product_type: string;
|
|
3616
3676
|
product_type_classified: boolean;
|
|
3617
3677
|
requires_attestation: boolean;
|
|
3678
|
+
deposit_config_enabled: boolean;
|
|
3618
3679
|
fields: components["schemas"]["ComplianceSchemaField"][];
|
|
3619
3680
|
};
|
|
3620
3681
|
ConfirmEdit: {
|
|
@@ -3964,12 +4025,14 @@ interface components {
|
|
|
3964
4025
|
* * `datetime` - Date & Time
|
|
3965
4026
|
* * `dropdown` - Dropdown
|
|
3966
4027
|
* * `multiselect` - Multi-select
|
|
4028
|
+
* * `structured_list` - Structured List
|
|
4029
|
+
* * `structured_object` - Structured Object
|
|
3967
4030
|
* * `file` - File
|
|
3968
4031
|
* * `reference` - Reference
|
|
3969
4032
|
* * `color` - Color
|
|
3970
4033
|
* @enum {string}
|
|
3971
4034
|
*/
|
|
3972
|
-
InputTypeEnum: "text" | "rich_text" | "numeric" | "boolean" | "date" | "datetime" | "dropdown" | "multiselect" | "file" | "reference" | "color";
|
|
4035
|
+
InputTypeEnum: "text" | "rich_text" | "numeric" | "boolean" | "date" | "datetime" | "dropdown" | "multiselect" | "structured_list" | "structured_object" | "file" | "reference" | "color";
|
|
3973
4036
|
Invoice: {
|
|
3974
4037
|
id: string;
|
|
3975
4038
|
/** Format: int64 */
|
|
@@ -4253,6 +4316,11 @@ interface components {
|
|
|
4253
4316
|
* @description Aggregated non-discountable surcharges (VAT-inclusive)
|
|
4254
4317
|
*/
|
|
4255
4318
|
surcharge_total?: string;
|
|
4319
|
+
/**
|
|
4320
|
+
* Format: decimal
|
|
4321
|
+
* @description Deposits (subset of surcharge_total), shown separately.
|
|
4322
|
+
*/
|
|
4323
|
+
deposit_total?: string;
|
|
4256
4324
|
cancellation_reason?: string;
|
|
4257
4325
|
/** Format: decimal */
|
|
4258
4326
|
total: string;
|
|
@@ -4396,6 +4464,11 @@ interface components {
|
|
|
4396
4464
|
tax_amount: string;
|
|
4397
4465
|
/** Format: decimal */
|
|
4398
4466
|
line_total: string;
|
|
4467
|
+
/**
|
|
4468
|
+
* Format: decimal
|
|
4469
|
+
* @description Deposit charged on this line, snapshotted at order time so removing the line refunds it.
|
|
4470
|
+
*/
|
|
4471
|
+
deposit_amount?: string;
|
|
4399
4472
|
fulfillment_type: string;
|
|
4400
4473
|
/** Format: date */
|
|
4401
4474
|
fulfillment_date?: string | null;
|
|
@@ -4776,8 +4849,8 @@ interface components {
|
|
|
4776
4849
|
PatchedAdminStoreComplianceDefaults: {
|
|
4777
4850
|
/** @description Merchant-authored statement of how a customer returns a deposit-carrying container for the Pfand refund (D7). The platform charges and displays the deposit; the merchant runs the return — this is the platform's disclosure of that process, not the process itself. A store with any active deposit-charging product must set this before that product can list (see ``compliance.resolver.validate_products``). Empty means unset. */
|
|
4778
4851
|
deposit_return_policy?: string;
|
|
4779
|
-
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A product-level value always takes precedence.
|
|
4780
|
-
default_responsible_business?:
|
|
4852
|
+
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A structured object of the operator's address sub-fields (company, street, postal_code, city, country). A product-level value always takes precedence. An empty object means unset. */
|
|
4853
|
+
default_responsible_business?: unknown;
|
|
4781
4854
|
/** @description Fallback ``country_of_origin`` compliance value for this store's own prepacked products (D26). A product-level value always takes precedence. Empty means unset. */
|
|
4782
4855
|
default_country_of_origin?: string;
|
|
4783
4856
|
/** @description Whether this store offers reusable delivery packaging. German VerpackG §33 obliges eligible restaurants to offer and display the option; stores outside that scope leave it off and see no change. */
|
|
@@ -5055,7 +5128,7 @@ interface components {
|
|
|
5055
5128
|
amount?: string;
|
|
5056
5129
|
/**
|
|
5057
5130
|
* Format: decimal
|
|
5058
|
-
* @description VAT rate for this surcharge
|
|
5131
|
+
* @description VAT rate for this surcharge. Not used for a deposit attached to a product or modifier: German Pfand is an ancillary charge on the container and is taxed at the rate of the item it is attached to (UStAE A 10.1 Abs. 8). A deposit's rate here only applies when it is charged per order as the reusable-packaging deposit. Stored as a fraction — the convention every VAT rate in this codebase carries: 19% is stored as 0.19, never 19.00. Required, like Product.vat_rate and ProductModifier.vat_rate: a missing rate must fail loudly rather than silently invoice at 0%.
|
|
5059
5132
|
*/
|
|
5060
5133
|
vat_rate?: string;
|
|
5061
5134
|
/** @description Category: sup, deposit, bag_fee, packaging, etc. */
|
|
@@ -5130,6 +5203,7 @@ interface components {
|
|
|
5130
5203
|
value_file?: string;
|
|
5131
5204
|
/** Format: int64 */
|
|
5132
5205
|
value_reference?: number | null;
|
|
5206
|
+
value_json?: unknown;
|
|
5133
5207
|
readonly selected_choices: components["schemas"]["AttributeChoice"][];
|
|
5134
5208
|
};
|
|
5135
5209
|
/**
|
|
@@ -5259,6 +5333,8 @@ interface components {
|
|
|
5259
5333
|
/** Format: decimal */
|
|
5260
5334
|
price: string;
|
|
5261
5335
|
/** Format: decimal */
|
|
5336
|
+
readonly deposit_amount: string | null;
|
|
5337
|
+
/** Format: decimal */
|
|
5262
5338
|
compare_at_price?: string | null;
|
|
5263
5339
|
currency?: string;
|
|
5264
5340
|
/** Format: decimal */
|
|
@@ -5782,6 +5858,8 @@ interface components {
|
|
|
5782
5858
|
price: string;
|
|
5783
5859
|
currency: string;
|
|
5784
5860
|
image_url: string;
|
|
5861
|
+
/** Format: decimal */
|
|
5862
|
+
deposit_amount?: string | null;
|
|
5785
5863
|
reason: string;
|
|
5786
5864
|
};
|
|
5787
5865
|
Surcharge: {
|
|
@@ -5797,7 +5875,7 @@ interface components {
|
|
|
5797
5875
|
amount: string;
|
|
5798
5876
|
/**
|
|
5799
5877
|
* Format: decimal
|
|
5800
|
-
* @description VAT rate for this surcharge
|
|
5878
|
+
* @description VAT rate for this surcharge. Not used for a deposit attached to a product or modifier: German Pfand is an ancillary charge on the container and is taxed at the rate of the item it is attached to (UStAE A 10.1 Abs. 8). A deposit's rate here only applies when it is charged per order as the reusable-packaging deposit. Stored as a fraction — the convention every VAT rate in this codebase carries: 19% is stored as 0.19, never 19.00. Required, like Product.vat_rate and ProductModifier.vat_rate: a missing rate must fail loudly rather than silently invoice at 0%.
|
|
5801
5879
|
*/
|
|
5802
5880
|
vat_rate: string;
|
|
5803
5881
|
/** @description Category: sup, deposit, bag_fee, packaging, etc. */
|
|
@@ -5948,6 +6026,7 @@ interface components {
|
|
|
5948
6026
|
value_file?: string;
|
|
5949
6027
|
/** Format: int64 */
|
|
5950
6028
|
value_reference?: number | null;
|
|
6029
|
+
value_json?: unknown;
|
|
5951
6030
|
readonly selected_choices: components["schemas"]["AttributeChoice"][];
|
|
5952
6031
|
};
|
|
5953
6032
|
VariantPriceOverride: {
|
|
@@ -8605,6 +8684,168 @@ interface operations {
|
|
|
8605
8684
|
};
|
|
8606
8685
|
};
|
|
8607
8686
|
};
|
|
8687
|
+
admin_products_deposit_retrieve: {
|
|
8688
|
+
parameters: {
|
|
8689
|
+
query?: never;
|
|
8690
|
+
header?: {
|
|
8691
|
+
/** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
|
|
8692
|
+
"X-Sous-Company-Id"?: number;
|
|
8693
|
+
};
|
|
8694
|
+
path: {
|
|
8695
|
+
product_id: number;
|
|
8696
|
+
};
|
|
8697
|
+
cookie?: never;
|
|
8698
|
+
};
|
|
8699
|
+
requestBody?: never;
|
|
8700
|
+
responses: {
|
|
8701
|
+
200: {
|
|
8702
|
+
headers: {
|
|
8703
|
+
[name: string]: unknown;
|
|
8704
|
+
};
|
|
8705
|
+
content: {
|
|
8706
|
+
"application/json": components["schemas"]["AdminProductDeposit"];
|
|
8707
|
+
};
|
|
8708
|
+
};
|
|
8709
|
+
/** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8710
|
+
400: {
|
|
8711
|
+
headers: {
|
|
8712
|
+
[name: string]: unknown;
|
|
8713
|
+
};
|
|
8714
|
+
content: {
|
|
8715
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8716
|
+
};
|
|
8717
|
+
};
|
|
8718
|
+
/** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8719
|
+
401: {
|
|
8720
|
+
headers: {
|
|
8721
|
+
[name: string]: unknown;
|
|
8722
|
+
};
|
|
8723
|
+
content: {
|
|
8724
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8725
|
+
};
|
|
8726
|
+
};
|
|
8727
|
+
/** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8728
|
+
403: {
|
|
8729
|
+
headers: {
|
|
8730
|
+
[name: string]: unknown;
|
|
8731
|
+
};
|
|
8732
|
+
content: {
|
|
8733
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8734
|
+
};
|
|
8735
|
+
};
|
|
8736
|
+
/** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8737
|
+
404: {
|
|
8738
|
+
headers: {
|
|
8739
|
+
[name: string]: unknown;
|
|
8740
|
+
};
|
|
8741
|
+
content: {
|
|
8742
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8743
|
+
};
|
|
8744
|
+
};
|
|
8745
|
+
/** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8746
|
+
429: {
|
|
8747
|
+
headers: {
|
|
8748
|
+
[name: string]: unknown;
|
|
8749
|
+
};
|
|
8750
|
+
content: {
|
|
8751
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8752
|
+
};
|
|
8753
|
+
};
|
|
8754
|
+
/** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8755
|
+
500: {
|
|
8756
|
+
headers: {
|
|
8757
|
+
[name: string]: unknown;
|
|
8758
|
+
};
|
|
8759
|
+
content: {
|
|
8760
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8761
|
+
};
|
|
8762
|
+
};
|
|
8763
|
+
};
|
|
8764
|
+
};
|
|
8765
|
+
admin_products_deposit_update: {
|
|
8766
|
+
parameters: {
|
|
8767
|
+
query?: never;
|
|
8768
|
+
header?: {
|
|
8769
|
+
/** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
|
|
8770
|
+
"X-Sous-Company-Id"?: number;
|
|
8771
|
+
};
|
|
8772
|
+
path: {
|
|
8773
|
+
product_id: number;
|
|
8774
|
+
};
|
|
8775
|
+
cookie?: never;
|
|
8776
|
+
};
|
|
8777
|
+
requestBody: {
|
|
8778
|
+
content: {
|
|
8779
|
+
"application/json": components["schemas"]["AdminProductDeposit"];
|
|
8780
|
+
"application/x-www-form-urlencoded": components["schemas"]["AdminProductDeposit"];
|
|
8781
|
+
"multipart/form-data": components["schemas"]["AdminProductDeposit"];
|
|
8782
|
+
};
|
|
8783
|
+
};
|
|
8784
|
+
responses: {
|
|
8785
|
+
200: {
|
|
8786
|
+
headers: {
|
|
8787
|
+
[name: string]: unknown;
|
|
8788
|
+
};
|
|
8789
|
+
content: {
|
|
8790
|
+
"application/json": components["schemas"]["AdminProductDeposit"];
|
|
8791
|
+
};
|
|
8792
|
+
};
|
|
8793
|
+
/** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8794
|
+
400: {
|
|
8795
|
+
headers: {
|
|
8796
|
+
[name: string]: unknown;
|
|
8797
|
+
};
|
|
8798
|
+
content: {
|
|
8799
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8800
|
+
};
|
|
8801
|
+
};
|
|
8802
|
+
/** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8803
|
+
401: {
|
|
8804
|
+
headers: {
|
|
8805
|
+
[name: string]: unknown;
|
|
8806
|
+
};
|
|
8807
|
+
content: {
|
|
8808
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8809
|
+
};
|
|
8810
|
+
};
|
|
8811
|
+
/** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8812
|
+
403: {
|
|
8813
|
+
headers: {
|
|
8814
|
+
[name: string]: unknown;
|
|
8815
|
+
};
|
|
8816
|
+
content: {
|
|
8817
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8818
|
+
};
|
|
8819
|
+
};
|
|
8820
|
+
/** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8821
|
+
404: {
|
|
8822
|
+
headers: {
|
|
8823
|
+
[name: string]: unknown;
|
|
8824
|
+
};
|
|
8825
|
+
content: {
|
|
8826
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8827
|
+
};
|
|
8828
|
+
};
|
|
8829
|
+
/** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8830
|
+
429: {
|
|
8831
|
+
headers: {
|
|
8832
|
+
[name: string]: unknown;
|
|
8833
|
+
};
|
|
8834
|
+
content: {
|
|
8835
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8836
|
+
};
|
|
8837
|
+
};
|
|
8838
|
+
/** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8839
|
+
500: {
|
|
8840
|
+
headers: {
|
|
8841
|
+
[name: string]: unknown;
|
|
8842
|
+
};
|
|
8843
|
+
content: {
|
|
8844
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8845
|
+
};
|
|
8846
|
+
};
|
|
8847
|
+
};
|
|
8848
|
+
};
|
|
8608
8849
|
admin_products_surcharges_update: {
|
|
8609
8850
|
parameters: {
|
|
8610
8851
|
query?: never;
|
package/dist/index.d.ts
CHANGED
|
@@ -577,6 +577,50 @@ interface paths {
|
|
|
577
577
|
patch?: never;
|
|
578
578
|
trace?: never;
|
|
579
579
|
};
|
|
580
|
+
"/api/v1/admin/products/{product_id}/deposit/": {
|
|
581
|
+
parameters: {
|
|
582
|
+
query?: never;
|
|
583
|
+
header?: never;
|
|
584
|
+
path?: never;
|
|
585
|
+
cookie?: never;
|
|
586
|
+
};
|
|
587
|
+
/**
|
|
588
|
+
* Get a product's deposit (Pfand)
|
|
589
|
+
* @description Read or set one product's deposit (Pfand) from the Price tab.
|
|
590
|
+
*
|
|
591
|
+
* The portal sends an amount, not a surcharge id: this turns it into an
|
|
592
|
+
* attachment (``services.set_product_deposit``) and leaves the product's
|
|
593
|
+
* other surcharges alone, unlike ``AdminProductSurchargesView`` which
|
|
594
|
+
* replaces the whole set.
|
|
595
|
+
*
|
|
596
|
+
* Adding a deposit is refused unless the store's compliance profile offers
|
|
597
|
+
* one, so a store outside Germany — or with no country — cannot get a
|
|
598
|
+
* deposit by calling the API directly when the portal never shows the
|
|
599
|
+
* section. Removing one is always allowed.
|
|
600
|
+
*/
|
|
601
|
+
get: operations["admin_products_deposit_retrieve"];
|
|
602
|
+
/**
|
|
603
|
+
* Set a product's deposit (Pfand)
|
|
604
|
+
* @description Read or set one product's deposit (Pfand) from the Price tab.
|
|
605
|
+
*
|
|
606
|
+
* The portal sends an amount, not a surcharge id: this turns it into an
|
|
607
|
+
* attachment (``services.set_product_deposit``) and leaves the product's
|
|
608
|
+
* other surcharges alone, unlike ``AdminProductSurchargesView`` which
|
|
609
|
+
* replaces the whole set.
|
|
610
|
+
*
|
|
611
|
+
* Adding a deposit is refused unless the store's compliance profile offers
|
|
612
|
+
* one, so a store outside Germany — or with no country — cannot get a
|
|
613
|
+
* deposit by calling the API directly when the portal never shows the
|
|
614
|
+
* section. Removing one is always allowed.
|
|
615
|
+
*/
|
|
616
|
+
put: operations["admin_products_deposit_update"];
|
|
617
|
+
post?: never;
|
|
618
|
+
delete?: never;
|
|
619
|
+
options?: never;
|
|
620
|
+
head?: never;
|
|
621
|
+
patch?: never;
|
|
622
|
+
trace?: never;
|
|
623
|
+
};
|
|
580
624
|
"/api/v1/admin/products/{product_id}/surcharges/": {
|
|
581
625
|
parameters: {
|
|
582
626
|
query?: never;
|
|
@@ -3164,6 +3208,7 @@ interface components {
|
|
|
3164
3208
|
/** Format: decimal */
|
|
3165
3209
|
value_numeric?: string | null;
|
|
3166
3210
|
selected_choice_slugs?: string[];
|
|
3211
|
+
value_json?: unknown;
|
|
3167
3212
|
};
|
|
3168
3213
|
/**
|
|
3169
3214
|
* @description The request body of the admin attribute-value upsert.
|
|
@@ -3183,6 +3228,21 @@ interface components {
|
|
|
3183
3228
|
AdminAttributeValuesRequest: {
|
|
3184
3229
|
values: components["schemas"]["AdminAttributeValueWrite"][];
|
|
3185
3230
|
};
|
|
3231
|
+
/**
|
|
3232
|
+
* @description A product's deposit (Pfand) as the merchant portal's Price tab edits it.
|
|
3233
|
+
*
|
|
3234
|
+
* ``amount`` is the per-unit deposit in the store's currency, VAT-inclusive
|
|
3235
|
+
* like every surcharge amount: positive, in cents. Optional even when
|
|
3236
|
+
* ``applies`` is true — the amount is not hard-blocking (PAT-2275), and
|
|
3237
|
+
* ``{"applies": true, "amount": null}`` is a saved state in which nothing
|
|
3238
|
+
* is charged or shown until an amount is set. Ignored (and read back as
|
|
3239
|
+
* ``null``) when ``applies`` is false, and must be between 0.01 and 10.00.
|
|
3240
|
+
*/
|
|
3241
|
+
AdminProductDeposit: {
|
|
3242
|
+
applies: boolean;
|
|
3243
|
+
/** Format: decimal */
|
|
3244
|
+
amount?: string | null;
|
|
3245
|
+
};
|
|
3186
3246
|
/**
|
|
3187
3247
|
* @description Lightweight product row for the merchant-portal product picker.
|
|
3188
3248
|
*
|
|
@@ -3331,8 +3391,8 @@ interface components {
|
|
|
3331
3391
|
AdminStoreComplianceDefaults: {
|
|
3332
3392
|
/** @description Merchant-authored statement of how a customer returns a deposit-carrying container for the Pfand refund (D7). The platform charges and displays the deposit; the merchant runs the return — this is the platform's disclosure of that process, not the process itself. A store with any active deposit-charging product must set this before that product can list (see ``compliance.resolver.validate_products``). Empty means unset. */
|
|
3333
3393
|
deposit_return_policy?: string;
|
|
3334
|
-
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A product-level value always takes precedence.
|
|
3335
|
-
default_responsible_business?:
|
|
3394
|
+
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A structured object of the operator's address sub-fields (company, street, postal_code, city, country). A product-level value always takes precedence. An empty object means unset. */
|
|
3395
|
+
default_responsible_business?: unknown;
|
|
3336
3396
|
/** @description Fallback ``country_of_origin`` compliance value for this store's own prepacked products (D26). A product-level value always takes precedence. Empty means unset. */
|
|
3337
3397
|
default_country_of_origin?: string;
|
|
3338
3398
|
/** @description Whether this store offers reusable delivery packaging. German VerpackG §33 obliges eligible restaurants to offer and display the option; stores outside that scope leave it off and see no change. */
|
|
@@ -3609,12 +3669,13 @@ interface components {
|
|
|
3609
3669
|
label: string;
|
|
3610
3670
|
choices: components["schemas"]["ComplianceChoice"][];
|
|
3611
3671
|
inherits_store_default: boolean;
|
|
3612
|
-
inherited_value:
|
|
3672
|
+
inherited_value: unknown;
|
|
3613
3673
|
};
|
|
3614
3674
|
ComplianceSchemaResponse: {
|
|
3615
3675
|
product_type: string;
|
|
3616
3676
|
product_type_classified: boolean;
|
|
3617
3677
|
requires_attestation: boolean;
|
|
3678
|
+
deposit_config_enabled: boolean;
|
|
3618
3679
|
fields: components["schemas"]["ComplianceSchemaField"][];
|
|
3619
3680
|
};
|
|
3620
3681
|
ConfirmEdit: {
|
|
@@ -3964,12 +4025,14 @@ interface components {
|
|
|
3964
4025
|
* * `datetime` - Date & Time
|
|
3965
4026
|
* * `dropdown` - Dropdown
|
|
3966
4027
|
* * `multiselect` - Multi-select
|
|
4028
|
+
* * `structured_list` - Structured List
|
|
4029
|
+
* * `structured_object` - Structured Object
|
|
3967
4030
|
* * `file` - File
|
|
3968
4031
|
* * `reference` - Reference
|
|
3969
4032
|
* * `color` - Color
|
|
3970
4033
|
* @enum {string}
|
|
3971
4034
|
*/
|
|
3972
|
-
InputTypeEnum: "text" | "rich_text" | "numeric" | "boolean" | "date" | "datetime" | "dropdown" | "multiselect" | "file" | "reference" | "color";
|
|
4035
|
+
InputTypeEnum: "text" | "rich_text" | "numeric" | "boolean" | "date" | "datetime" | "dropdown" | "multiselect" | "structured_list" | "structured_object" | "file" | "reference" | "color";
|
|
3973
4036
|
Invoice: {
|
|
3974
4037
|
id: string;
|
|
3975
4038
|
/** Format: int64 */
|
|
@@ -4253,6 +4316,11 @@ interface components {
|
|
|
4253
4316
|
* @description Aggregated non-discountable surcharges (VAT-inclusive)
|
|
4254
4317
|
*/
|
|
4255
4318
|
surcharge_total?: string;
|
|
4319
|
+
/**
|
|
4320
|
+
* Format: decimal
|
|
4321
|
+
* @description Deposits (subset of surcharge_total), shown separately.
|
|
4322
|
+
*/
|
|
4323
|
+
deposit_total?: string;
|
|
4256
4324
|
cancellation_reason?: string;
|
|
4257
4325
|
/** Format: decimal */
|
|
4258
4326
|
total: string;
|
|
@@ -4396,6 +4464,11 @@ interface components {
|
|
|
4396
4464
|
tax_amount: string;
|
|
4397
4465
|
/** Format: decimal */
|
|
4398
4466
|
line_total: string;
|
|
4467
|
+
/**
|
|
4468
|
+
* Format: decimal
|
|
4469
|
+
* @description Deposit charged on this line, snapshotted at order time so removing the line refunds it.
|
|
4470
|
+
*/
|
|
4471
|
+
deposit_amount?: string;
|
|
4399
4472
|
fulfillment_type: string;
|
|
4400
4473
|
/** Format: date */
|
|
4401
4474
|
fulfillment_date?: string | null;
|
|
@@ -4776,8 +4849,8 @@ interface components {
|
|
|
4776
4849
|
PatchedAdminStoreComplianceDefaults: {
|
|
4777
4850
|
/** @description Merchant-authored statement of how a customer returns a deposit-carrying container for the Pfand refund (D7). The platform charges and displays the deposit; the merchant runs the return — this is the platform's disclosure of that process, not the process itself. A store with any active deposit-charging product must set this before that product can list (see ``compliance.resolver.validate_products``). Empty means unset. */
|
|
4778
4851
|
deposit_return_policy?: string;
|
|
4779
|
-
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A product-level value always takes precedence.
|
|
4780
|
-
default_responsible_business?:
|
|
4852
|
+
/** @description Fallback ``responsible_business`` compliance value for this store's own prepacked products, so a merchant can supply it once instead of on every product (D26). A structured object of the operator's address sub-fields (company, street, postal_code, city, country). A product-level value always takes precedence. An empty object means unset. */
|
|
4853
|
+
default_responsible_business?: unknown;
|
|
4781
4854
|
/** @description Fallback ``country_of_origin`` compliance value for this store's own prepacked products (D26). A product-level value always takes precedence. Empty means unset. */
|
|
4782
4855
|
default_country_of_origin?: string;
|
|
4783
4856
|
/** @description Whether this store offers reusable delivery packaging. German VerpackG §33 obliges eligible restaurants to offer and display the option; stores outside that scope leave it off and see no change. */
|
|
@@ -5055,7 +5128,7 @@ interface components {
|
|
|
5055
5128
|
amount?: string;
|
|
5056
5129
|
/**
|
|
5057
5130
|
* Format: decimal
|
|
5058
|
-
* @description VAT rate for this surcharge
|
|
5131
|
+
* @description VAT rate for this surcharge. Not used for a deposit attached to a product or modifier: German Pfand is an ancillary charge on the container and is taxed at the rate of the item it is attached to (UStAE A 10.1 Abs. 8). A deposit's rate here only applies when it is charged per order as the reusable-packaging deposit. Stored as a fraction — the convention every VAT rate in this codebase carries: 19% is stored as 0.19, never 19.00. Required, like Product.vat_rate and ProductModifier.vat_rate: a missing rate must fail loudly rather than silently invoice at 0%.
|
|
5059
5132
|
*/
|
|
5060
5133
|
vat_rate?: string;
|
|
5061
5134
|
/** @description Category: sup, deposit, bag_fee, packaging, etc. */
|
|
@@ -5130,6 +5203,7 @@ interface components {
|
|
|
5130
5203
|
value_file?: string;
|
|
5131
5204
|
/** Format: int64 */
|
|
5132
5205
|
value_reference?: number | null;
|
|
5206
|
+
value_json?: unknown;
|
|
5133
5207
|
readonly selected_choices: components["schemas"]["AttributeChoice"][];
|
|
5134
5208
|
};
|
|
5135
5209
|
/**
|
|
@@ -5259,6 +5333,8 @@ interface components {
|
|
|
5259
5333
|
/** Format: decimal */
|
|
5260
5334
|
price: string;
|
|
5261
5335
|
/** Format: decimal */
|
|
5336
|
+
readonly deposit_amount: string | null;
|
|
5337
|
+
/** Format: decimal */
|
|
5262
5338
|
compare_at_price?: string | null;
|
|
5263
5339
|
currency?: string;
|
|
5264
5340
|
/** Format: decimal */
|
|
@@ -5782,6 +5858,8 @@ interface components {
|
|
|
5782
5858
|
price: string;
|
|
5783
5859
|
currency: string;
|
|
5784
5860
|
image_url: string;
|
|
5861
|
+
/** Format: decimal */
|
|
5862
|
+
deposit_amount?: string | null;
|
|
5785
5863
|
reason: string;
|
|
5786
5864
|
};
|
|
5787
5865
|
Surcharge: {
|
|
@@ -5797,7 +5875,7 @@ interface components {
|
|
|
5797
5875
|
amount: string;
|
|
5798
5876
|
/**
|
|
5799
5877
|
* Format: decimal
|
|
5800
|
-
* @description VAT rate for this surcharge
|
|
5878
|
+
* @description VAT rate for this surcharge. Not used for a deposit attached to a product or modifier: German Pfand is an ancillary charge on the container and is taxed at the rate of the item it is attached to (UStAE A 10.1 Abs. 8). A deposit's rate here only applies when it is charged per order as the reusable-packaging deposit. Stored as a fraction — the convention every VAT rate in this codebase carries: 19% is stored as 0.19, never 19.00. Required, like Product.vat_rate and ProductModifier.vat_rate: a missing rate must fail loudly rather than silently invoice at 0%.
|
|
5801
5879
|
*/
|
|
5802
5880
|
vat_rate: string;
|
|
5803
5881
|
/** @description Category: sup, deposit, bag_fee, packaging, etc. */
|
|
@@ -5948,6 +6026,7 @@ interface components {
|
|
|
5948
6026
|
value_file?: string;
|
|
5949
6027
|
/** Format: int64 */
|
|
5950
6028
|
value_reference?: number | null;
|
|
6029
|
+
value_json?: unknown;
|
|
5951
6030
|
readonly selected_choices: components["schemas"]["AttributeChoice"][];
|
|
5952
6031
|
};
|
|
5953
6032
|
VariantPriceOverride: {
|
|
@@ -8605,6 +8684,168 @@ interface operations {
|
|
|
8605
8684
|
};
|
|
8606
8685
|
};
|
|
8607
8686
|
};
|
|
8687
|
+
admin_products_deposit_retrieve: {
|
|
8688
|
+
parameters: {
|
|
8689
|
+
query?: never;
|
|
8690
|
+
header?: {
|
|
8691
|
+
/** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
|
|
8692
|
+
"X-Sous-Company-Id"?: number;
|
|
8693
|
+
};
|
|
8694
|
+
path: {
|
|
8695
|
+
product_id: number;
|
|
8696
|
+
};
|
|
8697
|
+
cookie?: never;
|
|
8698
|
+
};
|
|
8699
|
+
requestBody?: never;
|
|
8700
|
+
responses: {
|
|
8701
|
+
200: {
|
|
8702
|
+
headers: {
|
|
8703
|
+
[name: string]: unknown;
|
|
8704
|
+
};
|
|
8705
|
+
content: {
|
|
8706
|
+
"application/json": components["schemas"]["AdminProductDeposit"];
|
|
8707
|
+
};
|
|
8708
|
+
};
|
|
8709
|
+
/** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8710
|
+
400: {
|
|
8711
|
+
headers: {
|
|
8712
|
+
[name: string]: unknown;
|
|
8713
|
+
};
|
|
8714
|
+
content: {
|
|
8715
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8716
|
+
};
|
|
8717
|
+
};
|
|
8718
|
+
/** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8719
|
+
401: {
|
|
8720
|
+
headers: {
|
|
8721
|
+
[name: string]: unknown;
|
|
8722
|
+
};
|
|
8723
|
+
content: {
|
|
8724
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8725
|
+
};
|
|
8726
|
+
};
|
|
8727
|
+
/** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8728
|
+
403: {
|
|
8729
|
+
headers: {
|
|
8730
|
+
[name: string]: unknown;
|
|
8731
|
+
};
|
|
8732
|
+
content: {
|
|
8733
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8734
|
+
};
|
|
8735
|
+
};
|
|
8736
|
+
/** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8737
|
+
404: {
|
|
8738
|
+
headers: {
|
|
8739
|
+
[name: string]: unknown;
|
|
8740
|
+
};
|
|
8741
|
+
content: {
|
|
8742
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8743
|
+
};
|
|
8744
|
+
};
|
|
8745
|
+
/** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8746
|
+
429: {
|
|
8747
|
+
headers: {
|
|
8748
|
+
[name: string]: unknown;
|
|
8749
|
+
};
|
|
8750
|
+
content: {
|
|
8751
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8752
|
+
};
|
|
8753
|
+
};
|
|
8754
|
+
/** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8755
|
+
500: {
|
|
8756
|
+
headers: {
|
|
8757
|
+
[name: string]: unknown;
|
|
8758
|
+
};
|
|
8759
|
+
content: {
|
|
8760
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8761
|
+
};
|
|
8762
|
+
};
|
|
8763
|
+
};
|
|
8764
|
+
};
|
|
8765
|
+
admin_products_deposit_update: {
|
|
8766
|
+
parameters: {
|
|
8767
|
+
query?: never;
|
|
8768
|
+
header?: {
|
|
8769
|
+
/** @description Company the request acts on. Ignored for merchant tokens (scoped to their own company); required for admin tokens to select a company. */
|
|
8770
|
+
"X-Sous-Company-Id"?: number;
|
|
8771
|
+
};
|
|
8772
|
+
path: {
|
|
8773
|
+
product_id: number;
|
|
8774
|
+
};
|
|
8775
|
+
cookie?: never;
|
|
8776
|
+
};
|
|
8777
|
+
requestBody: {
|
|
8778
|
+
content: {
|
|
8779
|
+
"application/json": components["schemas"]["AdminProductDeposit"];
|
|
8780
|
+
"application/x-www-form-urlencoded": components["schemas"]["AdminProductDeposit"];
|
|
8781
|
+
"multipart/form-data": components["schemas"]["AdminProductDeposit"];
|
|
8782
|
+
};
|
|
8783
|
+
};
|
|
8784
|
+
responses: {
|
|
8785
|
+
200: {
|
|
8786
|
+
headers: {
|
|
8787
|
+
[name: string]: unknown;
|
|
8788
|
+
};
|
|
8789
|
+
content: {
|
|
8790
|
+
"application/json": components["schemas"]["AdminProductDeposit"];
|
|
8791
|
+
};
|
|
8792
|
+
};
|
|
8793
|
+
/** @description Possible error codes include `VALIDATION_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8794
|
+
400: {
|
|
8795
|
+
headers: {
|
|
8796
|
+
[name: string]: unknown;
|
|
8797
|
+
};
|
|
8798
|
+
content: {
|
|
8799
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8800
|
+
};
|
|
8801
|
+
};
|
|
8802
|
+
/** @description Possible error codes include `UNAUTHORIZED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8803
|
+
401: {
|
|
8804
|
+
headers: {
|
|
8805
|
+
[name: string]: unknown;
|
|
8806
|
+
};
|
|
8807
|
+
content: {
|
|
8808
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8809
|
+
};
|
|
8810
|
+
};
|
|
8811
|
+
/** @description Possible error codes include `FORBIDDEN`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8812
|
+
403: {
|
|
8813
|
+
headers: {
|
|
8814
|
+
[name: string]: unknown;
|
|
8815
|
+
};
|
|
8816
|
+
content: {
|
|
8817
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8818
|
+
};
|
|
8819
|
+
};
|
|
8820
|
+
/** @description Possible error codes include `NOT_FOUND`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8821
|
+
404: {
|
|
8822
|
+
headers: {
|
|
8823
|
+
[name: string]: unknown;
|
|
8824
|
+
};
|
|
8825
|
+
content: {
|
|
8826
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8827
|
+
};
|
|
8828
|
+
};
|
|
8829
|
+
/** @description Possible error codes include `RATE_LIMITED`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8830
|
+
429: {
|
|
8831
|
+
headers: {
|
|
8832
|
+
[name: string]: unknown;
|
|
8833
|
+
};
|
|
8834
|
+
content: {
|
|
8835
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8836
|
+
};
|
|
8837
|
+
};
|
|
8838
|
+
/** @description Possible error codes include `INTERNAL_ERROR`. Use `x-error-codes` for machine-readable retryability metadata. */
|
|
8839
|
+
500: {
|
|
8840
|
+
headers: {
|
|
8841
|
+
[name: string]: unknown;
|
|
8842
|
+
};
|
|
8843
|
+
content: {
|
|
8844
|
+
"application/json": components["schemas"]["APIErrorEnvelope"];
|
|
8845
|
+
};
|
|
8846
|
+
};
|
|
8847
|
+
};
|
|
8848
|
+
};
|
|
8608
8849
|
admin_products_surcharges_update: {
|
|
8609
8850
|
parameters: {
|
|
8610
8851
|
query?: never;
|