@sixtyninecommerce/admin 0.10.0 → 0.12.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 +5772 -118
- package/dist/auth/index.d.ts +7 -1
- package/dist/auth/index.js +8 -1
- package/dist/catalog/assets.d.ts +120 -8
- package/dist/catalog/assets.js +98 -12
- package/dist/catalog/collections.d.ts +279 -14
- package/dist/catalog/collections.js +246 -15
- package/dist/catalog/documents.d.ts +142 -0
- package/dist/catalog/documents.js +114 -0
- package/dist/catalog/index.d.ts +54 -6
- package/dist/catalog/index.js +10 -1
- package/dist/catalog/metadata.d.ts +244 -0
- package/dist/catalog/metadata.js +220 -0
- package/dist/catalog/products.d.ts +159 -19
- package/dist/catalog/products.js +88 -13
- package/dist/catalog/properties.d.ts +140 -14
- package/dist/catalog/properties.js +65 -1
- package/dist/catalog/recommendations.d.ts +288 -0
- package/dist/catalog/recommendations.js +237 -0
- package/dist/catalog/reviews.d.ts +381 -0
- package/dist/catalog/reviews.js +325 -0
- package/dist/catalog/types.d.ts +17 -1
- package/dist/catalog/types.js +10 -0
- package/dist/catalog/variant-find.d.ts +136 -0
- package/dist/catalog/variant-find.js +239 -0
- package/dist/catalog/variants.d.ts +293 -26
- package/dist/catalog/variants.js +164 -7
- package/dist/catalog/visibility.d.ts +38 -7
- package/dist/catalog/visibility.js +19 -1
- package/dist/client.d.ts +121 -9
- package/dist/client.js +53 -14
- package/dist/content/assets.d.ts +285 -0
- package/dist/content/assets.js +181 -0
- package/dist/content/forms.d.ts +332 -1
- package/dist/content/forms.js +140 -4
- package/dist/content/items.d.ts +292 -0
- package/dist/content/items.js +170 -0
- package/dist/content/menus.d.ts +254 -0
- package/dist/content/menus.js +70 -0
- package/dist/content/strings.d.ts +137 -0
- package/dist/content/strings.js +82 -0
- package/dist/content/types.d.ts +282 -0
- package/dist/content/types.js +100 -0
- package/dist/customers/age-verification.d.ts +66 -0
- package/dist/customers/age-verification.js +79 -0
- package/dist/customers/credit.d.ts +263 -0
- package/dist/customers/credit.js +244 -0
- package/dist/customers/delivery-preferences.d.ts +120 -0
- package/dist/customers/delivery-preferences.js +97 -0
- package/dist/customers/delivery-terms.d.ts +44 -0
- package/dist/customers/delivery-terms.js +32 -0
- package/dist/customers/groups.d.ts +207 -0
- package/dist/customers/groups.js +438 -0
- package/dist/customers/index.d.ts +462 -37
- package/dist/customers/index.js +317 -40
- package/dist/customers/invitation-status.d.ts +57 -0
- package/dist/customers/invitation-status.js +21 -0
- package/dist/customers/notes.d.ts +67 -0
- package/dist/customers/notes.js +51 -0
- package/dist/customers/notification-recipients.d.ts +97 -0
- package/dist/customers/notification-recipients.js +84 -0
- package/dist/customers/saved-lists.d.ts +42 -0
- package/dist/customers/saved-lists.js +61 -0
- package/dist/customers/vat.d.ts +83 -0
- package/dist/customers/vat.js +46 -0
- package/dist/customers/wire.d.ts +20 -0
- package/dist/customers/wire.js +35 -0
- package/dist/documents/ar.d.ts +307 -0
- package/dist/documents/ar.js +254 -0
- package/dist/documents/emails.d.ts +150 -0
- package/dist/documents/emails.js +220 -0
- package/dist/documents/index.d.ts +744 -21
- package/dist/documents/index.js +438 -24
- package/dist/documents/pdf.d.ts +2 -0
- package/dist/documents/pdf.js +11 -0
- package/dist/fulfillments/create.d.ts +167 -0
- package/dist/fulfillments/create.js +216 -0
- package/dist/fulfillments/index.d.ts +163 -11
- package/dist/fulfillments/index.js +135 -6
- package/dist/fulfillments/payment-policy.d.ts +64 -0
- package/dist/fulfillments/payment-policy.js +140 -0
- package/dist/fulfillments/warehouse.d.ts +724 -0
- package/dist/fulfillments/warehouse.js +914 -0
- package/dist/geo/index.d.ts +119 -0
- package/dist/geo/index.js +107 -0
- package/dist/index.d.ts +147 -39
- package/dist/index.js +51 -12
- package/dist/integrations/afas-actions.d.ts +234 -0
- package/dist/integrations/afas-actions.js +310 -0
- package/dist/integrations/afas-types.d.ts +483 -0
- package/dist/integrations/afas-types.js +5 -0
- package/dist/integrations/afas.d.ts +234 -0
- package/dist/integrations/afas.js +290 -0
- package/dist/integrations/connections.d.ts +103 -0
- package/dist/integrations/connections.js +55 -0
- package/dist/integrations/esp.d.ts +313 -0
- package/dist/integrations/esp.js +169 -0
- package/dist/integrations/exact-online-types.d.ts +965 -0
- package/dist/integrations/exact-online-types.js +6 -0
- package/dist/integrations/exact-online.d.ts +784 -0
- package/dist/integrations/exact-online.js +1089 -0
- package/dist/integrations/index.d.ts +44 -3
- package/dist/integrations/index.js +23 -3
- package/dist/integrations/pipeline-discoveries.d.ts +65 -0
- package/dist/integrations/pipeline-discoveries.js +65 -0
- package/dist/integrations/pipeline-keys.d.ts +13 -0
- package/dist/integrations/pipeline-keys.js +22 -0
- package/dist/integrations/pipeline-runs.d.ts +119 -0
- package/dist/integrations/pipeline-runs.js +87 -0
- package/dist/integrations/pipelines.d.ts +87 -15
- package/dist/integrations/pipelines.js +41 -22
- package/dist/integrations/price-import.d.ts +223 -0
- package/dist/integrations/price-import.js +124 -0
- package/dist/integrations/types.d.ts +367 -3
- package/dist/integrations/types.js +4 -3
- package/dist/locations/index.d.ts +66 -0
- package/dist/locations/index.js +31 -0
- package/dist/meta/index.d.ts +172 -0
- package/dist/metafields/index.d.ts +8 -1
- package/dist/metafields/index.js +10 -0
- package/dist/orders/cancel-with-money.d.ts +237 -0
- package/dist/orders/cancel-with-money.js +155 -0
- package/dist/orders/commit-edit.d.ts +23 -1
- package/dist/orders/commit-edit.js +19 -2
- package/dist/orders/deposit-policy.d.ts +3 -1
- package/dist/orders/drafts.d.ts +800 -0
- package/dist/orders/drafts.js +771 -0
- package/dist/orders/fields.d.ts +245 -0
- package/dist/orders/fields.js +188 -0
- package/dist/orders/get.d.ts +29 -19
- package/dist/orders/get.js +17 -8
- package/dist/orders/index.d.ts +66 -15
- package/dist/orders/index.js +25 -2
- package/dist/orders/lifecycle.d.ts +128 -0
- package/dist/orders/lifecycle.js +158 -0
- package/dist/orders/line-price-preview.d.ts +7 -2
- package/dist/orders/list.d.ts +243 -0
- package/dist/orders/list.js +487 -0
- package/dist/orders/manual-discounts.d.ts +13 -5
- package/dist/orders/manual-pricing.d.ts +5 -0
- package/dist/orders/money-view.d.ts +149 -0
- package/dist/orders/money-view.js +99 -0
- package/dist/orders/order-entry.d.ts +20 -7
- package/dist/orders/plan-edit.d.ts +34 -2
- package/dist/orders/plan-edit.js +112 -11
- package/dist/orders/settings.d.ts +201 -0
- package/dist/orders/settings.js +325 -0
- package/dist/orders/status.d.ts +159 -13
- package/dist/orders/status.js +21 -0
- package/dist/orders/surcharges.d.ts +20 -1
- package/dist/orders/surcharges.js +37 -11
- package/dist/payments/account-credit.d.ts +46 -0
- package/dist/payments/account-credit.js +42 -0
- package/dist/payments/ar.d.ts +292 -0
- package/dist/payments/ar.js +223 -0
- package/dist/payments/connected-account.d.ts +47 -0
- package/dist/payments/connected-account.js +61 -0
- package/dist/payments/credit-noted-fields.d.ts +19 -0
- package/dist/payments/credit-noted-fields.js +69 -0
- package/dist/payments/customer-consent.d.ts +30 -0
- package/dist/payments/customer-consent.js +49 -0
- package/dist/payments/index.d.ts +340 -19
- package/dist/payments/index.js +151 -1
- package/dist/payments/methods.d.ts +303 -8
- package/dist/payments/methods.js +337 -7
- package/dist/payments/mollie-methods.d.ts +159 -0
- package/dist/payments/mollie-methods.js +141 -0
- package/dist/payments/payment-links.d.ts +180 -0
- package/dist/payments/payment-links.js +97 -0
- package/dist/payments/provider-keys.d.ts +150 -0
- package/dist/payments/provider-keys.js +118 -0
- package/dist/payments/providers.d.ts +86 -11
- package/dist/payments/providers.js +29 -0
- package/dist/payments/requests.d.ts +147 -0
- package/dist/payments/requests.js +93 -0
- package/dist/payments/store-credit-fields.d.ts +15 -0
- package/dist/payments/store-credit-fields.js +51 -0
- package/dist/pickups/index.d.ts +106 -0
- package/dist/pickups/index.js +108 -0
- package/dist/platform/channels.d.ts +132 -0
- package/dist/platform/channels.js +128 -0
- package/dist/platform/email-gateways.d.ts +165 -0
- package/dist/platform/email-gateways.js +78 -0
- package/dist/platform/geo.d.ts +123 -0
- package/dist/platform/geo.js +144 -0
- package/dist/platform/tax.d.ts +162 -0
- package/dist/platform/tax.js +169 -0
- package/dist/pos/anomalies.d.ts +158 -0
- package/dist/pos/anomalies.js +64 -0
- package/dist/pos/assisted-selling.d.ts +79 -0
- package/dist/pos/assisted-selling.js +38 -0
- package/dist/pos/exchanges.d.ts +108 -0
- package/dist/pos/exchanges.js +22 -0
- package/dist/pos/gift-cards.d.ts +135 -0
- package/dist/pos/gift-cards.js +47 -0
- package/dist/pos/index.d.ts +2370 -58
- package/dist/pos/index.js +854 -7
- package/dist/pos/no-receipt.d.ts +94 -0
- package/dist/pos/no-receipt.js +25 -0
- package/dist/pos/offline-sales.d.ts +228 -0
- package/dist/pos/offline-sales.js +170 -0
- package/dist/pos/pay-by-link.d.ts +143 -0
- package/dist/pos/pay-by-link.js +57 -0
- package/dist/pos/quick-keys.d.ts +103 -0
- package/dist/pos/quick-keys.js +45 -0
- package/dist/pos/reports.d.ts +360 -0
- package/dist/pos/reports.js +62 -0
- package/dist/pos/returns.d.ts +244 -0
- package/dist/pos/returns.js +83 -0
- package/dist/pricing/bulk-coupons.d.ts +139 -0
- package/dist/pricing/bulk-coupons.js +112 -0
- package/dist/pricing/index.d.ts +174 -4
- package/dist/pricing/index.js +174 -1
- package/dist/pricing/price-lists.d.ts +606 -0
- package/dist/pricing/price-lists.js +600 -0
- package/dist/purchasing/alerts.d.ts +104 -0
- package/dist/purchasing/alerts.js +88 -0
- package/dist/purchasing/backorders.d.ts +61 -0
- package/dist/purchasing/backorders.js +92 -0
- package/dist/purchasing/cost.d.ts +110 -0
- package/dist/purchasing/cost.js +86 -0
- package/dist/purchasing/index.d.ts +54 -0
- package/dist/purchasing/index.js +24 -0
- package/dist/purchasing/links.d.ts +263 -0
- package/dist/purchasing/links.js +192 -0
- package/dist/purchasing/purchase-orders.d.ts +551 -0
- package/dist/purchasing/purchase-orders.js +491 -0
- package/dist/purchasing/receipts.d.ts +396 -0
- package/dist/purchasing/receipts.js +287 -0
- package/dist/purchasing/replenishment.d.ts +281 -0
- package/dist/purchasing/replenishment.js +240 -0
- package/dist/purchasing/returns.d.ts +273 -0
- package/dist/purchasing/returns.js +229 -0
- package/dist/purchasing/settings.d.ts +152 -0
- package/dist/purchasing/settings.js +181 -0
- package/dist/purchasing/suppliers.d.ts +476 -0
- package/dist/purchasing/suppliers.js +438 -0
- package/dist/quotes/index.d.ts +518 -0
- package/dist/quotes/index.js +439 -0
- package/dist/reports/index.d.ts +71 -8
- package/dist/reports/index.js +74 -11
- package/dist/returns/index.d.ts +675 -21
- package/dist/returns/index.js +756 -11
- package/dist/search/index.d.ts +76 -1
- package/dist/search/index.js +63 -0
- package/dist/seo/config.d.ts +128 -0
- package/dist/seo/config.js +95 -0
- package/dist/seo/redirects.d.ts +125 -0
- package/dist/seo/redirects.js +60 -1
- package/dist/seo/settings.d.ts +147 -0
- package/dist/seo/settings.js +209 -0
- package/dist/shipping/definitions.d.ts +29 -0
- package/dist/shipping/definitions.js +47 -0
- package/dist/shipping/fulfillment-profiles.d.ts +174 -0
- package/dist/shipping/fulfillment-profiles.js +104 -0
- package/dist/shipping/hendriks.d.ts +97 -0
- package/dist/shipping/hendriks.js +50 -0
- package/dist/shipping/index.d.ts +54 -0
- package/dist/shipping/index.js +27 -0
- package/dist/shipping/methods.d.ts +205 -0
- package/dist/shipping/methods.js +240 -0
- package/dist/shipping/myparcel.d.ts +668 -0
- package/dist/shipping/myparcel.js +466 -0
- package/dist/shipping/parcel-count-suggestion.d.ts +2 -0
- package/dist/shipping/parcel-rule.d.ts +6 -5
- package/dist/shipping/parcel-rule.js +21 -23
- package/dist/shipping/rate-tables.d.ts +324 -0
- package/dist/shipping/rate-tables.js +390 -0
- package/dist/shipping/ship-to-countries.d.ts +75 -0
- package/dist/shipping/ship-to-countries.js +47 -0
- package/dist/stock/by-location.d.ts +86 -0
- package/dist/stock/by-location.js +94 -0
- package/dist/stock/index.d.ts +18 -4
- package/dist/stock/index.js +7 -0
- package/dist/stock/locations.d.ts +144 -0
- package/dist/stock/locations.js +168 -0
- package/dist/stock/settings.d.ts +106 -0
- package/dist/stock/settings.js +103 -0
- package/dist/stock/transfers.d.ts +386 -52
- package/dist/stock/transfers.js +222 -17
- package/dist/stored-value/index.d.ts +312 -11
- package/dist/stored-value/index.js +223 -4
- package/dist/subscriptions/index.d.ts +682 -0
- package/dist/subscriptions/index.js +815 -0
- package/dist/tax/display-policy.d.ts +105 -0
- package/dist/tax/display-policy.js +84 -0
- package/dist/tax/index.d.ts +79 -1
- package/dist/tax/index.js +52 -0
- package/dist/tenant/email-style.d.ts +102 -0
- package/dist/tenant/email-style.js +72 -0
- package/dist/tenant/email-templates.d.ts +287 -0
- package/dist/tenant/email-templates.js +271 -0
- package/dist/tenant/notifications.d.ts +23 -17
- package/dist/tenant/settings-sources.d.ts +1 -1
- package/dist/tenant/time-zone.d.ts +17 -0
- package/dist/tenant/time-zone.js +11 -0
- package/dist/types.d.ts +50 -3
- package/dist/users/index.d.ts +3 -0
- package/dist/users/index.js +2 -0
- package/dist/users/warehouses.d.ts +50 -0
- package/dist/users/warehouses.js +51 -0
- package/package.json +2 -2
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { type Transport } from '@sixtyninecommerce/core';
|
|
2
|
+
import type { Call } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* A weight-zone rate table: what the `weight-zone-calculator` of a shipping method prices with.
|
|
5
|
+
* The engine calls it a `ShippingZoneConfig`; a method names it in its calculator argument
|
|
6
|
+
* `shippingZoneConfigId`.
|
|
7
|
+
*/
|
|
8
|
+
export interface RateTableSummary {
|
|
9
|
+
id: string;
|
|
10
|
+
/** Unique within the store. */
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* Turns a variant's package dimensions into a volumetric weight: length × width × height in cm,
|
|
14
|
+
* divided by this, is kilograms. An order is charged for the greater of its actual and its
|
|
15
|
+
* volumetric weight. `0` prices by actual weight only.
|
|
16
|
+
*/
|
|
17
|
+
volumetricDivisor: number;
|
|
18
|
+
/** Grams a line weighs when its variant has no package weight; null weighs it as nothing. */
|
|
19
|
+
defaultWeightGrams: number | null;
|
|
20
|
+
/** A switched-off table prices nothing: every method using it quotes nothing. */
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
/** ISO-8601, UTC. */
|
|
23
|
+
createdAt: string;
|
|
24
|
+
/** ISO-8601, UTC. */
|
|
25
|
+
updatedAt: string;
|
|
26
|
+
}
|
|
27
|
+
/** A place a domestic zone matches by postal code, or an international zone by country. */
|
|
28
|
+
export interface RateTableZoneMember {
|
|
29
|
+
id: string;
|
|
30
|
+
/** ISO 3166-1 alpha-2; an international zone's member. */
|
|
31
|
+
countryCode: string | null;
|
|
32
|
+
/** First digits of a postal code, start of the range; a domestic zone's member. */
|
|
33
|
+
postalCodeFrom: string | null;
|
|
34
|
+
/** End of the range, inclusive. */
|
|
35
|
+
postalCodeTo: string | null;
|
|
36
|
+
}
|
|
37
|
+
/** One weight tier's price in one currency. */
|
|
38
|
+
export interface RateTableRate {
|
|
39
|
+
id: string;
|
|
40
|
+
/** Inclusive. */
|
|
41
|
+
minWeightGrams: number;
|
|
42
|
+
/** Exclusive: the tier covers weights from its start up to, not including, this. */
|
|
43
|
+
maxWeightGrams: number;
|
|
44
|
+
/**
|
|
45
|
+
* In minor units: hundredths of {@link currencyCode} for EVERY currency, as the platform stores
|
|
46
|
+
* all money (€6.95 is 695, ¥1,200 is 120000). In the tax basis the method's calculator says.
|
|
47
|
+
*/
|
|
48
|
+
price: number;
|
|
49
|
+
/** ISO 4217. */
|
|
50
|
+
currencyCode: string;
|
|
51
|
+
}
|
|
52
|
+
/** One zone of a rate table. */
|
|
53
|
+
export interface RateTableZone {
|
|
54
|
+
id: string;
|
|
55
|
+
name: string;
|
|
56
|
+
/**
|
|
57
|
+
* `domestic` matches its members' postal-code ranges, `international` their countries. A zone
|
|
58
|
+
* stored before the engine judged the type may hold another word, which prices as
|
|
59
|
+
* `international`.
|
|
60
|
+
*/
|
|
61
|
+
type: string;
|
|
62
|
+
/** Zones are matched in position order; the first that matches the address prices the order. */
|
|
63
|
+
position: number;
|
|
64
|
+
members: RateTableZoneMember[];
|
|
65
|
+
/**
|
|
66
|
+
* In start-weight order. An order is priced with the tier of its own currency that covers its
|
|
67
|
+
* weight; without one, with the store's default-currency tier converted at the checkout's
|
|
68
|
+
* exchange rate; without either, the method quotes nothing.
|
|
69
|
+
*/
|
|
70
|
+
rates: RateTableRate[];
|
|
71
|
+
/** ISO-8601, UTC. */
|
|
72
|
+
createdAt: string;
|
|
73
|
+
/** ISO-8601, UTC. */
|
|
74
|
+
updatedAt: string;
|
|
75
|
+
}
|
|
76
|
+
/** A rate table with its zones, as {@link RateTablesModule.get} reads it. */
|
|
77
|
+
export interface RateTable extends RateTableSummary {
|
|
78
|
+
/** In position order. */
|
|
79
|
+
zones: RateTableZone[];
|
|
80
|
+
}
|
|
81
|
+
/** A new rate table, as {@link RateTablesModule.create} takes it. It starts switched on. */
|
|
82
|
+
export interface CreateRateTableInput {
|
|
83
|
+
/** Trimmed; at most 255 characters. */
|
|
84
|
+
name: string;
|
|
85
|
+
/** Left out: 5000. See {@link RateTableSummary.volumetricDivisor}. */
|
|
86
|
+
volumetricDivisor?: number;
|
|
87
|
+
/** Left out or null: none. See {@link RateTableSummary.defaultWeightGrams}. */
|
|
88
|
+
defaultWeightGrams?: number | null;
|
|
89
|
+
}
|
|
90
|
+
/** A change to a rate table: a field left out keeps what the table has. */
|
|
91
|
+
export interface UpdateRateTableInput {
|
|
92
|
+
name?: string;
|
|
93
|
+
volumetricDivisor?: number;
|
|
94
|
+
/** `null` clears it. */
|
|
95
|
+
defaultWeightGrams?: number | null;
|
|
96
|
+
enabled?: boolean;
|
|
97
|
+
}
|
|
98
|
+
/** How a zone matches an address. See {@link RateTableZone.type}. */
|
|
99
|
+
export type RateTableZoneType = 'domestic' | 'international';
|
|
100
|
+
/** A new zone, as {@link RateTableZonesModule.create} takes it. It starts with no members or rates. */
|
|
101
|
+
export interface CreateRateTableZoneInput {
|
|
102
|
+
/** Trimmed; at most 255 characters. */
|
|
103
|
+
name: string;
|
|
104
|
+
type: RateTableZoneType;
|
|
105
|
+
/**
|
|
106
|
+
* Left out: after the table's last zone. A position another zone of the table holds is
|
|
107
|
+
* refused (`SHIPPING_ZONE_POSITION_TAKEN`); {@link RateTableZonesModule.reorder} moves zones.
|
|
108
|
+
*/
|
|
109
|
+
position?: number;
|
|
110
|
+
}
|
|
111
|
+
/** A change to a zone: a field left out keeps what the zone has. */
|
|
112
|
+
export interface UpdateRateTableZoneInput {
|
|
113
|
+
name?: string;
|
|
114
|
+
/** Refused while the zone has members, which a zone of the other type would never match. */
|
|
115
|
+
type?: RateTableZoneType;
|
|
116
|
+
/** Refused (`SHIPPING_ZONE_POSITION_TAKEN`) when another zone of the table holds it. */
|
|
117
|
+
position?: number;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* One place a zone matches, as {@link RateTableZonesModule.setMembers} takes it: a domestic
|
|
121
|
+
* zone's member is a postal-code range (no country), an international zone's a country (no
|
|
122
|
+
* postal codes).
|
|
123
|
+
*/
|
|
124
|
+
export interface RateTableZoneMemberInput {
|
|
125
|
+
/** ISO 3166-1 alpha-2. */
|
|
126
|
+
countryCode?: string | null;
|
|
127
|
+
/** The leading digits of a postal code, start of the range. */
|
|
128
|
+
postalCodeFrom?: string | null;
|
|
129
|
+
/** End of the range, inclusive. */
|
|
130
|
+
postalCodeTo?: string | null;
|
|
131
|
+
}
|
|
132
|
+
/** One weight tier, as {@link RateTableZonesModule.setRates} takes it. */
|
|
133
|
+
export interface RateTableRateInput {
|
|
134
|
+
/** Inclusive, in grams. */
|
|
135
|
+
minWeightGrams: number;
|
|
136
|
+
/** Exclusive, in grams. */
|
|
137
|
+
maxWeightGrams: number;
|
|
138
|
+
/** In minor units, as {@link RateTableRate.price}: hundredths for every currency. */
|
|
139
|
+
price: number;
|
|
140
|
+
/** ISO 4217. */
|
|
141
|
+
currencyCode: string;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* `admin.shipping.rateTables.zones`: the zones of the store's rate tables, their members and
|
|
145
|
+
* their rates. A table or zone of another store is refused as not found (`ENTITY_NOT_FOUND`; a
|
|
146
|
+
* zone delete `SHIPPING_ZONE_NOT_DELETED`), whatever its id, as a missing one is.
|
|
147
|
+
*
|
|
148
|
+
* Besides {@link RateTablesModule}'s `SHIPPING_ZONE_INPUT_INVALID` (here with pointers such as
|
|
149
|
+
* `/input/type`, `/members/0/postalCodeTo`, `/rates/1/maxWeightGrams` or `/zoneIds/2`, and the
|
|
150
|
+
* rules `enum`, `pattern`, `not`, `exclusiveMinimum`, `uniqueItems` and `overlap`), the doors
|
|
151
|
+
* refuse:
|
|
152
|
+
*
|
|
153
|
+
* - `SHIPPING_ZONE_POSITION_TAKEN` (`ConflictError`, 409, on `/input/position`): another zone of
|
|
154
|
+
* the table is at the position. Zones are matched in position order, first match wins.
|
|
155
|
+
* - `SHIPPING_ZONE_IN_USE` (`BusinessRuleError`, 422): deleting the last zone of a table a
|
|
156
|
+
* shipping method of this store prices with, which would make it quote nothing. The message
|
|
157
|
+
* names the methods.
|
|
158
|
+
*
|
|
159
|
+
* Every write runs in one transaction: a refused write changes nothing, and a replace
|
|
160
|
+
* (`setMembers`, `setRates`) refused keeps the zone's previous members or rates.
|
|
161
|
+
*/
|
|
162
|
+
export interface RateTableZonesModule {
|
|
163
|
+
/**
|
|
164
|
+
* Add a zone to the store's rate table `tableId`, and answer it as {@link RateTablesModule.get}
|
|
165
|
+
* reads a zone. Refused `SHIPPING_ZONE_INPUT_INVALID` (a blank or too long name, a type other
|
|
166
|
+
* than `domestic` or `international`, a negative position), `SHIPPING_ZONE_POSITION_TAKEN`, or
|
|
167
|
+
* `ENTITY_NOT_FOUND` for a table the store does not have.
|
|
168
|
+
*
|
|
169
|
+
* @effect write
|
|
170
|
+
* @permission UpdateSettings
|
|
171
|
+
*/
|
|
172
|
+
create(tableId: string, input: CreateRateTableZoneInput, options?: Call): Promise<RateTableZone>;
|
|
173
|
+
/**
|
|
174
|
+
* Change a zone, and answer it as {@link RateTablesModule.get} reads a zone. Refused as
|
|
175
|
+
* {@link create} is, for `null` on a field (none can be cleared), for a type change while the
|
|
176
|
+
* zone has members, or `ENTITY_NOT_FOUND`.
|
|
177
|
+
*
|
|
178
|
+
* @effect write
|
|
179
|
+
* @permission UpdateSettings
|
|
180
|
+
*/
|
|
181
|
+
update(zoneId: string, patch: UpdateRateTableZoneInput, options?: Call): Promise<RateTableZone>;
|
|
182
|
+
/**
|
|
183
|
+
* Delete a zone with its members and rates. Refused `SHIPPING_ZONE_IN_USE` for the last zone of
|
|
184
|
+
* a table a shipping method of this store prices with.
|
|
185
|
+
*
|
|
186
|
+
* The engine answers a zone the store does not have (a missing, malformed or another store's
|
|
187
|
+
* id, or one already deleted) as a result rather than an error; this SDK raises it as
|
|
188
|
+
* `SHIPPING_ZONE_NOT_DELETED` (`ConflictError`, 409) with the engine's reason.
|
|
189
|
+
*
|
|
190
|
+
* @effect destructive
|
|
191
|
+
* @permission UpdateSettings
|
|
192
|
+
*/
|
|
193
|
+
delete(zoneId: string, options?: Call): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* Put the zones of table `tableId` in the order given; each takes its index as its position.
|
|
196
|
+
* The list names EVERY zone of the table exactly once: one listed twice, or one left out, is
|
|
197
|
+
* refused `SHIPPING_ZONE_INPUT_INVALID` (`uniqueItems` on `/zoneIds/<i>`, `required` on
|
|
198
|
+
* `/zoneIds`), and an id that is not a zone of this table `ENTITY_NOT_FOUND`. Answers the zones
|
|
199
|
+
* in their new order.
|
|
200
|
+
*
|
|
201
|
+
* @effect write
|
|
202
|
+
* @permission UpdateSettings
|
|
203
|
+
*/
|
|
204
|
+
reorder(tableId: string, zoneIds: string[], options?: Call): Promise<RateTableZone[]>;
|
|
205
|
+
/**
|
|
206
|
+
* Replace the zone's members with `members`, and answer them as stored (in the order sent,
|
|
207
|
+
* trimmed, the country upper-cased). Refused `SHIPPING_ZONE_INPUT_INVALID` per member, on `/members/<i>/<field>`:
|
|
208
|
+
* a member the zone's type would never match (`not`), a range missing an end (`required`), a
|
|
209
|
+
* postal code that is not digits (`pattern`), a range that ends before it starts (`minimum`), a
|
|
210
|
+
* country that is not two letters (`pattern`).
|
|
211
|
+
*
|
|
212
|
+
* @effect write
|
|
213
|
+
* @permission UpdateSettings
|
|
214
|
+
*/
|
|
215
|
+
setMembers(zoneId: string, members: RateTableZoneMemberInput[], options?: Call): Promise<RateTableZoneMember[]>;
|
|
216
|
+
/**
|
|
217
|
+
* Replace the zone's weight tiers with `rates`, and answer them as stored (in the order sent,
|
|
218
|
+
* the currency trimmed and upper-cased; {@link RateTablesModule.get} reads them in start-weight
|
|
219
|
+
* order). What every customer whose order the zone prices pays from the next quote on.
|
|
220
|
+
*
|
|
221
|
+
* Refused `SHIPPING_ZONE_INPUT_INVALID` per tier, on `/rates/<i>/<field>`: a negative weight or
|
|
222
|
+
* price (`minimum`), a tier that ends at or before its start (`exclusiveMinimum`), a currency
|
|
223
|
+
* that is not ISO 4217 (`enum`), and, within one currency, two tiers with the same start
|
|
224
|
+
* (`uniqueItems`) or sharing weights (`overlap`). Gaps are allowed: a weight in a gap gets no
|
|
225
|
+
* quote.
|
|
226
|
+
*
|
|
227
|
+
* @effect money
|
|
228
|
+
* @permission UpdateSettings
|
|
229
|
+
*/
|
|
230
|
+
setRates(zoneId: string, rates: RateTableRateInput[], options?: Call): Promise<RateTableRate[]>;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* `admin.shipping.rateTables`: the store's weight-zone rate tables (headless spec §9.2
|
|
234
|
+
* `shipping`, "zones, calculator config"). Scoped to the store the client is on: another
|
|
235
|
+
* store's table is not listed, reads as null and is refused as not found, whatever its id.
|
|
236
|
+
*
|
|
237
|
+
* Every refusal of the engine's rate-table doors carries a code:
|
|
238
|
+
*
|
|
239
|
+
* - `SHIPPING_ZONE_INPUT_INVALID` (`ValidationError`, 400): what was sent cannot be stored.
|
|
240
|
+
* `error.details[]` names EVERY problem of the save at once, each with `field`, a JSON Pointer
|
|
241
|
+
* into the arguments (`/input/name`, `/input/volumetricDivisor`), and `code`, the rule broken
|
|
242
|
+
* (`required`, `type`, `minimum`, `maximum`, `maxLength`). The SDK raises the same code, with
|
|
243
|
+
* the same pointers, for a value it cannot send at all (not a string, not a whole number
|
|
244
|
+
* GraphQL's `Int` carries), before anything leaves.
|
|
245
|
+
* - `SHIPPING_ZONE_CONFIG_NAME_TAKEN` (`ConflictError`, 409): another table of this store has
|
|
246
|
+
* the name (`details[0].field` is `/input/name`). Another store's names are free.
|
|
247
|
+
* - `SHIPPING_ZONE_CONFIG_IN_USE` (`BusinessRuleError`, 422): a delete of a table a shipping
|
|
248
|
+
* method of this store prices with. The message names the methods (three, then "and N more");
|
|
249
|
+
* the engine also lists them as `extensions.shippingMethods` (`{ id, code, name }`), which this
|
|
250
|
+
* SDK does not lift onto the error. Nothing is deleted.
|
|
251
|
+
* - `ENTITY_NOT_FOUND` (`NotFoundError`, 404): an update of a table the store does not have (a
|
|
252
|
+
* missing, malformed or another store's id read alike).
|
|
253
|
+
* - `FORBIDDEN` (`PermissionDeniedError`, 403): reads need `ReadSettings`, writes
|
|
254
|
+
* `UpdateSettings` (a create and a delete too).
|
|
255
|
+
*
|
|
256
|
+
* Every write runs in one transaction: a refused write changes nothing.
|
|
257
|
+
*/
|
|
258
|
+
export interface RateTablesModule {
|
|
259
|
+
/**
|
|
260
|
+
* Every rate table of the store, switched off or not, newest first. Not paged: a store has a
|
|
261
|
+
* handful.
|
|
262
|
+
*
|
|
263
|
+
* @effect read
|
|
264
|
+
* @permission ReadSettings
|
|
265
|
+
*/
|
|
266
|
+
list(options?: Call): Promise<RateTableSummary[]>;
|
|
267
|
+
/**
|
|
268
|
+
* One rate table with its zones, their members and rates, or `null` when the store has no
|
|
269
|
+
* such table (a missing, malformed or another store's id read alike).
|
|
270
|
+
*
|
|
271
|
+
* @effect read
|
|
272
|
+
* @permission ReadSettings
|
|
273
|
+
*/
|
|
274
|
+
get(id: string, options?: Call): Promise<RateTable | null>;
|
|
275
|
+
/**
|
|
276
|
+
* Add a rate table to the store, switched on and with no zones, and answer it as {@link get}
|
|
277
|
+
* reads it. Refused `SHIPPING_ZONE_INPUT_INVALID` (a blank or too long name, a negative
|
|
278
|
+
* divisor or default weight) or `SHIPPING_ZONE_CONFIG_NAME_TAKEN`.
|
|
279
|
+
*
|
|
280
|
+
* @effect write
|
|
281
|
+
* @permission UpdateSettings
|
|
282
|
+
*/
|
|
283
|
+
create(input: CreateRateTableInput, options?: Call): Promise<RateTable>;
|
|
284
|
+
/**
|
|
285
|
+
* Change a rate table, and answer it as {@link get} reads it. Every method pricing with it
|
|
286
|
+
* quotes by the change from the next quote on, and switching it off makes them quote nothing
|
|
287
|
+
* (allowed: it is the switch's purpose, and it is undone by switching it back on).
|
|
288
|
+
*
|
|
289
|
+
* Refused `SHIPPING_ZONE_INPUT_INVALID` (as {@link create}, and `null` for the name, the
|
|
290
|
+
* divisor or `enabled`, which cannot be cleared), `SHIPPING_ZONE_CONFIG_NAME_TAKEN` or
|
|
291
|
+
* `ENTITY_NOT_FOUND`.
|
|
292
|
+
*
|
|
293
|
+
* @effect write
|
|
294
|
+
* @permission UpdateSettings
|
|
295
|
+
*/
|
|
296
|
+
update(id: string, patch: UpdateRateTableInput, options?: Call): Promise<RateTable>;
|
|
297
|
+
/**
|
|
298
|
+
* Delete a rate table with its zones, members and rates. Refused
|
|
299
|
+
* `SHIPPING_ZONE_CONFIG_IN_USE` while a shipping method of this store prices with it (give the
|
|
300
|
+
* method another table, or delete it, first).
|
|
301
|
+
*
|
|
302
|
+
* The engine answers a table the store does not have (a missing, malformed or another store's
|
|
303
|
+
* id, or one already deleted) as a result rather than an error; this SDK raises it as
|
|
304
|
+
* `SHIPPING_ZONE_CONFIG_NOT_DELETED` (`ConflictError`, 409) with the engine's reason.
|
|
305
|
+
*
|
|
306
|
+
* @effect destructive
|
|
307
|
+
* @permission UpdateSettings
|
|
308
|
+
*/
|
|
309
|
+
delete(id: string, options?: Call): Promise<void>;
|
|
310
|
+
/** The zones of the store's tables, their members and their rates. */
|
|
311
|
+
zones: RateTableZonesModule;
|
|
312
|
+
}
|
|
313
|
+
export declare const RATE_TABLES_QUERY = "\n query StoreRateTables {\n shippingZoneConfigs { \n id\n name\n volumetricDivisor\n defaultWeightGrams\n enabled\n createdAt\n updatedAt\n }\n }\n";
|
|
314
|
+
export declare const RATE_TABLE_QUERY = "\n query StoreRateTable($id: ID!) {\n shippingZoneConfig(id: $id) { \n \n id\n name\n volumetricDivisor\n defaultWeightGrams\n enabled\n createdAt\n updatedAt\n\n zones { \n id\n name\n type\n position\n members { \n id\n countryCode\n postalCodeFrom\n postalCodeTo\n }\n rates { \n id\n minWeightGrams\n maxWeightGrams\n price\n currencyCode\n }\n createdAt\n updatedAt\n }\n }\n }\n";
|
|
315
|
+
export declare const CREATE_RATE_TABLE_MUTATION = "\n mutation CreateStoreRateTable($input: CreateShippingZoneConfigInput!) {\n createShippingZoneConfig(input: $input) { \n \n id\n name\n volumetricDivisor\n defaultWeightGrams\n enabled\n createdAt\n updatedAt\n\n zones { \n id\n name\n type\n position\n members { \n id\n countryCode\n postalCodeFrom\n postalCodeTo\n }\n rates { \n id\n minWeightGrams\n maxWeightGrams\n price\n currencyCode\n }\n createdAt\n updatedAt\n }\n }\n }\n";
|
|
316
|
+
export declare const UPDATE_RATE_TABLE_MUTATION = "\n mutation UpdateStoreRateTable($id: ID!, $input: UpdateShippingZoneConfigInput!) {\n updateShippingZoneConfig(id: $id, input: $input) { \n \n id\n name\n volumetricDivisor\n defaultWeightGrams\n enabled\n createdAt\n updatedAt\n\n zones { \n id\n name\n type\n position\n members { \n id\n countryCode\n postalCodeFrom\n postalCodeTo\n }\n rates { \n id\n minWeightGrams\n maxWeightGrams\n price\n currencyCode\n }\n createdAt\n updatedAt\n }\n }\n }\n";
|
|
317
|
+
export declare const DELETE_RATE_TABLE_MUTATION = "\n mutation DeleteStoreRateTable($id: ID!) {\n deleteShippingZoneConfig(id: $id) {\n result\n message\n }\n }\n";
|
|
318
|
+
export declare const CREATE_RATE_TABLE_ZONE_MUTATION = "\n mutation CreateStoreRateTableZone($configId: ID!, $input: CreateShippingZoneInput!) {\n createShippingZone(configId: $configId, input: $input) { \n id\n name\n type\n position\n members { \n id\n countryCode\n postalCodeFrom\n postalCodeTo\n }\n rates { \n id\n minWeightGrams\n maxWeightGrams\n price\n currencyCode\n }\n createdAt\n updatedAt\n }\n }\n";
|
|
319
|
+
export declare const UPDATE_RATE_TABLE_ZONE_MUTATION = "\n mutation UpdateStoreRateTableZone($id: ID!, $input: UpdateShippingZoneInput!) {\n updateShippingZone(id: $id, input: $input) { \n id\n name\n type\n position\n members { \n id\n countryCode\n postalCodeFrom\n postalCodeTo\n }\n rates { \n id\n minWeightGrams\n maxWeightGrams\n price\n currencyCode\n }\n createdAt\n updatedAt\n }\n }\n";
|
|
320
|
+
export declare const DELETE_RATE_TABLE_ZONE_MUTATION = "\n mutation DeleteStoreRateTableZone($id: ID!) {\n deleteShippingZone(id: $id) {\n result\n message\n }\n }\n";
|
|
321
|
+
export declare const REORDER_RATE_TABLE_ZONES_MUTATION = "\n mutation ReorderStoreRateTableZones($configId: ID!, $zoneIds: [ID!]!) {\n reorderShippingZones(configId: $configId, zoneIds: $zoneIds) { \n id\n name\n type\n position\n members { \n id\n countryCode\n postalCodeFrom\n postalCodeTo\n }\n rates { \n id\n minWeightGrams\n maxWeightGrams\n price\n currencyCode\n }\n createdAt\n updatedAt\n }\n }\n";
|
|
322
|
+
export declare const SET_RATE_TABLE_ZONE_MEMBERS_MUTATION = "\n mutation SetStoreRateTableZoneMembers($zoneId: ID!, $members: [ShippingZoneMemberInput!]!) {\n setShippingZoneMembers(zoneId: $zoneId, members: $members) { \n id\n countryCode\n postalCodeFrom\n postalCodeTo\n }\n }\n";
|
|
323
|
+
export declare const SET_RATE_TABLE_ZONE_RATES_MUTATION = "\n mutation SetStoreRateTableZoneRates($zoneId: ID!, $rates: [ShippingRateInput!]!) {\n setShippingRates(zoneId: $zoneId, rates: $rates) { \n id\n minWeightGrams\n maxWeightGrams\n price\n currencyCode\n }\n }\n";
|
|
324
|
+
export declare function createRateTablesModule(transport: Transport): RateTablesModule;
|