@sixtyninecommerce/client 0.31.0 → 0.32.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 +27 -1
- package/dist/commerce/customer.d.ts +3 -2
- package/dist/commerce/customer.d.ts.map +1 -1
- package/dist/commerce/customer.js +6 -3
- package/dist/commerce/customer.js.map +1 -1
- package/dist/commerce/index.d.ts +6 -1
- package/dist/commerce/index.d.ts.map +1 -1
- package/dist/commerce/index.js +6 -0
- package/dist/commerce/index.js.map +1 -1
- package/dist/commerce/queries.d.ts +19 -1
- package/dist/commerce/queries.d.ts.map +1 -1
- package/dist/commerce/queries.js +62 -1
- package/dist/commerce/queries.js.map +1 -1
- package/dist/commerce/receipt-claim.d.ts +35 -0
- package/dist/commerce/receipt-claim.d.ts.map +1 -0
- package/dist/commerce/receipt-claim.js +66 -0
- package/dist/commerce/receipt-claim.js.map +1 -0
- package/dist/commerce/returns.d.ts +2 -2
- package/dist/commerce/returns.d.ts.map +1 -1
- package/dist/commerce/returns.js +24 -3
- package/dist/commerce/returns.js.map +1 -1
- package/dist/commerce/store-pickup.d.ts +37 -0
- package/dist/commerce/store-pickup.d.ts.map +1 -0
- package/dist/commerce/store-pickup.js +66 -0
- package/dist/commerce/store-pickup.js.map +1 -0
- package/dist/events/payloads.d.ts +1 -1
- package/dist/events/payloads.d.ts.map +1 -1
- package/dist/generated/plugins.d.ts +2 -2
- package/dist/generated/plugins.d.ts.map +1 -1
- package/dist/generated/shop.d.ts +126 -2
- package/dist/generated/shop.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pricing/validation.d.ts +25 -0
- package/dist/pricing/validation.d.ts.map +1 -1
- package/dist/pricing/validation.js +37 -4
- package/dist/pricing/validation.js.map +1 -1
- package/dist/types.d.ts +142 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export { createStorefrontClient } from './client.js';
|
|
|
17
17
|
export type { OrderWithWritableCustomFields } from './commerce/checkout.js';
|
|
18
18
|
export { type ParcelPricing, readParcelPricing } from './commerce/parcel-pricing.js';
|
|
19
19
|
export type { CatalogDetailOptions, CollectionWithMetafields, MetafieldsOption, ProductVariantWithMetafields, ProductWithMetafields, } from './commerce/products.js';
|
|
20
|
+
export { RECEIPT_CLAIM_NOT_FOUND, RECEIPT_CLAIM_PATH, receiptClaimTokenFrom, } from './commerce/receipt-claim.js';
|
|
20
21
|
export { DEFAULT_CMS_URL, DEFAULT_PLUGINS_URL, DEFAULT_VENDURE_URL, ORDER_SCOPE_HEADER, RESERVED_STOREFRONT_PATHS, type ReservedStorefrontPath, SHOP_API_PATH, } from './constants.js';
|
|
21
22
|
export { isAssetReference, resolveContentAssetUrls, resolveContentFieldValues, } from './content/asset-urls.js';
|
|
22
23
|
export { buildFilteredProductsSearch, type FilteredProductsConfig, type FilteredProductsValue, } from './content/filtered-products.js';
|
|
@@ -28,5 +29,5 @@ export { orderScopeMatches } from './order-scope.js';
|
|
|
28
29
|
export { createRedirectStore, normalizeLookupPath, REDIRECT_STATUS_CODES, type RedirectMatch, type RedirectRule, type RedirectSnapshot, type RedirectStatusCode, type RedirectStore, type RedirectStoreConfig, } from './redirects/index.js';
|
|
29
30
|
export type { AiSummaryInput, AvailabilityForSeo, BotDirective, BreadcrumbOverrideEntry, CmsItemMetadata, CmsMetaTagsInput, CmsSeoExtras, CollectionForSeo, CollectionMetadata, CollectionMetaTagsInput, CollectionSeoExtras, CommonSeoMetadata, HreflangLink, HreflangLinkTag, HreflangOverrideEntry, LlmsTxtEntryInput, MetaRobots, MetaRobotsFollowDirective, MetaRobotsIndexDirective, MetaRobotsMaxImagePreview, MetaTagsEntityInput, MetaTagsResult, OpenGraphTag, PerBotDirectives, ProductForSeo, ProductMetadata, ProductMetadataAi, ProductMetadataSocial, ProductMetadataTwitter, ProductMetaTagsInput, ProductSeoExtras, QAPair, RawCmsSeo, RawCollectionSeo, RawProductMetadata, RobotsMetaTag, RobotsXRobotsHeader, SchemaOrgAvailability, SeoArtifact, SeoArtifactFetchOptions, SeoArtifactResult, SeoArtifactsModule, SeoEntityInput, SeoMeta, SeoModule, SocialOgType, TwitterCardType, TwitterTag, UrlLocaleStrategy, UrlStrategyConfig, } from './seo/index.js';
|
|
30
31
|
export { buildUrl, DEFAULT_PRODUCT_PATH_SEGMENT, isSitemapChildFile, isUserFacingRoot, normalizeProductPathSegment, openGraphAvailability, parseCmsItemMetadata, parseCollectionMetadata, parseProductMetadata, pickCanonicalRootIndex, readUrlStrategy, robotsFromFlags, SEO_ARTIFACTS, schemaOrgAvailability, } from './seo/index.js';
|
|
31
|
-
export type { AddItemInput, AdjustmentType, Asset, AssetPresetSize, AssetPresets, AuthenticationInput, AuthenticationStrategy, AuthenticationStrategyInput, B2bCreditStatus, BooleanOperators, BrandingAssetRef, BrandingContact, BrandingFontResource, BrandingIdentity, BrandingInfo, BrandingLegal, BrandingLegalAddress, BrandingSocialLinks, BrandingStorefrontConfig, BrandingTheme, BreadcrumbFragment, CacheTagResolver, ChannelCustomFieldsFragment, ChannelInfo, CmsCollectionItemList, CollectionDetailFragment, CollectionFragment, CollectionItemsQuery, CollectionListOptions, CollectionProductListOptions, CollectionProductSummary, CollectionProductVariant, CollectionRefFragment, CommerceModule, ContentModule, ContentQueryOptions, ContentSearchQuery, ContentStrings, ConvertedAmountFragment, CreateAddressInput, CreateCustomerInput, CreateProductReviewInput, CreateQuoteRequestInput, CreditBalanceSource, CreditModule, CurrencyCode, CurrencyModule, CurrentUserFragment, CustomerPaymentTermsFragment, CustomerReturnFragment, CustomerReturnListOptions, CustomerSubscriptionFragment, DeliveryAdvice, DeliveryOption, DeliverySelectionSource, DeliveryTermsStatus, DeliveryTimeFrame, DepositPaymentIntentInput, DisplayPrice, DropOffPoint, EndpointDeprecationNotice, FacetFragment, FacetValueFilterInput, FacetValueFragment, FavoriteListOptions, FormDefinition, FormFieldTypeRegistry, FormListOptions, FormSubmissionResult, HeadKey, LanguageCode, LoginResult, MagicLinkPortal, MediaModule, Menu, MenuItem, MergedSelection, MethodDeprecationNotice, MolliePaymentIntentInput, MolliePaymentIntentResult, MolliePaymentMethodsInput, MyPaymentMandateFragment, MyparcelDeliveryOptionsInput, MyparcelDropOffPointInput, NativeAuthInput, NavigationModule, OrderDeliveryTermsFragment, OrderFragment, OrderFulfillmentParcelsFragment, OrderFulfillmentsFragment, OrderListOptions, OrderPaymentIntent, OrderPaymentTermsFragment, OrderReturnReasonCode, OrderReturnSettlementMethod, OrderReturnState, OrderScope, OrderSummaryFragment, OrderValidationError, OrderValidationResult, OrderWritableCustomFieldsFragment, PaginatedList, ParkedOrderFragment, ParkedOrderPaymentIntentInput, PayDepositInput, PaymentInput, PaymentTermsClassification, PaymentTermsStatus, PayParkedOrderInput, PlacementRejection, PlacementRejectionCode, PlacementRejectionFragment, PlacementRejectionLine, PresetName, PriceDisplay, PriceTierFragment, PricingModule, Product, ProductAvailabilityFragment, ProductAvailabilityState, ProductCardFragment, ProductFilterParameter, ProductFragment, ProductListOptions, ProductListPage, ProductMetadataFragment, ProductPropertyGroupValuesFragment, ProductPropertyRecord, ProductReviewFragment, ProductReviewListOptions, ProductSummaryFragment, ProductVariantFragment, PropertyGroupFragment, PublicAssetDto, PublicAssetPresetsDto, PublicAssetPresetUrlsDto, PublicAssetTranslationDto, PublicBreadcrumbDto, PublicCapabilitiesDto, PublicCapabilityManifestDto, PublicCapabilityReadinessDto, PublicChannelDto, PublicCollectionDetailDto, PublicCollectionDto, PublicCollectionFieldDto, PublicCollectionItemDetailDto, PublicCollectionItemDto, PublicCollectionItemSearchResultDto, PublicCollectionPageValuesDto, PublicContentStringDto, PublicContentStringListResponseDto, PublicContentStringValueDto, PublicFormDto, PublicFormFieldConstraintDto, PublicFormFieldDto, PublicFormFieldTypeDto, PublicFormListResponseDto, PublicFormSlugRuleDto, PublicFormSlugRulesDto, PublicFormTranslationDto, PublicItemSummaryDto, PublicItemWithFieldsDto, PublicMenuDetailDto, PublicMenuSummaryDto, PublicPaginationTotalDto, PublicPaymentMethodFragment, PublicResolvedCollectionDto, PublicResolvedContentDto, PublicResolvedFieldDto, PublicResolvedItemDto, PublicResolvedSubFieldDto, PublicRouteEntryDto, PublicRoutesMetadataDto, PublicRoutesResponseDto, PublicSeoMetadataDto, PublicShippingMethodFragment, PublicSitemapEntryDto, PublicSitemapSeoDto, PublicVendureAssetDescriptionDto, Quote, QuoteLine, QuoteLineDiscountType, QuoteLineRequestInput, QuoteList, QuoteListOptions, QuoteStatus, RecentReviewsOptions, RecommendedProductGroupFragment, RegisterCustomerInput, RequestMagicLinkOptions, RequestOptions, RequestReturnInput, ResolvedRoute, ResolvedTaxDisplay, ResponsiveImageData, RetryConfig, ReturnRequestLineInput, ReviewSortKey, ReviewStatus, SavedListFragment, SearchInput, SearchResultFragment, SearchResultItemFragment, SetupPaymentMandateInput, ShipmentTrackingHistoryEntry, ShipmentTrackingInfo, StockNotificationSubscriptionResult, StoreContext, StorefrontClient, StorefrontClientConfig, StorefrontDeprecationNotice, StoreRename, StripePaymentIntentResult, SubscriptionFirstChargeTiming, SubscriptionLifecycleAction, SubscriptionLifecycleCommand, SubscriptionPaymentActionInput, SubscriptionPlanPublicFragment, SubscriptionPurchaseInput, SubscriptionPurchaseResultFragment, TaxDisplayB2bMode, TaxDisplayDefault, TaxDisplayInputs, TaxDisplayMode, TaxDisplayPolicy, TierTableEntry, UpdateAddressInput, UpdateCustomerInput, UpdateOrderCustomFieldsInput, UpdateProductReviewInput, VariantLocationAvailabilityFragment, VariantPriceData, VatValidationResultFragment, } from './types.js';
|
|
32
|
+
export type { AddItemInput, AdjustmentType, Asset, AssetPresetSize, AssetPresets, AuthenticationInput, AuthenticationStrategy, AuthenticationStrategyInput, B2bCreditStatus, BooleanOperators, BrandingAssetRef, BrandingContact, BrandingFontResource, BrandingIdentity, BrandingInfo, BrandingLegal, BrandingLegalAddress, BrandingSocialLinks, BrandingStorefrontConfig, BrandingTheme, BreadcrumbFragment, CacheTagResolver, ChannelCustomFieldsFragment, ChannelInfo, CmsCollectionItemList, CollectionDetailFragment, CollectionFragment, CollectionItemsQuery, CollectionListOptions, CollectionProductListOptions, CollectionProductSummary, CollectionProductVariant, CollectionRefFragment, CommerceModule, ContentModule, ContentQueryOptions, ContentSearchQuery, ContentStrings, ConvertedAmountFragment, CreateAddressInput, CreateCustomerInput, CreateProductReviewInput, CreateQuoteRequestInput, CreditBalanceSource, CreditModule, CurrencyCode, CurrencyModule, CurrentUserFragment, CustomerPaymentTermsFragment, CustomerReturnFragment, CustomerReturnListOptions, CustomerSubscriptionFragment, DeliveryAdvice, DeliveryOption, DeliverySelectionSource, DeliveryTermsStatus, DeliveryTimeFrame, DepositPaymentIntentInput, DisplayPrice, DropOffPoint, EndpointDeprecationNotice, FacetFragment, FacetValueFilterInput, FacetValueFragment, FavoriteListOptions, FormDefinition, FormFieldTypeRegistry, FormListOptions, FormSubmissionResult, HeadKey, LanguageCode, LoginResult, MagicLinkPortal, MediaModule, Menu, MenuItem, MergedSelection, MethodDeprecationNotice, MolliePaymentIntentInput, MolliePaymentIntentResult, MolliePaymentMethodsInput, MyPaymentMandateFragment, MyparcelDeliveryOptionsInput, MyparcelDropOffPointInput, NativeAuthInput, NavigationModule, OrderDeliveryTermsFragment, OrderFragment, OrderFulfillmentParcelsFragment, OrderFulfillmentsFragment, OrderListOptions, OrderPaymentIntent, OrderPaymentTermsFragment, OrderReturnReasonCode, OrderReturnSettlementMethod, OrderReturnState, OrderScope, OrderSummaryFragment, OrderValidationError, OrderValidationResult, OrderWritableCustomFieldsFragment, PaginatedList, ParkedOrderFragment, ParkedOrderPaymentIntentInput, PayDepositInput, PaymentInput, PaymentTermsClassification, PaymentTermsStatus, PayParkedOrderInput, PlacementRejection, PlacementRejectionCode, PlacementRejectionFragment, PlacementRejectionLine, PresetName, PriceDisplay, PriceTierFragment, PricingModule, Product, ProductAvailabilityFragment, ProductAvailabilityState, ProductCardFragment, ProductFilterParameter, ProductFragment, ProductListOptions, ProductListPage, ProductMetadataFragment, ProductPropertyGroupValuesFragment, ProductPropertyRecord, ProductReviewFragment, ProductReviewListOptions, ProductSummaryFragment, ProductVariantFragment, PropertyGroupFragment, PublicAssetDto, PublicAssetPresetsDto, PublicAssetPresetUrlsDto, PublicAssetTranslationDto, PublicBreadcrumbDto, PublicCapabilitiesDto, PublicCapabilityManifestDto, PublicCapabilityReadinessDto, PublicChannelDto, PublicCollectionDetailDto, PublicCollectionDto, PublicCollectionFieldDto, PublicCollectionItemDetailDto, PublicCollectionItemDto, PublicCollectionItemSearchResultDto, PublicCollectionPageValuesDto, PublicContentStringDto, PublicContentStringListResponseDto, PublicContentStringValueDto, PublicFormDto, PublicFormFieldConstraintDto, PublicFormFieldDto, PublicFormFieldTypeDto, PublicFormListResponseDto, PublicFormSlugRuleDto, PublicFormSlugRulesDto, PublicFormTranslationDto, PublicItemSummaryDto, PublicItemWithFieldsDto, PublicMenuDetailDto, PublicMenuSummaryDto, PublicPaginationTotalDto, PublicPaymentMethodFragment, PublicResolvedCollectionDto, PublicResolvedContentDto, PublicResolvedFieldDto, PublicResolvedItemDto, PublicResolvedSubFieldDto, PublicRouteEntryDto, PublicRoutesMetadataDto, PublicRoutesResponseDto, PublicSeoMetadataDto, PublicShippingMethodFragment, PublicSitemapEntryDto, PublicSitemapSeoDto, PublicVendureAssetDescriptionDto, Quote, QuoteLine, QuoteLineDiscountType, QuoteLineRequestInput, QuoteList, QuoteListOptions, QuoteStatus, RecentReviewsOptions, RecommendedProductGroupFragment, RegisterCustomerInput, RequestMagicLinkOptions, RequestOptions, RequestReturnInput, ResolvedRoute, ResolvedTaxDisplay, ResponsiveImageData, RetryConfig, ReturnableLineForOrder, ReturnableLinesForOrder, ReturnRequestLineInput, ReviewSortKey, ReviewStatus, SavedListFragment, SearchInput, SearchResultFragment, SearchResultItemFragment, SetupPaymentMandateInput, ShipmentTrackingHistoryEntry, ShipmentTrackingInfo, StockNotificationSubscriptionResult, StoreContext, StorefrontClient, StorefrontClientConfig, StorefrontDeprecationNotice, StoreRename, StripePaymentIntentResult, SubscriptionFirstChargeTiming, SubscriptionLifecycleAction, SubscriptionLifecycleCommand, SubscriptionPaymentActionInput, SubscriptionPlanPublicFragment, SubscriptionPurchaseInput, SubscriptionPurchaseResultFragment, TaxDisplayB2bMode, TaxDisplayDefault, TaxDisplayInputs, TaxDisplayMode, TaxDisplayPolicy, TierTableEntry, UpdateAddressInput, UpdateCustomerInput, UpdateOrderCustomFieldsInput, UpdateProductReviewInput, VariantLocationAvailabilityFragment, VariantPriceData, VatValidationResultFragment, } from './types.js';
|
|
32
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export { PlatformError } from '@sixtyninecommerce/core';
|
|
|
15
15
|
export { CATALOG_TAG, cacheTagsForRoute, collectionCacheTag, menuCacheTag, PRODUCT_FEED_TAG, productCacheTag, SEO_ARTIFACT_TAG, storeCacheTag, } from './cache-tags.js';
|
|
16
16
|
export { createStorefrontClient } from './client.js';
|
|
17
17
|
export { readParcelPricing } from './commerce/parcel-pricing.js';
|
|
18
|
+
export { RECEIPT_CLAIM_NOT_FOUND, RECEIPT_CLAIM_PATH, receiptClaimTokenFrom, } from './commerce/receipt-claim.js';
|
|
18
19
|
export { DEFAULT_CMS_URL, DEFAULT_PLUGINS_URL, DEFAULT_VENDURE_URL, ORDER_SCOPE_HEADER, RESERVED_STOREFRONT_PATHS, SHOP_API_PATH, } from './constants.js';
|
|
19
20
|
export { isAssetReference, resolveContentAssetUrls, resolveContentFieldValues, } from './content/asset-urls.js';
|
|
20
21
|
export { buildFilteredProductsSearch, } from './content/filtered-products.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,OAAO,EAAoB,aAAa,EAAuB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAsB,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAQrF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EAEzB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,2BAA2B,GAG5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EACL,kBAAkB,EAQlB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GAOtB,MAAM,sBAAsB,CAAC;AAqD9B,OAAO,EACL,QAAQ,EACR,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,OAAO,EAAoB,aAAa,EAAuB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAsB,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAQrF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EAEzB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,2BAA2B,GAG5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EACL,kBAAkB,EAQlB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GAOtB,MAAM,sBAAsB,CAAC;AAqD9B,OAAO,EACL,QAAQ,EACR,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,gBAAgB,CAAC"}
|
|
@@ -21,6 +21,14 @@ import type { OrderableStockInput, OrderValidationResult } from '../types.js';
|
|
|
21
21
|
* (`customerIsExempt`), as the engine skips it then;
|
|
22
22
|
* - the item count (`minOrderQuantity`) against `totalQuantity`.
|
|
23
23
|
*
|
|
24
|
+
* The gross and net minimums are judged BEFORE a price-list order-rule
|
|
25
|
+
* discount ("Order discount"), as the engine judges them, so reaching that
|
|
26
|
+
* discount never shows a shortfall checkout would accept. The order's
|
|
27
|
+
* `discounts` and `promotions` (with their `conditions`, as `OrderFragment`
|
|
28
|
+
* carries them) say which discount that is; an order passed without them is
|
|
29
|
+
* compared as it is. The delivery minimum keeps it taken off, as the engine
|
|
30
|
+
* does.
|
|
31
|
+
*
|
|
24
32
|
* The engine leaves out of its totals the lines of collections the store
|
|
25
33
|
* exempts from minimums, and any surcharge; the client cannot tell those
|
|
26
34
|
* apart, so on such a cart the hint and checkout can disagree. The server
|
|
@@ -61,6 +69,23 @@ export declare function validateOrderMinimums(order: {
|
|
|
61
69
|
*/
|
|
62
70
|
subTotal?: number;
|
|
63
71
|
total?: number;
|
|
72
|
+
/**
|
|
73
|
+
* The order's discounts (`Order.discounts`). With `promotions`, the
|
|
74
|
+
* price-list order-rule discount is added back before the gross and net
|
|
75
|
+
* minimums are compared.
|
|
76
|
+
*/
|
|
77
|
+
discounts?: ReadonlyArray<{
|
|
78
|
+
adjustmentSource: string;
|
|
79
|
+
amount: number;
|
|
80
|
+
amountWithTax: number;
|
|
81
|
+
}>;
|
|
82
|
+
/** The order's promotions with their condition codes (`OrderFragment.promotions`). */
|
|
83
|
+
promotions?: ReadonlyArray<{
|
|
84
|
+
id: string;
|
|
85
|
+
conditions?: ReadonlyArray<{
|
|
86
|
+
code: string;
|
|
87
|
+
}> | null;
|
|
88
|
+
}>;
|
|
64
89
|
}, constraints: {
|
|
65
90
|
/** Minimum vs the GROSS line total, minor units. As returned by `getOrderConstraints()`. */
|
|
66
91
|
minOrderAmountGross?: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/pricing/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpG
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/pricing/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE;IACL;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,sFAAsF;IACtF,UAAU,CAAC,EAAE,aAAa,CAAC;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,aAAa,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,IAAI,CAAC;KACrD,CAAC,CAAC;CACJ,EACD,WAAW,EAAE;IACX,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GACA,qBAAqB,CAgFvB;AAgCD,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAIhF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAErE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAElE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAMjF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAEpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAElE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,EAC9C,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAIf"}
|
|
@@ -21,6 +21,14 @@ import { formatPrice } from './format.js';
|
|
|
21
21
|
* (`customerIsExempt`), as the engine skips it then;
|
|
22
22
|
* - the item count (`minOrderQuantity`) against `totalQuantity`.
|
|
23
23
|
*
|
|
24
|
+
* The gross and net minimums are judged BEFORE a price-list order-rule
|
|
25
|
+
* discount ("Order discount"), as the engine judges them, so reaching that
|
|
26
|
+
* discount never shows a shortfall checkout would accept. The order's
|
|
27
|
+
* `discounts` and `promotions` (with their `conditions`, as `OrderFragment`
|
|
28
|
+
* carries them) say which discount that is; an order passed without them is
|
|
29
|
+
* compared as it is. The delivery minimum keeps it taken off, as the engine
|
|
30
|
+
* does.
|
|
31
|
+
*
|
|
24
32
|
* The engine leaves out of its totals the lines of collections the store
|
|
25
33
|
* exempts from minimums, and any surcharge; the client cannot tell those
|
|
26
34
|
* apart, so on such a cart the hint and checkout can disagree. The server
|
|
@@ -48,7 +56,8 @@ export function validateOrderMinimums(order, constraints) {
|
|
|
48
56
|
const amountCurrency = constraints.currencyCode ?? order.currencyCode;
|
|
49
57
|
const amountsComparable = amountCurrency === order.currencyCode;
|
|
50
58
|
const minAmount = constraints.minOrderAmountGross ?? constraints.minOrderAmount;
|
|
51
|
-
const
|
|
59
|
+
const orderRule = orderRuleDiscount(order);
|
|
60
|
+
const grossTotal = (order.subTotalWithTax ?? order.totalWithTax) + orderRule.gross;
|
|
52
61
|
if (amountsComparable && minAmount != null && minAmount > 0 && grossTotal < minAmount) {
|
|
53
62
|
errors.push({
|
|
54
63
|
type: 'min_amount',
|
|
@@ -62,18 +71,19 @@ export function validateOrderMinimums(order, constraints) {
|
|
|
62
71
|
// client does not have. Both can fail on the same cart.
|
|
63
72
|
const minAmountNet = constraints.minOrderAmountNet;
|
|
64
73
|
const netTotal = order.subTotal ?? order.total;
|
|
74
|
+
const netBeforeOrderRule = netTotal == null ? null : netTotal + orderRule.net;
|
|
65
75
|
if (amountsComparable &&
|
|
66
76
|
minAmountNet != null &&
|
|
67
77
|
minAmountNet > 0 &&
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
netBeforeOrderRule != null &&
|
|
79
|
+
netBeforeOrderRule < minAmountNet) {
|
|
70
80
|
errors.push({
|
|
71
81
|
type: 'min_amount',
|
|
72
82
|
// Says "excl. tax" so the figure is not read against the gross total the
|
|
73
83
|
// buyer sees on screen, where it would look wrong.
|
|
74
84
|
message: `Minimum order amount is ${formatPrice(minAmountNet, amountCurrency)} excl. tax`,
|
|
75
85
|
required: minAmountNet,
|
|
76
|
-
actual:
|
|
86
|
+
actual: netBeforeOrderRule,
|
|
77
87
|
});
|
|
78
88
|
}
|
|
79
89
|
const minDeliveryNet = constraints.fulfillmentMinOrderNet;
|
|
@@ -107,6 +117,29 @@ export function validateOrderMinimums(order, constraints) {
|
|
|
107
117
|
}
|
|
108
118
|
return { valid: errors.length === 0, errors };
|
|
109
119
|
}
|
|
120
|
+
/** The condition every price-list order-rule promotion carries (the engine's "Order discount"). */
|
|
121
|
+
const ORDER_RULE_CONDITION = 'price_list_order_rules';
|
|
122
|
+
/**
|
|
123
|
+
* What the price-list order-rule discount took off the order, positive, net and gross: the
|
|
124
|
+
* discounts whose source is a promotion carrying the order-rule condition. Zero when the order
|
|
125
|
+
* does not say (no `discounts`, or promotions without their conditions).
|
|
126
|
+
*/
|
|
127
|
+
function orderRuleDiscount(order) {
|
|
128
|
+
const sources = new Set((order.promotions ?? [])
|
|
129
|
+
.filter((promotion) => (promotion.conditions ?? []).some((condition) => condition.code === ORDER_RULE_CONDITION))
|
|
130
|
+
.map((promotion) => `PROMOTION:${promotion.id}`));
|
|
131
|
+
let net = 0;
|
|
132
|
+
let gross = 0;
|
|
133
|
+
if (sources.size === 0)
|
|
134
|
+
return { net, gross };
|
|
135
|
+
for (const discount of order.discounts ?? []) {
|
|
136
|
+
if (!sources.has(discount.adjustmentSource))
|
|
137
|
+
continue;
|
|
138
|
+
net -= discount.amount;
|
|
139
|
+
gross -= discount.amountWithTax;
|
|
140
|
+
}
|
|
141
|
+
return { net, gross };
|
|
142
|
+
}
|
|
110
143
|
/**
|
|
111
144
|
* How many units of a variant the current shopper may put in the cart:
|
|
112
145
|
* `max(0, saleable) + backorderAllowance` — or `0` when the merchant is not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/pricing/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/pricing/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -627,6 +627,15 @@ export type Product = Omit<Shop.ProductFragment, 'metadata'> & {
|
|
|
627
627
|
* sells (`lines` names them; the store stopped offering a product its
|
|
628
628
|
* organization shares). The buyer removes them. Adding one is refused with the
|
|
629
629
|
* same code.
|
|
630
|
+
* - `GIFT_CARD_LINE_FREE` — the cart holds a gift card priced at nothing
|
|
631
|
+
* (`lines` names it). Gift cards are sold at their price.
|
|
632
|
+
* - `GIFT_CARD_ORDER_DISCOUNT` — money would come off an order that sells gift
|
|
633
|
+
* cards: an order-wide coupon (`details` names it as `couponCode`) or a
|
|
634
|
+
* discount. Gift cards are sold without discounts: the buyer removes the
|
|
635
|
+
* coupon, or buys the gift cards in an order of their own.
|
|
636
|
+
* - `GIFT_CARD_NEEDS_BUYER_EMAIL` — the order sells gift cards, whose codes are
|
|
637
|
+
* sent only by email, and its customer has no address that can receive one.
|
|
638
|
+
* The buyer gives a real email address and places again.
|
|
630
639
|
*/
|
|
631
640
|
export type PlacementRejectionCode = Shop.PlacementRejectionCode;
|
|
632
641
|
/**
|
|
@@ -1371,6 +1380,11 @@ export interface CommerceModule {
|
|
|
1371
1380
|
* released on or after 2026-10-05) when the store no longer sells the product;
|
|
1372
1381
|
* so are `addItemsToCart` (the whole call) and `updateCartLine` raising such a
|
|
1373
1382
|
* line. Lowering or removing a line always works.
|
|
1383
|
+
*
|
|
1384
|
+
* Refused with `StorefrontError` `ORDER_LINE_VARIANT_UNPRICED` (422, an engine
|
|
1385
|
+
* released on or after 2026-10-10) when the store has no price for the product
|
|
1386
|
+
* (`extensions.productVariantIds` names it); the same for `addItemsToCart` and
|
|
1387
|
+
* `updateCartLine` raising such a line. Nothing is added.
|
|
1374
1388
|
*/
|
|
1375
1389
|
addToCart(variantId: string, quantity: number): Promise<Shop.OrderFragment>;
|
|
1376
1390
|
/** Add several variants in one call (e.g. favourite-box bundles). */
|
|
@@ -1937,9 +1951,27 @@ export interface CommerceModule {
|
|
|
1937
1951
|
subscribeToStockNotification(productVariantId: string, emailAddress?: string): Promise<StockNotificationSubscriptionResult>;
|
|
1938
1952
|
unsubscribeFromStockNotification(token: string): Promise<boolean>;
|
|
1939
1953
|
getProductRecommendations(productId: string, groupSlug?: string): Promise<Shop.RecommendedProductGroupFragment[]>;
|
|
1954
|
+
/** The shops that offer pickup, each with `available` for the active order (never a quantity). */
|
|
1955
|
+
getStorePickupLocations(): Promise<Shop.StorePickupLocationFragment[]>;
|
|
1956
|
+
/** The active order's store pickup: the chosen shop, then the pickup's state once placed. */
|
|
1957
|
+
getActiveOrderStorePickup(): Promise<NonNullable<Shop.ActiveOrderStorePickupQuery['activeOrder']>['storePickup'] | null>;
|
|
1958
|
+
/**
|
|
1959
|
+
* Collect the active order at a shop: names it (the shipping address becomes the shop's), then
|
|
1960
|
+
* selects the store-pickup method. `STORE_PICKUP_METHOD_UNAVAILABLE` when the method is not
|
|
1961
|
+
* eligible (the shop is short of an item, or the store has none).
|
|
1962
|
+
*/
|
|
1963
|
+
chooseStorePickup(stockLocationId: string): Promise<Shop.OrderFragment>;
|
|
1964
|
+
/** Stop collecting at a shop (call it before the shopper's own address and method). */
|
|
1965
|
+
clearStorePickup(): Promise<Shop.OrderFragment>;
|
|
1940
1966
|
getAgeVerificationStatus(): Promise<Shop.AgeVerificationStatusQuery['ageVerificationStatus']>;
|
|
1941
1967
|
submitDateOfBirth(dateOfBirth: string): Promise<Shop.SubmitDateOfBirthMutation['submitDateOfBirth']>;
|
|
1942
1968
|
confirmAge(): Promise<Shop.ConfirmAgeMutation['confirmAge']>;
|
|
1969
|
+
/**
|
|
1970
|
+
* Add a till purchase to the signed-in shopper's account with the token of its receipt link
|
|
1971
|
+
* (read it with `receiptClaimTokenFrom(window.location)`). `alreadyYours` when it already was.
|
|
1972
|
+
* Every refusal is `POS_RECEIPT_CLAIM_NOT_FOUND`; a guest is `FORBIDDEN`.
|
|
1973
|
+
*/
|
|
1974
|
+
claimReceipt(token: string): Promise<Shop.ClaimPosReceiptMutation['claimPosReceipt']>;
|
|
1943
1975
|
getProductReviews(productId: string, options?: Shop.ProductReviewListOptions): Promise<Shop.ProductReviewsQuery['productReviews']>;
|
|
1944
1976
|
getRecentProductReviews(options?: Shop.RecentReviewsOptions): Promise<Shop.ProductReviewFragment[]>;
|
|
1945
1977
|
getReviewRatingSummary(productId: string): Promise<Shop.ProductRatingSummaryQuery['productRatingSummary']>;
|
|
@@ -1953,24 +1985,83 @@ export interface CommerceModule {
|
|
|
1953
1985
|
voteReview(reviewId: string, isHelpful: boolean): Promise<boolean>;
|
|
1954
1986
|
reportReview(reviewId: string, reason: string): Promise<boolean>;
|
|
1955
1987
|
uploadReviewMedia(files: File[]): Promise<Shop.UploadReviewMediaMutation['uploadReviewMedia']>;
|
|
1988
|
+
/**
|
|
1989
|
+
* Refusals: `FORBIDDEN` (signed out), `SUBSCRIPTION_GUEST_NOT_ALLOWED` (no customer in this
|
|
1990
|
+
* store), `SUBSCRIPTION_NOT_FOUND` (not the customer's, or not in this store).
|
|
1991
|
+
*/
|
|
1956
1992
|
getMySubscription(id: string): Promise<Shop.CustomerSubscriptionFragment | null>;
|
|
1993
|
+
/**
|
|
1994
|
+
* Refusals: `SUBSCRIPTION_PLAN_UNAVAILABLE`, `SUBSCRIPTION_MANDATE_UNAVAILABLE`,
|
|
1995
|
+
* `SUBSCRIPTION_GUEST_NOT_ALLOWED` (a `mandateId` while signed out), and what stops the store
|
|
1996
|
+
* billing the plan (`SUBSCRIPTION_PRODUCT_UNAVAILABLE`, `SUBSCRIPTION_SHIPPING_UNAVAILABLE`,
|
|
1997
|
+
* `SUBSCRIPTION_CURRENCY_NOT_AVAILABLE`).
|
|
1998
|
+
*/
|
|
1957
1999
|
previewSubscriptionPurchase(planId: string, options?: {
|
|
1958
2000
|
provider?: 'mollie' | 'stripe';
|
|
1959
2001
|
mandateId?: string;
|
|
1960
2002
|
}): Promise<Shop.SubscriptionPurchasePreviewQuery['subscriptionPurchasePreview']>;
|
|
2003
|
+
/**
|
|
2004
|
+
* Refusals, each before any payment starts: `SUBSCRIPTION_PREVIEW_CONFLICT` (the price changed
|
|
2005
|
+
* since the preview: preview again and confirm again), `SUBSCRIPTION_REQUEST_KEY_CONFLICT` (the
|
|
2006
|
+
* key belongs to another action), `SUBSCRIPTION_REQUEST_KEY_INVALID`,
|
|
2007
|
+
* `SUBSCRIPTION_RETURN_URL_INVALID`, `SUBSCRIPTION_INPUT_INVALID` (no or an unknown provider),
|
|
2008
|
+
* `SUBSCRIPTION_PLAN_UNAVAILABLE`, `SUBSCRIPTION_MANDATE_UNAVAILABLE`,
|
|
2009
|
+
* `SUBSCRIPTION_AMOUNT_UNREPRESENTABLE`, the order the store cannot build
|
|
2010
|
+
* (`SUBSCRIPTION_ADDRESS_REQUIRED`, `SUBSCRIPTION_PRODUCT_UNAVAILABLE`,
|
|
2011
|
+
* `SUBSCRIPTION_SHIPPING_UNAVAILABLE`, `SUBSCRIPTION_STOCK_INSUFFICIENT`,
|
|
2012
|
+
* `SUBSCRIPTION_ORDER_REFUSED`), `FORBIDDEN` (signed out) and `SUBSCRIPTION_GUEST_NOT_ALLOWED`
|
|
2013
|
+
* (no customer in this store).
|
|
2014
|
+
*/
|
|
1961
2015
|
startSubscriptionPurchase(input: SubscriptionPurchaseInput): Promise<Shop.SubscriptionPurchaseResultFragment>;
|
|
2016
|
+
/**
|
|
2017
|
+
* Refusals: `SUBSCRIPTION_PURCHASE_NOT_FOUND`, `FORBIDDEN` (signed out),
|
|
2018
|
+
* `SUBSCRIPTION_GUEST_NOT_ALLOWED` (no customer in this store).
|
|
2019
|
+
*/
|
|
1962
2020
|
getSubscriptionPurchaseStatus(id: string): Promise<Shop.SubscriptionPurchaseResultFragment>;
|
|
2021
|
+
/**
|
|
2022
|
+
* Refusals: `SUBSCRIPTION_NOT_FOUND`, `FORBIDDEN` (signed out),
|
|
2023
|
+
* `SUBSCRIPTION_GUEST_NOT_ALLOWED` (no customer in this store),
|
|
2024
|
+
* `SUBSCRIPTION_INPUT_INVALID` (an action the storefront may not ask for). A change that is not
|
|
2025
|
+
* possible now is not refused here: it answers `allowed: false` with its `reason`.
|
|
2026
|
+
*/
|
|
1963
2027
|
previewMySubscriptionChange(id: string, input: SubscriptionLifecycleCommand): Promise<Shop.PreviewMySubscriptionChangeQuery['previewMySubscriptionChange']>;
|
|
2028
|
+
/**
|
|
2029
|
+
* Refusals (also of `skipMySubscription`, `rescheduleMySubscription`,
|
|
2030
|
+
* `undoMySubscriptionCancellation`): `SUBSCRIPTION_NOT_FOUND`, `FORBIDDEN` (signed out),
|
|
2031
|
+
* `SUBSCRIPTION_GUEST_NOT_ALLOWED` (no customer in this store),
|
|
2032
|
+
* `SUBSCRIPTION_OVERRIDE_NOT_ALLOWED` (a staff-only option), `SUBSCRIPTION_INPUT_INVALID`,
|
|
2033
|
+
* `SUBSCRIPTION_DATE_INVALID`, `SUBSCRIPTION_REQUEST_KEY_CONFLICT` /
|
|
2034
|
+
* `SUBSCRIPTION_REQUEST_KEY_INVALID`, and the change not possible now:
|
|
2035
|
+
* `SUBSCRIPTION_CHANGE_CUTOFF_PASSED`, `SUBSCRIPTION_CYCLE_UNRESOLVED`,
|
|
2036
|
+
* `SUBSCRIPTION_STATUS_BLOCKS_CHANGE`, `SUBSCRIPTION_AWAITING_PAYMENT_METHOD`,
|
|
2037
|
+
* `SUBSCRIPTION_CANCELLATION_EFFECTIVE`, `SUBSCRIPTION_NO_NEXT_RENEWAL` (re-read the
|
|
2038
|
+
* subscription and show its `allowedActions`).
|
|
2039
|
+
*/
|
|
1964
2040
|
manageMySubscription(id: string, input: SubscriptionLifecycleCommand): Promise<Shop.CustomerSubscriptionFragment>;
|
|
1965
2041
|
skipMySubscription(id: string, requestKey: string): Promise<Shop.CustomerSubscriptionFragment>;
|
|
1966
2042
|
rescheduleMySubscription(id: string, date: string, requestKey: string): Promise<Shop.CustomerSubscriptionFragment>;
|
|
1967
2043
|
undoMySubscriptionCancellation(id: string, requestKey: string): Promise<Shop.CustomerSubscriptionFragment>;
|
|
2044
|
+
/**
|
|
2045
|
+
* Refusals: `SUBSCRIPTION_NOT_FOUND`, `FORBIDDEN` (signed out),
|
|
2046
|
+
* `SUBSCRIPTION_GUEST_NOT_ALLOWED` (no customer in this store),
|
|
2047
|
+
* `SUBSCRIPTION_INPUT_INVALID` (no or an unknown provider), `SUBSCRIPTION_RETURN_URL_INVALID`,
|
|
2048
|
+
* `SUBSCRIPTION_REQUEST_KEY_CONFLICT` / `SUBSCRIPTION_REQUEST_KEY_INVALID`,
|
|
2049
|
+
* `SUBSCRIPTION_STATUS_BLOCKS_CHANGE`, `SUBSCRIPTION_PAYMENT_UNRESOLVED` (a setup is still open).
|
|
2050
|
+
*/
|
|
1968
2051
|
replaceMySubscriptionMandate(id: string, input: SubscriptionPaymentActionInput & {
|
|
1969
2052
|
provider: 'mollie' | 'stripe';
|
|
1970
2053
|
}): Promise<Shop.SubscriptionPurchaseResultFragment>;
|
|
1971
2054
|
/**
|
|
1972
2055
|
* A hosted link that pays the outstanding failed or charged-back cycle again,
|
|
1973
2056
|
* without another delivery. Reuse `upcomingPayment.checkoutUrl` while it is live.
|
|
2057
|
+
*
|
|
2058
|
+
* Refusals: `SUBSCRIPTION_NOT_FOUND`, `FORBIDDEN` (signed out),
|
|
2059
|
+
* `SUBSCRIPTION_GUEST_NOT_ALLOWED` (no customer in this store),
|
|
2060
|
+
* `SUBSCRIPTION_RETURN_URL_INVALID`, `SUBSCRIPTION_REQUEST_KEY_CONFLICT` /
|
|
2061
|
+
* `SUBSCRIPTION_REQUEST_KEY_INVALID`, `SUBSCRIPTION_STATUS_BLOCKS_CHANGE`,
|
|
2062
|
+
* `SUBSCRIPTION_PAYMENT_UNRESOLVED` (the previous payment is not definitively over),
|
|
2063
|
+
* `SUBSCRIPTION_CYCLE_PAYMENT_HELD` (the store must reconcile a payment it holds),
|
|
2064
|
+
* `SUBSCRIPTION_AMOUNT_UNREPRESENTABLE`.
|
|
1974
2065
|
*/
|
|
1975
2066
|
recoverMySubscriptionPayment(id: string, input: SubscriptionPaymentActionInput): Promise<Shop.SubscriptionPurchaseResultFragment>;
|
|
1976
2067
|
getMySubscriptions(): Promise<Shop.CustomerSubscriptionFragment[]>;
|
|
@@ -1987,14 +2078,26 @@ export interface CommerceModule {
|
|
|
1987
2078
|
/**
|
|
1988
2079
|
* Begin establishing a payment mandate. Returns a `checkoutUrl` (Mollie) or
|
|
1989
2080
|
* `clientSecret` (Stripe) for the frontend to complete the setup.
|
|
2081
|
+
*
|
|
2082
|
+
* Refusals: `FORBIDDEN` (signed out), `SUBSCRIPTION_RETURN_URL_INVALID` (`redirectUrl`),
|
|
2083
|
+
* `SUBSCRIPTION_INPUT_INVALID` (an unknown provider).
|
|
1990
2084
|
*/
|
|
1991
2085
|
setupPaymentMandate(input: Shop.SetupPaymentMandateInput): Promise<Shop.SetupPaymentMandateMutation['setupPaymentMandate']>;
|
|
1992
2086
|
/**
|
|
1993
2087
|
* Create a subscription for the active customer against an enabled plan
|
|
1994
2088
|
* using one of their valid mandates.
|
|
2089
|
+
*
|
|
2090
|
+
* Refusals: `FORBIDDEN` (signed out, or another customer's mandate),
|
|
2091
|
+
* `SUBSCRIPTION_MANDATE_NOT_FOUND`, `SUBSCRIPTION_MANDATE_NOT_VALID` (not verified yet),
|
|
2092
|
+
* `SUBSCRIPTION_PLAN_UNAVAILABLE`, and `startSubscriptionPurchase`'s order and request-key
|
|
2093
|
+
* refusals.
|
|
1995
2094
|
*/
|
|
1996
2095
|
createSubscription(planId: string, mandateId: string, requestKey?: string): Promise<Shop.CustomerSubscriptionFragment>;
|
|
1997
|
-
/**
|
|
2096
|
+
/**
|
|
2097
|
+
* Pause an active or trial subscription owned by the active customer. Refusals (also of
|
|
2098
|
+
* `resumeMySubscription` and `cancelMySubscription`): `FORBIDDEN` (signed out, or another
|
|
2099
|
+
* customer's), `SUBSCRIPTION_NOT_FOUND`, and `manageMySubscription`'s "not possible now" codes.
|
|
2100
|
+
*/
|
|
1998
2101
|
pauseMySubscription(id: string, reason?: string): Promise<Shop.CustomerSubscriptionFragment>;
|
|
1999
2102
|
/** Resume a paused subscription owned by the active customer. */
|
|
2000
2103
|
resumeMySubscription(id: string): Promise<Shop.CustomerSubscriptionFragment>;
|
|
@@ -2056,8 +2159,15 @@ export interface CommerceModule {
|
|
|
2056
2159
|
* Per-line returnable quantities and the return window for one of the
|
|
2057
2160
|
* active customer's orders — drives the return-request UI. Lines only
|
|
2058
2161
|
* appear once they have shipped/delivered quantity.
|
|
2162
|
+
*
|
|
2163
|
+
* A unit an invoice correction already credited is not returnable: each
|
|
2164
|
+
* line says how many (`creditedQty`) and on which credit notes
|
|
2165
|
+
* (`correctionCredits`), so the UI can say "1 already credited on
|
|
2166
|
+
* CN-00053"; `requestReturn` refuses more with
|
|
2167
|
+
* `RETURN_QUANTITY_ALREADY_CREDITED`. Needs a vendure-server that serves
|
|
2168
|
+
* those fields.
|
|
2059
2169
|
*/
|
|
2060
|
-
getReturnableLinesForOrder(orderId: string): Promise<
|
|
2170
|
+
getReturnableLinesForOrder(orderId: string): Promise<ReturnableLinesForOrder>;
|
|
2061
2171
|
getMyVatValidationStatus(): Promise<Shop.VatValidationResultFragment | null>;
|
|
2062
2172
|
setMyVatNumber(vatNumber: string): Promise<Shop.VatValidationResultFragment>;
|
|
2063
2173
|
clearMyVatNumber(): Promise<boolean>;
|
|
@@ -2237,6 +2347,9 @@ export interface PricingModule {
|
|
|
2237
2347
|
* lines' gross total (`subTotalWithTax`, no shipping), the net minimum and
|
|
2238
2348
|
* the delivery minimum (`fulfillmentMinOrderNet`, skipped for an exempt
|
|
2239
2349
|
* customer) against the lines' net total (`subTotal`), and the item count.
|
|
2350
|
+
* The gross and net minimums are judged before a price-list order-rule
|
|
2351
|
+
* discount ("Order discount"), as the engine judges them, when the order
|
|
2352
|
+
* carries its `discounts` and `promotions` (as `OrderFragment` does).
|
|
2240
2353
|
*
|
|
2241
2354
|
* Amounts are formatted in `constraints.currencyCode` and compared only with
|
|
2242
2355
|
* an order in that currency; when the two differ (constraints fetched before
|
|
@@ -2262,6 +2375,23 @@ export interface PricingModule {
|
|
|
2262
2375
|
*/
|
|
2263
2376
|
subTotal?: number;
|
|
2264
2377
|
total?: number;
|
|
2378
|
+
/**
|
|
2379
|
+
* The order's discounts (`Order.discounts`). With `promotions`, the
|
|
2380
|
+
* price-list order-rule discount is added back before the gross and net
|
|
2381
|
+
* minimums are compared.
|
|
2382
|
+
*/
|
|
2383
|
+
discounts?: ReadonlyArray<{
|
|
2384
|
+
adjustmentSource: string;
|
|
2385
|
+
amount: number;
|
|
2386
|
+
amountWithTax: number;
|
|
2387
|
+
}>;
|
|
2388
|
+
/** The order's promotions with their condition codes (`OrderFragment.promotions`). */
|
|
2389
|
+
promotions?: ReadonlyArray<{
|
|
2390
|
+
id: string;
|
|
2391
|
+
conditions?: ReadonlyArray<{
|
|
2392
|
+
code: string;
|
|
2393
|
+
}> | null;
|
|
2394
|
+
}>;
|
|
2265
2395
|
}, constraints: {
|
|
2266
2396
|
minOrderAmountGross?: number | null;
|
|
2267
2397
|
minOrderAmountNet?: number | null;
|
|
@@ -2434,4 +2564,14 @@ export interface StorefrontClient {
|
|
|
2434
2564
|
*/
|
|
2435
2565
|
graphql<T = unknown>(query: string, variables?: Record<string, unknown>): Promise<T>;
|
|
2436
2566
|
}
|
|
2567
|
+
/** One line of {@link ReturnableLinesForOrder}. */
|
|
2568
|
+
export type ReturnableLineForOrder = Shop.ReturnableLinesForOrderLegacyQuery['returnableLinesForOrder']['lines'][number] & Partial<Pick<Shop.ReturnableLinesForOrderQuery['returnableLinesForOrder']['lines'][number], 'creditedQty' | 'correctionCredits'>>;
|
|
2569
|
+
/**
|
|
2570
|
+
* What `getReturnableLinesForOrder` answers. `creditedQty` and `correctionCredits` are absent from
|
|
2571
|
+
* an engine released before 2026-10-09, which does not subtract what an invoice correction
|
|
2572
|
+
* credited.
|
|
2573
|
+
*/
|
|
2574
|
+
export type ReturnableLinesForOrder = Omit<Shop.ReturnableLinesForOrderLegacyQuery['returnableLinesForOrder'], 'lines'> & {
|
|
2575
|
+
lines: ReturnableLineForOrder[];
|
|
2576
|
+
};
|
|
2437
2577
|
//# sourceMappingURL=types.d.ts.map
|