Skapa en paketprodukt och tilldela de enkla produkterna som alternativ
Skapa en paketprodukt genom att skicka följande POST.
Innan du skickar begäran ska du uppdatera exemplet med värden för miljön.
- Ändra
"attribute_set_id": 4,och ersätt4med attributuppsättnings-ID:t från din miljö.
curl --location '{{your.url.here}}/rest/default/V1/products' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: private_content_version=41d94540f5bd8b691017a850bc3b82b3' \
--data '{
"product": {
"sku": "beginner-surfboard",
"name": "Beginner Surfboard",
"attribute_set_id": 4,
"status": 1,
"visibility": 4,
"type_id": "bundle",
"extension_attributes": {
"stock_item": {
"qty": 100,
"is_in_stock":true
},
"bundle_product_options": [
{
"option_id": 0,
"position": 1,
"sku": "surfboard-essentials",
"title": "Beginners 10ft Surfboard",
"type": "checkbox",
"required": true,
"product_links": [
{
"sku": "10-ft-beginner-surfboard",
"option_id": 1,
"qty": 1,
"position": 1,
"is_default": false,
"price": 100,
"price_type": 0,
"can_change_quantity": 0
}
]
},
{
"option_id": 1,
"position": 2,
"sku": "surboard-leash",
"title": "Surfboard leash",
"type": "checkbox",
"required": true,
"product_links": [
{
"sku": "8-ft-surboard-leash",
"option_id": 2,
"qty": 1,
"position": 1,
"is_default": false,
"price": 50,
"price_type": 0,
"can_change_quantity": 0
}
]
},
{
"option_id": 3,
"position": 2,
"sku": "surfboard-color",
"title": "Choose a color for the fins and fin plugs",
"type": "radio",
"required": true,
"product_links": [
{
"sku": "red-fins-and-fin-plugs",
"option_id": 2,
"qty": 1,
"position": 1,
"is_default": false,
"price": 0,
"price_type": 0,
"can_change_quantity": 0
},
{
"sku": "blue-fins-and-fin-plugs",
"option_id": 2,
"qty": 1,
"position": 2,
"is_default": false,
"price": 0,
"price_type": 0,
"can_change_quantity": 0
},
{
"sku": "yellow-fins-and-fin-plugs",
"option_id": 3,
"qty": 1,
"position": 3,
"is_default": false,
"price": 0,
"price_type": 0,
"can_change_quantity": 0
}
]
}
]
},
"custom_attributes": [
{
"attribute_code": "price_view",
"value": "0"
}
]
},
"saveOptions": true
}
'
Ta bort ett alternativ från en paketprodukt
Ta bort en underordnad produkt från en paketprodukt utan att ta bort produkten från katalogen genom att skicka följande DELETE-begäran med cURL.
curl --location --request DELETE '{{your.url.here}}/rest/default/V1/bundle-products/beginner-surfboard/options/35/children/blue-fins-and-fin-plugs' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: private_content_version=41d94540f5bd8b691017a850bc3b82b3'
Återställ produktalternativ
När du uppdaterar alternativ för paketprodukter måste du ta med alla alternativ som du vill associera med den här produkten. Om den ursprungliga uppsättningen med alternativ innehöll tre produkter och en togs bort, tar du med alla tre alternativen i produktpaketet för att vara säker på att produktpaketet anger alla alternativ. Om du bara tog med det alternativ du tog bort innehåller det uppdaterade produktpaketet bara det alternativet.
Leta reda på alternativ-ID genom att granska svaret från det att paketet skapades för paketprodukten. I det svaret är option_id 35.
...
,
{
"option_id": 35,
"title": "added back color options for fins and fin plugs",
"required": true,
"type": "radio",
"position": 2,
"sku": "beginner-surfboard",
"product_links": [
{
"id": "77",
"sku": "red-fins-and-fin-plugs",
"option_id": 35,
"qty": 1,
"position": 1,
"is_default": false,
"price": 15,
"price_type": null,
"can_change_quantity": 0
},
{
"id": "78",
"sku": "blue-fins-and-fin-plugs",
"option_id": 35,
"qty": 1,
"position": 2,
"is_default": false,
"price": 15,
"price_type": null,
"can_change_quantity": 0
},
{
"id": "79",
"sku": "yellow-fins-and-fin-plugs",
"option_id": 35,
"qty": 1,
"position": 3,
"is_default": false,
"price": 15,
"price_type": null,
"can_change_quantity": 0
}
]
}
...
Uppdatera produktpaketet för att lägga till det alternativ du tog bort genom att skicka följande begäran om POST.
curl --location '{{your.url.here}}/rest/default/V1/bundle-products/options/add' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: private_content_version=41d94540f5bd8b691017a850bc3b82b3' \
--data '{
"option": {
"option_id": 35,
"title": "Choose a color for the fins and fin plugs",
"required": true,
"type": "radio",
"position": 2,
"sku": "beginner-surfboard",
"product_links": [
{
"sku": "red-fins-and-fin-plugs",
"option_id": 35,
"qty": 1,
"position": 1,
"is_default": false,
"price": 0,
"price_type": null,
"can_change_quantity": 0,
"extension_attributes": {}
},
{
"sku": "blue-fins-and-fin-plugs",
"option_id": 35,
"qty": 1,
"position": 2,
"is_default": false,
"price": 0,
"price_type": null,
"can_change_quantity": 0,
"extension_attributes": {}
},
{
"sku": "yellow-fins-and-fin-plugs",
"option_id": 35,
"qty": 1,
"position": 3,
"is_default": false,
"price": 0,
"price_type": null,
"can_change_quantity": 0,
"extension_attributes": {}
}
],
"extension_attributes": {}
}
}'