@acmekit/js-sdk 2.13.1 → 2.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/index.d.ts +2 -177
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +3 -76
- package/dist/admin/index.js.map +1 -1
- package/dist/esm/admin/index.d.ts +2 -177
- package/dist/esm/admin/index.d.ts.map +1 -1
- package/dist/esm/admin/index.js +3 -73
- package/dist/esm/admin/index.js.map +1 -1
- package/dist/esm/store/index.d.ts +5 -1193
- package/dist/esm/store/index.d.ts.map +1 -1
- package/dist/esm/store/index.js +6 -1418
- package/dist/esm/store/index.js.map +1 -1
- package/dist/store/index.d.ts +5 -1193
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +6 -1408
- package/dist/store/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/admin/campaign.d.ts +0 -164
- package/dist/admin/campaign.d.ts.map +0 -1
- package/dist/admin/campaign.js +0 -196
- package/dist/admin/campaign.js.map +0 -1
- package/dist/admin/claim.d.ts +0 -558
- package/dist/admin/claim.d.ts.map +0 -1
- package/dist/admin/claim.js +0 -693
- package/dist/admin/claim.js.map +0 -1
- package/dist/admin/currency.d.ts +0 -95
- package/dist/admin/currency.d.ts.map +0 -1
- package/dist/admin/currency.js +0 -104
- package/dist/admin/currency.js.map +0 -1
- package/dist/admin/draft-order.d.ts +0 -430
- package/dist/admin/draft-order.d.ts.map +0 -1
- package/dist/admin/draft-order.js +0 -547
- package/dist/admin/draft-order.js.map +0 -1
- package/dist/admin/exchange.d.ts +0 -487
- package/dist/admin/exchange.d.ts.map +0 -1
- package/dist/admin/exchange.js +0 -602
- package/dist/admin/exchange.js.map +0 -1
- package/dist/admin/fulfillment-provider.d.ts +0 -78
- package/dist/admin/fulfillment-provider.d.ts.map +0 -1
- package/dist/admin/fulfillment-provider.js +0 -88
- package/dist/admin/fulfillment-provider.js.map +0 -1
- package/dist/admin/fulfillment-set.d.ts +0 -141
- package/dist/admin/fulfillment-set.d.ts.map +0 -1
- package/dist/admin/fulfillment-set.js +0 -170
- package/dist/admin/fulfillment-set.js.map +0 -1
- package/dist/admin/fulfillment.d.ts +0 -91
- package/dist/admin/fulfillment.d.ts.map +0 -1
- package/dist/admin/fulfillment.js +0 -111
- package/dist/admin/fulfillment.js.map +0 -1
- package/dist/admin/inventory-item.d.ts +0 -320
- package/dist/admin/inventory-item.d.ts.map +0 -1
- package/dist/admin/inventory-item.js +0 -384
- package/dist/admin/inventory-item.js.map +0 -1
- package/dist/admin/order-edit.d.ts +0 -189
- package/dist/admin/order-edit.d.ts.map +0 -1
- package/dist/admin/order-edit.js +0 -240
- package/dist/admin/order-edit.js.map +0 -1
- package/dist/admin/order.d.ts +0 -452
- package/dist/admin/order.d.ts.map +0 -1
- package/dist/admin/order.js +0 -560
- package/dist/admin/order.js.map +0 -1
- package/dist/admin/payment-collection.d.ts +0 -72
- package/dist/admin/payment-collection.d.ts.map +0 -1
- package/dist/admin/payment-collection.js +0 -90
- package/dist/admin/payment-collection.js.map +0 -1
- package/dist/admin/payment.d.ts +0 -180
- package/dist/admin/payment.d.ts.map +0 -1
- package/dist/admin/payment.js +0 -208
- package/dist/admin/payment.js.map +0 -1
- package/dist/admin/price-list.d.ts +0 -234
- package/dist/admin/price-list.d.ts.map +0 -1
- package/dist/admin/price-list.js +0 -284
- package/dist/admin/price-list.js.map +0 -1
- package/dist/admin/price-preference.d.ts +0 -152
- package/dist/admin/price-preference.d.ts.map +0 -1
- package/dist/admin/price-preference.js +0 -182
- package/dist/admin/price-preference.js.map +0 -1
- package/dist/admin/product-category.d.ts +0 -170
- package/dist/admin/product-category.d.ts.map +0 -1
- package/dist/admin/product-category.js +0 -205
- package/dist/admin/product-category.js.map +0 -1
- package/dist/admin/product-collection.d.ts +0 -169
- package/dist/admin/product-collection.d.ts.map +0 -1
- package/dist/admin/product-collection.js +0 -203
- package/dist/admin/product-collection.js.map +0 -1
- package/dist/admin/product-tag.d.ts +0 -149
- package/dist/admin/product-tag.d.ts.map +0 -1
- package/dist/admin/product-tag.js +0 -177
- package/dist/admin/product-tag.js.map +0 -1
- package/dist/admin/product-type.d.ts +0 -150
- package/dist/admin/product-type.d.ts.map +0 -1
- package/dist/admin/product-type.js +0 -178
- package/dist/admin/product-type.js.map +0 -1
- package/dist/admin/product-variant.d.ts +0 -62
- package/dist/admin/product-variant.d.ts.map +0 -1
- package/dist/admin/product-variant.js +0 -66
- package/dist/admin/product-variant.js.map +0 -1
- package/dist/admin/product.d.ts +0 -740
- package/dist/admin/product.d.ts.map +0 -1
- package/dist/admin/product.js +0 -948
- package/dist/admin/product.js.map +0 -1
- package/dist/admin/promotion.d.ts +0 -310
- package/dist/admin/promotion.d.ts.map +0 -1
- package/dist/admin/promotion.js +0 -374
- package/dist/admin/promotion.js.map +0 -1
- package/dist/admin/refund-reasons.d.ts +0 -163
- package/dist/admin/refund-reasons.d.ts.map +0 -1
- package/dist/admin/refund-reasons.js +0 -192
- package/dist/admin/refund-reasons.js.map +0 -1
- package/dist/admin/region.d.ts +0 -152
- package/dist/admin/region.d.ts.map +0 -1
- package/dist/admin/region.js +0 -180
- package/dist/admin/region.js.map +0 -1
- package/dist/admin/reservation.d.ts +0 -154
- package/dist/admin/reservation.d.ts.map +0 -1
- package/dist/admin/reservation.js +0 -182
- package/dist/admin/reservation.js.map +0 -1
- package/dist/admin/return-reason.d.ts +0 -154
- package/dist/admin/return-reason.d.ts.map +0 -1
- package/dist/admin/return-reason.js +0 -183
- package/dist/admin/return-reason.js.map +0 -1
- package/dist/admin/return.d.ts +0 -558
- package/dist/admin/return.d.ts.map +0 -1
- package/dist/admin/return.js +0 -700
- package/dist/admin/return.js.map +0 -1
- package/dist/admin/sales-channel.d.ts +0 -196
- package/dist/admin/sales-channel.d.ts.map +0 -1
- package/dist/admin/sales-channel.js +0 -238
- package/dist/admin/sales-channel.js.map +0 -1
- package/dist/admin/shipping-option-type.d.ts +0 -152
- package/dist/admin/shipping-option-type.d.ts.map +0 -1
- package/dist/admin/shipping-option-type.js +0 -180
- package/dist/admin/shipping-option-type.js.map +0 -1
- package/dist/admin/shipping-option.d.ts +0 -171
- package/dist/admin/shipping-option.d.ts.map +0 -1
- package/dist/admin/shipping-option.js +0 -207
- package/dist/admin/shipping-option.js.map +0 -1
- package/dist/admin/shipping-profile.d.ts +0 -151
- package/dist/admin/shipping-profile.d.ts.map +0 -1
- package/dist/admin/shipping-profile.js +0 -181
- package/dist/admin/shipping-profile.js.map +0 -1
- package/dist/admin/stock-location.d.ts +0 -212
- package/dist/admin/stock-location.d.ts.map +0 -1
- package/dist/admin/stock-location.js +0 -260
- package/dist/admin/stock-location.js.map +0 -1
- package/dist/admin/tax-provider.d.ts +0 -64
- package/dist/admin/tax-provider.d.ts.map +0 -1
- package/dist/admin/tax-provider.js +0 -70
- package/dist/admin/tax-provider.js.map +0 -1
- package/dist/admin/tax-rate.d.ts +0 -155
- package/dist/admin/tax-rate.d.ts.map +0 -1
- package/dist/admin/tax-rate.js +0 -186
- package/dist/admin/tax-rate.js.map +0 -1
- package/dist/admin/tax-region.d.ts +0 -165
- package/dist/admin/tax-region.d.ts.map +0 -1
- package/dist/admin/tax-region.js +0 -196
- package/dist/admin/tax-region.js.map +0 -1
- package/dist/esm/admin/campaign.d.ts +0 -164
- package/dist/esm/admin/campaign.d.ts.map +0 -1
- package/dist/esm/admin/campaign.js +0 -213
- package/dist/esm/admin/campaign.js.map +0 -1
- package/dist/esm/admin/claim.d.ts +0 -558
- package/dist/esm/admin/claim.d.ts.map +0 -1
- package/dist/esm/admin/claim.js +0 -740
- package/dist/esm/admin/claim.js.map +0 -1
- package/dist/esm/admin/currency.d.ts +0 -95
- package/dist/esm/admin/currency.d.ts.map +0 -1
- package/dist/esm/admin/currency.js +0 -113
- package/dist/esm/admin/currency.js.map +0 -1
- package/dist/esm/admin/draft-order.d.ts +0 -430
- package/dist/esm/admin/draft-order.d.ts.map +0 -1
- package/dist/esm/admin/draft-order.js +0 -594
- package/dist/esm/admin/draft-order.js.map +0 -1
- package/dist/esm/admin/exchange.d.ts +0 -487
- package/dist/esm/admin/exchange.d.ts.map +0 -1
- package/dist/esm/admin/exchange.js +0 -643
- package/dist/esm/admin/exchange.js.map +0 -1
- package/dist/esm/admin/fulfillment-provider.d.ts +0 -78
- package/dist/esm/admin/fulfillment-provider.d.ts.map +0 -1
- package/dist/esm/admin/fulfillment-provider.js +0 -97
- package/dist/esm/admin/fulfillment-provider.js.map +0 -1
- package/dist/esm/admin/fulfillment-set.d.ts +0 -141
- package/dist/esm/admin/fulfillment-set.d.ts.map +0 -1
- package/dist/esm/admin/fulfillment-set.js +0 -185
- package/dist/esm/admin/fulfillment-set.js.map +0 -1
- package/dist/esm/admin/fulfillment.d.ts +0 -91
- package/dist/esm/admin/fulfillment.d.ts.map +0 -1
- package/dist/esm/admin/fulfillment.js +0 -122
- package/dist/esm/admin/fulfillment.js.map +0 -1
- package/dist/esm/admin/inventory-item.d.ts +0 -320
- package/dist/esm/admin/inventory-item.d.ts.map +0 -1
- package/dist/esm/admin/inventory-item.js +0 -411
- package/dist/esm/admin/inventory-item.js.map +0 -1
- package/dist/esm/admin/order-edit.d.ts +0 -189
- package/dist/esm/admin/order-edit.d.ts.map +0 -1
- package/dist/esm/admin/order-edit.js +0 -261
- package/dist/esm/admin/order-edit.js.map +0 -1
- package/dist/esm/admin/order.d.ts +0 -452
- package/dist/esm/admin/order.d.ts.map +0 -1
- package/dist/esm/admin/order.js +0 -603
- package/dist/esm/admin/order.js.map +0 -1
- package/dist/esm/admin/payment-collection.d.ts +0 -72
- package/dist/esm/admin/payment-collection.d.ts.map +0 -1
- package/dist/esm/admin/payment-collection.js +0 -101
- package/dist/esm/admin/payment-collection.js.map +0 -1
- package/dist/esm/admin/payment.d.ts +0 -180
- package/dist/esm/admin/payment.d.ts.map +0 -1
- package/dist/esm/admin/payment.js +0 -223
- package/dist/esm/admin/payment.js.map +0 -1
- package/dist/esm/admin/price-list.d.ts +0 -234
- package/dist/esm/admin/price-list.d.ts.map +0 -1
- package/dist/esm/admin/price-list.js +0 -305
- package/dist/esm/admin/price-list.js.map +0 -1
- package/dist/esm/admin/price-preference.d.ts +0 -152
- package/dist/esm/admin/price-preference.d.ts.map +0 -1
- package/dist/esm/admin/price-preference.js +0 -197
- package/dist/esm/admin/price-preference.js.map +0 -1
- package/dist/esm/admin/product-category.d.ts +0 -170
- package/dist/esm/admin/product-category.d.ts.map +0 -1
- package/dist/esm/admin/product-category.js +0 -222
- package/dist/esm/admin/product-category.js.map +0 -1
- package/dist/esm/admin/product-collection.d.ts +0 -169
- package/dist/esm/admin/product-collection.d.ts.map +0 -1
- package/dist/esm/admin/product-collection.js +0 -220
- package/dist/esm/admin/product-collection.js.map +0 -1
- package/dist/esm/admin/product-tag.d.ts +0 -149
- package/dist/esm/admin/product-tag.d.ts.map +0 -1
- package/dist/esm/admin/product-tag.js +0 -192
- package/dist/esm/admin/product-tag.js.map +0 -1
- package/dist/esm/admin/product-type.d.ts +0 -150
- package/dist/esm/admin/product-type.d.ts.map +0 -1
- package/dist/esm/admin/product-type.js +0 -193
- package/dist/esm/admin/product-type.js.map +0 -1
- package/dist/esm/admin/product-variant.d.ts +0 -62
- package/dist/esm/admin/product-variant.d.ts.map +0 -1
- package/dist/esm/admin/product-variant.js +0 -73
- package/dist/esm/admin/product-variant.js.map +0 -1
- package/dist/esm/admin/product.d.ts +0 -740
- package/dist/esm/admin/product.d.ts.map +0 -1
- package/dist/esm/admin/product.js +0 -995
- package/dist/esm/admin/product.js.map +0 -1
- package/dist/esm/admin/promotion.d.ts +0 -310
- package/dist/esm/admin/promotion.d.ts.map +0 -1
- package/dist/esm/admin/promotion.js +0 -401
- package/dist/esm/admin/promotion.js.map +0 -1
- package/dist/esm/admin/refund-reasons.d.ts +0 -163
- package/dist/esm/admin/refund-reasons.d.ts.map +0 -1
- package/dist/esm/admin/refund-reasons.js +0 -207
- package/dist/esm/admin/refund-reasons.js.map +0 -1
- package/dist/esm/admin/region.d.ts +0 -152
- package/dist/esm/admin/region.d.ts.map +0 -1
- package/dist/esm/admin/region.js +0 -195
- package/dist/esm/admin/region.js.map +0 -1
- package/dist/esm/admin/reservation.d.ts +0 -154
- package/dist/esm/admin/reservation.d.ts.map +0 -1
- package/dist/esm/admin/reservation.js +0 -199
- package/dist/esm/admin/reservation.js.map +0 -1
- package/dist/esm/admin/return-reason.d.ts +0 -154
- package/dist/esm/admin/return-reason.d.ts.map +0 -1
- package/dist/esm/admin/return-reason.js +0 -198
- package/dist/esm/admin/return-reason.js.map +0 -1
- package/dist/esm/admin/return.d.ts +0 -558
- package/dist/esm/admin/return.d.ts.map +0 -1
- package/dist/esm/admin/return.js +0 -749
- package/dist/esm/admin/return.js.map +0 -1
- package/dist/esm/admin/sales-channel.d.ts +0 -196
- package/dist/esm/admin/sales-channel.d.ts.map +0 -1
- package/dist/esm/admin/sales-channel.js +0 -257
- package/dist/esm/admin/sales-channel.js.map +0 -1
- package/dist/esm/admin/shipping-option-type.d.ts +0 -152
- package/dist/esm/admin/shipping-option-type.d.ts.map +0 -1
- package/dist/esm/admin/shipping-option-type.js +0 -195
- package/dist/esm/admin/shipping-option-type.js.map +0 -1
- package/dist/esm/admin/shipping-option.d.ts +0 -171
- package/dist/esm/admin/shipping-option.d.ts.map +0 -1
- package/dist/esm/admin/shipping-option.js +0 -224
- package/dist/esm/admin/shipping-option.js.map +0 -1
- package/dist/esm/admin/shipping-profile.d.ts +0 -151
- package/dist/esm/admin/shipping-profile.d.ts.map +0 -1
- package/dist/esm/admin/shipping-profile.js +0 -196
- package/dist/esm/admin/shipping-profile.js.map +0 -1
- package/dist/esm/admin/stock-location.d.ts +0 -212
- package/dist/esm/admin/stock-location.d.ts.map +0 -1
- package/dist/esm/admin/stock-location.js +0 -281
- package/dist/esm/admin/stock-location.js.map +0 -1
- package/dist/esm/admin/tax-provider.d.ts +0 -64
- package/dist/esm/admin/tax-provider.d.ts.map +0 -1
- package/dist/esm/admin/tax-provider.js +0 -77
- package/dist/esm/admin/tax-provider.js.map +0 -1
- package/dist/esm/admin/tax-rate.d.ts +0 -155
- package/dist/esm/admin/tax-rate.d.ts.map +0 -1
- package/dist/esm/admin/tax-rate.js +0 -201
- package/dist/esm/admin/tax-rate.js.map +0 -1
- package/dist/esm/admin/tax-region.d.ts +0 -165
- package/dist/esm/admin/tax-region.d.ts.map +0 -1
- package/dist/esm/admin/tax-region.js +0 -211
- package/dist/esm/admin/tax-region.js.map +0 -1
package/dist/admin/product.js
DELETED
|
@@ -1,948 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Product = void 0;
|
|
4
|
-
const client_1 = require("../client");
|
|
5
|
-
class Product {
|
|
6
|
-
/**
|
|
7
|
-
* @ignore
|
|
8
|
-
*/
|
|
9
|
-
constructor(client) {
|
|
10
|
-
this.client = client;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* This method creates a product import. The products are only imported after
|
|
14
|
-
* the import is confirmed using the {@link confirmImport} method.
|
|
15
|
-
*
|
|
16
|
-
* This method sends a request to the
|
|
17
|
-
* [Create Product Import](https://docs.acmekit.com/api/admin#products_postproductsimport)
|
|
18
|
-
* API route.
|
|
19
|
-
*
|
|
20
|
-
* @param body - The import's details.
|
|
21
|
-
* @param query - Query parameters to pass to the request.
|
|
22
|
-
* @param headers - Headers to pass in the request.
|
|
23
|
-
* @returns The import's details.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* sdk.admin.product.import({
|
|
27
|
-
* file // uploaded File instance
|
|
28
|
-
* })
|
|
29
|
-
* .then(({ transaction_id }) => {
|
|
30
|
-
* console.log(transaction_id)
|
|
31
|
-
* })
|
|
32
|
-
*/
|
|
33
|
-
async import(body, query, headers) {
|
|
34
|
-
const form = new FormData();
|
|
35
|
-
form.append("file", body.file);
|
|
36
|
-
return await this.client.fetch(`/admin/products/import`, {
|
|
37
|
-
method: "POST",
|
|
38
|
-
headers: {
|
|
39
|
-
...headers,
|
|
40
|
-
// Let the browser determine the content type.
|
|
41
|
-
"content-type": null,
|
|
42
|
-
},
|
|
43
|
-
body: form,
|
|
44
|
-
query,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* This method creates a product import. The products are only imported after
|
|
49
|
-
* the import is confirmed using the {@link confirmImport} method.
|
|
50
|
-
*
|
|
51
|
-
* This method sends a request to the
|
|
52
|
-
* [Create Product Import](https://docs.acmekit.com/api/admin#products_postproductsimports)
|
|
53
|
-
* API route.
|
|
54
|
-
*
|
|
55
|
-
* @since 2.8.5
|
|
56
|
-
*
|
|
57
|
-
* @param body - The import's details.
|
|
58
|
-
* @param query - Query parameters to pass to the request.
|
|
59
|
-
* @param headers - Headers to pass in the request.
|
|
60
|
-
* @returns The import's details.
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* sdk.admin.product.createImport({
|
|
64
|
-
* file // uploaded File instance
|
|
65
|
-
* })
|
|
66
|
-
* .then(({ transaction_id }) => {
|
|
67
|
-
* console.log(transaction_id)
|
|
68
|
-
* })
|
|
69
|
-
*/
|
|
70
|
-
async createImport(body, query, headers) {
|
|
71
|
-
/**
|
|
72
|
-
* Get signed URL for file uploads
|
|
73
|
-
*/
|
|
74
|
-
const response = await this.client.fetch("admin/uploads/presigned-urls", {
|
|
75
|
-
method: "POST",
|
|
76
|
-
headers: headers,
|
|
77
|
-
body: {
|
|
78
|
-
originalname: body.file.name,
|
|
79
|
-
mime_type: body.file.type,
|
|
80
|
-
size: body.file.size,
|
|
81
|
-
},
|
|
82
|
-
query,
|
|
83
|
-
});
|
|
84
|
-
/**
|
|
85
|
-
* Upload file using the signed URL. We cannot send cookies or any other
|
|
86
|
-
* special headers in this request, since external services like S3 will
|
|
87
|
-
* give a CORS error.
|
|
88
|
-
*/
|
|
89
|
-
if (response.url.startsWith("http://") ||
|
|
90
|
-
response.url.startsWith("https://")) {
|
|
91
|
-
const uploadResponse = await fetch(response.url, {
|
|
92
|
-
method: "PUT",
|
|
93
|
-
body: body.file,
|
|
94
|
-
});
|
|
95
|
-
if (uploadResponse.status >= 400) {
|
|
96
|
-
throw new client_1.FetchError(uploadResponse.statusText, uploadResponse.statusText, uploadResponse.status);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
const form = new FormData();
|
|
101
|
-
form.append("files", body.file);
|
|
102
|
-
const localUploadResponse = await this.client.fetch("admin/uploads", {
|
|
103
|
-
method: "POST",
|
|
104
|
-
headers: {
|
|
105
|
-
...headers,
|
|
106
|
-
// Let the browser determine the content type.
|
|
107
|
-
"content-type": null,
|
|
108
|
-
},
|
|
109
|
-
body: form,
|
|
110
|
-
query,
|
|
111
|
-
});
|
|
112
|
-
response.filename = localUploadResponse.files[0].id;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Perform products import using the uploaded file name
|
|
116
|
-
*/
|
|
117
|
-
return await this.client.fetch("/admin/products/imports", {
|
|
118
|
-
method: "POST",
|
|
119
|
-
headers: {
|
|
120
|
-
...headers,
|
|
121
|
-
},
|
|
122
|
-
body: {
|
|
123
|
-
file_key: response.filename,
|
|
124
|
-
originalname: response.originalname,
|
|
125
|
-
extension: response.extension,
|
|
126
|
-
size: response.size,
|
|
127
|
-
mime_type: response.mime_type,
|
|
128
|
-
},
|
|
129
|
-
query,
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* This method confirms a product import created using the method {@link import}.
|
|
134
|
-
* It sends a request to the
|
|
135
|
-
* [Confirm Product Import](https://docs.acmekit.com/api/admin#products_postproductsimporttransaction_idconfirm)
|
|
136
|
-
* API route.
|
|
137
|
-
*
|
|
138
|
-
* @since 2.8.5
|
|
139
|
-
*
|
|
140
|
-
* @param transactionId - The ID of the transaction of the created product import. This is returned
|
|
141
|
-
* by the API route used to create the product import.
|
|
142
|
-
* @param query - Query parameters to pass in the request.
|
|
143
|
-
* @param headers - Headers to pass in the request.
|
|
144
|
-
*
|
|
145
|
-
* @example
|
|
146
|
-
* sdk.admin.product.confirmImport("transaction_123")
|
|
147
|
-
* .then(() => {
|
|
148
|
-
* console.log("Import confirmed")
|
|
149
|
-
* })
|
|
150
|
-
*/
|
|
151
|
-
async confirmImport(transactionId, query, headers) {
|
|
152
|
-
return await this.client.fetch(`/admin/products/imports/${transactionId}/confirm`, {
|
|
153
|
-
method: "POST",
|
|
154
|
-
headers,
|
|
155
|
-
body: {},
|
|
156
|
-
query,
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* This method starts a product export process to retrieve a CSV of exported products.
|
|
161
|
-
*
|
|
162
|
-
* You'll receive in the response the transaction ID of the workflow generating the CSV file.
|
|
163
|
-
* To check the status of the execution, send a `GET` request to
|
|
164
|
-
* `/admin/workflows-executions/export-products/:transaction-id`.
|
|
165
|
-
*
|
|
166
|
-
* Once the execution finishes successfully, a notification is created for the export.
|
|
167
|
-
* You can retrieve the notifications using the `/admin/notification` API route to
|
|
168
|
-
* retrieve the file's download URL.
|
|
169
|
-
*
|
|
170
|
-
* This method sends a request to the [Export Product](https://docs.acmekit.com/api/admin#products_postproductsexport)
|
|
171
|
-
* API route.
|
|
172
|
-
*
|
|
173
|
-
* @param body - The export's details.
|
|
174
|
-
* @param query - Filters to specify which products to export.
|
|
175
|
-
* @param headers - Headers to pass in the request.
|
|
176
|
-
* @returns The export's details.
|
|
177
|
-
*
|
|
178
|
-
* @example
|
|
179
|
-
* sdk.admin.product.export({})
|
|
180
|
-
* .then(({ transaction_id }) => {
|
|
181
|
-
* console.log(transaction_id)
|
|
182
|
-
* })
|
|
183
|
-
*/
|
|
184
|
-
async export(body, query, headers) {
|
|
185
|
-
return await this.client.fetch(`/admin/products/export`, {
|
|
186
|
-
method: "POST",
|
|
187
|
-
headers,
|
|
188
|
-
body,
|
|
189
|
-
query,
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* This method manages products to create, update, or delete them. It sends a request to the
|
|
194
|
-
* [Manage Products](https://docs.acmekit.com/api/admin#products_postproductsbatch)
|
|
195
|
-
* API route.
|
|
196
|
-
*
|
|
197
|
-
* @param body - The products to create, update, or delete.
|
|
198
|
-
* @param query - Configure the fields to retrieve in the products.
|
|
199
|
-
* @param headers - Headers to pass in the request
|
|
200
|
-
* @returns The batch operations details.
|
|
201
|
-
*
|
|
202
|
-
* @example
|
|
203
|
-
* sdk.admin.product.batch({
|
|
204
|
-
* create: [
|
|
205
|
-
* {
|
|
206
|
-
* title: "Shirt",
|
|
207
|
-
* options: [{
|
|
208
|
-
* title: "Default",
|
|
209
|
-
* values: ["Default Option"]
|
|
210
|
-
* }],
|
|
211
|
-
* variants: [
|
|
212
|
-
* {
|
|
213
|
-
* title: "Default",
|
|
214
|
-
* options: {
|
|
215
|
-
* Default: "Default Option"
|
|
216
|
-
* },
|
|
217
|
-
* prices: []
|
|
218
|
-
* }
|
|
219
|
-
* ]
|
|
220
|
-
* }
|
|
221
|
-
* ],
|
|
222
|
-
* update: [{
|
|
223
|
-
* id: "prod_123",
|
|
224
|
-
* title: "Pants"
|
|
225
|
-
* }],
|
|
226
|
-
* delete: ["prod_321"]
|
|
227
|
-
* })
|
|
228
|
-
* .then(({ created, updated, deleted }) => {
|
|
229
|
-
* console.log(created, updated, deleted)
|
|
230
|
-
* })
|
|
231
|
-
*/
|
|
232
|
-
async batch(body, query, headers) {
|
|
233
|
-
return await this.client.fetch(`/admin/products/batch`, {
|
|
234
|
-
method: "POST",
|
|
235
|
-
headers,
|
|
236
|
-
body,
|
|
237
|
-
query,
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* This method creates a product. It sends a request to the
|
|
242
|
-
* [Create Product](https://docs.acmekit.com/api/admin#products_postproducts)
|
|
243
|
-
* API route.
|
|
244
|
-
*
|
|
245
|
-
* @param body - The product's details.
|
|
246
|
-
* @param query - Configure the fields to retrieve in the product.
|
|
247
|
-
* @param headers - Headers to pass in the request
|
|
248
|
-
* @returns The product's details.
|
|
249
|
-
*
|
|
250
|
-
* @example
|
|
251
|
-
* sdk.admin.product.create({
|
|
252
|
-
* title: "Shirt",
|
|
253
|
-
* options: [{
|
|
254
|
-
* title: "Default",
|
|
255
|
-
* values: ["Default Option"]
|
|
256
|
-
* }],
|
|
257
|
-
* variants: [
|
|
258
|
-
* {
|
|
259
|
-
* title: "Default",
|
|
260
|
-
* options: {
|
|
261
|
-
* Default: "Default Option"
|
|
262
|
-
* },
|
|
263
|
-
* prices: []
|
|
264
|
-
* }
|
|
265
|
-
* ],
|
|
266
|
-
* shipping_profile_id: "sp_123"
|
|
267
|
-
* })
|
|
268
|
-
* .then(({ product }) => {
|
|
269
|
-
* console.log(product)
|
|
270
|
-
* })
|
|
271
|
-
*/
|
|
272
|
-
async create(body, query, headers) {
|
|
273
|
-
return await this.client.fetch(`/admin/products`, {
|
|
274
|
-
method: "POST",
|
|
275
|
-
headers,
|
|
276
|
-
body,
|
|
277
|
-
query,
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* This method updates a product. It sends a request to the
|
|
282
|
-
* [Update Product](https://docs.acmekit.com/api/admin#products_postproductsid)
|
|
283
|
-
* API route.
|
|
284
|
-
*
|
|
285
|
-
* @param id - The product's ID.
|
|
286
|
-
* @param body - The data to update in the product.
|
|
287
|
-
* @param query - Configure the fields to retrieve in the product.
|
|
288
|
-
* @param headers - Headers to pass in the request
|
|
289
|
-
* @returns The product's details.
|
|
290
|
-
*
|
|
291
|
-
* @example
|
|
292
|
-
* sdk.admin.product.update("prod_123", {
|
|
293
|
-
* title: "Shirt",
|
|
294
|
-
* })
|
|
295
|
-
* .then(({ product }) => {
|
|
296
|
-
* console.log(product)
|
|
297
|
-
* })
|
|
298
|
-
*/
|
|
299
|
-
async update(id, body, query, headers) {
|
|
300
|
-
return await this.client.fetch(`/admin/products/${id}`, {
|
|
301
|
-
method: "POST",
|
|
302
|
-
headers,
|
|
303
|
-
body,
|
|
304
|
-
query,
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* This method retrieves a paginated list of products. It sends a request to the
|
|
309
|
-
* [List Products](https://docs.acmekit.com/api/admin#products_getproducts) API route.
|
|
310
|
-
*
|
|
311
|
-
* @param queryParams - Filters and pagination configurations.
|
|
312
|
-
* @param headers - Headers to pass in the request.
|
|
313
|
-
* @returns The paginated list of products.
|
|
314
|
-
*
|
|
315
|
-
* @example
|
|
316
|
-
* To retrieve the list of products:
|
|
317
|
-
*
|
|
318
|
-
* ```ts
|
|
319
|
-
* sdk.admin.product.list()
|
|
320
|
-
* .then(({ products, count, limit, offset }) => {
|
|
321
|
-
* console.log(products)
|
|
322
|
-
* })
|
|
323
|
-
* ```
|
|
324
|
-
*
|
|
325
|
-
* To configure the pagination, pass the `limit` and `offset` query parameters.
|
|
326
|
-
*
|
|
327
|
-
* For example, to retrieve only 10 items and skip 10 items:
|
|
328
|
-
*
|
|
329
|
-
* ```ts
|
|
330
|
-
* sdk.admin.product.list({
|
|
331
|
-
* limit: 10,
|
|
332
|
-
* offset: 10
|
|
333
|
-
* })
|
|
334
|
-
* .then(({ products, count, limit, offset }) => {
|
|
335
|
-
* console.log(products)
|
|
336
|
-
* })
|
|
337
|
-
* ```
|
|
338
|
-
*
|
|
339
|
-
* Using the `fields` query parameter, you can specify the fields and relations to retrieve
|
|
340
|
-
* in each products:
|
|
341
|
-
*
|
|
342
|
-
* ```ts
|
|
343
|
-
* sdk.admin.product.list({
|
|
344
|
-
* fields: "id,*variants"
|
|
345
|
-
* })
|
|
346
|
-
* .then(({ products, count, limit, offset }) => {
|
|
347
|
-
* console.log(products)
|
|
348
|
-
* })
|
|
349
|
-
* ```
|
|
350
|
-
*
|
|
351
|
-
* Learn more about the `fields` property in the [API reference](https://docs.acmekit.com/api/store#select-fields-and-relations).
|
|
352
|
-
*/
|
|
353
|
-
async list(queryParams, headers) {
|
|
354
|
-
return await this.client.fetch(`/admin/products`, {
|
|
355
|
-
headers,
|
|
356
|
-
query: queryParams,
|
|
357
|
-
});
|
|
358
|
-
}
|
|
359
|
-
/**
|
|
360
|
-
* This method retrieves a product by its ID. It sends a request to the
|
|
361
|
-
* [Get Product](https://docs.acmekit.com/api/admin#products_getproductsid)
|
|
362
|
-
* API route.
|
|
363
|
-
*
|
|
364
|
-
* @param id - The product's ID.
|
|
365
|
-
* @param query - Configure the fields to retrieve in the product.
|
|
366
|
-
* @param headers - Headers to pass in the request
|
|
367
|
-
* @returns The product's details.
|
|
368
|
-
*
|
|
369
|
-
* @example
|
|
370
|
-
* To retrieve a product by its ID:
|
|
371
|
-
*
|
|
372
|
-
* ```ts
|
|
373
|
-
* sdk.admin.product.retrieve("prod_123")
|
|
374
|
-
* .then(({ product }) => {
|
|
375
|
-
* console.log(product)
|
|
376
|
-
* })
|
|
377
|
-
* ```
|
|
378
|
-
*
|
|
379
|
-
* To specify the fields and relations to retrieve:
|
|
380
|
-
*
|
|
381
|
-
* ```ts
|
|
382
|
-
* sdk.admin.product.retrieve("prod_123", {
|
|
383
|
-
* fields: "id,*variants"
|
|
384
|
-
* })
|
|
385
|
-
* .then(({ product }) => {
|
|
386
|
-
* console.log(product)
|
|
387
|
-
* })
|
|
388
|
-
* ```
|
|
389
|
-
*
|
|
390
|
-
* Learn more about the `fields` property in the [API reference](https://docs.acmekit.com/api/store#select-fields-and-relations).
|
|
391
|
-
*/
|
|
392
|
-
async retrieve(id, query, headers) {
|
|
393
|
-
return await this.client.fetch(`/admin/products/${id}`, {
|
|
394
|
-
query,
|
|
395
|
-
headers,
|
|
396
|
-
});
|
|
397
|
-
}
|
|
398
|
-
/**
|
|
399
|
-
* This method deletes a product. It sends a request to the
|
|
400
|
-
* [Delete Product](https://docs.acmekit.com/api/admin#products_deleteproductsid)
|
|
401
|
-
* API route.
|
|
402
|
-
*
|
|
403
|
-
* @param id - The product's ID.
|
|
404
|
-
* @param headers - Headers to pass in the request
|
|
405
|
-
* @returns The deletion's details.
|
|
406
|
-
*
|
|
407
|
-
* @example
|
|
408
|
-
* sdk.admin.product.delete("prod_123")
|
|
409
|
-
* .then(({ deleted }) => {
|
|
410
|
-
* console.log(deleted)
|
|
411
|
-
* })
|
|
412
|
-
*/
|
|
413
|
-
async delete(id, headers) {
|
|
414
|
-
return await this.client.fetch(`/admin/products/${id}`, {
|
|
415
|
-
method: "DELETE",
|
|
416
|
-
headers,
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
/**
|
|
420
|
-
* This method manages the variants of a product. It sends a request to the
|
|
421
|
-
* [Manage Variants](https://docs.acmekit.com/api/admin#products_postproductsidvariantsbatch)
|
|
422
|
-
* API route.
|
|
423
|
-
*
|
|
424
|
-
* @param productId - The product's ID.
|
|
425
|
-
* @param body - The variants to create, update, or delete.
|
|
426
|
-
* @param query - Configure the fields to retrieve in the product variants.
|
|
427
|
-
* @param headers - Headers to pass in the request
|
|
428
|
-
* @returns The product variants' details.
|
|
429
|
-
*
|
|
430
|
-
* @example
|
|
431
|
-
* sdk.admin.product.batchVariants("prod_123", {
|
|
432
|
-
* create: [
|
|
433
|
-
* {
|
|
434
|
-
* title: "Blue Shirt",
|
|
435
|
-
* options: {
|
|
436
|
-
* Color: "Blue"
|
|
437
|
-
* },
|
|
438
|
-
* prices: []
|
|
439
|
-
* }
|
|
440
|
-
* ],
|
|
441
|
-
* update: [
|
|
442
|
-
* {
|
|
443
|
-
* id: "variant_123",
|
|
444
|
-
* title: "Pants"
|
|
445
|
-
* }
|
|
446
|
-
* ],
|
|
447
|
-
* delete: ["variant_123"]
|
|
448
|
-
* })
|
|
449
|
-
* .then(({ created, updated, deleted }) => {
|
|
450
|
-
* console.log(created, updated, deleted)
|
|
451
|
-
* })
|
|
452
|
-
*/
|
|
453
|
-
async batchVariants(productId, body, query, headers) {
|
|
454
|
-
return await this.client.fetch(`/admin/products/${productId}/variants/batch`, {
|
|
455
|
-
method: "POST",
|
|
456
|
-
headers,
|
|
457
|
-
body,
|
|
458
|
-
query,
|
|
459
|
-
});
|
|
460
|
-
}
|
|
461
|
-
/**
|
|
462
|
-
* This method creates a variant for a product. It sends a request to the
|
|
463
|
-
* [Create Variant](https://docs.acmekit.com/api/admin#products_postproductsidvariants)
|
|
464
|
-
* API route.
|
|
465
|
-
*
|
|
466
|
-
* @param productId - The product's ID.
|
|
467
|
-
* @param body - The variant's details.
|
|
468
|
-
* @param query - Configure the fields to retrieve in the product.
|
|
469
|
-
* @param headers - Headers to pass in the request
|
|
470
|
-
* @returns The product's details.
|
|
471
|
-
*
|
|
472
|
-
* @example
|
|
473
|
-
* sdk.admin.product.createVariant("prod_123", {
|
|
474
|
-
* title: "Blue Shirt",
|
|
475
|
-
* options: {
|
|
476
|
-
* Color: "Blue"
|
|
477
|
-
* },
|
|
478
|
-
* prices: [
|
|
479
|
-
* {
|
|
480
|
-
* amount: 10,
|
|
481
|
-
* currency_code: "usd"
|
|
482
|
-
* }
|
|
483
|
-
* ]
|
|
484
|
-
* })
|
|
485
|
-
* .then(({ product }) => {
|
|
486
|
-
* console.log(product)
|
|
487
|
-
* })
|
|
488
|
-
*/
|
|
489
|
-
async createVariant(productId, body, query, headers) {
|
|
490
|
-
return await this.client.fetch(`/admin/products/${productId}/variants`, {
|
|
491
|
-
method: "POST",
|
|
492
|
-
headers,
|
|
493
|
-
body,
|
|
494
|
-
query,
|
|
495
|
-
});
|
|
496
|
-
}
|
|
497
|
-
/**
|
|
498
|
-
* This method updates a variant of a product. It sends a request to the
|
|
499
|
-
* [Update Variant](https://docs.acmekit.com/api/admin#products_postproductsidvariantsvariant_id)
|
|
500
|
-
* API route.
|
|
501
|
-
*
|
|
502
|
-
* @param productId - The product's ID.
|
|
503
|
-
* @param id - The variant's ID.
|
|
504
|
-
* @param body - The data to update in the variant.
|
|
505
|
-
* @param query - Configure the fields to retrieve in the product.
|
|
506
|
-
* @param headers - Headers to pass in the request
|
|
507
|
-
* @returns The product's details.
|
|
508
|
-
*
|
|
509
|
-
* @example
|
|
510
|
-
* sdk.admin.product.updateVariant(
|
|
511
|
-
* "prod_123",
|
|
512
|
-
* "variant_123",
|
|
513
|
-
* {
|
|
514
|
-
* title: "Blue Shirt",
|
|
515
|
-
* }
|
|
516
|
-
* )
|
|
517
|
-
* .then(({ product }) => {
|
|
518
|
-
* console.log(product)
|
|
519
|
-
* })
|
|
520
|
-
*/
|
|
521
|
-
async updateVariant(productId, id, body, query, headers) {
|
|
522
|
-
return await this.client.fetch(`/admin/products/${productId}/variants/${id}`, {
|
|
523
|
-
method: "POST",
|
|
524
|
-
headers,
|
|
525
|
-
body,
|
|
526
|
-
query,
|
|
527
|
-
});
|
|
528
|
-
}
|
|
529
|
-
/**
|
|
530
|
-
* This method retrieves a paginated list of products. It sends a request to the
|
|
531
|
-
* [List Products](https://docs.acmekit.com/api/admin#products_getproductsidvariants) API route.
|
|
532
|
-
*
|
|
533
|
-
* @param productId - The ID of the product to retrieve its variants.
|
|
534
|
-
* @param query - Filters and pagination configurations.
|
|
535
|
-
* @param headers - Headers to pass in the request.
|
|
536
|
-
* @returns The paginated list of product variants.
|
|
537
|
-
*
|
|
538
|
-
* @example
|
|
539
|
-
* To retrieve the list of product variants:
|
|
540
|
-
*
|
|
541
|
-
* ```ts
|
|
542
|
-
* sdk.admin.product.listVariants("prod_123")
|
|
543
|
-
* .then(({ variants, count, limit, offset }) => {
|
|
544
|
-
* console.log(variants)
|
|
545
|
-
* })
|
|
546
|
-
* ```
|
|
547
|
-
*
|
|
548
|
-
* To configure the pagination, pass the `limit` and `offset` query parameters.
|
|
549
|
-
*
|
|
550
|
-
* For example, to retrieve only 10 items and skip 10 items:
|
|
551
|
-
*
|
|
552
|
-
* ```ts
|
|
553
|
-
* sdk.admin.product.listVariants("prod_123", {
|
|
554
|
-
* limit: 10,
|
|
555
|
-
* offset: 10
|
|
556
|
-
* })
|
|
557
|
-
* .then(({ variants, count, limit, offset }) => {
|
|
558
|
-
* console.log(variants)
|
|
559
|
-
* })
|
|
560
|
-
* ```
|
|
561
|
-
*
|
|
562
|
-
* Using the `fields` query parameter, you can specify the fields and relations to retrieve
|
|
563
|
-
* in each product variant:
|
|
564
|
-
*
|
|
565
|
-
* ```ts
|
|
566
|
-
* sdk.admin.product.listVariants("prod_123", {
|
|
567
|
-
* fields: "id,*product"
|
|
568
|
-
* })
|
|
569
|
-
* .then(({ variants, count, limit, offset }) => {
|
|
570
|
-
* console.log(variants)
|
|
571
|
-
* })
|
|
572
|
-
* ```
|
|
573
|
-
*
|
|
574
|
-
* Learn more about the `fields` property in the [API reference](https://docs.acmekit.com/api/store#select-fields-and-relations).
|
|
575
|
-
*/
|
|
576
|
-
async listVariants(productId, query, headers) {
|
|
577
|
-
return await this.client.fetch(`/admin/products/${productId}/variants`, {
|
|
578
|
-
headers,
|
|
579
|
-
query,
|
|
580
|
-
});
|
|
581
|
-
}
|
|
582
|
-
/**
|
|
583
|
-
* This method retrieves a product's variant. It sends a request to the
|
|
584
|
-
* [Retrieve Variant](https://docs.acmekit.com/api/admin#products_getproductsidvariantsvariant_id)
|
|
585
|
-
* API route.
|
|
586
|
-
*
|
|
587
|
-
* @param productId - The product's ID.
|
|
588
|
-
* @param id - The variant's ID.
|
|
589
|
-
* @param query - Configure the fields to retrieve in the product variant.
|
|
590
|
-
* @param headers - Headers to pass in the request
|
|
591
|
-
* @returns The product variant's details.
|
|
592
|
-
*
|
|
593
|
-
* @example
|
|
594
|
-
* To retrieve a product variant by its ID:
|
|
595
|
-
*
|
|
596
|
-
* ```ts
|
|
597
|
-
* sdk.admin.product.retrieveVariant(
|
|
598
|
-
* "prod_123",
|
|
599
|
-
* "variant_123"
|
|
600
|
-
* )
|
|
601
|
-
* .then(({ variant }) => {
|
|
602
|
-
* console.log(variant)
|
|
603
|
-
* })
|
|
604
|
-
* ```
|
|
605
|
-
*
|
|
606
|
-
* To specify the fields and relations to retrieve:
|
|
607
|
-
*
|
|
608
|
-
* ```ts
|
|
609
|
-
* sdk.admin.product.retrieveVariant(
|
|
610
|
-
* "prod_123",
|
|
611
|
-
* "variant_123",
|
|
612
|
-
* {
|
|
613
|
-
* fields: "id, *product"
|
|
614
|
-
* }
|
|
615
|
-
* )
|
|
616
|
-
* .then(({ variant }) => {
|
|
617
|
-
* console.log(variant)
|
|
618
|
-
* })
|
|
619
|
-
* ```
|
|
620
|
-
*
|
|
621
|
-
* Learn more about the `fields` property in the [API reference](https://docs.acmekit.com/api/store#select-fields-and-relations).
|
|
622
|
-
*/
|
|
623
|
-
async retrieveVariant(productId, id, query, headers) {
|
|
624
|
-
return await this.client.fetch(`/admin/products/${productId}/variants/${id}`, {
|
|
625
|
-
query,
|
|
626
|
-
headers,
|
|
627
|
-
});
|
|
628
|
-
}
|
|
629
|
-
/**
|
|
630
|
-
* This method deletes a product's variant. It sends a request to the
|
|
631
|
-
* [Delete Variant](https://docs.acmekit.com/api/admin#products_deleteproductsidvariantsvariant_id)
|
|
632
|
-
* API route.
|
|
633
|
-
*
|
|
634
|
-
* @param productId - The product's ID.
|
|
635
|
-
* @param id - The ID of the variant.
|
|
636
|
-
* @param headers - Headers to pass in the request
|
|
637
|
-
* @returns The deletion's details.
|
|
638
|
-
*
|
|
639
|
-
* @example
|
|
640
|
-
* sdk.admin.product.deleteVariant("prod_123", "variant_123")
|
|
641
|
-
* .then(({ deleted }) => {
|
|
642
|
-
* console.log(deleted)
|
|
643
|
-
* })
|
|
644
|
-
*/
|
|
645
|
-
async deleteVariant(productId, id, headers) {
|
|
646
|
-
return await this.client.fetch(`/admin/products/${productId}/variants/${id}`, {
|
|
647
|
-
method: "DELETE",
|
|
648
|
-
headers,
|
|
649
|
-
});
|
|
650
|
-
}
|
|
651
|
-
/**
|
|
652
|
-
* This method manages a product's variant's inventories to associate them with inventory items,
|
|
653
|
-
* update their inventory items, or delete their association with inventory items.
|
|
654
|
-
*
|
|
655
|
-
* It sends a request to the
|
|
656
|
-
* [Manage Variant Inventory](https://docs.acmekit.com/api/admin#products_postproductsidvariantsinventoryitemsbatch)
|
|
657
|
-
* API route.
|
|
658
|
-
*
|
|
659
|
-
* @param productId - The ID of the product that the variant belongs to.
|
|
660
|
-
* @param body - The inventory items to create, update, or delete.
|
|
661
|
-
* @param query - Pass query parameters in the request.
|
|
662
|
-
* @param headers - Headers to pass in the request
|
|
663
|
-
* @returns The details of the created, updated, or deleted inventory items.
|
|
664
|
-
*
|
|
665
|
-
* @example
|
|
666
|
-
* sdk.admin.product.batchVariantInventoryItems(
|
|
667
|
-
* "prod_123",
|
|
668
|
-
* {
|
|
669
|
-
* create: [
|
|
670
|
-
* {
|
|
671
|
-
* inventory_item_id: "iitem_123",
|
|
672
|
-
* variant_id: "variant_123",
|
|
673
|
-
* required_quantity: 10
|
|
674
|
-
* }
|
|
675
|
-
* ],
|
|
676
|
-
* update: [
|
|
677
|
-
* {
|
|
678
|
-
* inventory_item_id: "iitem_1234",
|
|
679
|
-
* variant_id: "variant_1234",
|
|
680
|
-
* required_quantity: 20
|
|
681
|
-
* }
|
|
682
|
-
* ],
|
|
683
|
-
* delete: [
|
|
684
|
-
* {
|
|
685
|
-
* inventory_item_id: "iitem_321",
|
|
686
|
-
* variant_id: "variant_321"
|
|
687
|
-
* }
|
|
688
|
-
* ]
|
|
689
|
-
* }
|
|
690
|
-
* )
|
|
691
|
-
* .then(({ created, updated, deleted }) => {
|
|
692
|
-
* console.log(created, updated, deleted)
|
|
693
|
-
* })
|
|
694
|
-
*/
|
|
695
|
-
async batchVariantInventoryItems(productId, body, query, headers) {
|
|
696
|
-
return await this.client.fetch(`/admin/products/${productId}/variants/inventory-items/batch`, {
|
|
697
|
-
method: "POST",
|
|
698
|
-
headers,
|
|
699
|
-
body,
|
|
700
|
-
query,
|
|
701
|
-
});
|
|
702
|
-
}
|
|
703
|
-
/**
|
|
704
|
-
* This method creates an option in a product. It sends a request to the
|
|
705
|
-
* [Create Option](https://docs.acmekit.com/api/admin#products_postproductsidoptions)
|
|
706
|
-
* API route.
|
|
707
|
-
*
|
|
708
|
-
* @param productId - The product's ID.
|
|
709
|
-
* @param body - The option's details.
|
|
710
|
-
* @param query - Configure the fields to retrieve in the product.
|
|
711
|
-
* @param headers - Headers to pass in the request
|
|
712
|
-
* @returns The product's details.
|
|
713
|
-
*
|
|
714
|
-
* @example
|
|
715
|
-
* sdk.admin.product.createOption(
|
|
716
|
-
* "prod_123",
|
|
717
|
-
* {
|
|
718
|
-
* title: "Color",
|
|
719
|
-
* values: ["Green", "Blue"]
|
|
720
|
-
* }
|
|
721
|
-
* )
|
|
722
|
-
* .then(({ product }) => {
|
|
723
|
-
* console.log(product)
|
|
724
|
-
* })
|
|
725
|
-
*/
|
|
726
|
-
async createOption(productId, body, query, headers) {
|
|
727
|
-
return await this.client.fetch(`/admin/products/${productId}/options`, {
|
|
728
|
-
method: "POST",
|
|
729
|
-
headers,
|
|
730
|
-
body,
|
|
731
|
-
query,
|
|
732
|
-
});
|
|
733
|
-
}
|
|
734
|
-
/**
|
|
735
|
-
* This method updates a product's option. It sends a request to the
|
|
736
|
-
* [Update Option](https://docs.acmekit.com/api/admin#products_postproductsidoptionsoption_id)
|
|
737
|
-
* API route.
|
|
738
|
-
*
|
|
739
|
-
* @param productId - The product's ID.
|
|
740
|
-
* @param id - The ID of the option to update.
|
|
741
|
-
* @param body - The data to update in the option.
|
|
742
|
-
* @param query - Configure the fields to retrieve in the product.
|
|
743
|
-
* @param headers - Headers to pass in the request
|
|
744
|
-
* @returns The product's details.
|
|
745
|
-
*
|
|
746
|
-
* @example
|
|
747
|
-
* sdk.admin.product.updateOption(
|
|
748
|
-
* "prod_123",
|
|
749
|
-
* "prodopt_123",
|
|
750
|
-
* {
|
|
751
|
-
* title: "Color"
|
|
752
|
-
* }
|
|
753
|
-
* )
|
|
754
|
-
* .then(({ product }) => {
|
|
755
|
-
* console.log(product)
|
|
756
|
-
* })
|
|
757
|
-
*/
|
|
758
|
-
async updateOption(productId, id, body, query, headers) {
|
|
759
|
-
return await this.client.fetch(`/admin/products/${productId}/options/${id}`, {
|
|
760
|
-
method: "POST",
|
|
761
|
-
headers,
|
|
762
|
-
body,
|
|
763
|
-
query,
|
|
764
|
-
});
|
|
765
|
-
}
|
|
766
|
-
/**
|
|
767
|
-
* This method retrieves a paginated list of product options. It sends a request to the
|
|
768
|
-
* [List Options](https://docs.acmekit.com/api/admin#products_getproductsidoptions) API route.
|
|
769
|
-
*
|
|
770
|
-
* @param productId - The ID of the product to retrieve its options
|
|
771
|
-
* @param query - Filters and pagination configurations.
|
|
772
|
-
* @param headers - Headers to pass in the request.
|
|
773
|
-
* @returns The paginated list of product options.
|
|
774
|
-
*
|
|
775
|
-
* @example
|
|
776
|
-
* To retrieve the list of product options:
|
|
777
|
-
*
|
|
778
|
-
* ```ts
|
|
779
|
-
* sdk.admin.product.listOptions("prod_123")
|
|
780
|
-
* .then(({ product_options, count, limit, offset }) => {
|
|
781
|
-
* console.log(product_options)
|
|
782
|
-
* })
|
|
783
|
-
* ```
|
|
784
|
-
*
|
|
785
|
-
* To configure the pagination, pass the `limit` and `offset` query parameters.
|
|
786
|
-
*
|
|
787
|
-
* For example, to retrieve only 10 items and skip 10 items:
|
|
788
|
-
*
|
|
789
|
-
* ```ts
|
|
790
|
-
* sdk.admin.product.listOptions("prod_123", {
|
|
791
|
-
* limit: 10,
|
|
792
|
-
* offset: 10
|
|
793
|
-
* })
|
|
794
|
-
* .then(({ product_options, count, limit, offset }) => {
|
|
795
|
-
* console.log(product_options)
|
|
796
|
-
* })
|
|
797
|
-
* ```
|
|
798
|
-
*
|
|
799
|
-
* Using the `fields` query parameter, you can specify the fields and relations to retrieve
|
|
800
|
-
* in each product options:
|
|
801
|
-
*
|
|
802
|
-
* ```ts
|
|
803
|
-
* sdk.admin.product.listOptions("prod_123", {
|
|
804
|
-
* fields: "id,title"
|
|
805
|
-
* })
|
|
806
|
-
* .then(({ product_options, count, limit, offset }) => {
|
|
807
|
-
* console.log(product_options)
|
|
808
|
-
* })
|
|
809
|
-
* ```
|
|
810
|
-
*
|
|
811
|
-
* Learn more about the `fields` property in the [API reference](https://docs.acmekit.com/api/store#select-fields-and-relations).
|
|
812
|
-
*/
|
|
813
|
-
async listOptions(productId, query, headers) {
|
|
814
|
-
return await this.client.fetch(`/admin/products/${productId}/options`, {
|
|
815
|
-
headers,
|
|
816
|
-
query,
|
|
817
|
-
});
|
|
818
|
-
}
|
|
819
|
-
/**
|
|
820
|
-
* This method retrieves a product's option. It sends a request to the
|
|
821
|
-
* [Get Option](https://docs.acmekit.com/api/admin#products_getproductsidoptionsoption_id)
|
|
822
|
-
* API route.
|
|
823
|
-
*
|
|
824
|
-
* @param productId - The product's ID.
|
|
825
|
-
* @param id - The product option's ID.
|
|
826
|
-
* @param query - Configure the fields to retrieve in the product option.
|
|
827
|
-
* @param headers - Headers to pass in the request
|
|
828
|
-
* @returns The product option's details.
|
|
829
|
-
*
|
|
830
|
-
* @example
|
|
831
|
-
* To retrieve a product option by its ID:
|
|
832
|
-
*
|
|
833
|
-
* ```ts
|
|
834
|
-
* sdk.admin.product.retrieveOption(
|
|
835
|
-
* "prod_123",
|
|
836
|
-
* "prodopt_123"
|
|
837
|
-
* )
|
|
838
|
-
* .then(({ product_option }) => {
|
|
839
|
-
* console.log(product_option)
|
|
840
|
-
* })
|
|
841
|
-
* ```
|
|
842
|
-
*
|
|
843
|
-
* To specify the fields and relations to retrieve:
|
|
844
|
-
*
|
|
845
|
-
* ```ts
|
|
846
|
-
* sdk.admin.product.retrieveOption(
|
|
847
|
-
* "prod_123",
|
|
848
|
-
* "prodopt_123",
|
|
849
|
-
* {
|
|
850
|
-
* fields: "id,title"
|
|
851
|
-
* }
|
|
852
|
-
* )
|
|
853
|
-
* .then(({ product_option }) => {
|
|
854
|
-
* console.log(product_option)
|
|
855
|
-
* })
|
|
856
|
-
* ```
|
|
857
|
-
*
|
|
858
|
-
* Learn more about the `fields` property in the [API reference](https://docs.acmekit.com/api/store#select-fields-and-relations).
|
|
859
|
-
*/
|
|
860
|
-
async retrieveOption(productId, id, query, headers) {
|
|
861
|
-
return await this.client.fetch(`/admin/products/${productId}/options/${id}`, {
|
|
862
|
-
query,
|
|
863
|
-
headers,
|
|
864
|
-
});
|
|
865
|
-
}
|
|
866
|
-
/**
|
|
867
|
-
* This method deletes a product's option. It sends a request to the
|
|
868
|
-
* [Delete Option](https://docs.acmekit.com/api/admin#products_deleteproductsidoptionsoption_id)
|
|
869
|
-
* API route.
|
|
870
|
-
*
|
|
871
|
-
* @param productId - The product's ID.
|
|
872
|
-
* @param id - The option's ID.
|
|
873
|
-
* @param headers - Headers to pass in the request
|
|
874
|
-
* @returns The deletion's details.
|
|
875
|
-
*
|
|
876
|
-
* @example
|
|
877
|
-
* sdk.admin.product.deleteOption("prod_123", "prodopt_123")
|
|
878
|
-
* .then(({ deleted }) => {
|
|
879
|
-
* console.log(deleted)
|
|
880
|
-
* })
|
|
881
|
-
*/
|
|
882
|
-
async deleteOption(productId, id, headers) {
|
|
883
|
-
return await this.client.fetch(`/admin/products/${productId}/options/${id}`, {
|
|
884
|
-
method: "DELETE",
|
|
885
|
-
headers,
|
|
886
|
-
});
|
|
887
|
-
}
|
|
888
|
-
/**
|
|
889
|
-
* This method manages image-variant associations for a specific image. It sends a request to the
|
|
890
|
-
* [Batch Image Variants](https://docs.acmekit.com/api/admin#products_postproductsidimagesimage_idvariantsbatch)
|
|
891
|
-
* API route.
|
|
892
|
-
*
|
|
893
|
-
* @since 2.11.2
|
|
894
|
-
*
|
|
895
|
-
* @param productId - The product's ID.
|
|
896
|
-
* @param imageId - The image's ID.
|
|
897
|
-
* @param body - The variants to add or remove from the image.
|
|
898
|
-
* @param headers - Headers to pass in the request
|
|
899
|
-
* @returns The batch operation details.
|
|
900
|
-
*
|
|
901
|
-
* @example
|
|
902
|
-
* sdk.admin.product.batchImageVariants("prod_123", "img_123", {
|
|
903
|
-
* add: ["variant_123", "variant_456"],
|
|
904
|
-
* remove: ["variant_789"]
|
|
905
|
-
* })
|
|
906
|
-
* .then(({ added, removed }) => {
|
|
907
|
-
* console.log(added, removed)
|
|
908
|
-
* })
|
|
909
|
-
*/
|
|
910
|
-
async batchImageVariants(productId, imageId, body, headers) {
|
|
911
|
-
return await this.client.fetch(`/admin/products/${productId}/images/${imageId}/variants/batch`, {
|
|
912
|
-
method: "POST",
|
|
913
|
-
headers,
|
|
914
|
-
body,
|
|
915
|
-
});
|
|
916
|
-
}
|
|
917
|
-
/**
|
|
918
|
-
* This method manages variant-image associations for a specific variant. It sends a request to the
|
|
919
|
-
* [Batch Variant Images](https://docs.acmekit.com/api/admin#products_postproductsidvariantsvariant_idimagesbatch)
|
|
920
|
-
* API route.
|
|
921
|
-
*
|
|
922
|
-
* @since 2.11.2
|
|
923
|
-
*
|
|
924
|
-
* @param productId - The product's ID.
|
|
925
|
-
* @param variantId - The variant's ID.
|
|
926
|
-
* @param body - The images to add or remove from the variant.
|
|
927
|
-
* @param headers - Headers to pass in the request
|
|
928
|
-
* @returns The batch operation details.
|
|
929
|
-
*
|
|
930
|
-
* @example
|
|
931
|
-
* sdk.admin.product.batchVariantImages("prod_123", "variant_123", {
|
|
932
|
-
* add: ["img_123", "img_456"],
|
|
933
|
-
* remove: ["img_789"]
|
|
934
|
-
* })
|
|
935
|
-
* .then(({ added, removed }) => {
|
|
936
|
-
* console.log(added, removed)
|
|
937
|
-
* })
|
|
938
|
-
*/
|
|
939
|
-
async batchVariantImages(productId, variantId, body, headers) {
|
|
940
|
-
return await this.client.fetch(`/admin/products/${productId}/variants/${variantId}/images/batch`, {
|
|
941
|
-
method: "POST",
|
|
942
|
-
headers,
|
|
943
|
-
body,
|
|
944
|
-
});
|
|
945
|
-
}
|
|
946
|
-
}
|
|
947
|
-
exports.Product = Product;
|
|
948
|
-
//# sourceMappingURL=product.js.map
|