Subchapter 8.104
references/stores/update-product-pre-order.mdMarkdown6 KBView on GitHub
This recipe outlines the steps to manage pre-orders for product variants, including enabling/disabling pre-orders, setting messages, and configuring limits.
Endpoint: POST https://www.wixapis.com/stores/v3/products/search
{
"search": {
"expression": "Product Name"
}
}Use the productId from the search to get variant information:
Endpoint: POST https://www.wixapis.com/stores/v3/inventory-items/query
{
"query": {
"filter": {
"productId": {
"$in": ["<PRODUCT_ID>"]
}
}
}
}The response includes:
product.variantName - identifies each variantinventoryItemId - needed for updatesrevision - required for update operationslocationId - inventory locationpreorderInfo settingstrackQuantity: true is setUse when applying the same pre-order settings to multiple variants:
Endpoint: POST https://www.wixapis.com/stores/v3/bulk/inventory-items/update
Request Body (Enable Pre-Order):
{
"inventoryItems": [
{
"inventoryItem": {
"id": "<inventoryItemId_variant1>",
"revision": "<revision_as_integer>",
"preorderInfo": {
"enabled": true,
"message": "Available for pre-order! Ships in 2 weeks."
}
}
},
{
"inventoryItem": {
"id": "<inventoryItemId_variant2>",
"revision": "<revision_as_integer>",
"preorderInfo": {
"enabled": true,
"message": "Available for pre-order! Ships in 2 weeks."
}
}
}
],
"returnEntity": true,
"reason": "MANUAL"
}Request Body (With Pre-Order Limit):
{
"inventoryItems": [
{
"inventoryItem": {
"id": "<inventoryItemId>",
"revision": "<revision_as_integer>",
"trackQuantity": true,
"quantity": 100,
"preorderInfo": {
"enabled": true,
"message": "Pre-order now!",
"limit": 50
}
}
}
],
"returnEntity": true,
"reason": "MANUAL"
}trackQuantity: truerevision field is required and must be an integerEndpoint: PATCH https://www.wixapis.com/stores/v3/inventory-items/{inventoryItemId}
Request Body (Enable Pre-Order):
{
"inventoryItem": {
"id": "<inventoryItemId>",
"revision": "<revision_as_integer>",
"preorderInfo": {
"enabled": true,
"message": "Coming soon! Pre-order today."
}
},
"reason": "MANUAL"
}Request Body (Disable Pre-Order):
{
"inventoryItem": {
"id": "<inventoryItemId>",
"revision": "<revision_as_integer>",
"preorderInfo": {
"enabled": false,
"limit": null
}
},
"reason": "MANUAL"
}When you set a preorderInfo.limit:
If setting a limit on a variant that wasn’t tracking quantity:
trackQuantity will be enabled for this variant”{
"inventoryItem": {
"id": "<inventoryItemId>",
"revision": "<revision_as_integer>",
"trackQuantity": true,
"quantity": "<USER_PROVIDED_QUANTITY>",
"preorderInfo": {
"enabled": true,
"message": "Pre-order message",
"limit": 50
}
},
"reason": "MANUAL"
}After updating pre-order settings: