@epcc-sdk/sdks-shopper 0.0.2

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.
@@ -0,0 +1,2002 @@
1
+ import { type Options } from "@hey-api/client-fetch";
2
+ import type { GetByContextReleaseData, GetByContextAllHierarchiesData, GetByContextHierarchyData, GetByContextHierarchyNodesData, GetByContextHierarchyChildNodesData, GetByContextAllNodesData, GetByContextNodeData, GetByContextChildNodesData, GetByContextAllProductsData, GetByContextProductData, GetByContextComponentProductIdsData, GetByContextChildProductsData, GetByContextProductsForHierarchyData, GetByContextProductsForNodeData, ConfigureByContextProductData, GetCatalogsData, CreateCatalogData, DeleteCatalogByIdData, GetCatalogByIdData, UpdateCatalogData, DeleteReleasesData, GetReleasesData, PublishReleaseData, DeleteReleaseByIdData, GetReleaseByIdData, GetRulesData, CreateRuleData, DeleteRuleByIdData, GetRuleByIdData, UpdateRuleData, GetAllHierarchiesData, GetHierarchyData, GetHierarchyNodesData, GetHierarchyChildNodesData, GetAllNodesData, GetNodeData, GetChildNodesData, GetAllProductsData, GetProductData, GetComponentProductIdsData, GetChildProductsData, GetProductsForHierarchyData, GetProductsForNodeData, GetCartsData, CreateACartData, DeleteACartData, GetCartData, UpdateACartData, DeleteAllCartItemsData, GetCartItemsData, ManageCartsData, BulkUpdateItemsInCartData, DeleteACartItemData, UpdateACartItemData, DeleteAccountCartAssociationData, CreateAccountCartAssociationData, CreateAccountCartAssociationResponse, DeleteCustomerCartAssociationData, CreateCustomerCartAssociationData, DeleteAPromotionViaPromotionCodeData, AddTaxItemToCartData, BulkDeleteTaxItemsFromCartData, BulkAddTaxItemsToCartData, DeleteATaxItemData, UpdateATaxItemData, BulkDeleteCustomDiscountsFromCartData, BulkAddCustomDiscountsToCartData, DeleteCustomDiscountFromCartData, UpdateCustomDiscountForCartData, AddCustomDiscountToCartItemData, DeleteCustomDiscountFromCartItemData, UpdateCustomDiscountForCartItemData, CreateCartPaymentIntentData, CheckoutApiData, GetCustomerOrdersData, GetAnOrderData, UpdateAnOrderData, GetOrderItemsData, AnonymizeOrdersData, AuthorizeSetupData, ConfirmSetupData, CaptureATransactionData, RefundATransactionData, GetOrderTransactionsData, GetATransactionData, CancelATransactionData } from "./types.gen";
3
+ export declare const client: import("@hey-api/client-fetch").Client<Request, Response, unknown, import("@hey-api/client-fetch").RequestOptions<boolean, string>>;
4
+ /**
5
+ * Get the catalog release as shoppers
6
+ * Returns a list of all published releases of the specified catalog.
7
+ */
8
+ export declare const getByContextRelease: <ThrowOnError extends boolean = false>(options?: Options<GetByContextReleaseData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ReleaseData, import("./types.gen").ErrorResponse, ThrowOnError>;
9
+ /**
10
+ * Get all Hierarchies
11
+ * Returns all hierarchies from a catalog.
12
+ *
13
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
14
+ *
15
+ * ### Filtering
16
+ *
17
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering).
18
+ *
19
+ * | Operator | Description | Supported Attributes | Example |
20
+ * |:--- |:--- |:--- |:--- |
21
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug`| `filter=eq(name,some-name)` |
22
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |
23
+ *
24
+ * ### Building breadcrumbs in a storefront
25
+ *
26
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
27
+ *
28
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
29
+ *
30
+ * - Specify the node Ids in the filter expression.
31
+ * - You can have as many node Ids as you want.
32
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
33
+ *
34
+ */
35
+ export declare const getByContextAllHierarchies: <ThrowOnError extends boolean = false>(options?: Options<GetByContextAllHierarchiesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").HierarchyListData, import("./types.gen").ErrorResponse, ThrowOnError>;
36
+ /**
37
+ * Get a Hierarchy
38
+ * Returns a hierarchy from the catalog.
39
+ *
40
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog to retrieve. For information about how catalog rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules).
41
+ *
42
+ */
43
+ export declare const getByContextHierarchy: <ThrowOnError extends boolean = false>(options: Options<GetByContextHierarchyData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").HierarchyData, import("./types.gen").ErrorResponse, ThrowOnError>;
44
+ /**
45
+ * Get a Hierarchy's Nodes
46
+ * Returns all the nodes for the specified hierarchy.
47
+ *
48
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
49
+ *
50
+ * In the `bread_crumb` metadata, you can identify the parent nodes that a node is associated with. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
51
+ *
52
+ * ### Filtering
53
+ *
54
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering).
55
+ *
56
+ * | Operator | Description | Supported Attributes | Example |
57
+ * |:--- |:--- |:--- |:--- |
58
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug`| `filter=eq(name,some-name)` |
59
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |
60
+ *
61
+ * ### Building breadcrumbs in a storefront
62
+ *
63
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
64
+ *
65
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
66
+ *
67
+ * - Specify the node Ids in the filter expression.
68
+ * - You can have as many node Ids as you want.
69
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
70
+ *
71
+ */
72
+ export declare const getByContextHierarchyNodes: <ThrowOnError extends boolean = false>(options: Options<GetByContextHierarchyNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
73
+ /**
74
+ * Get a Hierarchy's Children
75
+ * Returns the parent nodes for the specified hierarchy.
76
+ *
77
+ * ![Parent Nodes](/assets/rootnodes.PNG)
78
+ *
79
+ * If you have multiple catalog rules defined, the rule that best matches the shopperʼs context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
80
+ *
81
+ * In the `bread_crumb` metadata, you can identify the parent nodes that a node is associated with. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
82
+ *
83
+ * ### Filtering
84
+ *
85
+ * The following operators and attributes are available when filtering on this endpoint.
86
+ *
87
+ * | Operator | Description | Supported Attributes | Example |
88
+ * |:--- |:--- |:--- |:--- |
89
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug`| `filter=eq(name,some-name)` |
90
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |
91
+ *
92
+ * For more information, see [Filtering](/guides/Getting-Started/filtering).
93
+ *
94
+ * ### Building breadcrumbs in a storefront
95
+ *
96
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
97
+ *
98
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
99
+ *
100
+ * - Specify the node Ids in the filter expression.
101
+ * - You can have as many node Ids as you want.
102
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
103
+ *
104
+ */
105
+ export declare const getByContextHierarchyChildNodes: <ThrowOnError extends boolean = false>(options: Options<GetByContextHierarchyChildNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
106
+ /**
107
+ * Get all Nodes
108
+ * Returns all nodes in the catalog.
109
+ *
110
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
111
+ *
112
+ * You can see the parent nodes a node is associated with in the `bread_crumb` metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
113
+ *
114
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. For more information, see [Building breadcrumbs in a storefront](#building-breadcrumbs-in-a-storefront).
115
+ *
116
+ * The response lists the products associated with the nodes. If products are [curated](/guides/How-To/Products/curating-products), they are displayed in `curated_products`. Product curation allows you to promote specific products within each of your hierarchies, enabling you to create unique product collections in your storefront.
117
+ *
118
+ * - You can only curate 20 products or less. You cannot have more than 20 curated products.
119
+ * - If a curated product is removed from a node, the product is also removed from the `curated_products` list.
120
+ *
121
+ * ### Filtering
122
+ *
123
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available.
124
+ *
125
+ * | Operator | Description | Attributes | Example |
126
+ * | --- | --- | --- | --- |
127
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug` | `filter=eq(name,some-name)` |
128
+ * | `in` | Checks if the values are included in the specified string. If they are, the condition is true.
129
+ * | `Id` | `filter=in(id,9214719b-17fe-4ea7-896c-d61e60fc0d05,e104d541-2c52-47fa-8a9a-c4382480d97c,65daaf68-ff2e-4632-8944-370de835967d)` |
130
+ *
131
+ * ### Building breadcrumbs in a storefront
132
+ *
133
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
134
+ *
135
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
136
+ *
137
+ * - Specify the node Ids in the filter expression.
138
+ * - You can have as many node Ids as you want.
139
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
140
+ *
141
+ */
142
+ export declare const getByContextAllNodes: <ThrowOnError extends boolean = false>(options?: Options<GetByContextAllNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
143
+ /**
144
+ * Get a Node
145
+ * Returns a node from the catalog.
146
+ *
147
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
148
+ *
149
+ * You can see the parent nodes a node is associated with in the `bread_crumb` metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
150
+ *
151
+ * The response lists the products associated with a node. If products are [curated](/guides/How-To/Products/curating-products), they are displayed in `curated_products`. Product curation allows you to promote specific products within each of your nodes, enabling you to create unique product collections in your storefront.
152
+ *
153
+ * - If you don't provide any `curated_products`, products are listed by their `updated_at` time in descending order, with the most recently updated product first.
154
+ * - If you configure `curated_products` for only a few products, the curated products are displayed first and the other products are displayed in the order of `updated_at` time.
155
+ * - You can only curate 20 products or less. You cannot have more than 20 curated products.
156
+ * - A product that is curated has the `"curated_product": true` attribute displayed.
157
+ * - If a curated product is removed from a node, the product is also removed from the `curated_products` list.
158
+ *
159
+ */
160
+ export declare const getByContextNode: <ThrowOnError extends boolean = false>(options: Options<GetByContextNodeData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeData, import("./types.gen").ErrorResponse, ThrowOnError>;
161
+ /**
162
+ * Get a Node's Children
163
+ * Returns the child nodes for a node in the catalog.
164
+ *
165
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
166
+ *
167
+ * You can see which parent nodes a node is associated with in the `bread_crumb` metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
168
+ *
169
+ * The response lists the products associated with the nodes. If products are [curated](/guides/How-To/Products/curating-products), they are displayed in `curated_products`. Product curation allows you to promote specific products within each of your hierarchies, enabling you to create unique product collections in your storefront.
170
+ *
171
+ * - If you don't provide any curated_products, products are listed by their updated_at time in descending order, with the most recently updated product first.
172
+ * - If you configure curated_products for only a few products, the curated products are displayed first and the other products are displayed in the order of updated_at time.
173
+ * - You can only curate 20 products or less. You cannot have more than 20 curated products.
174
+ * - A product that is curated has the "curated_product": true attribute displayed.
175
+ * - If a curated product is removed from a node, the product is also removed from the curated_products list.
176
+ *
177
+ * ### Filtering
178
+ *
179
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available.
180
+ *
181
+ * | Operator | Description | Attributes | Example |
182
+ * | --- | --- | --- | --- |
183
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug` | `filter=eq(name,some-name)` |
184
+ * | `in` | Checks if the values are included in the specified string. If they are, the condition is true.
185
+ * | `Id` | `filter=in(id,9214719b-17fe-4ea7-896c-d61e60fc0d05,e104d541-2c52-47fa-8a9a-c4382480d97c,65daaf68-ff2e-4632-8944-370de835967d)` |
186
+ *
187
+ * ### Building breadcrumbs in a storefront
188
+ *
189
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
190
+ *
191
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
192
+ *
193
+ * - Specify the node Ids in the filter expression.
194
+ * - You can have as many node Ids as you want.
195
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
196
+ *
197
+ */
198
+ export declare const getByContextChildNodes: <ThrowOnError extends boolean = false>(options: Options<GetByContextChildNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
199
+ /**
200
+ * Get all Products
201
+ * Retrieves the list of products from the catalog. Only the products in a live status are retrieved.
202
+ *
203
+ * ### Catalog Rules
204
+ *
205
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. If no catalog rules are configured, the first catalog found is returned. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
206
+ *
207
+ * ### Product and Node Associations
208
+ *
209
+ * You can see the parent nodes a product is associated within the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. For example, this is useful if you want to improve how your shoppers search your store. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
210
+ *
211
+ *
212
+ * ### Including Resources
213
+ *
214
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
215
+ *
216
+ * | Parameter | Required | Description |
217
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
218
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
219
+ * | `main_image` | Optional | The main images associated with a product. |
220
+ * | `files` | Optional | Any files associated with a product. |
221
+ *
222
+ * See [**Including Resources**](/guides/Getting-Started/includes).
223
+ *
224
+ * ### Filtering
225
+ *
226
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
227
+ *
228
+ * | Operator | Description | Supported Attributes | Example |
229
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
230
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types` and `tags`, you can only specify one. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
231
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types` and `tags`, you can specify more than one. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
232
+ *
233
+ * ### Building breadcrumbs in a storefront
234
+ *
235
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
236
+ *
237
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
238
+ *
239
+ * - Specify the node Ids in the filter expression.
240
+ * - You can have as many node Ids as you want.
241
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
242
+ *
243
+ */
244
+ export declare const getByContextAllProducts: <ThrowOnError extends boolean = false>(options?: Options<GetByContextAllProductsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
245
+ /**
246
+ * Get a Product
247
+ * Returns the specified product from the catalog. The product must be in the `live` status.
248
+ *
249
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
250
+ *
251
+ * You can see the parent nodes a product is associated with in the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
252
+ *
253
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
254
+ *
255
+ * | Parameter | Required | Description |
256
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
257
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
258
+ * | `main_image` | Optional | The main images associated with a product. |
259
+ * | `files` | Optional | Any files associated with a product. |
260
+ *
261
+ * See [**Including Resources**](/guides/Getting-Started/includes).
262
+ *
263
+ */
264
+ export declare const getByContextProduct: <ThrowOnError extends boolean = false>(options: Options<GetByContextProductData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductData, import("./types.gen").ErrorResponse, ThrowOnError>;
265
+ /**
266
+ * Get a Bundle's Component Products
267
+ * With Product Experience Manager, you can [create](/docs/api/pxm/products/create-product) and manage bundles. A bundle is a purchasable product, comprising of one or more products that you want to sell together.
268
+ *
269
+ * You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.
270
+ *
271
+ * This endpoint returns a list of component product IDs for the specified bundle.
272
+ *
273
+ */
274
+ export declare const getByContextComponentProductIds: <ThrowOnError extends boolean = false>(options: Options<GetByContextComponentProductIdsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductReferenceListData, import("./types.gen").ErrorResponse, ThrowOnError>;
275
+ /**
276
+ * Get a Parent Product's Child Products
277
+ * For a specified product and catalog release, retrieves a list of child products from a parent product. Any product other than a base product results in a `422 Unprocessable Entity` response. Only the products in a `live` status are retrieved.
278
+ *
279
+ * If you have multiple catalog rules defined, the rule that best matches the shopperʼs context is used to determine which catalog is retrieved. If no catalog rules are configured, the first catalog found is returned. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
280
+ *
281
+ * You can see the parent nodes a product is associated within the `breadcrumbs` metadata for each product. For example, this is useful if you want to improve how your shoppers search your store. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
282
+ *
283
+ * ### Filtering
284
+ *
285
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
286
+ *
287
+ * | Operator | Description | Supported Attributes | Example |
288
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
289
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types` and `tags`, you can only specify one. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
290
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types` and `tags`, you can specify more than one. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
291
+ *
292
+ * ### Building breadcrumbs in a storefront
293
+ *
294
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
295
+ *
296
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
297
+ *
298
+ * - Specify the node Ids in the filter expression.
299
+ * - You can have as many node Ids as you want.
300
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
301
+ *
302
+ * ### Including Resources
303
+ *
304
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
305
+ *
306
+ * | Parameter | Required | Description |
307
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
308
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
309
+ * | `main_image` | Optional | The main images associated with a product. |
310
+ * | `files` | Optional | Any files associated with a product. |
311
+ *
312
+ * See [**Including Resources**](/guides/Getting-Started/includes).
313
+ *
314
+ */
315
+ export declare const getByContextChildProducts: <ThrowOnError extends boolean = false>(options: Options<GetByContextChildProductsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
316
+ /**
317
+ * Get a Hierarchy's Products
318
+ * Returns the products associated with the specified hierarchy in the catalog. The products must be in the live status.
319
+ *
320
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. See [Resolving catalog rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
321
+ *
322
+ * You can see the parent nodes a product is associated with in the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
323
+ *
324
+ * ### Filtering
325
+ *
326
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
327
+ *
328
+ * | Operator | Description | Supported Attributes | Example |
329
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
330
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types` and `tags`, you can only specify one. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
331
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types` and `tags`, you can specify more than one. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
332
+ *
333
+ * ### Building breadcrumbs in a storefront
334
+ *
335
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
336
+ *
337
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
338
+ *
339
+ * - Specify the node Ids in the filter expression.
340
+ * - You can have as many node Ids as you want.
341
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
342
+ *
343
+ * ### Including Resources
344
+ *
345
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
346
+ *
347
+ * | Parameter | Required | Description |
348
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
349
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
350
+ * | `main_image` | Optional | The main images associated with a product. |
351
+ * `files` | Optional | Any files associated with a product. |
352
+ *
353
+ *
354
+ * See [**Including Resources**](/guides/Getting-Started/includes).
355
+ *
356
+ */
357
+ export declare const getByContextProductsForHierarchy: <ThrowOnError extends boolean = false>(options: Options<GetByContextProductsForHierarchyData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
358
+ /**
359
+ * Get a Node's Products
360
+ * Returns the products associated with the specified hierarchy node in the catalog. The products must be in the `live` status. If the products have been curated then the products are returned in the order specified in the `curated_products` attribute. A product that is curated has the `"curated_product": true` attribute displayed.
361
+ *
362
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. See [Resolving catalog rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
363
+ *
364
+ * You can see the parent nodes a product is associated with in the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
365
+ *
366
+ * ### Filtering
367
+ *
368
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
369
+ *
370
+ * | Operator | Description | Supported Attributes | Example |
371
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
372
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types` and `tags`, you can only specify one. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
373
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types` and `tags`, you can specify more than one. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
374
+ *
375
+ * ### Building breadcrumbs in a storefront
376
+ *
377
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
378
+ *
379
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
380
+ *
381
+ * - Specify the node Ids in the filter expression.
382
+ * - You can have as many node Ids as you want.
383
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
384
+ *
385
+ * ### Including Resources
386
+ *
387
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
388
+ *
389
+ * | Parameter | Required | Description |
390
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
391
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
392
+ * | `main_image` | Optional | The main images associated with a product. |
393
+ * | `files` | Optional | Any files associated with a product. |
394
+ *
395
+ * See [**Including Resources**](/guides/Getting-Started/includes).
396
+ *
397
+ */
398
+ export declare const getByContextProductsForNode: <ThrowOnError extends boolean = false>(options: Options<GetByContextProductsForNodeData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
399
+ /**
400
+ * Configure a Shopper Bundle
401
+ * Once you have configured your product bundles, you can display them in your storefront in your published catalog. Depending on how you have configured the minimum and maximum values for the product options in your components, you can allow your shoppers to choose which products they want to select. For example, you can enable a shopper to select 1 or more product options from a list of 10, giving your shoppers greater flexibility when selecting products in your store front.
402
+ *
403
+ * - Products must be in a `live` status.
404
+ * - If you have not specified any minimum or maximum values for the product options in your components, your shoppers can select any combination of product options.
405
+ *
406
+ * If you have configured minimum and maximum values using [Create a Bundle](/docs/api/pxm/products/create-product), this becomes part of the `bundle_configuration`. You can check how your bundle is configured using [Get a product in a catalog release](/docs/api/pxm/catalog/get-product) in `bundle_configuration` under `meta`. The `bundle_configuration` forms the body of the request.
407
+ *
408
+ * The response updates the `bundle_configuration` with the product options the shopper selects. The `meta` data is updated with the `meta` data of the selected product options. In your storefront, you could display this as a summary of the product options a shopper has selected.
409
+ *
410
+ * ### Including Resources
411
+ *
412
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
413
+ *
414
+ * | Parameter | Required | Description |
415
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
416
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
417
+ * | `main_image` | Optional | The main images associated with a product. |
418
+ * | `files` | Optional | Any files associated with a product. |
419
+ *
420
+ * See [**Including Resources**](/guides/Getting-Started/includes).
421
+ *
422
+ */
423
+ export declare const configureByContextProduct: <ThrowOnError extends boolean = false>(options: Options<ConfigureByContextProductData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductData, import("./types.gen").ErrorResponse, ThrowOnError>;
424
+ /**
425
+ * Gets all authorized catalogs
426
+ * Retrieves a list of all the catalogs that you are authorized to view. Currently, published catalogs are limited to the current release and two releases prior to the current release. You can see the differences between the last 2 consecutive catalog releases using the delta link returned in the response of a [publish a catalog](/docs/api/pxm/catalog/publish-release) endpoint.
427
+ *
428
+ * You can use the `is_full_delta` attribute returned from the `get a release of a catalog` endpoint to determine if you need to refresh the data in your company system before publishing a catalog release and injecting fresh data in a delta link. The `is_full_delta` attribute tells you if this is a full publish of a catalog release. Using a search service as an example, if the `is_full_delta` attribute is `true`, you should remove all data about that catalog from the search service before publishing a catalog release and injecting fresh data from the delta file. See [Publish a catalog](/docs/api/pxm/catalog/publish-release).
429
+ *
430
+ * If the `is_full_publish` attribute returned in the response is `false`, data from the previous catalog release overlaid the existing data in the delta file. The `is_full_publish` attribute is always `true` the first time a catalog is published.
431
+ *
432
+ */
433
+ export declare const getCatalogs: <ThrowOnError extends boolean = false>(options?: Options<GetCatalogsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CatalogListData, import("./types.gen").ErrorResponse, ThrowOnError>;
434
+ /**
435
+ * Creates a new catalog
436
+ * Before you create a catalog, you must define the following resources:
437
+ *
438
+ * - Hierarchies - hierarchies and nodes to categorize the products.
439
+ * - Products - product information, associated assets, and links to hierarchy nodes.
440
+ * - Price Books - prices for the products associated with the hierarchies. You can create multiple price books for different scenarios, such as seasonal sales, business versus retail customer pricing, and reward programs. When creating a catalog, you can specify up to five price books. You must configure a priority for your price books. Product prices are displayed in the catalog according to the priority of the price books. Priority is a number and the price book with the highest number has the highest priority.
441
+ *
442
+ */
443
+ export declare const createCatalog: <ThrowOnError extends boolean = false>(options: Options<CreateCatalogData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CatalogData, import("./types.gen").ErrorResponse, ThrowOnError>;
444
+ /**
445
+ * Deletes a catalog
446
+ * Deletes an unpublished catalog. Use [**Delete a Release**](/docs/api/pxm/catalog/delete-release-by-id) and [**Delete All Releases**](/docs/api/pxm/catalog/delete-releases) to delete releases of a catalog. If the catalog is associated with any catalog rules, you must first update the catalog rules to remove the catalog.
447
+ */
448
+ export declare const deleteCatalogById: <ThrowOnError extends boolean = false>(options: Options<DeleteCatalogByIdData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ErrorResponse, ThrowOnError>;
449
+ /**
450
+ * Get a catalog by ID
451
+ * Retrieves the specified catalog.
452
+ */
453
+ export declare const getCatalogById: <ThrowOnError extends boolean = false>(options: Options<GetCatalogByIdData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CatalogData, import("./types.gen").ErrorResponse, ThrowOnError>;
454
+ /**
455
+ * Updates a catalog
456
+ * Specify whichever attributes you want to change. The values of the other attributes remain the same. If the attributes section is empty, the catalog is not updated.
457
+ */
458
+ export declare const updateCatalog: <ThrowOnError extends boolean = false>(options: Options<UpdateCatalogData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CatalogData, import("./types.gen").ErrorResponse, ThrowOnError>;
459
+ /**
460
+ * Deletes all releases
461
+ * Deletes all releases of the specified published catalog.
462
+ */
463
+ export declare const deleteReleases: <ThrowOnError extends boolean = false>(options: Options<DeleteReleasesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ErrorResponse, ThrowOnError>;
464
+ /**
465
+ * Gets all authorized catalog releases
466
+ * Returns a list of all published releases of the specified catalog. Currently, published catalogs are limited to the current release and two releases prior to the current release. You can see the differences between the last 2 consecutive catalog releases using the `delta` link returned in the response of a `publish a catalog` endpoint.
467
+ *
468
+ * You can use the `is_full_delta` attribute returned from the `get a release of a catalog` endpoint to determine if you need to refresh the data in your company system before publishing a catalog release and injecting fresh data in a delta link. The `is_full_delta` attribute tells you if this is a full publish of a catalog release. Using a search service as an example, if the `is_full_delta` attribute is `true`, you should remove all data about that catalog from the search service before publishing a catalog release and injecting fresh data from the delta file.
469
+ *
470
+ * If the `is_full_publish` attribute returned in the response is `false`, data from the previous catalog release overlaid the existing data in the delta file. The `is_full_publish` attribute is always `true` the first time a catalog is published.
471
+ *
472
+ */
473
+ export declare const getReleases: <ThrowOnError extends boolean = false>(options: Options<GetReleasesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ReleaseListData, import("./types.gen").ErrorResponse, ThrowOnError>;
474
+ /**
475
+ * Publishes a catalog
476
+ * Publishes a catalog. You must publish a catalog before you can retrieve that catalog in an organization or store. The hierarchies, live products, and prices associated with a published catalog are in read-only mode. If you make a change to these resources, for example, a change to your price book or hierarchies, you need to republish the catalog.
477
+ *
478
+ * You can get [a catalog release](/docs/api/pxm/catalog/get-release-by-id) to retrieve a published catalog. Currently, published catalogs are limited to the current release and two releases prior to the current release.
479
+ *
480
+ * You can see the differences between the last 2 consecutive catalog releases. This is useful if want to understand how your products have changed in your catalog, ensuring your site search integration is kept up-to-date.
481
+ *
482
+ * Once a catalog release has completed publishing, the delta relationship links to the delta document.
483
+ *
484
+ * The `delta` links are signed and only valid for 1 hour. Re-reading a catalog release, for example, using [Getting a release of a catalog](/docs/pxm/catalogs/catalog-latest-release/get-a-release-of-a-catalog) returns a fresh a link.
485
+ *
486
+ * You can use the `is_full_delta` attribute returned from the `get a release of a catalog` endpoint to determine if you need to refresh the data in your company system before injecting fresh data in a `delta` link. The `is_full_delta` attribute tells you if this is a full publish of the catalog. Using a search service as an example, if the `is_full_delta` attribute is `true`, you should remove all data about that catalog from the search service before injecting fresh data from the `delta` file. If the `is_full_delta` attribute is `false`, then data from the previous catalog overlays the existing data in the `delta` file. To publish a catalog and inject fresh data in a `delta` link, set `export_full_delta` to `true`.
487
+ *
488
+ * If a previous catalog publish date is greater than 90 days, then a full catalog publish is automatically performed. If you publish your catalogs infrequently, Commerce may perform a full publish when you are expecting a delta publish.
489
+ *
490
+ * :::caution
491
+ *
492
+ * Generating a full delta is resource intensive and slows down the publishing process and so should only be performed in certain circumstances, for example, when initializing an integration with a service like Algolia.
493
+ *
494
+ * :::
495
+ *
496
+ * The `is_full_delta` attribute is always `true` the first time a catalog is published. The information is stored in a collection of `json` documents in a compressed file. You can either manually check the file or, for example, use them to automatically update another company system you may have.
497
+ *
498
+ * - Delta files are only available for 30 days.
499
+ * - Delta files are removed when a catalog release is deleted.
500
+ *
501
+ * Each document has a `delta_type` with one of the following values, depending on whether a product has been deleted, updated or created in a catalog release.
502
+ *
503
+ * - `delete` describes products deleted from this release of a catalog.
504
+ * - `createupdate` describes products updated in this release of a catalog.
505
+ *
506
+ * ### Multi-Store Management Solutions
507
+ *
508
+ * In a multi-store management solution.
509
+ *
510
+ * - You can create organization catalogs. Your organization catalogs are available for your stores to use.
511
+ * - Your stores can create their own catalogs.
512
+ * - Your stores can create catalogs that have a combination of organization products and store products.
513
+ *
514
+ * If you are publishing a catalog in a store that contains resources from an organization, in Commerce Manager, you must enable the **Include Organization Resources in Catalog Publishes** checkbox.
515
+ *
516
+ * 1. Go to **SYSTEM** > **Store Settings**.
517
+ * 2. Click **General Settings**.
518
+ * 3. Select **PXM** from the list.
519
+ * 4. Select the **Include Organization Resources in Catalog Publishes** checkbox.
520
+ *
521
+ */
522
+ export declare const publishRelease: <ThrowOnError extends boolean = false>(options: Options<PublishReleaseData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ReleaseData, import("./types.gen").ErrorResponse, ThrowOnError>;
523
+ /**
524
+ * Deletes a release
525
+ * Deletes the specified published catalog release.
526
+ */
527
+ export declare const deleteReleaseById: <ThrowOnError extends boolean = false>(options: Options<DeleteReleaseByIdData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ErrorResponse, ThrowOnError>;
528
+ /**
529
+ * Get a catalog release by ID
530
+ * Retrieves the specified catalog release.
531
+ */
532
+ export declare const getReleaseById: <ThrowOnError extends boolean = false>(options: Options<GetReleaseByIdData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ReleaseData, import("./types.gen").ErrorResponse, ThrowOnError>;
533
+ /**
534
+ * Gets all authorized catalog rules
535
+ * Retrieves all authorized catalog rules.
536
+ *
537
+ * ### Filtering
538
+ *
539
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are supported.
540
+ *
541
+ * | Operator | Description | Supported Attributes | Example |
542
+ * |:--- |:--- |:--- |:--- |
543
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |
544
+ *
545
+ */
546
+ export declare const getRules: <ThrowOnError extends boolean = false>(options?: Options<GetRulesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").RuleListData, import("./types.gen").ErrorResponse, ThrowOnError>;
547
+ /**
548
+ * Creates a new catalog rule
549
+ * If you have multiple catalogs, create catalog rule resources. With catalog rules, you can display different catalogs to different shoppers. For example, you can display a preferred pricing catalog to a few special customers. Or you can display one catalog to shoppers using your website and a different catalog to shoppers using your mobile app. Finally, you can define custom criteria by creating tags.
550
+ *
551
+ * :::note
552
+ *
553
+ * - If you have one catalog for all customers and channels, you can omit creating this resource.
554
+ * - Due to the way catalogs are cached in Commerce, using catalog rules to display catalogs sometimes causes a 5-minute time delay before the catalogs are displayed.
555
+ * - You cannot create catalog rules for organization catalogs.
556
+ *
557
+ * :::
558
+ *
559
+ * For ideas about the kinds of business scenarios you can achieve with catalog rules, see [Catalog Rules](/docs/api/pxm/catalog/rules). To understand how catalogs are matched to shoppers by using rules, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
560
+ *
561
+ */
562
+ export declare const createRule: <ThrowOnError extends boolean = false>(options: Options<CreateRuleData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").RuleData, import("./types.gen").ErrorResponse, ThrowOnError>;
563
+ /**
564
+ * Deletes a catalog rule
565
+ */
566
+ export declare const deleteRuleById: <ThrowOnError extends boolean = false>(options: Options<DeleteRuleByIdData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ErrorResponse, ThrowOnError>;
567
+ /**
568
+ * Get a catalog rule by ID
569
+ */
570
+ export declare const getRuleById: <ThrowOnError extends boolean = false>(options: Options<GetRuleByIdData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").RuleData, import("./types.gen").ErrorResponse, ThrowOnError>;
571
+ /**
572
+ * Updates a catalog rule
573
+ * Specify whichever attributes you want to change. The values of the other attributes remain the same. If the attributes section is empty, the catalog rule is not updated.
574
+ */
575
+ export declare const updateRule: <ThrowOnError extends boolean = false>(options: Options<UpdateRuleData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").RuleData, import("./types.gen").ErrorResponse, ThrowOnError>;
576
+ /**
577
+ * Get all Hierarchies
578
+ * Returns the hierarchies from a published catalog.
579
+ *
580
+ * :::note
581
+ *
582
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
583
+ *
584
+ * :::
585
+ *
586
+ * ### Filtering
587
+ *
588
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering).
589
+ *
590
+ * | Operator | Description | Supported Attributes | Example |
591
+ * |:--- |:--- |:--- |:--- |
592
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug`| `filter=eq(name,some-name)` |
593
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |
594
+ *
595
+ * ### Building breadcrumbs in a storefront
596
+ *
597
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
598
+ *
599
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
600
+ *
601
+ * - Specify the node Ids in the filter expression.
602
+ * - You can have as many node Ids as you want.
603
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
604
+ *
605
+ */
606
+ export declare const getAllHierarchies: <ThrowOnError extends boolean = false>(options: Options<GetAllHierarchiesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").HierarchyListData, import("./types.gen").ErrorResponse, ThrowOnError>;
607
+ /**
608
+ * Get a Hierarchy
609
+ * Returns the specified hierarchy from a published catalog.
610
+ *
611
+ * :::note
612
+ *
613
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
614
+ *
615
+ * :::
616
+ *
617
+ */
618
+ export declare const getHierarchy: <ThrowOnError extends boolean = false>(options: Options<GetHierarchyData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").HierarchyData, import("./types.gen").ErrorResponse, ThrowOnError>;
619
+ /**
620
+ * Get a Hierarchy's Nodes
621
+ * Returns all nodes for the specified hierarchy from a published catalog.
622
+ *
623
+ * :::note
624
+ *
625
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
626
+ *
627
+ * :::
628
+ *
629
+ * In the `bread_crumb` metadata, you can identify the parent nodes that a node is associated with. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
630
+ *
631
+ * ### Filtering
632
+ *
633
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering).
634
+ *
635
+ * | Operator | Description | Supported Attributes | Example |
636
+ * |:--- |:--- |:--- |:--- |
637
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug`| `filter=eq(name,some-name)` |
638
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |
639
+ *
640
+ * ### Building breadcrumbs in a storefront
641
+ *
642
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
643
+ *
644
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
645
+ *
646
+ * - Specify the node Ids in the filter expression.
647
+ * - You can have as many node Ids as you want.
648
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
649
+ *
650
+ */
651
+ export declare const getHierarchyNodes: <ThrowOnError extends boolean = false>(options: Options<GetHierarchyNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
652
+ /**
653
+ * Get a Hierarchy's Children
654
+ * Returns the parent nodes for the specified hierarchy from a published catalog.
655
+ *
656
+ * ![Parent Nodes](/assets/rootnodes.PNG)
657
+ *
658
+ * :::note
659
+ *
660
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
661
+ *
662
+ * :::
663
+ *
664
+ * In the `bread_crumb` metadata, you can identify the parent nodes that a node is associated with. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
665
+ *
666
+ * ### Filtering
667
+ *
668
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering).
669
+ *
670
+ * | Operator | Description | Supported Attributes | Example |
671
+ * |:--- |:--- |:--- |:--- |
672
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug`| `filter=eq(name,some-name)` |
673
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |
674
+ *
675
+ * ### Building breadcrumbs in a storefront
676
+ *
677
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
678
+ *
679
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
680
+ *
681
+ * - Specify the node Ids in the filter expression.
682
+ * - You can have as many node Ids as you want.
683
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
684
+ *
685
+ */
686
+ export declare const getHierarchyChildNodes: <ThrowOnError extends boolean = false>(options: Options<GetHierarchyChildNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
687
+ /**
688
+ * Get all Nodes
689
+ * Returns the child nodes from a published catalog.
690
+ *
691
+ * :::note
692
+ *
693
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
694
+ *
695
+ * :::
696
+ *
697
+ * You can see the parent nodes a node is associated with in the `bread_crumb` metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
698
+ *
699
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. See [Building breadcrumbs in a storefront](#building-breadcrumbs-in-a-storefront).
700
+ *
701
+ * The response lists the products associated with the nodes. If products are [curated](/guides/How-To/Products/curating-products), they are displayed in `curated_products`. Product curation allows you to promote specific products within each of your hierarchies, enabling you to create unique product collections in your storefront.
702
+ *
703
+ * - If you don't provide any `curated_products`, products are listed by their `updated_at` time in descending order, with the most recently updated product first.
704
+ * - If you configure `curated_products` for only a few products, the curated products are displayed first and the other products are displayed in the order of `updated_at` time.
705
+ * - You can only curate 20 products or less. You cannot have more than 20 curated products.
706
+ * - If a curated product is removed from a node, the product is also removed from the `curated_products` list.
707
+ * - A product that is curated has the `"curated_product": true` attribute displayed.
708
+ *
709
+ * ### Filtering
710
+ *
711
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available.
712
+ *
713
+ * | Operator | Description | Attributes | Example |
714
+ * | --- | --- | --- | --- |
715
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug` | `filter=eq(name,some-name)` |
716
+ * | `in` | Checks if the values are included in the specified string. If they are, the condition is true.
717
+ * | `Id` | `filter=in(id,9214719b-17fe-4ea7-896c-d61e60fc0d05,e104d541-2c52-47fa-8a9a-c4382480d97c,65daaf68-ff2e-4632-8944-370de835967d)` |
718
+ *
719
+ * ### Building breadcrumbs in a storefront
720
+ *
721
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
722
+ *
723
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
724
+ *
725
+ * - Specify the node Ids in the filter expression.
726
+ * - You can have as many node Ids as you want.
727
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
728
+ *
729
+ */
730
+ export declare const getAllNodes: <ThrowOnError extends boolean = false>(options: Options<GetAllNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
731
+ /**
732
+ * Get a Node
733
+ * Returns a node from a published catalog.
734
+ *
735
+ * :::note
736
+ *
737
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
738
+ *
739
+ * :::
740
+ *
741
+ * You can see the parent nodes a node is associated with in the `bread_crumb` metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
742
+ *
743
+ * The response lists the products associated with the nodes. If products are [curated](/guides/How-To/Products/curating-products), they are displayed in `curated_products`. Product curation allows you to promote specific products within each of your hierarchies, enabling you to create unique product collections in your storefront.
744
+ *
745
+ * - If you don't provide any `curated_products`, products are listed by their `updated_at` time in descending order, with the most recently updated product first.
746
+ * - If you configure `curated_products` for only a few products, the curated products are displayed first and the other products are displayed in the order of `updated_at` time.
747
+ * - You can only curate 20 products or less. You cannot have more than 20 curated products.
748
+ * - If a curated product is removed from a node, the product is also removed from the `curated_products` list.
749
+ * - A product that is curated has the `"curated_product": true` attribute displayed.
750
+ *
751
+ */
752
+ export declare const getNode: <ThrowOnError extends boolean = false>(options: Options<GetNodeData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeData, import("./types.gen").ErrorResponse, ThrowOnError>;
753
+ /**
754
+ * Get a Node's Children
755
+ * Returns the child nodes for a node from a published catalog.
756
+ *
757
+ * :::note
758
+ *
759
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
760
+ *
761
+ * :::
762
+ *
763
+ * You can see the parent nodes a node is associated with in the `bread_crumb` metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
764
+ *
765
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. For more information, see [Building breadcrumbs in a storefront](#building-breadcrumbs-in-a-storefront).
766
+ *
767
+ * The response lists the products associated with the nodes. If products are [curated](/guides/How-To/Products/curating-products), they are displayed in `curated_products`. Product curation allows you to promote specific products within each of your hierarchies, enabling you to create unique product collections in your storefront.
768
+ *
769
+ * - If you don't provide any `curated_products`, products are listed by their `updated_at` time in descending order, with the most recently updated product first.
770
+ * - If you configure `curated_products` for only a few products, the curated products are displayed first and the other products are displayed in the order of `updated_at` time.
771
+ * - You can only curate 20 products or less. You cannot have more than 20 curated products.
772
+ * - If a curated product is removed from a node, the product is also removed from the `curated_products` list.
773
+ * - A product that is curated has the `"curated_product": true` attribute displayed.
774
+ *
775
+ * ### Filtering
776
+ *
777
+ * This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available.
778
+ *
779
+ * | Operator | Description | Attributes | Example |
780
+ * | --- | --- | --- | --- |
781
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug` | `filter=eq(name,some-name)` |
782
+ * | `in` | Checks if the values are included in the specified string. If they are, the condition is true.
783
+ * | `Id` | `filter=in(id,9214719b-17fe-4ea7-896c-d61e60fc0d05,e104d541-2c52-47fa-8a9a-c4382480d97c,65daaf68-ff2e-4632-8944-370de835967d)` |
784
+ *
785
+ * ### Building breadcrumbs in a storefront
786
+ *
787
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
788
+ *
789
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
790
+ *
791
+ * - Specify the node Ids in the filter expression.
792
+ * - You can have as many node Ids as you want.
793
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
794
+ *
795
+ */
796
+ export declare const getChildNodes: <ThrowOnError extends boolean = false>(options: Options<GetChildNodesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").NodeListData, import("./types.gen").ErrorResponse, ThrowOnError>;
797
+ /**
798
+ * Get all Products
799
+ * Returns the products from a published catalog. Only the products in a `live` status are retrieved. Currently, published catalogs are limited to the current release and two releases prior to the current release.
800
+ *
801
+ * You can see the parent nodes a product is associated with in the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
802
+ *
803
+ * The `variations` object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. The `variations` object can then be added to your catalogs. By default, variations and variation options are sorted randomly. You can use the `sort_order` attribute to sort the order of your variation and variation options in `variations`. Once a parent product is published in a catalog, the [Get a List of products in a catalog release](/docs/api/pxm/catalog/get-all-products) response displays the sorted variations and variation options. Variations and variation options are displayed in descending order according to their `sort_order` values.
804
+ *
805
+ * ### Including Resources
806
+ *
807
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
808
+ *
809
+ * | Parameter | Required | Description |
810
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
811
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
812
+ * | `main_image` | Optional | The main images associated with a product. |
813
+ * | `files` | Optional | Any files associated with a product.
814
+ *
815
+ * See [**Including Resources**](/guides/Getting-Started/includes).
816
+ *
817
+ * ### Filtering
818
+ *
819
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
820
+ *
821
+ * | Operator | Description | Supported Attributes | Example |
822
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
823
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types`, you can only specify one product type. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
824
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types`, you can specify more than one product type. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
825
+ *
826
+ * ### Building breadcrumbs in a storefront
827
+ *
828
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
829
+ *
830
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
831
+ *
832
+ * - Specify the node Ids in the filter expression.
833
+ * - You can have as many node Ids as you want.
834
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
835
+ *
836
+ */
837
+ export declare const getAllProducts: <ThrowOnError extends boolean = false>(options: Options<GetAllProductsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
838
+ /**
839
+ * Get a Product
840
+ * Returns a product from a published catalog. The product must be in `live` status. Currently, published catalogs are limited to the current release and two releases prior to the current release.
841
+ *
842
+ * ### Product and Node Associations in Breadcrumb Metadata
843
+ *
844
+ * You can see the parent nodes a product is associated with in the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
845
+ *
846
+ * ### Product Variations
847
+ *
848
+ * The `variations` object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. The `variations` object can then be added to your catalogs. By default, variations and variation options are sorted randomly. You can use the `sort_order`attribute to sort the order of your variation and variation options in `variations`. Once a parent product is published in a catalog, the get a product in a catalog release response displays the sorted variations and variation options. Variations and variation options are displayed in descending order according to their `sort_order` values.
849
+ *
850
+ * ### Including Resources
851
+ *
852
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
853
+ *
854
+ * | Parameter | Required | Description |
855
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
856
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
857
+ * | `main_image` | Optional | The main images associated with a product. |
858
+ * | `files` | Optional | Any files associated with a product.
859
+ *
860
+ * See [**Including Resources**](/guides/Getting-Started/includes).
861
+ *
862
+ */
863
+ export declare const getProduct: <ThrowOnError extends boolean = false>(options: Options<GetProductData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductData, import("./types.gen").ErrorResponse, ThrowOnError>;
864
+ /**
865
+ * Get a Bundle's Component Products
866
+ * With Product Experience Manager, you can [create](/docs/api/pxm/products/create-product) and manage bundles. A bundle is a purchasable product, comprising of one or more products that you want to sell together.
867
+ *
868
+ * You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.
869
+ *
870
+ * This endpoint returns a list of component product IDs for the specified bundle.
871
+ *
872
+ * ### Including Resources
873
+ *
874
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
875
+ *
876
+ * | Parameter | Required | Description |
877
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
878
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
879
+ * | `main_image` | Optional | The main images associated with a product. |
880
+ * | `files` | Optional | Any files associated with a product. |
881
+ *
882
+ * See [**Including Resources**](/guides/Getting-Started/includes).
883
+ *
884
+ */
885
+ export declare const getComponentProductIds: <ThrowOnError extends boolean = false>(options: Options<GetComponentProductIdsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductReferenceListData, import("./types.gen").ErrorResponse, ThrowOnError>;
886
+ /**
887
+ * Get a Parent Product's Child Products
888
+ * For a specified product and catalog release, retrieves a list of child products from a parent product. Any product other than a base product results in a `422 Unprocessable Entity` response. Only the products in a `live` status are retrieved.
889
+ *
890
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. If no catalog rules are configured, the first catalog found is returned. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
891
+ *
892
+ * You can see the parent nodes a product is associated within the breadcrumbs metadata for each product. For example, this is useful if you want to improve how your shoppers search your store. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
893
+ *
894
+ * ### Filtering
895
+ *
896
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
897
+ *
898
+ * | Operator | Description | Supported Attributes | Example |
899
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
900
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types`, you can only specify one product type. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
901
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types`, you can specify more than one product type. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
902
+ *
903
+ * ### Building breadcrumbs in a storefront
904
+ *
905
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
906
+ *
907
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
908
+ *
909
+ * - Specify the node Ids in the filter expression.
910
+ * - You can have as many node Ids as you want.
911
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
912
+ *
913
+ * ### Including Resources
914
+ *
915
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
916
+ *
917
+ * | Parameter | Required | Description |
918
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
919
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
920
+ * | `main_image` | Optional | The main images associated with a product. |
921
+ * | `files` | Optional | Any files associated with a product. |
922
+ *
923
+ * See [**Including Resources**](/guides/Getting-Started/includes).
924
+ *
925
+ */
926
+ export declare const getChildProducts: <ThrowOnError extends boolean = false>(options: Options<GetChildProductsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
927
+ /**
928
+ * Get a Hierarchy's Products
929
+ * Returns the products associated with the specified hierarchy in the catalog. The products must be in the `live` status.
930
+ *
931
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. See [Resolving catalog rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
932
+ *
933
+ * You can see the parent nodes a product is associated with in the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
934
+ *
935
+ * The `variations` object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. The variations object can then be added to your catalogs. By default, variations and variation options are sorted randomly. You can use the `sort_order` attribute to sort the order of your variation and variation options in variations. Once a parent product is published in a catalog, the [Get a List of products in a catalog](/docs/api/pxm/catalog/get-all-products) release response displays the sorted variations and variation options. Variations and variation options are displayed in descending order according to their `sort_order` values.
936
+ *
937
+ * ### Filtering
938
+ *
939
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
940
+ *
941
+ * | Operator | Description | Supported Attributes | Example |
942
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
943
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types`, you can only specify one product type. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
944
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types`, you can specify more than one product type. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
945
+ *
946
+ * ### Building breadcrumbs in a storefront
947
+ *
948
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
949
+ *
950
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
951
+ *
952
+ * - Specify the node Ids in the filter expression.
953
+ * - You can have as many node Ids as you want.
954
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
955
+ *
956
+ * ### Including Resources
957
+ *
958
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
959
+ *
960
+ * | Parameter | Required | Description |
961
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
962
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
963
+ * | `main_image` | Optional | The main images associated with a product. |
964
+ * | `files` | Optional | Any files associated with a product. |
965
+ *
966
+ * See [**Including Resources**](/guides/Getting-Started/includes).
967
+ *
968
+ */
969
+ export declare const getProductsForHierarchy: <ThrowOnError extends boolean = false>(options: Options<GetProductsForHierarchyData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
970
+ /**
971
+ * Get a Node's Products
972
+ * Returns the products associated with the specified hierarchy node in the catalog. The products must be in the `live` status. If the products have been curated, then the products are returned in the order specified in the `curated_products` attribute. A product that is curated has the `"curated_product": true` attribute displayed.
973
+ *
974
+ * :::note
975
+ *
976
+ * Currently, published catalogs are limited to the current release and two releases prior to the current release.
977
+ *
978
+ * :::
979
+ *
980
+ * If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. See [Resolving catalog rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).
981
+ *
982
+ * You can see the parent nodes a product is associated with in the `bread_crumbs` and `bread_crumb_nodes` metadata for each product. This is useful if you want to improve how your shoppers search your store, for example. See [Product and Node Associations in Breadcrumb Metadata](/guides/How-To/Catalogs/breadcrumbs).
983
+ *
984
+ * The `variations` object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. The `variations` object can then be added to your catalogs. By default, variations and variation options are sorted randomly. You can use the `sort_order` attribute to sort the order of your variation and variation options in `variations`. Once a parent product is published in a catalog, the [Get a List of products in a catalog release](/docs/api/pxm/catalog/get-all-products) response displays the sorted variations and variation options. Variations and variation options are displayed in descending order according to their `sort_order` values.
985
+ *
986
+ * ### Filtering
987
+ *
988
+ * This endpoint supports filtering. For general filtering syntax, see [Filtering](/guides/Getting-Started/filtering). The following operators and attributes are available when filtering on this endpoint.
989
+ *
990
+ * | Operator | Description | Supported Attributes | Example |
991
+ * |:---|:------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:--- |
992
+ * | `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. For `product_types` and `tags`, you can only specify one. For example, `filter=eq(product_types,child)`. | `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=eq(name,some-name)` |
993
+ * | `In` | Checks if the values are included in the specified string. If they are, the condition is true. For `product_types` and `tags`, you can specify more than one. For example, `filter=in(product_types,child,bundle)`. | `id`, `name`, `sku`, `slug`, `manufacturer_part_num`, `upc_ean`, `product_types`, `tags` | `filter=in(id,some-id)` |
994
+ *
995
+ * ### Building breadcrumbs in a storefront
996
+ *
997
+ * In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.
998
+ *
999
+ * `filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`
1000
+ *
1001
+ * - Specify the node Ids in the filter expression.
1002
+ * - You can have as many node Ids as you want.
1003
+ * - It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.
1004
+ *
1005
+ * ### Including Resources
1006
+ *
1007
+ * Using the `include` parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.
1008
+ *
1009
+ * | Parameter | Required | Description |
1010
+ * | :---------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
1011
+ * | `component_products` | Optional | The component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle. |
1012
+ * | `main_image` | Optional | The main images associated with a product. |
1013
+ * | `files` | Optional | Any files associated with a product. |
1014
+ *
1015
+ * See [**Including Resources**](/guides/Getting-Started/includes).
1016
+ *
1017
+ */
1018
+ export declare const getProductsForNode: <ThrowOnError extends boolean = false>(options: Options<GetProductsForNodeData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProductListData, import("./types.gen").ErrorResponse, ThrowOnError>;
1019
+ /**
1020
+ * Get Shopper Carts
1021
+ * You can retrieve the carts that are associated with an [account](/docs/api/carts/account-cart-associations) or a [customer](/docs/api/carts/customer-cart-associations).
1022
+ *
1023
+ * When a shopper retrieves their latest carts, the carts are sorted in descending order by the updated_date. For more information, see [Pagination](/guides/Getting-Started/pagination).
1024
+ *
1025
+ * :::note
1026
+ *
1027
+ * Requires an `implicit` token with only one of [Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) or [customer token](/docs/customer-management/customer-management-api/customer-tokens).
1028
+ *
1029
+ * :::
1030
+ *
1031
+ */
1032
+ export declare const getCarts: <ThrowOnError extends boolean = false>(options?: Options<GetCartsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1033
+ data?: Array<import("./types.gen").CartResponse>;
1034
+ links?: import("./types.gen").ResponsePageLinks;
1035
+ meta?: import("./types.gen").ResponseMetaCarts;
1036
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1037
+ /**
1038
+ * Create a Cart
1039
+ *
1040
+ * Creates a cart. Call this endpoint each time a customer creates a cart.
1041
+ *
1042
+ * Each shopper can have multiple carts. Use the carts API to create a cart. The carts are distinct from one another. Shoppers can add different items to their carts. They can check out one of the carts without affecting the content or status of their other carts.
1043
+ *
1044
+ * After the shopper checks out the cart, the cart remains available to the shopper. The cart is persistent and stays with the shopper after it is used.
1045
+ *
1046
+ * You can also create a cart to specify custom discounts. You can enable custom discounts when the `discount_settings.custom_discounts_enabled` field is set to `true`. Default is set from cart discount settings for the store. See [Update Cart Settings](/docs/api/settings/put-v-2-settings-cart).
1047
+ *
1048
+ * ### Preview Cart
1049
+ *
1050
+ * You can set a future date for your shopping cart and view the promotions that will be available during that time period. This feature enables you to validate your promotion settings and observe how they will be applied in the cart.
1051
+ *
1052
+ * :::caution
1053
+ * - Once the cart is in preview mode, you cannot revert it to a regular cart.
1054
+ * - Carts with `snapshot_date` are same as preview carts.
1055
+ * - You cannot checkout a cart that includes a `snapshot_date`.
1056
+ * - To delete a promotion preview cart, use [Delete a cart](/docs/api/carts/delete-a-cart) endpoint.
1057
+ * - The promotion preview cart has the same expiration time as a regular cart based on the store's [cart settings](/docs/api/settings/put-v-2-settings-cart).
1058
+ * - Preview cart interactions skip inventory checks and events, allowing users to preview future carts without impacting related external systems.
1059
+ * :::
1060
+ *
1061
+ * ### Errors
1062
+ *
1063
+ * - `400 Bad Request` : This is returned when the submitted request does not adhere to the expected API contract for the endpoint.
1064
+ *
1065
+ * - For example, in the case of string fields, this error might indicate issues in the length or format of submitted strings. For more information about valid string fields, refer to Safe Characters section.
1066
+ * - In the case of preview carts (those with `snapshot_date`), an error is returned for invalid actions, such as removing the preview date, setting a preview date in the past, or attempting to checkout a cart with a `snapshot_date`.
1067
+ *
1068
+ */
1069
+ export declare const createACart: <ThrowOnError extends boolean = false>(options?: Options<CreateACartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1070
+ data?: import("./types.gen").CartResponse;
1071
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1072
+ /**
1073
+ * Delete a Cart
1074
+ * You can delete a cart, including the items, name, description, and remove all associations.
1075
+ *
1076
+ * ### Errors
1077
+ *
1078
+ * The following error message is received when you attempt to delete a cart that is associated with a customer. Before deletion, ensure that the cart is disassociated.
1079
+ *
1080
+ * ```json
1081
+ * message: {
1082
+ * errors: [
1083
+ * {
1084
+ * status: 400,
1085
+ * title: 'Last cart',
1086
+ * detail: 'This is the last cart associated with a customer and it cannot be deleted, try disassociating instead'
1087
+ * }
1088
+ * ]
1089
+ * }
1090
+ * ````
1091
+ *
1092
+ */
1093
+ export declare const deleteACart: <ThrowOnError extends boolean = false>(options: Options<DeleteACartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1094
+ /**
1095
+ * Get a Cart
1096
+ * Use this endpoint to retrieve a specific cart. If a cart ID does not exist, a new cart will be automatically created. If the cart is associated with shipping groups, calling this endpoint displays the associated shipping group IDs in the `relationships` section.
1097
+ *
1098
+ * You can easily get a new or existing cart by providing the unique cart reference in the request. If the cart is associated with shipping groups, calling this endpoint displays the associated shipping group IDs in the relationships section.
1099
+ *
1100
+ * :::note
1101
+ *
1102
+ * - The default cart name is Cart. However, you can update the cart name as required. Ensure that the string length of the name is greater than or equal to one. Follow the safe character guidelines for name and description naming. For more information about cart ID naming requirements, see the [Safe Characters](/guides/Getting-Started/safe-characters) section.
1103
+ * - Outside of the JS-SDK, we don’t handle creating cart references. You need to create your own.
1104
+ *
1105
+ * :::
1106
+ *
1107
+ * :::caution
1108
+ *
1109
+ * An empty cart is returned for any carts that don’t currently exist. For more information about the cart items object, see [Get Cart Items](/docs/api/carts/get-cart-items).
1110
+ *
1111
+ * :::
1112
+ *
1113
+ * ### Query parameters
1114
+ *
1115
+ *
1116
+ * | Name | Required | Type | Description |
1117
+ * |:----------|:---------|:---------|:-------------------------------------------|
1118
+ * | `include` | Optional | `string` | Comma-delimited string of entities that can be included. The information included are `items`,`tax_items`, `custom_discounts`, or `promotions`. |
1119
+ *
1120
+ */
1121
+ export declare const getCart: <ThrowOnError extends boolean = false>(options: Options<GetCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1122
+ data?: import("./types.gen").CartResponse;
1123
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1124
+ /**
1125
+ * Update a Cart
1126
+ * Updates cart properties for the specified cartID.
1127
+ *
1128
+ * You can also update a cart to specify custom discounts. You can enable custom discounts when the `discount_settings.custom_discounts_enabled` field is set to `true`. Default is set from cart discount settings for the store. See [Cart Settings](/docs/api/settings/put-v-2-settings-cart).
1129
+ *
1130
+ */
1131
+ export declare const updateACart: <ThrowOnError extends boolean = false>(options: Options<UpdateACartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1132
+ data?: import("./types.gen").CartResponse;
1133
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1134
+ /**
1135
+ * Delete all Cart Items
1136
+ * A shopper can clean up their cart, deleting custom items, promotions, and so on, while the empty cart remains available. The cart id, name, description, and any account or customer associations persist. The shopper can continue to add items to the cart.
1137
+ *
1138
+ */
1139
+ export declare const deleteAllCartItems: <ThrowOnError extends boolean = false>(options: Options<DeleteAllCartItemsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1140
+ /**
1141
+ * Get Cart Items
1142
+ *
1143
+ * Use this endpoint to retrieve cart items. If the cart is associated with shipping groups, calling this endpoint displays the associated shipping group IDs.
1144
+ *
1145
+ * You can use this endpoint to retrieve the breakdown of cart items by promotion ID. For example, if you have Promotions Standard item discount with code *sale2024*, Rule Promotions item discount with code *sale2024*, and Rule Promotions cart discount with code *sale2024*, the `discounts.constituents` field in the response example will show the breakdown of the same promotion code used in both Promotions Standard and Rule Promotions.
1146
+ *
1147
+ * ```json
1148
+ * "data": [
1149
+ * {
1150
+ * "id": "98de010d-dd10-4fa5-a070-0b9bcdc72974",
1151
+ * "type": "cart_item",
1152
+ * "product_id": "5a4662d2-9a2b-4f6e-a215-2970db914b0c",
1153
+ * "name": "sku1",
1154
+ * "description": "sku1",
1155
+ * "sku": "sku1",
1156
+ * "slug": "sku1",
1157
+ * "image": {
1158
+ * "mime_type": "",
1159
+ * "file_name": "",
1160
+ * "href": ""
1161
+ * },
1162
+ * "quantity": 1,
1163
+ * "manage_stock": false,
1164
+ * "unit_price": {
1165
+ * "amount": 10000,
1166
+ * "currency": "USD",
1167
+ * "includes_tax": false
1168
+ * },
1169
+ * "value": {
1170
+ * "amount": 10000,
1171
+ * "currency": "USD",
1172
+ * "includes_tax": false
1173
+ * },
1174
+ * "discounts": [
1175
+ * {
1176
+ * "amount": {
1177
+ * "amount": -2000,
1178
+ * "currency": "USD",
1179
+ * "includes_tax": false
1180
+ * },
1181
+ * "code": "sale2024",
1182
+ * "id": "e4d929d5-f471-4317-9a86-a84a6c572b44",
1183
+ * "promotion_source": "rule-promotion",
1184
+ * "is_cart_discount": true
1185
+ * },
1186
+ * {
1187
+ * "amount": {
1188
+ * "amount": -1000,
1189
+ * "currency": "USD",
1190
+ * "includes_tax": false
1191
+ * },
1192
+ * "code": "sale2024",
1193
+ * "id": "de19a043-a6da-4bde-b896-d17e16b77e25",
1194
+ * "promotion_source": "rule-promotion"
1195
+ * },
1196
+ * {
1197
+ * "amount": {
1198
+ * "amount": -1000,
1199
+ * "currency": "USD",
1200
+ * "includes_tax": false
1201
+ * },
1202
+ * "code": "sale2024",
1203
+ * "id": "509295ee-2971-45b6-801e-95df09756989"
1204
+ * },
1205
+ * {
1206
+ * "amount": {
1207
+ * "amount": -1000,
1208
+ * "currency": "USD",
1209
+ * "includes_tax": false
1210
+ * },
1211
+ * "code": "sale2024",
1212
+ * "id": "ca79e606-7ecd-41ac-9478-af4c8c28c546",
1213
+ * "promotion_source": "rule-promotion",
1214
+ * "is_cart_discount": true
1215
+ * }
1216
+ * ],
1217
+ * "links": {
1218
+ * "product": "https://useast.api.elasticpath.com/v2/products/5a4662d2-9a2b-4f6e-a215-2970db914b0c"
1219
+ * },
1220
+ * "meta": {
1221
+ * "display_price": {
1222
+ * "with_tax": {
1223
+ * "unit": {
1224
+ * "amount": 5000,
1225
+ * "currency": "USD",
1226
+ * "formatted": "$50.00"
1227
+ * },
1228
+ * "value": {
1229
+ * "amount": 5000,
1230
+ * "currency": "USD",
1231
+ * "formatted": "$50.00"
1232
+ * }
1233
+ * },
1234
+ * "without_tax": {
1235
+ * "unit": {
1236
+ * "amount": 5000,
1237
+ * "currency": "USD",
1238
+ * "formatted": "$50.00"
1239
+ * },
1240
+ * "value": {
1241
+ * "amount": 5000,
1242
+ * "currency": "USD",
1243
+ * "formatted": "$50.00"
1244
+ * }
1245
+ * },
1246
+ * "tax": {
1247
+ * "unit": {
1248
+ * "amount": 0,
1249
+ * "currency": "USD",
1250
+ * "formatted": "$0.00"
1251
+ * },
1252
+ * "value": {
1253
+ * "amount": 0,
1254
+ * "currency": "USD",
1255
+ * "formatted": "$0.00"
1256
+ * }
1257
+ * },
1258
+ * "discount": {
1259
+ * "unit": {
1260
+ * "amount": -5000,
1261
+ * "currency": "USD",
1262
+ * "formatted": "-$50.00"
1263
+ * },
1264
+ * "value": {
1265
+ * "amount": -5000,
1266
+ * "currency": "USD",
1267
+ * "formatted": "-$50.00"
1268
+ * }
1269
+ * },
1270
+ * "without_discount": {
1271
+ * "unit": {
1272
+ * "amount": 10000,
1273
+ * "currency": "USD",
1274
+ * "formatted": "$100.00"
1275
+ * },
1276
+ * "value": {
1277
+ * "amount": 10000,
1278
+ * "currency": "USD",
1279
+ * "formatted": "$100.00"
1280
+ * }
1281
+ * },
1282
+ * "discounts": {
1283
+ * "sale2024": {
1284
+ * "amount": -5000,
1285
+ * "currency": "USD",
1286
+ * "formatted": "-$50.00",
1287
+ * "constituents": {
1288
+ * "509295ee-2971-45b6-801e-95df09756989": {
1289
+ * "amount": -1000,
1290
+ * "currency": "USD",
1291
+ * "formatted": "-$10.00"
1292
+ * },
1293
+ * "ca79e606-7ecd-41ac-9478-af4c8c28c546": {
1294
+ * "amount": -1000,
1295
+ * "currency": "USD",
1296
+ * "formatted": "-$10.00"
1297
+ * },
1298
+ * "de19a043-a6da-4bde-b896-d17e16b77e25": {
1299
+ * "amount": -1000,
1300
+ * "currency": "USD",
1301
+ * "formatted": "-$10.00"
1302
+ * },
1303
+ * "e4d929d5-f471-4317-9a86-a84a6c572b44": {
1304
+ * "amount": -2000,
1305
+ * "currency": "USD",
1306
+ * "formatted": "-$20.00"
1307
+ * }
1308
+ * }
1309
+ * }
1310
+ * }
1311
+ * },
1312
+ * "timestamps": {
1313
+ * "created_at": "2024-05-24T18:00:58Z",
1314
+ * "updated_at": "2024-05-24T18:00:58Z"
1315
+ * }
1316
+ * },
1317
+ * "catalog_id": "09b9359f-897f-407f-89a2-702e167fe781",
1318
+ * "catalog_source": "pim"
1319
+ * }
1320
+ * ```
1321
+ *
1322
+ */
1323
+ export declare const getCartItems: <ThrowOnError extends boolean = false>(options: Options<GetCartItemsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CartsResponse, import("./types.gen").ResponseError, ThrowOnError>;
1324
+ /**
1325
+ * Manage Carts
1326
+ *
1327
+ * ### Add Product to Cart
1328
+ *
1329
+ * Adding a Product to Cart is the most common Cart action. If you want to add any custom products or promotions, you need to do that as a separate action.
1330
+ *
1331
+ * #### Dynamic Bundles
1332
+ *
1333
+ * A bundle is a purchasable product that is composed of a combination of two or more products that you want to sell together. You can create multiple components within a bundle. Each component can have one or more options. Each option is a product and a quantity. You can configure minimum and/or maximum values for the number of product options in a component that your shoppers can select. For example, you can enable a shopper to select 1 or more product options from a list of 10. These are called [dynamic bundles](/docs/api/pxm/products/products#dynamic-bundles).
1334
+ *
1335
+ * Your dynamic bundles are displayed in your published catalogs.
1336
+ *
1337
+ * 1. Use the configure a shopper endpoint to allow shoppers to make their selections from a bundle.
1338
+ * 2. In the response of the configure a shopper, the `bundle_configuration` object contains the bundle selections a shopper has made.
1339
+ * 3. In the add a product to cart request, use the `bundle_configuration` object to add the customers selections to a cart.
1340
+ *
1341
+ * ```json
1342
+ * "bundle_configuration": {
1343
+ * "selected_options": {
1344
+ * "games": {
1345
+ * "d7b79eb8-19d8-45ea-86ed-2324a604dd9c": 1
1346
+ * },
1347
+ * "toys": {
1348
+ * "0192ccdd-6d33-4898-87d7-c4d87f2bf8ea": 1,
1349
+ * "1aea6f97-f0d9-452c-b3c1-7fb5629ead82": 1
1350
+ * }
1351
+ * }
1352
+ * }
1353
+ * ```
1354
+ *
1355
+ * When a cart is checked out, the options a shopper selected are added to the order. See [order items](/docs/api/carts/get-order-items).
1356
+ *
1357
+ * #### Personalized Products
1358
+ *
1359
+ * You can allow shoppers to personalize their goods by adding custom text inputs to products directly. This feature is particularly useful for customizable items, such as personalized T-shirts or greeting cards. You can use this functionality by leveraging the `custom_inputs` attribute, and defining the details and validation rules for the custom text.
1360
+ *
1361
+ * First, you must configure a `custom_inputs` attribute when creating a new product or updating an existing product. Once you have defined your custom inputs on a product, you must configure the custom inputs in your orders.
1362
+ *
1363
+ * For example, you may sell T-shirts that can have personalized text on the front and back of the shirt.
1364
+ *
1365
+ * ```json
1366
+ * {
1367
+ * "data": {
1368
+ * "type": "product",
1369
+ * "attributes": {
1370
+ * "custom_inputs": {
1371
+ * "front": {
1372
+ * "name": "T-Shirt Front",
1373
+ * "validation_rules": [
1374
+ * {
1375
+ * "type": "string",
1376
+ * "options": {
1377
+ * "max_length": 50
1378
+ * }
1379
+ * }
1380
+ * ],
1381
+ * "required": false
1382
+ * },
1383
+ * "back": {
1384
+ * "name": "T-Shirt Back",
1385
+ * "validation_rules": [
1386
+ * {
1387
+ * "type": "string",
1388
+ * "options": {
1389
+ * "max_length": 50
1390
+ * }
1391
+ * }
1392
+ * ],
1393
+ * "required": false
1394
+ * }
1395
+ * }
1396
+ * }
1397
+ * }
1398
+ * }
1399
+ * ```
1400
+ *
1401
+ * If the same product has different `custom_inputs` attributes, then these are added as separate items in a cart.
1402
+ *
1403
+ * The `custom_inputs` attribute is stored in the cart item and the text for `custom_input` must not exceed 255 characters in length. When a cart is checked out, the `custom_inputs` attribute becomes part of the order.
1404
+ *
1405
+ * #### Limitations on Usage of `custom_inputs` with Specific Promotion Types
1406
+ *
1407
+ * When you add products to a cart with `custom_inputs`, there are certain limitations on usage of the `custom_inputs` with the following promotion types:
1408
+ *
1409
+ * - For [Free Gift Promotions](/docs/api/promotions/create-a-promotion), you can add `custom_inputs` to gift items.
1410
+ * - For [Fixed Bundle Discount Promotions](/docs/api/promotions/create-a-promotion), the promotion applies as long as the cart contains the bundle SKUs even when there are different `custom_inputs`.
1411
+ * - For [X for Y Discount Promotion and X for amount discount promotion](/docs/api/promotions/create-a-promotion), the promotion applies when there are two SKUs with the same `custom_inputs`. The promotion does not apply when there are different `custom_inputs` and the SKUs are in different line items.
1412
+ *
1413
+ * :::note
1414
+ *
1415
+ * - Any requests to add a product to cart returns the collection of cart items.
1416
+ * - [Tax items](/docs/api/carts/tax-items) may optionally be added with the product. Only administrators with [client credentials](/docs/authentication/Tokens/client-credential-token) are able to do this. If included, they replace any existing taxes on the product.
1417
+ * - The cart currency is set when the first item is added to the cart.
1418
+ * - The product being added to the cart requires a price in the same currency as the other items in the cart. The API returns a 400 error if a price is not defined in the correct currency.
1419
+ * - A cart can contain a maximum of 100 unique items. Items include products, custom items, tax items, and promotions.
1420
+ * - There are a number of actions that happen to your inventory when checking out and paying for an order. For more information, see the [Inventory](/docs/api/pxm/inventory/inventories-introduction) documentation.
1421
+ *
1422
+ * :::
1423
+ *
1424
+ * ### Add Custom Item to Cart
1425
+ *
1426
+ * You can add a custom item to the cart when you don't manage things like shipping, taxes and inventory in Commerce.
1427
+ *
1428
+ * For [Shipping Groups](/docs/ship-groups/shipping-groups), once you have created a [cart shipping group](/docs/ship-groups/shipping-groups/shipping-groups-api/create-cart-shipping-group), you need to link it to the cart items. This is important, because it is necessary to associate items with shipping groups in order to include shipping groups in the corresponding cart, order, and totals.
1429
+ *
1430
+ * :::note
1431
+ *
1432
+ * - Custom Cart Items are available through [implicit authentication](/docs/authentication/Tokens/implicit-token). Ensure that you always check each order has the correct details for each item, most importantly, price.
1433
+ *
1434
+ * :::
1435
+ *
1436
+ * ### Add Promotion to Cart
1437
+ *
1438
+ * You can use the Promotions API to apply discounts to your cart as a special cart item type. Any requests to add a product to cart will return a collection of cart items.
1439
+ *
1440
+ * There are certain limitations on usage of the `custom_inputs` attribute with some promotion types. See [Limitations on Usage of `custom_inputs` with Specific Promotion Types](/docs/api/carts/manage-carts#limitations-on-usage-of-custom_inputs-with-specific-promotion-types).
1441
+ *
1442
+ * To remove promotion from the cart via the promotion code, see [Delete Promotion Code from Cart](/docs/api/carts/delete-a-promotion-via-promotion-code).
1443
+ *
1444
+ * ### Re-order
1445
+ *
1446
+ * From a shopper’s order history, they can add the items from a previous order into their carts. Shoppers can add items regardless of past order status, such as incomplete or not paid. For more information, see [Orders](/docs/api/carts/orders).
1447
+ *
1448
+ * :::note
1449
+ * - Any requests to add an item to cart return a collection of [cart items](/docs/api/carts/cart-items).
1450
+ * - A cart can contain a maximum of 100 unique items. Items include products, custom items, and promotions.
1451
+ * - When a shopper creates a cart and re-orders items from an order with properties such as custom attributes, custom discounts, and payment intent ID, these properties will remain unchanged in the original cart.
1452
+ * - Custom items do not exist in catalogs, and therefore cannot be reordered.
1453
+ * :::
1454
+ *
1455
+ * ### Merging Carts
1456
+ *
1457
+ * A shopper can have multiple carts, and the system may automatically merge items from an anonymous cart into the shopper's registered cart when they sign in. For example, if a shopper has an existing cart with items `A`, `B` and `C`, and later adds items `D` and `E` while not signed in, the system can merge these carts when the shopper signs in. After the carts merge, the cart contains items `A`, `B`, `C`, `D` and `E`.
1458
+ *
1459
+ * If any items are duplicated from the anonymous cart to the registered cart, their quantities are incremented accordingly. For example, if a shopper's existing cart with items `A`, `B` and `C`, and they later add two more `A` items and one `B` item while not signed in, the system will merge the carts when the shopper signs in. The existing cart will now contain three `A` items, two `B` items, and one `C` item.
1460
+ *
1461
+ * :::note
1462
+ *
1463
+ * When the system merges items from one cart into another cart, properties such as custom attributes, custom discounts, and payment intent ID will remain unchanged in the original cart.
1464
+ *
1465
+ * :::
1466
+ *
1467
+ * ### Best Practices
1468
+ *
1469
+ * We recommend to include a unique `sku` code within the request body while adding custom items to carts. If the same `sku` is used for multiple products, they are merged into a single line item.
1470
+ *
1471
+ * For example, if a cart consists of the following items:
1472
+ *
1473
+ * - `product-1` with quantity 1 and sku code as `sku-1`
1474
+ * - `product-2` with quantity 1 and sku code as `sku-1`
1475
+ * - `product-3` with quantity 1 and sku code as `sku-2`.
1476
+ *
1477
+ * The following response is returned where it combines all products with the same sku codes into a single line item, while products with a unique sku codes are represented as separate items:
1478
+ *
1479
+ * ```json
1480
+ * {
1481
+ * "data": [
1482
+ * {
1483
+ * "id": "c58760f4-8889-4719-b34d-be1f1d11ae59",
1484
+ * "type": "custom_item",
1485
+ * "name": "product-1",
1486
+ * "description": "My first custom item!",
1487
+ * "sku": "sku-1",
1488
+ * "slug": "",
1489
+ * "image": {
1490
+ * "mime_type": "",
1491
+ * "file_name": "",
1492
+ * "href": ""
1493
+ * },
1494
+ * "quantity": 2,
1495
+ * "manage_stock": false,
1496
+ * "unit_price": {
1497
+ * "amount": 20000,
1498
+ * "currency": "USD",
1499
+ * "includes_tax": true
1500
+ * },
1501
+ * "value": {
1502
+ * "amount": 40000,
1503
+ * "currency": "USD",
1504
+ * "includes_tax": true
1505
+ * },
1506
+ * "links": {},
1507
+ * "meta": {
1508
+ * "display_price": {
1509
+ * "with_tax": {
1510
+ * "unit": {
1511
+ * "amount": 20000,
1512
+ * "currency": "USD",
1513
+ * "formatted": "$200.00"
1514
+ * },
1515
+ * "value": {
1516
+ * "amount": 40000,
1517
+ * "currency": "USD",
1518
+ * "formatted": "$400.00"
1519
+ * }
1520
+ * },
1521
+ * "without_tax": {
1522
+ * "unit": {
1523
+ * "amount": 20000,
1524
+ * "currency": "USD",
1525
+ * "formatted": "$200.00"
1526
+ * },
1527
+ * "value": {
1528
+ * "amount": 40000,
1529
+ * "currency": "USD",
1530
+ * "formatted": "$400.00"
1531
+ * }
1532
+ * },
1533
+ * "tax": {
1534
+ * "unit": {
1535
+ * "amount": 0,
1536
+ * "currency": "USD",
1537
+ * "formatted": "$0.00"
1538
+ * },
1539
+ * "value": {
1540
+ * "amount": 0,
1541
+ * "currency": "USD",
1542
+ * "formatted": "$0.00"
1543
+ * }
1544
+ * },
1545
+ * "discount": {
1546
+ * "unit": {
1547
+ * "amount": 0,
1548
+ * "currency": "USD",
1549
+ * "formatted": "$0.00"
1550
+ * },
1551
+ * "value": {
1552
+ * "amount": 0,
1553
+ * "currency": "USD",
1554
+ * "formatted": "$0.00"
1555
+ * }
1556
+ * },
1557
+ * "without_discount": {
1558
+ * "unit": {
1559
+ * "amount": 20000,
1560
+ * "currency": "USD",
1561
+ * "formatted": "$200.00"
1562
+ * },
1563
+ * "value": {
1564
+ * "amount": 40000,
1565
+ * "currency": "USD",
1566
+ * "formatted": "$400.00"
1567
+ * }
1568
+ * }
1569
+ * },
1570
+ * "timestamps": {
1571
+ * "created_at": "2023-05-02T16:28:11Z",
1572
+ * "updated_at": "2023-05-02T16:28:18Z"
1573
+ * }
1574
+ * }
1575
+ * }
1576
+ * ```
1577
+ *
1578
+ */
1579
+ export declare const manageCarts: <ThrowOnError extends boolean = false>(options: Options<ManageCartsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CartsResponse, import("./types.gen").ResponseError, ThrowOnError>;
1580
+ /**
1581
+ * Bulk Update Items in Cart
1582
+ * The bulk update feature allows shoppers to update an array of items to their cart in one action, rather than updating each item one at a time. Shoppers can update quantity and shipping group details in bulk requests. This minimizes the time for shoppers while updating items to their cart. Shoppers can even update multiple items with the same or different shipping groups to their cart.
1583
+ *
1584
+ * When you update multiple items that qualify for free gifts in the cart, the corresponding free gifts for all eligible products are also automatically updated in the cart.
1585
+ *
1586
+ */
1587
+ export declare const bulkUpdateItemsInCart: <ThrowOnError extends boolean = false>(options: Options<BulkUpdateItemsInCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<unknown, import("./types.gen").ResponseError, ThrowOnError>;
1588
+ /**
1589
+ * Delete a Cart Item
1590
+ * Use this endpoint to delete a cart item.
1591
+ */
1592
+ export declare const deleteACartItem: <ThrowOnError extends boolean = false>(options: Options<DeleteACartItemData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1593
+ /**
1594
+ * Update a Cart Item
1595
+ * You can easily update a cart item. A successful update returns the cart items.
1596
+ */
1597
+ export declare const updateACartItem: <ThrowOnError extends boolean = false>(options: Options<UpdateACartItemData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CartsResponse, import("./types.gen").ResponseError, ThrowOnError>;
1598
+ /**
1599
+ * Delete Account Cart Association
1600
+ * You can delete an association between an account and a cart.
1601
+ */
1602
+ export declare const deleteAccountCartAssociation: <ThrowOnError extends boolean = false>(options: Options<DeleteAccountCartAssociationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1603
+ /**
1604
+ * Create an Account Cart Association
1605
+ * You can create associations between an account and one or more carts. After cart associations exist for an account, the account can access those carts across any device.
1606
+ */
1607
+ export declare const createAccountCartAssociation: <ThrowOnError extends boolean = false>(options: Options<CreateAccountCartAssociationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<CreateAccountCartAssociationResponse, import("./types.gen").ResponseError, ThrowOnError>;
1608
+ /**
1609
+ * Delete Customer Cart Association
1610
+ * You can delete an association between a customer and a cart.
1611
+ */
1612
+ export declare const deleteCustomerCartAssociation: <ThrowOnError extends boolean = false>(options: Options<DeleteCustomerCartAssociationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1613
+ /**
1614
+ * Create a Customer Cart Association
1615
+ * You can create associations between a customer and one or more carts. After cart associations exist for a customer, the customer can access those carts across any device.
1616
+ */
1617
+ export declare const createCustomerCartAssociation: <ThrowOnError extends boolean = false>(options: Options<CreateCustomerCartAssociationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CartsRelationshipsCustomersData, import("./types.gen").ResponseError, ThrowOnError>;
1618
+ /**
1619
+ * Delete a Promotion via Promotion Code
1620
+ * You can remove promotion code from a cart if it was applied manually. This endpoint does not work if the promotion is applied automatically.
1621
+ */
1622
+ export declare const deleteAPromotionViaPromotionCode: <ThrowOnError extends boolean = false>(options: Options<DeleteAPromotionViaPromotionCodeData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1623
+ /**
1624
+ * Add Tax Item to Cart
1625
+ *
1626
+ * Use this endpoint to add a tax item to a cart.
1627
+ *
1628
+ * :::note
1629
+ *
1630
+ * There is a soft limit of 5 unique tax items per cart item at any one time.
1631
+ *
1632
+ * :::
1633
+ *
1634
+ */
1635
+ export declare const addTaxItemToCart: <ThrowOnError extends boolean = false>(options: Options<AddTaxItemToCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1636
+ data?: import("./types.gen").CartsItemsTaxesObject;
1637
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1638
+ /**
1639
+ * Bulk Delete Tax Items from Cart
1640
+ * Use this endpoint to bulk delete tax items from cart.
1641
+ */
1642
+ export declare const bulkDeleteTaxItemsFromCart: <ThrowOnError extends boolean = false>(options: Options<BulkDeleteTaxItemsFromCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1643
+ /**
1644
+ * Bulk Add Tax Items to Cart
1645
+ * :::note
1646
+ *
1647
+ * A cart item can only have a maximum of five tax items.
1648
+ *
1649
+ * :::
1650
+ *
1651
+ * ### Errors
1652
+ *
1653
+ * `422 Unprocessable Entity`
1654
+ *
1655
+ * In this example, when `options.add_all_or_nothing` is set to `true` and if one of cart items is not found or or has reached its maximum tax item limit, the following error response is returned:
1656
+ *
1657
+ * ```json
1658
+ * {
1659
+ * "status": 422,
1660
+ * "title": "Add all or nothing.",
1661
+ * "detail": "Add all or nothing set to (true). Could not bulk add tax items to cart."
1662
+ * }
1663
+ *
1664
+ * ```
1665
+ *
1666
+ * In this example, if you add more than five tax items to the same cart item, the following error response is returned:
1667
+ *
1668
+ * ```json
1669
+ * {
1670
+ * "status": 422,
1671
+ * "title": "Tax item not added to cart item.",
1672
+ * "detail": "Cannot exceed tax item limit of (5) on cart item.",
1673
+ * "meta": {
1674
+ * "id": "f88e6370-cb35-40b2-a998-c759f31dec0a"
1675
+ * }
1676
+ * }
1677
+ * ```
1678
+ *
1679
+ * `404`
1680
+ *
1681
+ * In this example, if there is a mismatch between `cart_item`/`custom_item` and the `relationships.item.data.type` specified in the bulk add tax item, the following error response is returned:
1682
+ *
1683
+ * ```json
1684
+ * {
1685
+ * "data": [],
1686
+ * "errors": [
1687
+ * {
1688
+ * "status": 404,
1689
+ * "title": "Tax item not added to cart item.",
1690
+ * "detail": "Mismatch between bulk tax item type(cart_item) and cart item type(custom_item).",
1691
+ * "meta": {
1692
+ * "id": "56aab5d1-1dd4-45ed-88ed-4d0cc396b62d"
1693
+ * }
1694
+ * },
1695
+ * {
1696
+ * "status": 404,
1697
+ * "title": "Tax item not added to cart item.",
1698
+ * "detail": "Mismatch between bulk tax item type(cart_item) and cart item type(custom_item).",
1699
+ * "meta": {
1700
+ * "id": "56aab5d1-1dd4-45ed-88ed-4d0cc396b62d"
1701
+ * }
1702
+ * }
1703
+ * ]
1704
+ * }
1705
+ * ```
1706
+ *
1707
+ */
1708
+ export declare const bulkAddTaxItemsToCart: <ThrowOnError extends boolean = false>(options: Options<BulkAddTaxItemsToCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CartsBulkTaxes, import("./types.gen").ResponseError, ThrowOnError>;
1709
+ /**
1710
+ * Delete a Tax Item
1711
+ * Use this endpoint to delete a tax item.
1712
+ */
1713
+ export declare const deleteATaxItem: <ThrowOnError extends boolean = false>(options: Options<DeleteATaxItemData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1714
+ /**
1715
+ * Update a TaxItem
1716
+ * Use this endpoint to update a tax item.
1717
+ */
1718
+ export declare const updateATaxItem: <ThrowOnError extends boolean = false>(options: Options<UpdateATaxItemData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1719
+ data?: import("./types.gen").CartsItemsTaxesObject;
1720
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1721
+ /**
1722
+ * Bulk Delete Custom Discounts From Cart
1723
+ * Use this endpoint to bulk delete custom discounts from cart.
1724
+ */
1725
+ export declare const bulkDeleteCustomDiscountsFromCart: <ThrowOnError extends boolean = false>(options: Options<BulkDeleteCustomDiscountsFromCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1726
+ /**
1727
+ * Bulk Add Custom Discounts to Cart
1728
+ * The default value for custom discounts on both the cart and cart items is set to 5 if this parameter is not configured in the store. To verify the custom discount limit value, call [Get all settings](/docs/api/settings/get-v-2-settings) endpoint.
1729
+ *
1730
+ * To increase the custom discount value, contact [Elastic Path Support team](https://support.elasticpath.com/hc/en-us).
1731
+ *
1732
+ */
1733
+ export declare const bulkAddCustomDiscountsToCart: <ThrowOnError extends boolean = false>(options: Options<BulkAddCustomDiscountsToCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CartsBulkCustomDiscountsResponse, import("./types.gen").ResponseError, ThrowOnError>;
1734
+ /**
1735
+ * Delete Custom Discount From Cart
1736
+ * Use this endpoint to delete custom discount from cart.
1737
+ */
1738
+ export declare const deleteCustomDiscountFromCart: <ThrowOnError extends boolean = false>(options: Options<DeleteCustomDiscountFromCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1739
+ /**
1740
+ * Update Custom Discount For Cart
1741
+ * Use this endpoint to update a custom discount in your cart.
1742
+ */
1743
+ export declare const updateCustomDiscountForCart: <ThrowOnError extends boolean = false>(options: Options<UpdateCustomDiscountForCartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1744
+ data?: import("./types.gen").CartsCustomDiscountsResponse;
1745
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1746
+ /**
1747
+ * Add Custom Discount To Cart Item
1748
+ * Use this endpoint to add a custom discount to cart item.
1749
+ */
1750
+ export declare const addCustomDiscountToCartItem: <ThrowOnError extends boolean = false>(options: Options<AddCustomDiscountToCartItemData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<unknown, unknown, ThrowOnError>;
1751
+ /**
1752
+ * Delete Custom Discount From Cart Item
1753
+ * Use this endpoint to delete custom discount from cart item.
1754
+ */
1755
+ export declare const deleteCustomDiscountFromCartItem: <ThrowOnError extends boolean = false>(options: Options<DeleteCustomDiscountFromCartItemData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen").ResponseError, ThrowOnError>;
1756
+ /**
1757
+ * Update Custom Discount For Cart Item
1758
+ * Use this endpoint to update a custom discount in your cart item.
1759
+ */
1760
+ export declare const updateCustomDiscountForCartItem: <ThrowOnError extends boolean = false>(options: Options<UpdateCustomDiscountForCartItemData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<unknown, unknown, ThrowOnError>;
1761
+ /**
1762
+ * Create Stripe Payment Intent for a Cart
1763
+ * The Cart Payment Intent feature enables the creation of a Stripe Payment Intent specifically tied to a shopping cart and its subsequent order. This allows Payment Intent users to track payment details from the cart stage and seamlessly maintain consistency in payment information throughout the order stage. Using these features, you can create Payment Intents for their carts, update Payment Intents with final cart details, and synchronize Payment Intents from Stripe to Commerce.
1764
+ *
1765
+ * :::note
1766
+ *
1767
+ * - Typically, in Commerce, inventory is allocated at the time of payment initiation after an order is created. However, in the case of Cart Payment Intent, information about the payment is received only upon synchronizing the order from Stripe to Commerce. This may happen after the payment is completed. Therefore, there might be a delay between the payment made and allocation, increasing the chance of paying for items that are not in stock.
1768
+ * - There are certain fields you can choose to set up when [creating a payment intent](https://stripe.com/docs/api/payment_intents/create). However, if you decide to update a payment intent, the available options may not be the same as those allowed while creating a payment intent. See [updating a payment intent](https://stripe.com/docs/api/payment_intents/update).
1769
+ *
1770
+ * :::
1771
+ *
1772
+ * The following steps outline the workflow associated with the Payment Intent:
1773
+ *
1774
+ * 1. [Add items to cart](/docs/api/carts/manage-carts#add-custom-item-to-cart).
1775
+ * 1. [Create a Payment Intent for the cart](/docs/api/carts/create-cart-payment-intent). The Payment Intent is created in Stripe, reflecting the cart and transaction details, including currency, amounts, payment type, and any optional Stripe details. The Payment Intent ID is generated and linked to the cart.
1776
+ * 1. [Update a Payment Intent](/docs/carts-orders/update-cart-payment-intent). This step is optional but becomes necessary when there are changes in the cart details at the time of payment. It ensures the Payment Intent accurately reflects the current cart details when processing the payments on the front end.
1777
+ * 1. [Checkout the cart](/docs/api/carts/checkout). An unpaid order is created, and the Payment Intent ID is linked to the order.
1778
+ * 1. [Confirm the order](/docs/carts-orders/confirm-an-order). This is important because after checkout, it is essential to confirm the Payment Intent and synchronize it with Commerce. This results in a corresponding transaction and change in order statuses in Commerce. Additionally, the Payment Intent ID is removed from the order once it is linked via the transaction.
1779
+ *
1780
+ * ### Best Practices
1781
+ *
1782
+ * We recommend you follow these practices to maintain consistency and accuracy when using Cart Payment Intent.
1783
+ *
1784
+ * - After checkout, we recommend clearing the shopping cart. You can achieve this using a [Delete a cart](/docs/api/carts/delete-a-cart) endpoint or [Update a cart](/docs/api/carts/update-a-cart) to remove the Payment Intent ID. This helps to avoid potential issues where subsequent checkouts for the same cart might unintentionally use the previous Stripe Payment Intent ID.
1785
+ * - If it is not reasonable to clear the cart immediately after checkout due to several subsequent, duplicate checkouts to the same cart, ensure that you only synchronize the Payment Intent when finalizing the order. Each order confirmation is unaware of the others, and syncing Payment Intent IDs for each confirmation can lead to duplicate transactions in Commerce. In other words, if you synchronize Payment Intents for earlier versions of a repeated checkout, you'll end up with multiple orders from the same cart, each having transactions linked to the same Payment Intent.
1786
+ * - To pay the entire amount at once, use the [Update Cart Payment Intent](/docs/carts-orders/update-cart-payment-intent) endpoint to update the Stripe Payment Intent with the final cart details when preparing to take the payment. Doing so, ensures that the Payment Intent accurately reflects the current cart details when processing payments on the front end. We do not recommend calling the [Update Cart Payment Intent](/docs/carts-orders/update-cart-payment-intent) for each individual change in the cart, as this can lead to more requests and may slow down the front-end performance.
1787
+ *
1788
+ */
1789
+ export declare const createCartPaymentIntent: <ThrowOnError extends boolean = false>(options: Options<CreateCartPaymentIntentData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").CartResponse, import("./types.gen").ResponseError, ThrowOnError>;
1790
+ /**
1791
+ * Checkout API
1792
+ * When a Cart is ready for checkout, you can convert the cart to an order. The cart remains and can be modified and checked out again if required.
1793
+ *
1794
+ * A cart can be checked out with a customer ID, customer object, or with an account by authenticating with the `Client Credentials Token`.
1795
+ *
1796
+ * After a successful checkout, a response that contains the order is returned. If the cart is linked to a shipping group, the shipping group is also associated with the order after checkout.
1797
+ *
1798
+ * You can checkout using one of the following methods:
1799
+ * - Customer ID. You can checkout a cart with an existing customer ID.
1800
+ * - Guest Checkout (Checkout with Customer Object). You can checkout a cart with an associated customer name and email.
1801
+ * - Checkout with Account. The shopper authenticates with the `Client Credentials` Token.
1802
+ * - Checkout with Account Management Authentication Token. The shopper authenticates with the `Implicit Token` and the `EP-Account-Management-Authentication-Token`.
1803
+ *
1804
+ * :::note
1805
+ *
1806
+ * - The cart currency is set when the first item is added to the cart.
1807
+ * - The product being added to the cart requires a price in the same currency as the other items in the cart. The API returns a 400 error if a price is not defined in the correct currency.
1808
+ * - To ensure that a free gift is automatically applied to an order, set the promotion to automatic. The checkout process will not be successful if free gift items are out of stock. See [Errors](#errors) section.
1809
+ *
1810
+ * :::
1811
+ *
1812
+ * :::caution
1813
+ *
1814
+ * - By default, carts are automatically deleted 7 days after the last update. You can change this setting by [updating cart settings](/docs/api/settings/put-v-2-settings-cart).
1815
+ * - Your inventory is modified during checkout and payment of an order. For more information about the changes in the inventory, see the [Inventory](/docs/api/pxm/inventory/inventories-introduction) section.
1816
+ *
1817
+ * :::
1818
+ *
1819
+ * ### Next Steps
1820
+ *
1821
+ * After a cart has been converted to an Order using either of the previous methods, you most likely want to capture payment for order. See [Paying for an Order](/docs/api/carts/payments).
1822
+ *
1823
+ * ### Errors
1824
+ *
1825
+ * The following error response is returned during checkout when an eligible item is added to the cart, and the free gift is out of stock.
1826
+ *
1827
+ * ```json
1828
+ * {
1829
+ * "errors": [
1830
+ * {
1831
+ * "status": 400,
1832
+ * "title": "Insufficient stock",
1833
+ * "detail": "There is not enough stock to add gift2 to your cart",
1834
+ * "meta": {
1835
+ * "id": "f2b68648-9621-45a3-aed6-1b526b0f5beb",
1836
+ * "sku": "gift2"
1837
+ * }
1838
+ * }
1839
+ * ]
1840
+ * }
1841
+ * ```
1842
+ *
1843
+ */
1844
+ export declare const checkoutApi: <ThrowOnError extends boolean = false>(options: Options<CheckoutApiData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1845
+ data?: import("./types.gen").OrderResponse;
1846
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1847
+ /**
1848
+ * Get All Orders
1849
+ * This endpoint returns all orders with custom flow fields. The pagination offset is set to fetch a maximum of 10,000 orders. If the store has 10,000 orders and you fetch the orders without using filters, an error is returned. Use a filter to view orders when the order is beyond the 10,000 mark.
1850
+ *
1851
+ * :::note
1852
+ *
1853
+ * - Pass the `X-Moltin-Customer-Token` header to limit orders to a specific customer. See [Customer Tokens](/docs/customer-management/customer-management-api/customer-tokens).
1854
+ * - Pass the `EP-Account-Management-Authentication-Token` header to limit orders to a specific account. See [Account Management Token](/docs/api/accounts/post-v-2-account-members-tokens).
1855
+ * - You can use pagination with this resource. For more information, see [pagination](/guides/Getting-Started/pagination).
1856
+ *
1857
+ * :::
1858
+ *
1859
+ * ### Filtering
1860
+ *
1861
+ * The following operators and attributes are available for filtering orders.
1862
+ *
1863
+ * | Attribute | Type | Operator | Example |
1864
+ * | :--- | :--- | :--- | :--- |
1865
+ * | `status` | `string` | `eq` | `eq(status,complete)` |
1866
+ * | `payment` | `string` | `eq` | `eq(payment,paid)` |
1867
+ * | `shipping` | `string` | `eq` | `eq(shipping,unfulfilled)` |
1868
+ * | `name` (`customer.name`) | `string` | `eq` / `like` | `like(name,Brad*)` |
1869
+ * | `email` (`customer.email`) | `string` | `eq` / `like` | `like(email,*@elasticpath.com)` |
1870
+ * | `customer_id` | `string` | `eq` / `like` | `eq(customer_id, e5a0d684-a4af-4919-a348-f66b0b4955e0)` |
1871
+ * | `account_id` | `string` | `eq` / `like` | `eq(account_id,3d7200c9-a9bc-4085-9822-63e80fd94a09)` |
1872
+ * | `account_member_id` | `string` | `eq` / `like` | `eq(account_member_id,2a8a3a92-2ccd-4b2b-a7af-52d3896eaecb)` |
1873
+ * | `contact.name` | `string` | `eq` / `like` | `eq(name,John Doe)` |
1874
+ * | `contact.email` | `string` | `eq` / `like` | `eq(email,John Doe)` |
1875
+ * | `shipping_postcode` | `string` | `eq` / `like` | `like(shipping_postcode,117*)` |
1876
+ * | `billing_postcode` | `string` | `eq` / `like` | `like(billing_postcode,117*)` |
1877
+ * | `with_tax` | `integer` | `gt`/`ge`/`lt`/`le` | `ge(with_tax,10000)` |
1878
+ * | `without_tax` | `integer` | `gt`/`ge`/`lt`/`le` | `ge(without_tax,10000)` |
1879
+ * | `currency` | `string` | `eq` | `eq(currency,USD)` |
1880
+ * | `product_id` | `string` | `eq` | `eq(product_id,6837058c-ae42-46db-b3c6-7f01e0c34b40)` |
1881
+ * | `product_sku` | `string` | `eq` | `eq(product_sku,deck-shoe-001)` |
1882
+ * | `created_at` | `date` | `eq` / `gt` / `ge`/ `le` / `lt` | `gt(created_at,YYYY-MM-DD)` |
1883
+ * | `updated_at` | `date` | `eq` / `gt` / `ge`/ `le`/ `lt` | `lt(updated_at,YYYY-MM-DD)` |
1884
+ * | `external_ref` | `string` | `eq` / `like` | `like(external_ref, 16be*)` |
1885
+ *
1886
+ */
1887
+ export declare const getCustomerOrders: <ThrowOnError extends boolean = false>(options?: Options<GetCustomerOrdersData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1888
+ data?: Array<import("./types.gen").OrderResponse>;
1889
+ links?: import("./types.gen").ResponsePageLinks;
1890
+ meta?: import("./types.gen").ResponseMetaOrders;
1891
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1892
+ /**
1893
+ * Get an Order
1894
+ * Use this endpoint to retrieve a specific order.
1895
+ */
1896
+ export declare const getAnOrder: <ThrowOnError extends boolean = false>(options: Options<GetAnOrderData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1897
+ data?: import("./types.gen").OrderResponse;
1898
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1899
+ /**
1900
+ * Update an Order
1901
+ * You can only update custom data, `shipping`, `shipping_address`, and status on orders. All other settings in the order object are immutable.
1902
+ *
1903
+ * :::caution
1904
+ *
1905
+ * You can update `shipping`, `shipping_address`, and status of an order only if the order is not fulfilled. You can use the refund API to refund an order only if the payment status is `paid`. Canceling an order does not automatically refund a payment. You must refund the orders manually.
1906
+ *
1907
+ * :::
1908
+ *
1909
+ * :::note
1910
+ *
1911
+ * - This request is only accessible to client credentials token users with Seller Admin role.
1912
+ * - Non client credentials token users cannot access this endpoint. See [Permissions](/docs/authentication/Tokens/permissions).
1913
+ *
1914
+ * :::
1915
+ *
1916
+ */
1917
+ export declare const updateAnOrder: <ThrowOnError extends boolean = false>(options: Options<UpdateAnOrderData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1918
+ data?: import("./types.gen").OrderResponse;
1919
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1920
+ /**
1921
+ * Get Order Items
1922
+ * Use this endpoint to retrieve order items.
1923
+ */
1924
+ export declare const getOrderItems: <ThrowOnError extends boolean = false>(options: Options<GetOrderItemsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1925
+ data?: Array<import("./types.gen").OrderItemResponse>;
1926
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1927
+ /**
1928
+ * Anonymize Orders
1929
+ * You can anonymize an order when it is fulfilled, canceled, or fully refunded.
1930
+ *
1931
+ * When anonymization is successful, Personal Identifiable Information such as customer details, `shipping_address`, and `billing_address` are replaced with *.
1932
+ *
1933
+ */
1934
+ export declare const anonymizeOrders: <ThrowOnError extends boolean = false>(options?: Options<AnonymizeOrdersData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1935
+ data?: import("./types.gen").OrderResponse;
1936
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1937
+ /**
1938
+ * Authorize Setup
1939
+ * Authorize setup
1940
+ */
1941
+ export declare const authorizeSetup: <ThrowOnError extends boolean = false>(options: Options<AuthorizeSetupData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1942
+ data?: import("./types.gen").TransactionResponse;
1943
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1944
+ /**
1945
+ * Confirm Setup
1946
+ * Confirm setup
1947
+ */
1948
+ export declare const confirmSetup: <ThrowOnError extends boolean = false>(options: Options<ConfirmSetupData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1949
+ data?: import("./types.gen").TransactionResponse;
1950
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1951
+ /**
1952
+ * Capture a Transaction
1953
+ * Use this endpoint to capture a previously authorized payment. In this step, you can also pass in a custom reference, such as the payment reference from your chosen gateway.
1954
+ */
1955
+ export declare const captureATransaction: <ThrowOnError extends boolean = false>(options: Options<CaptureATransactionData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1956
+ data?: import("./types.gen").TransactionResponse;
1957
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1958
+ /**
1959
+ * Refund a Transaction
1960
+ * There are two ways to refund; through your payment gateway and mark it refunded in Commerce Manager, or directly through Commerce Manager or API.
1961
+ *
1962
+ * * Mark as Refunded: You can manually mark a transaction as refunded. Before you can mark the order as refunded, you need to handle the actual refund on your side with your payment provider. Mark as Refunded is a full refund made to the transaction.
1963
+ * * Refund through Composable Commerce: You can process a full or partial refund to a supported payment provider directly from Commerce Manager or API by providing the refund amount. When you start the refund process, the request is directly sent to the payment gateway.
1964
+ *
1965
+ * :::caution
1966
+ *
1967
+ * If you use manual gateway for partial or full refund, you need to handle the actual refund on your side with your payment provider.
1968
+ *
1969
+ * :::
1970
+ *
1971
+ */
1972
+ export declare const refundATransaction: <ThrowOnError extends boolean = false>(options: Options<RefundATransactionData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1973
+ data?: import("./types.gen").TransactionResponse;
1974
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1975
+ /**
1976
+ * Get Order Transactions
1977
+ * Get order transactions
1978
+ */
1979
+ export declare const getOrderTransactions: <ThrowOnError extends boolean = false>(options: Options<GetOrderTransactionsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1980
+ data?: Array<import("./types.gen").TransactionResponse>;
1981
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1982
+ /**
1983
+ * Get a Transaction
1984
+ * Retrieves a transaction
1985
+ */
1986
+ export declare const getATransaction: <ThrowOnError extends boolean = false>(options: Options<GetATransactionData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
1987
+ data?: import("./types.gen").TransactionResponse;
1988
+ }, import("./types.gen").ResponseError, ThrowOnError>;
1989
+ /**
1990
+ * Cancel a Transaction
1991
+ * Use this endpoint to cancel or void a pending or authorized transaction. The transaction can be canceled or voided when it is in `pending` and `completed` statuses.
1992
+ *
1993
+ * :::caution
1994
+ *
1995
+ * This endpoint works only for Stripe and PayPal and does not work for manual gateway.
1996
+ *
1997
+ * :::
1998
+ *
1999
+ */
2000
+ export declare const cancelATransaction: <ThrowOnError extends boolean = false>(options: Options<CancelATransactionData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ResponseData & {
2001
+ data?: import("./types.gen").TransactionResponse;
2002
+ }, import("./types.gen").ResponseError, ThrowOnError>;