brainerce 1.54.0 → 1.56.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 +6318 -6194
- package/dist/bot/bootstrap.global.js +12 -12
- package/dist/bot/index.js +10 -2
- package/dist/bot/index.mjs +10 -2
- package/dist/index.d.mts +324 -2
- package/dist/index.d.ts +324 -2
- package/dist/index.js +387 -9
- package/dist/index.mjs +386 -9
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -229,14 +229,24 @@ interface StoreInfo {
|
|
|
229
229
|
/** Multi-language / i18n settings */
|
|
230
230
|
i18n?: I18nSettings;
|
|
231
231
|
/**
|
|
232
|
-
* SEO
|
|
232
|
+
* SEO fields (sales-channel mode only).
|
|
233
|
+
*
|
|
233
234
|
* `indexNowKey`: serve this verbatim at `GET /indexnow-key.txt`
|
|
234
235
|
* (`text/plain`) so the platform can ping IndexNow when blog posts publish.
|
|
235
236
|
* Not a secret — the key file is public by protocol design. `null` until
|
|
236
237
|
* the store's SEO Autopilot generates one; return 404 while null.
|
|
238
|
+
*
|
|
239
|
+
* `googleSiteVerification`: the merchant's Google site-verification token
|
|
240
|
+
* (the `content` value of the `google-site-verification` meta tag), set in
|
|
241
|
+
* the dashboard under the sales channel's settings. When present, render
|
|
242
|
+
* `<meta name="google-site-verification" content={token} />` in the root
|
|
243
|
+
* layout `<head>` — it is what lets the merchant verify the storefront in
|
|
244
|
+
* Google Search Console and claim it in Merchant Center. Public by design
|
|
245
|
+
* (the token appears in page source on every verified site).
|
|
237
246
|
*/
|
|
238
247
|
seo?: {
|
|
239
248
|
indexNowKey: string | null;
|
|
249
|
+
googleSiteVerification?: string | null;
|
|
240
250
|
};
|
|
241
251
|
/**
|
|
242
252
|
* Real merchant-configured shipping rates (sales-channel mode only) —
|
|
@@ -246,7 +256,91 @@ interface StoreInfo {
|
|
|
246
256
|
* Feeds Product JSON-LD `shippingDetails` — pass as `buildProductJsonLd(product, { ..., shipping: storeInfo.shipping })`.
|
|
247
257
|
*/
|
|
248
258
|
shipping?: ShippingSummaryEntry[];
|
|
259
|
+
/**
|
|
260
|
+
* Marketing tag ids for this sales channel (sales-channel mode only).
|
|
261
|
+
*
|
|
262
|
+
* Resolved server-side from the marketplace apps the merchant already
|
|
263
|
+
* connected — connecting the Google & YouTube app runs GA4 discovery and the
|
|
264
|
+
* measurement id lands here on its own; same for the Meta and TikTok pixels.
|
|
265
|
+
* The merchant types nothing, and the storefront needs no redeploy: a newly
|
|
266
|
+
* connected app shows up here within 5 minutes.
|
|
267
|
+
*
|
|
268
|
+
* Pass the whole object to {@link BrainerceClient.initTracking} — it boots
|
|
269
|
+
* every tag that is present and skips the rest. Absent fields are the normal
|
|
270
|
+
* state (that app simply isn't connected), never an error.
|
|
271
|
+
*/
|
|
272
|
+
tracking?: StoreTracking;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Marketing tag ids served by `GET /api/vc/:connectionId/info`.
|
|
276
|
+
*
|
|
277
|
+
* Every id here is public by nature — it renders into the page source of the
|
|
278
|
+
* storefront — and is format-validated by the backend before being served, so
|
|
279
|
+
* it is safe to interpolate into a tag bootstrap.
|
|
280
|
+
*/
|
|
281
|
+
interface StoreTracking {
|
|
282
|
+
/** GA4 measurement id, `G-XXXXXXX`. Auto-discovered by the Google & YouTube app. */
|
|
283
|
+
ga4MeasurementId?: string;
|
|
284
|
+
/**
|
|
285
|
+
* Google Tag Manager container id, `GTM-XXXXXX`. The one tag that cannot be
|
|
286
|
+
* auto-discovered — no OAuth surface exposes a container id — so it appears
|
|
287
|
+
* only when a merchant sets it on the sales channel.
|
|
288
|
+
*/
|
|
289
|
+
gtmContainerId?: string;
|
|
290
|
+
/** Meta (Facebook) pixel id. Auto-discovered by the Meta Commerce app. */
|
|
291
|
+
metaPixelId?: string;
|
|
292
|
+
/** TikTok pixel id. Auto-discovered by the TikTok Shop app. */
|
|
293
|
+
tiktokPixelId?: string;
|
|
249
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* A normalized e-commerce event, fanned out by
|
|
297
|
+
* {@link BrainerceClient.trackMarketingEvent} to every tag that is loaded.
|
|
298
|
+
*
|
|
299
|
+
* Field names follow the GA4 e-commerce spec; the SDK translates them to each
|
|
300
|
+
* vendor's own vocabulary (`fbq` Meta standard events, `ttq` TikTok events) so
|
|
301
|
+
* you describe what happened once instead of three times.
|
|
302
|
+
*/
|
|
303
|
+
interface TrackingEventPayload {
|
|
304
|
+
/** ISO 4217, e.g. `ILS`. Required for `purchase` / `begin_checkout` to be usable in ad optimization. */
|
|
305
|
+
currency?: string;
|
|
306
|
+
/** Monetary value of the event. */
|
|
307
|
+
value?: number;
|
|
308
|
+
/**
|
|
309
|
+
* Order id, for `purchase` only. Used as GA4's `transaction_id`, Meta's
|
|
310
|
+
* `eventID` and TikTok's `event_id`, which makes a duplicate send (page
|
|
311
|
+
* refresh, back-button) de-duplicate on the vendor's side rather than
|
|
312
|
+
* double-counting revenue.
|
|
313
|
+
*/
|
|
314
|
+
transactionId?: string;
|
|
315
|
+
/** Shipping charged on the order (`purchase`). */
|
|
316
|
+
shipping?: number;
|
|
317
|
+
/** Tax charged on the order (`purchase`). */
|
|
318
|
+
tax?: number;
|
|
319
|
+
/** Coupon code applied. */
|
|
320
|
+
coupon?: string;
|
|
321
|
+
/** Line items. `itemId` must match the id you sync to the ad platform's catalog. */
|
|
322
|
+
items?: TrackingEventItem[];
|
|
323
|
+
}
|
|
324
|
+
/** One line item inside a {@link TrackingEventPayload}. */
|
|
325
|
+
interface TrackingEventItem {
|
|
326
|
+
/**
|
|
327
|
+
* The item id as the ad platform's catalog knows it.
|
|
328
|
+
*
|
|
329
|
+
* Use the product's SKU: that is what the Meta and Google catalog feeds
|
|
330
|
+
* publish as the item id, so anything else silently breaks attribution and
|
|
331
|
+
* dynamic remarketing — the pixel reports an id the catalog has never heard
|
|
332
|
+
* of, and the audience never builds.
|
|
333
|
+
*/
|
|
334
|
+
itemId: string;
|
|
335
|
+
itemName?: string;
|
|
336
|
+
/** Unit price (GA4 multiplies by `quantity` itself — do not pre-multiply). */
|
|
337
|
+
price?: number;
|
|
338
|
+
quantity?: number;
|
|
339
|
+
itemVariant?: string;
|
|
340
|
+
itemCategory?: string;
|
|
341
|
+
}
|
|
342
|
+
/** E-commerce event names understood by {@link BrainerceClient.trackMarketingEvent}. */
|
|
343
|
+
type TrackingEventName = 'view_item' | 'view_item_list' | 'add_to_cart' | 'remove_from_cart' | 'view_cart' | 'begin_checkout' | 'add_payment_info' | 'purchase' | 'search' | 'sign_up';
|
|
250
344
|
/** One flat-rate/free shipping zone, as exposed by `StoreInfo.shipping`. */
|
|
251
345
|
interface ShippingSummaryEntry {
|
|
252
346
|
/** ISO 3166-1 alpha-2 country codes this rate applies to. */
|
|
@@ -1914,9 +2008,40 @@ interface Customer {
|
|
|
1914
2008
|
externalId: string;
|
|
1915
2009
|
}>;
|
|
1916
2010
|
addresses: CustomerAddress[];
|
|
2011
|
+
/**
|
|
2012
|
+
* FIRST-TOUCH sales channel — the storefront this customer originally arrived
|
|
2013
|
+
* through. `null`/absent is a normal state, not an error: customers created in
|
|
2014
|
+
* the dashboard, imported from a file, arriving via a `storeId`-mode
|
|
2015
|
+
* storefront, or predating channel attribution have no value here.
|
|
2016
|
+
*
|
|
2017
|
+
* Different from `platformConnections` (their ids on Shopify/WooCommerce) and
|
|
2018
|
+
* from `channelPublishes` below (where they are active now).
|
|
2019
|
+
*/
|
|
2020
|
+
acquisitionSalesChannel?: CustomerSalesChannelRef | null;
|
|
2021
|
+
/**
|
|
2022
|
+
* Every sales channel this customer is active in — one entry per channel they
|
|
2023
|
+
* registered, signed in, checked out or ordered on, plus any a merchant
|
|
2024
|
+
* attached by hand. A customer belongs to exactly one store but can be active
|
|
2025
|
+
* in any number of that store's channels. `[]` = none known yet.
|
|
2026
|
+
*/
|
|
2027
|
+
channelPublishes?: CustomerChannelPublish[];
|
|
1917
2028
|
createdAt: string;
|
|
1918
2029
|
updatedAt: string;
|
|
1919
2030
|
}
|
|
2031
|
+
interface CustomerSalesChannelRef {
|
|
2032
|
+
/** Internal SalesChannel id (cuid). */
|
|
2033
|
+
id: string;
|
|
2034
|
+
name: string;
|
|
2035
|
+
/** Public `vc_*` connection id — the one your storefront initialises with. */
|
|
2036
|
+
connectionId: string;
|
|
2037
|
+
}
|
|
2038
|
+
interface CustomerChannelPublish {
|
|
2039
|
+
salesChannel: CustomerSalesChannelRef;
|
|
2040
|
+
/** First time this customer was seen on this channel. */
|
|
2041
|
+
firstSeenAt: string;
|
|
2042
|
+
/** Most recent time this customer was seen on this channel. */
|
|
2043
|
+
lastSeenAt: string;
|
|
2044
|
+
}
|
|
1920
2045
|
/**
|
|
1921
2046
|
* Display-only summary of a vaulted payment method.
|
|
1922
2047
|
*
|
|
@@ -2007,6 +2132,14 @@ interface CreateCustomerDto {
|
|
|
2007
2132
|
tags?: string[];
|
|
2008
2133
|
/** Free-form merchant-set segment (e.g. "wholesale", "vip"), max 50 chars. */
|
|
2009
2134
|
role?: string;
|
|
2135
|
+
/**
|
|
2136
|
+
* Explicit FIRST-TOUCH channel (internal SalesChannel id or public `vc_*`).
|
|
2137
|
+
* Creating a customer through the API is not itself a channel sighting, so
|
|
2138
|
+
* omitting this leaves the customer's origin unknown — set it only when you
|
|
2139
|
+
* actually know where the person came from (a migration, a phone order for a
|
|
2140
|
+
* specific storefront). Which channels they SHOP on is separate.
|
|
2141
|
+
*/
|
|
2142
|
+
acquisitionSalesChannelId?: string;
|
|
2010
2143
|
metadata?: Record<string, unknown>;
|
|
2011
2144
|
}
|
|
2012
2145
|
interface UpdateCustomerDto {
|
|
@@ -2018,6 +2151,15 @@ interface UpdateCustomerDto {
|
|
|
2018
2151
|
tags?: string[];
|
|
2019
2152
|
/** Free-form merchant-set segment. Pass '' to clear it. */
|
|
2020
2153
|
role?: string;
|
|
2154
|
+
/**
|
|
2155
|
+
* Override the FIRST-TOUCH channel. Normally stamped automatically when the
|
|
2156
|
+
* customer registers, signs in with OAuth, or checks out — this is the
|
|
2157
|
+
* correction path for customers created through the API/dashboard or imported
|
|
2158
|
+
* from a file, where no channel was ever observed. Accepts an internal
|
|
2159
|
+
* SalesChannel id or a public `vc_*` connectionId; `''` clears it back to
|
|
2160
|
+
* unknown. Does NOT change which channels they are active in.
|
|
2161
|
+
*/
|
|
2162
|
+
acquisitionSalesChannelId?: string;
|
|
2021
2163
|
metadata?: Record<string, unknown>;
|
|
2022
2164
|
}
|
|
2023
2165
|
interface CustomerQueryParams {
|
|
@@ -2027,6 +2169,17 @@ interface CustomerQueryParams {
|
|
|
2027
2169
|
hasAccount?: boolean;
|
|
2028
2170
|
/** Filter by merchant-set customer role/segment (exact match, case-insensitive). */
|
|
2029
2171
|
role?: string;
|
|
2172
|
+
/**
|
|
2173
|
+
* Only customers ACTIVE IN this channel (they registered, signed in, checked
|
|
2174
|
+
* out or ordered there, or a merchant attached them). Accepts an internal
|
|
2175
|
+
* SalesChannel id or a public `vc_*` connectionId.
|
|
2176
|
+
*/
|
|
2177
|
+
salesChannelId?: string;
|
|
2178
|
+
/**
|
|
2179
|
+
* Only customers whose FIRST TOUCH was this channel, regardless of where they
|
|
2180
|
+
* have been active since. Customers with no attribution match nothing here.
|
|
2181
|
+
*/
|
|
2182
|
+
acquisitionSalesChannelId?: string;
|
|
2030
2183
|
sortBy?: 'createdAt' | 'email' | 'firstName' | 'lastName' | 'lastOrderAt';
|
|
2031
2184
|
sortOrder?: 'asc' | 'desc';
|
|
2032
2185
|
}
|
|
@@ -6315,6 +6468,17 @@ declare global {
|
|
|
6315
6468
|
interface Window {
|
|
6316
6469
|
dataLayer?: unknown[];
|
|
6317
6470
|
gtag?: (...args: unknown[]) => void;
|
|
6471
|
+
/** Meta pixel queue, installed by `initTracking()` when a pixel id is configured. */
|
|
6472
|
+
fbq?: ((...args: unknown[]) => void) & {
|
|
6473
|
+
queue?: unknown[];
|
|
6474
|
+
loaded?: boolean;
|
|
6475
|
+
version?: string;
|
|
6476
|
+
};
|
|
6477
|
+
_fbq?: unknown;
|
|
6478
|
+
/** TikTok pixel queue, installed by `initTracking()` when a pixel id is configured. */
|
|
6479
|
+
ttq?: Record<string, unknown> & {
|
|
6480
|
+
track?: (...args: unknown[]) => void;
|
|
6481
|
+
};
|
|
6318
6482
|
}
|
|
6319
6483
|
}
|
|
6320
6484
|
/**
|
|
@@ -6377,6 +6541,9 @@ declare class BrainerceClient {
|
|
|
6377
6541
|
private _pendingRecoverCartId;
|
|
6378
6542
|
private _ga4MeasurementId;
|
|
6379
6543
|
private _ga4StitchPromise;
|
|
6544
|
+
private _gtmContainerId;
|
|
6545
|
+
private _metaPixelId;
|
|
6546
|
+
private _tiktokPixelId;
|
|
6380
6547
|
/**
|
|
6381
6548
|
* Fields present on `getAddressDetails().address` that the address endpoints
|
|
6382
6549
|
* do NOT accept — stripped by `stripResolvedOnlyAddressFields()` so a
|
|
@@ -6609,6 +6776,71 @@ declare class BrainerceClient {
|
|
|
6609
6776
|
* consent.
|
|
6610
6777
|
*/
|
|
6611
6778
|
private resolveGa4StitchIds;
|
|
6779
|
+
/**
|
|
6780
|
+
* Boot every marketing tag the merchant has configured — GA4, Google Tag
|
|
6781
|
+
* Manager, the Meta pixel, the TikTok pixel — in one call.
|
|
6782
|
+
*
|
|
6783
|
+
* Pass `storeInfo.tracking` straight through. The ids in it are resolved
|
|
6784
|
+
* server-side from the marketplace apps the merchant already connected, so
|
|
6785
|
+
* for the common case nobody types an id anywhere and nobody redeploys the
|
|
6786
|
+
* storefront: connect the Google app in the dashboard and this call starts
|
|
6787
|
+
* loading GA4 on the next page render.
|
|
6788
|
+
*
|
|
6789
|
+
* Call it once, as early as possible (root layout / app entry). It is
|
|
6790
|
+
* idempotent, a no-op during SSR, and never throws — a blocked or missing
|
|
6791
|
+
* tag must never take a storefront down with it.
|
|
6792
|
+
*
|
|
6793
|
+
* GA4 goes through {@link loadGoogleAnalytics}, so the `client_id` /
|
|
6794
|
+
* `session_id` stitch ids keep flowing onto cart and checkout calls and the
|
|
6795
|
+
* server-side purchase conversion still lands in the right session.
|
|
6796
|
+
*
|
|
6797
|
+
* @example
|
|
6798
|
+
* ```typescript
|
|
6799
|
+
* const storeInfo = await client.getStoreInfo();
|
|
6800
|
+
* client.initTracking(storeInfo.tracking);
|
|
6801
|
+
* // …later, on the order confirmation page:
|
|
6802
|
+
* client.trackMarketingEvent('purchase', {
|
|
6803
|
+
* transactionId: order.id,
|
|
6804
|
+
* currency: order.currency,
|
|
6805
|
+
* value: order.totalAmount,
|
|
6806
|
+
* items: order.items.map((i) => ({ itemId: i.sku, itemName: i.name, price: i.price, quantity: i.quantity })),
|
|
6807
|
+
* });
|
|
6808
|
+
* ```
|
|
6809
|
+
*/
|
|
6810
|
+
initTracking(tracking?: StoreTracking | null): void;
|
|
6811
|
+
/**
|
|
6812
|
+
* Report one e-commerce event to every marketing tag that
|
|
6813
|
+
* {@link initTracking} loaded (GA4/GTM, Meta, TikTok).
|
|
6814
|
+
*
|
|
6815
|
+
* Distinct from {@link trackEvent}, which posts a cookieless pageview/beacon
|
|
6816
|
+
* to Brainerce's own storefront analytics. This one is about ad platforms —
|
|
6817
|
+
* call both; they answer different questions.
|
|
6818
|
+
*
|
|
6819
|
+
* You describe what happened once, in GA4's vocabulary, and the SDK
|
|
6820
|
+
* translates: a `dataLayer` push for GA4/GTM, the matching Meta standard
|
|
6821
|
+
* event via `fbq`, and the matching TikTok event via `ttq`. Tags that aren't
|
|
6822
|
+
* loaded are skipped silently, so the same call is correct whether the
|
|
6823
|
+
* merchant has connected none, one, or all of them.
|
|
6824
|
+
*
|
|
6825
|
+
* Why this matters for ad spend: a GTM container with no `dataLayer` events
|
|
6826
|
+
* is an empty container, and Meta cannot optimize a campaign it never sees a
|
|
6827
|
+
* `Purchase` for. The value/currency/item-id triple in {@link TrackingEventPayload}
|
|
6828
|
+
* is the whole input to that optimization.
|
|
6829
|
+
*
|
|
6830
|
+
* `purchase` is de-duplicated by the vendors on `transactionId` (GA4
|
|
6831
|
+
* `transaction_id`, Meta `eventID`, TikTok `event_id`), so a shopper
|
|
6832
|
+
* refreshing the confirmation page cannot double-count the order — pass the
|
|
6833
|
+
* order id and the safety is automatic.
|
|
6834
|
+
*
|
|
6835
|
+
* SSR-safe and never throws.
|
|
6836
|
+
*/
|
|
6837
|
+
trackMarketingEvent(name: TrackingEventName, payload?: TrackingEventPayload): void;
|
|
6838
|
+
/** Install the GTM container loader. Idempotent; no-op if already present. */
|
|
6839
|
+
private loadGtm;
|
|
6840
|
+
/** Install the Meta pixel and fire its initial PageView. Idempotent. */
|
|
6841
|
+
private loadMetaPixel;
|
|
6842
|
+
/** Install the TikTok pixel and fire its initial page view. Idempotent. */
|
|
6843
|
+
private loadTikTokPixel;
|
|
6612
6844
|
/**
|
|
6613
6845
|
* Merge the resolved GA4 stitch ids onto a request body — only for fields
|
|
6614
6846
|
* the caller didn't already set explicitly (explicit values always win).
|
|
@@ -6654,6 +6886,41 @@ declare class BrainerceClient {
|
|
|
6654
6886
|
* ```
|
|
6655
6887
|
*/
|
|
6656
6888
|
getProducts(params?: ProductQueryParams): Promise<PaginatedResponse<Product>>;
|
|
6889
|
+
/**
|
|
6890
|
+
* Lightweight product rows for sitemap generation: `slug`, `updatedAt`, and
|
|
6891
|
+
* per-locale `localeSlugs` only — up to `limit` (max 5000) in ONE request,
|
|
6892
|
+
* with none of the 100-per-page clamp the full listing applies.
|
|
6893
|
+
*
|
|
6894
|
+
* Sales-channel (`salesChannelId`) mode only; other modes throw so
|
|
6895
|
+
* {@link getProductSitemapEntries} (sitemap.ts) can catch and fall back to
|
|
6896
|
+
* paginating `getProducts`. Prefer that helper over calling this directly.
|
|
6897
|
+
*/
|
|
6898
|
+
getSitemapProducts(limit?: number): Promise<Array<{
|
|
6899
|
+
id: string;
|
|
6900
|
+
slug: string | null;
|
|
6901
|
+
updatedAt: string;
|
|
6902
|
+
localeSlugs: Record<string, string> | null;
|
|
6903
|
+
}>>;
|
|
6904
|
+
/**
|
|
6905
|
+
* Resolve an old (renamed) slug to the entity's CURRENT slug, so the
|
|
6906
|
+
* storefront can issue a permanent (301/308) redirect instead of a 404.
|
|
6907
|
+
*
|
|
6908
|
+
* Call this in the catch/not-found path of a product or blog page:
|
|
6909
|
+
* the platform records every slug rename, so a URL that stopped matching
|
|
6910
|
+
* usually has a redirect. Returns `null` when there is no redirect (real
|
|
6911
|
+
* 404) or outside sales-channel mode — always fall through to notFound().
|
|
6912
|
+
*
|
|
6913
|
+
* @example
|
|
6914
|
+
* ```typescript
|
|
6915
|
+
* // app/products/[slug]/page.tsx — in the catch path:
|
|
6916
|
+
* const redirect = await client.resolveSlugRedirect('product', slug);
|
|
6917
|
+
* if (redirect) permanentRedirect(`/products/${redirect.currentSlug}`);
|
|
6918
|
+
* notFound();
|
|
6919
|
+
* ```
|
|
6920
|
+
*/
|
|
6921
|
+
resolveSlugRedirect(entityType: 'product' | 'blog', slug: string): Promise<{
|
|
6922
|
+
currentSlug: string;
|
|
6923
|
+
} | null>;
|
|
6657
6924
|
/**
|
|
6658
6925
|
* Get a single product by ID
|
|
6659
6926
|
* Works in vibe-coded, storefront (public), and admin mode
|
|
@@ -10755,6 +11022,33 @@ declare class BrainerceClient {
|
|
|
10755
11022
|
unpublishProductFromSalesChannel(productId: string, salesChannelId: string): Promise<{
|
|
10756
11023
|
success: boolean;
|
|
10757
11024
|
}>;
|
|
11025
|
+
/**
|
|
11026
|
+
* Attach a customer to a sales channel (admin mode) — marks them as active in
|
|
11027
|
+
* that storefront. Accepts the sales-channel record ID or its public `vc_*`
|
|
11028
|
+
* connection ID.
|
|
11029
|
+
*
|
|
11030
|
+
* Rarely needed: the platform records a channel by itself whenever the
|
|
11031
|
+
* customer registers, signs in or checks out on it. Use this for migrations
|
|
11032
|
+
* from another system and for fixing up records you created yourself. A
|
|
11033
|
+
* customer belongs to one store but can be active in any number of its
|
|
11034
|
+
* channels, so calling this for several channels is normal and expected.
|
|
11035
|
+
*
|
|
11036
|
+
* This does not change where the customer CAME FROM — for that, pass
|
|
11037
|
+
* `acquisitionSalesChannelId` to {@link updateCustomer}.
|
|
11038
|
+
*/
|
|
11039
|
+
publishCustomerToSalesChannel(customerId: string, salesChannelId: string): Promise<{
|
|
11040
|
+
success: boolean;
|
|
11041
|
+
}>;
|
|
11042
|
+
/**
|
|
11043
|
+
* Detach a customer from a sales channel (admin mode).
|
|
11044
|
+
*
|
|
11045
|
+
* A correction, NOT a block — it does not stop that person from buying on
|
|
11046
|
+
* that storefront, and the channel is recorded again the next time they sign
|
|
11047
|
+
* in or order there. There is no way to bar a customer from a channel.
|
|
11048
|
+
*/
|
|
11049
|
+
unpublishCustomerFromSalesChannel(customerId: string, salesChannelId: string): Promise<{
|
|
11050
|
+
success: boolean;
|
|
11051
|
+
}>;
|
|
10758
11052
|
/**
|
|
10759
11053
|
* Publish a coupon to a sales channel (admin mode) — makes it redeemable on
|
|
10760
11054
|
* that vibe-coded storefront. Accepts the sales-channel record ID or its
|
|
@@ -11562,6 +11856,34 @@ interface BlogSitemapOptions {
|
|
|
11562
11856
|
* only returns PUBLISHED posts, so no status filtering is needed.
|
|
11563
11857
|
*/
|
|
11564
11858
|
declare function getBlogSitemapEntries(client: BrainerceClient, opts: BlogSitemapOptions): Promise<SitemapEntry[]>;
|
|
11859
|
+
interface ProductSitemapOptions {
|
|
11860
|
+
/** Canonical site origin, e.g. "https://shop.com" (no trailing slash). */
|
|
11861
|
+
siteUrl: string;
|
|
11862
|
+
/** Product route prefix. Default '/products'. */
|
|
11863
|
+
basePath?: string;
|
|
11864
|
+
/**
|
|
11865
|
+
* Locales to emit locale-prefixed entries for. The default locale is emitted
|
|
11866
|
+
* unprefixed; every other locale as `/{locale}{basePath}/{localeSlug}`,
|
|
11867
|
+
* using the product's per-locale slug (`localeSlugs`) when one exists.
|
|
11868
|
+
*/
|
|
11869
|
+
locales?: string[];
|
|
11870
|
+
defaultLocale?: string;
|
|
11871
|
+
/** Page size for the pagination fallback (max 100). Default 100. */
|
|
11872
|
+
pageSize?: number;
|
|
11873
|
+
/** Safety cap on total products. Default 5000. */
|
|
11874
|
+
maxEntries?: number;
|
|
11875
|
+
}
|
|
11876
|
+
/**
|
|
11877
|
+
* Every published product as sitemap entries — the REQUIRED way to build the
|
|
11878
|
+
* products section of `app/sitemap.ts`.
|
|
11879
|
+
*
|
|
11880
|
+
* Do NOT call `getProducts({ limit: 1000 })` for sitemaps: the public API
|
|
11881
|
+
* clamps `limit` to 100, so any store with more than 100 products silently
|
|
11882
|
+
* ships a truncated sitemap. This helper uses the dedicated lightweight
|
|
11883
|
+
* sitemap endpoint (slug + updatedAt only, up to 5000 in one call) and falls
|
|
11884
|
+
* back to paginating the full listing on older backends.
|
|
11885
|
+
*/
|
|
11886
|
+
declare function getProductSitemapEntries(client: BrainerceClient, opts: ProductSitemapOptions): Promise<SitemapEntry[]>;
|
|
11565
11887
|
interface CategorySitemapOptions {
|
|
11566
11888
|
/** Canonical site origin, e.g. "https://shop.com" (no trailing slash). */
|
|
11567
11889
|
siteUrl: string;
|
|
@@ -11579,4 +11901,4 @@ interface CategorySitemapOptions {
|
|
|
11579
11901
|
*/
|
|
11580
11902
|
declare function getCategorySitemapEntries(client: BrainerceClient, opts: CategorySitemapOptions): Promise<SitemapEntry[]>;
|
|
11581
11903
|
|
|
11582
|
-
export { type AddToCartDto, type AddressDetailsResult, type AddressSuggestion, type AnnouncementContent, type AnnouncementSeverity, type AppliedDiscount, type ApplyCouponDto, type AttachModifierGroupInput, type Attribute, type AttributeOption, type AttributeSource, type BlogSitemapOptions, type BrainerceApiError, BrainerceClient, type BrainerceClientOptions, BrainerceError, type Brand, type BulkInventoryResponse, type BulkSaveVariantsDto, type BulkSaveVariantsResponse, type BulkVariantInput, type BusinessHoursWindow, type Cart, type CartAppliedDiscount, type CartBundleOffer, type CartBundlesResponse, type CartIncludeOption, type CartIncludeOptions, type CartItem, type CartItemModifierLine, type CartNudge, type CartRecommendationsResponse, type CartStatus, type CartUpgradeSuggestion, type CartUpgradesResponse, type CartWithIncludes, type Category, type CategoryDetail, type CategoryNode, type CategorySitemapOptions, type CategorySuggestion, type Checkout, type CheckoutAddress, type CheckoutBumpsResponse, type CheckoutCustomFieldDefinition, type CheckoutFieldPricing, type CheckoutFieldVisibility, type CheckoutLineItem, type CheckoutPrefillData, type CheckoutStatus, type CompleteCheckoutResponse, type CompleteDraftDto, type ConfigureOAuthProviderDto as ConfigureOAuthProviderInput, type ConflictStatus, type ConnectorPlatform, type ContactFormFieldType, type ContactFormFieldValidation, type ContactFormPublic, type ContactFormPublicField, type ContactFormSummary, type Content, type ContentDataMap, type ContentStatus, type ContentSummary, type ContentType, type Coupon, type CouponCreateResponse, type CouponQueryParams, type CouponStatus, type CouponType, type CouponValidationWarning, type CreateAddressDto, type CreateAttributeDto as CreateAttributeInput, type CreateAttributeOptionDto as CreateAttributeOptionInput, type CreateBrandDto as CreateBrandInput, type CreateCategoryDto as CreateCategoryInput, type CreateCheckoutDto, type CreateContentInput, type CreateCouponDto, type CreateCustomApiDto, type CreateCustomerDto, type CreateEmailTemplateDto as CreateEmailTemplateInput, type CreateGuestOrderDto, type CreateInquiryInput, type CreateInquiryResponse, type CreateMetafieldDefinitionDto as CreateMetafieldDefinitionInput, type CreateModifierGroupInput, type CreateModifierInput, type CreateOrderDto, type CreateProductDto, type CreateRefundDto, type CreateShippingRateDto as CreateShippingRateInput, type CreateShippingZoneDto as CreateShippingZoneInput, type CreateTagDto as CreateTagInput, type CreateTaxRateDto as CreateTaxRateInput, type CreateVariantDto, type CustomApiAuthType, type CustomApiConnectionStatus, type CustomApiCredentials, type CustomApiIntegration, type CustomApiSyncConfig, type CustomApiSyncDirection, type CustomApiTestResult, type Customer, type CustomerAddress, type CustomerAuthResponse, type CustomerOAuthProvider, type CustomerProfile, type CustomerQueryParams, type DateAvailabilityConstraints, type DateFieldParseResult, type DeleteProductResponse, type DiscountBanner, type DiscountRuleType, type DownloadFile, type DraftLineItem, type EditInventoryDto, type EmailDomain, type EmailEventSettings, type EmailEventType, type EmailSettings, type EmailTemplate, type EmailTemplatePreview, type EmailTemplatesResponse, type EmailVerificationResponse, type ExtendReservationResponse, type FaqContent, type FaqItem, type FooterColumn, type FooterContent, type FooterLink, type FooterSocialLink, type FormatPriceOptions, type FormatProductPriceOptions, type FreeAllocationPolicy, type FulfillOrderDto, type GuestCheckoutStartResponse, type GuestOrderResponse, type HeaderContent, type HeaderCta, type HeaderLogo, type HeaderNavItem, type InsufficientStockError, type InventoryInfo, type InventoryReservationStrategy, type InventorySyncStatus, type InventoryTrackingMode, type InvitationStatus, type InviteMemberDto as InviteMemberInput, type InviteStoreMemberDto as InviteStoreMemberInput, type JsonLdOptions, type ListModifierGroupsParams, type LocalCart, type LocalCartItem, type LockedVariant, type LoyaltyNextTierSummary, type LoyaltyReward, type LoyaltyStatus, type LoyaltyTierSummary, type MergeCartsDto, type MetafieldConflict, type MetafieldConflictResolution, type MetafieldDefinition, type MetafieldFilter, type MetafieldFilterValue, type MetafieldFiltersResponse, type MetafieldType, type Modifier, type ModifierGroup, type ModifierSelection, type ModifierSelectionType, type ModifierValidationCode, type ModifierValidationError, type MyProductReview, type OAuthAuthorizeResponse, type OAuthCallbackResponse, type OAuthConnection, type OAuthConnectionsResponse, type OAuthProviderConfig, type OAuthProviderType, type OAuthProvidersResponse, type Order, type OrderAddress, type OrderBump, type OrderCustomer, type OrderDownloadLink, type OrderItem, type OrderQueryParams, type OrderStatus, type OrderStatusChange, type PageContent, type PageSeo, type PaginatedResponse, type ParsedDateFieldValue, type PaymentClientSdk, type PaymentConfig, type PaymentIntent, type PaymentProvider, type PaymentProviderConfig, type PaymentProvidersConfig, type PaymentStatus, type PaymentUrlOptions, type PickupLocation, type PlatformCouponCapabilities, type PlatformMetafieldMetadata, type PreviewEmailTemplateDto as PreviewEmailTemplateInput, type Product, type ProductAttributeInput, type ProductAvailability, type ProductCustomizationField, type ProductDiscount, type ProductDiscountBadge, type ProductImage, type ProductMetafield, type ProductMetafieldValue, type ProductModifierGroupAttachment, type ProductQueryParams, type ProductRecommendation, type ProductRecommendationsResponse, type ProductRelationType, type ProductReview, type ProductReviewAdmin, type ProductSuggestion, type ProductVariant, type PublicMetafieldDefinition, type PublishProductResponse, RTL_LOCALES, type RecommendationVariant, type ReconcileInventoryResponse, type RedeemRewardResult, type ReferralInfo, type Refund, type RefundLineItem, type RefundLineItemResponse, type RefundType, type RegisterCustomerDto, type ReservationInfo, type ResolveMetafieldConflictDto as ResolveMetafieldConflictInput, type ResolveSyncConflictDto as ResolveSyncConflictInput, type RichTextContent, SDK_VERSION, type SearchSuggestions, type SelectPickupLocationDto, type SelectShippingMethodDto, type SendInvoiceDto, type SessionCartRef, type SetBillingAddressDto, type SetCheckoutCustomFieldsDto, type SetCheckoutCustomerDto, type SetDefinitionProductsDto as SetDefinitionProductsInput, type SetMetafieldPlatformsDto as SetMetafieldPlatformsInput, type SetShippingAddressDto, type SetShippingAddressResponse, type ShippingDestinations, type ShippingLine, type ShippingRate, type ShippingRateConfig, type ShippingRateType, type ShippingSummaryEntry, type ShippingZone, type ShippingZoneQueryParams, type SitemapEntry, type StockAvailabilityRequest, type StockAvailabilityResponse, type StockAvailabilityResult, type StoreInfo, type StoreInvitation, type StoreInvitationDetails, type StoreMember, type StorePermission, type StoreRole, type StoreTeamResponse, type SubmitProductReviewInput, type SupportedLocaleObject, type SyncConflict, type SyncConflictResolution, type SyncJob, type Tag, type TaxBreakdown, type TaxBreakdownItem, type TaxRate, type TaxonomyQueryParams, type TeamInvitation, type TeamInvitationsResponse, type TeamMember, type TeamMembersResponse, type TeamRole, type UpdateAddressDto, type UpdateAttachmentInput, type UpdateAttributeDto as UpdateAttributeInput, type UpdateAttributeOptionDto as UpdateAttributeOptionInput, type UpdateBrandDto as UpdateBrandInput, type UpdateCartItemDto, type UpdateCategoryDto as UpdateCategoryInput, type UpdateContentInput, type UpdateCouponDto, type UpdateCustomApiDto, type UpdateCustomerDto, type UpdateDraftDto, type UpdateEmailSettingsDto as UpdateEmailSettingsInput, type UpdateEmailTemplateDto as UpdateEmailTemplateInput, type UpdateInventoryDto, type UpdateMemberRoleDto as UpdateMemberRoleInput, type UpdateMetafieldDefinitionDto as UpdateMetafieldDefinitionInput, type UpdateModifierGroupInput, type UpdateModifierInput, type UpdateOAuthProviderDto as UpdateOAuthProviderInput, type UpdateOrderDto, type UpdateOrderShippingDto, type UpdateProductDto, type UpdateShippingRateDto as UpdateShippingRateInput, type UpdateShippingZoneDto as UpdateShippingZoneInput, type UpdateStoreMemberDto as UpdateStoreMemberInput, type UpdateTagDto as UpdateTagInput, type UpdateTaxRateDto as UpdateTaxRateInput, type UpdateVariantDto, type UpdateVariantInventoryDto, type UpsertProductMetafieldDto as UpsertProductMetafieldInput, type UserStore, type UserStorePermissions, type VariantInventoryResponse, type VariantPlatformOverlay, type VariantStatus, type WaitForOrderOptions, type WaitForOrderResult, type WebhookEvent, type WebhookEventType, type WriteProductReviewInput, buildArticleJsonLd, buildBreadcrumbJsonLd, buildCollectionPageJsonLd, buildOrganizationJsonLd, buildProductJsonLd, buildWebsiteJsonLd, computeAvailableSlots, createWebhookHandler, deriveSeoDescription, enableDevGuards, formatMoney, formatPrice, formatProductPrice, formatVariantPrice, getBlogSitemapEntries, getBusinessHoursForDate, getCartItemImage, getCartItemName, getCartTotals, getCategorySitemapEntries, getDescriptionContent, getDirectionForLocale, formatPrice as getPriceDisplay, getProductCustomizationFields, getProductMetafield, getProductMetafieldValue, getProductMetafieldsByType, getProductPrice, getProductPriceInfo, getProductSwatches, getStockStatus, getVariantOptions, getVariantPrice, isAllowedPaymentUrl, isCalendarDateAllowed, isCouponApplicableToProduct, isDateValueAllowed, isHtmlDescription, isWebhookEventType, jsonLdScriptProps, parseDateFieldValue, parseWebhookEvent, resolveStoreLocalParts, safePaymentRedirect, stripHtml, validateDateAvailabilityConfig, verifyWebhook };
|
|
11904
|
+
export { type AddToCartDto, type AddressDetailsResult, type AddressSuggestion, type AnnouncementContent, type AnnouncementSeverity, type AppliedDiscount, type ApplyCouponDto, type AttachModifierGroupInput, type Attribute, type AttributeOption, type AttributeSource, type BlogPost, type BlogPostListParams, type BlogPostListResponse, type BlogSitemapOptions, type BrainerceApiError, BrainerceClient, type BrainerceClientOptions, BrainerceError, type Brand, type BulkInventoryResponse, type BulkSaveVariantsDto, type BulkSaveVariantsResponse, type BulkVariantInput, type BusinessHoursWindow, type Cart, type CartAppliedDiscount, type CartBundleOffer, type CartBundlesResponse, type CartIncludeOption, type CartIncludeOptions, type CartItem, type CartItemModifierLine, type CartNudge, type CartRecommendationsResponse, type CartStatus, type CartUpgradeSuggestion, type CartUpgradesResponse, type CartWithIncludes, type Category, type CategoryDetail, type CategoryNode, type CategorySitemapOptions, type CategorySuggestion, type Checkout, type CheckoutAddress, type CheckoutBumpsResponse, type CheckoutCustomFieldDefinition, type CheckoutFieldPricing, type CheckoutFieldVisibility, type CheckoutLineItem, type CheckoutPrefillData, type CheckoutStatus, type CompleteCheckoutResponse, type CompleteDraftDto, type ConfigureOAuthProviderDto as ConfigureOAuthProviderInput, type ConflictStatus, type ConnectorPlatform, type ContactFormFieldType, type ContactFormFieldValidation, type ContactFormPublic, type ContactFormPublicField, type ContactFormSummary, type Content, type ContentDataMap, type ContentStatus, type ContentSummary, type ContentType, type Coupon, type CouponCreateResponse, type CouponQueryParams, type CouponStatus, type CouponType, type CouponValidationWarning, type CreateAddressDto, type CreateAttributeDto as CreateAttributeInput, type CreateAttributeOptionDto as CreateAttributeOptionInput, type CreateBrandDto as CreateBrandInput, type CreateCategoryDto as CreateCategoryInput, type CreateCheckoutDto, type CreateContentInput, type CreateCouponDto, type CreateCustomApiDto, type CreateCustomerDto, type CreateEmailTemplateDto as CreateEmailTemplateInput, type CreateGuestOrderDto, type CreateInquiryInput, type CreateInquiryResponse, type CreateMetafieldDefinitionDto as CreateMetafieldDefinitionInput, type CreateModifierGroupInput, type CreateModifierInput, type CreateOrderDto, type CreateProductDto, type CreateRefundDto, type CreateShippingRateDto as CreateShippingRateInput, type CreateShippingZoneDto as CreateShippingZoneInput, type CreateTagDto as CreateTagInput, type CreateTaxRateDto as CreateTaxRateInput, type CreateVariantDto, type CustomApiAuthType, type CustomApiConnectionStatus, type CustomApiCredentials, type CustomApiIntegration, type CustomApiSyncConfig, type CustomApiSyncDirection, type CustomApiTestResult, type Customer, type CustomerAddress, type CustomerAuthResponse, type CustomerOAuthProvider, type CustomerProfile, type CustomerQueryParams, type DateAvailabilityConstraints, type DateFieldParseResult, type DeleteProductResponse, type DiscountBanner, type DiscountRuleType, type DownloadFile, type DraftLineItem, type EditInventoryDto, type EmailDomain, type EmailEventSettings, type EmailEventType, type EmailSettings, type EmailTemplate, type EmailTemplatePreview, type EmailTemplatesResponse, type EmailVerificationResponse, type ExtendReservationResponse, type FaqContent, type FaqItem, type FooterColumn, type FooterContent, type FooterLink, type FooterSocialLink, type FormatPriceOptions, type FormatProductPriceOptions, type FreeAllocationPolicy, type FulfillOrderDto, type GuestCheckoutStartResponse, type GuestOrderResponse, type HeaderContent, type HeaderCta, type HeaderLogo, type HeaderNavItem, type InsufficientStockError, type InventoryInfo, type InventoryReservationStrategy, type InventorySyncStatus, type InventoryTrackingMode, type InvitationStatus, type InviteMemberDto as InviteMemberInput, type InviteStoreMemberDto as InviteStoreMemberInput, type JsonLdOptions, type ListModifierGroupsParams, type LocalCart, type LocalCartItem, type LockedVariant, type LoyaltyNextTierSummary, type LoyaltyReward, type LoyaltyStatus, type LoyaltyTierSummary, type MergeCartsDto, type MetafieldConflict, type MetafieldConflictResolution, type MetafieldDefinition, type MetafieldFilter, type MetafieldFilterValue, type MetafieldFiltersResponse, type MetafieldType, type Modifier, type ModifierGroup, type ModifierSelection, type ModifierSelectionType, type ModifierValidationCode, type ModifierValidationError, type MyProductReview, type OAuthAuthorizeResponse, type OAuthCallbackResponse, type OAuthConnection, type OAuthConnectionsResponse, type OAuthProviderConfig, type OAuthProviderType, type OAuthProvidersResponse, type Order, type OrderAddress, type OrderBump, type OrderCustomer, type OrderDownloadLink, type OrderItem, type OrderQueryParams, type OrderStatus, type OrderStatusChange, type PageContent, type PageSeo, type PaginatedResponse, type ParsedDateFieldValue, type PaymentClientSdk, type PaymentConfig, type PaymentIntent, type PaymentProvider, type PaymentProviderConfig, type PaymentProvidersConfig, type PaymentStatus, type PaymentUrlOptions, type PickupLocation, type PlatformCouponCapabilities, type PlatformMetafieldMetadata, type PreviewEmailTemplateDto as PreviewEmailTemplateInput, type Product, type ProductAttributeInput, type ProductAvailability, type ProductCustomizationField, type ProductDiscount, type ProductDiscountBadge, type ProductImage, type ProductMetafield, type ProductMetafieldValue, type ProductModifierGroupAttachment, type ProductQueryParams, type ProductRecommendation, type ProductRecommendationsResponse, type ProductRelationType, type ProductReview, type ProductReviewAdmin, type ProductSitemapOptions, type ProductSuggestion, type ProductVariant, type PublicMetafieldDefinition, type PublishProductResponse, RTL_LOCALES, type RecommendationVariant, type ReconcileInventoryResponse, type RedeemRewardResult, type ReferralInfo, type Refund, type RefundLineItem, type RefundLineItemResponse, type RefundType, type RegisterCustomerDto, type ReservationInfo, type ResolveMetafieldConflictDto as ResolveMetafieldConflictInput, type ResolveSyncConflictDto as ResolveSyncConflictInput, type RichTextContent, SDK_VERSION, type SearchSuggestions, type SelectPickupLocationDto, type SelectShippingMethodDto, type SendInvoiceDto, type SessionCartRef, type SetBillingAddressDto, type SetCheckoutCustomFieldsDto, type SetCheckoutCustomerDto, type SetDefinitionProductsDto as SetDefinitionProductsInput, type SetMetafieldPlatformsDto as SetMetafieldPlatformsInput, type SetShippingAddressDto, type SetShippingAddressResponse, type ShippingDestinations, type ShippingLine, type ShippingRate, type ShippingRateConfig, type ShippingRateType, type ShippingSummaryEntry, type ShippingZone, type ShippingZoneQueryParams, type SitemapEntry, type StockAvailabilityRequest, type StockAvailabilityResponse, type StockAvailabilityResult, type StoreInfo, type StoreInvitation, type StoreInvitationDetails, type StoreMember, type StorePermission, type StoreRole, type StoreTeamResponse, type StoreTracking, type SubmitProductReviewInput, type SupportedLocaleObject, type SyncConflict, type SyncConflictResolution, type SyncJob, type Tag, type TaxBreakdown, type TaxBreakdownItem, type TaxRate, type TaxonomyQueryParams, type TeamInvitation, type TeamInvitationsResponse, type TeamMember, type TeamMembersResponse, type TeamRole, type TrackingEventItem, type TrackingEventName, type TrackingEventPayload, type UpdateAddressDto, type UpdateAttachmentInput, type UpdateAttributeDto as UpdateAttributeInput, type UpdateAttributeOptionDto as UpdateAttributeOptionInput, type UpdateBrandDto as UpdateBrandInput, type UpdateCartItemDto, type UpdateCategoryDto as UpdateCategoryInput, type UpdateContentInput, type UpdateCouponDto, type UpdateCustomApiDto, type UpdateCustomerDto, type UpdateDraftDto, type UpdateEmailSettingsDto as UpdateEmailSettingsInput, type UpdateEmailTemplateDto as UpdateEmailTemplateInput, type UpdateInventoryDto, type UpdateMemberRoleDto as UpdateMemberRoleInput, type UpdateMetafieldDefinitionDto as UpdateMetafieldDefinitionInput, type UpdateModifierGroupInput, type UpdateModifierInput, type UpdateOAuthProviderDto as UpdateOAuthProviderInput, type UpdateOrderDto, type UpdateOrderShippingDto, type UpdateProductDto, type UpdateShippingRateDto as UpdateShippingRateInput, type UpdateShippingZoneDto as UpdateShippingZoneInput, type UpdateStoreMemberDto as UpdateStoreMemberInput, type UpdateTagDto as UpdateTagInput, type UpdateTaxRateDto as UpdateTaxRateInput, type UpdateVariantDto, type UpdateVariantInventoryDto, type UpsertProductMetafieldDto as UpsertProductMetafieldInput, type UserStore, type UserStorePermissions, type VariantInventoryResponse, type VariantPlatformOverlay, type VariantStatus, type WaitForOrderOptions, type WaitForOrderResult, type WebhookEvent, type WebhookEventType, type WriteProductReviewInput, buildArticleJsonLd, buildBreadcrumbJsonLd, buildCollectionPageJsonLd, buildOrganizationJsonLd, buildProductJsonLd, buildWebsiteJsonLd, computeAvailableSlots, createWebhookHandler, deriveSeoDescription, enableDevGuards, formatMoney, formatPrice, formatProductPrice, formatVariantPrice, getBlogSitemapEntries, getBusinessHoursForDate, getCartItemImage, getCartItemName, getCartTotals, getCategorySitemapEntries, getDescriptionContent, getDirectionForLocale, formatPrice as getPriceDisplay, getProductCustomizationFields, getProductMetafield, getProductMetafieldValue, getProductMetafieldsByType, getProductPrice, getProductPriceInfo, getProductSitemapEntries, getProductSwatches, getStockStatus, getVariantOptions, getVariantPrice, isAllowedPaymentUrl, isCalendarDateAllowed, isCouponApplicableToProduct, isDateValueAllowed, isHtmlDescription, isWebhookEventType, jsonLdScriptProps, parseDateFieldValue, parseWebhookEvent, resolveStoreLocalParts, safePaymentRedirect, stripHtml, validateDateAvailabilityConfig, verifyWebhook };
|