Criar um produto agrupado
Criado para:
- Iniciante
- Desenvolvedor
- Usuário
Um produto agrupado consiste em produtos simples independentes que são apresentados como um grupo. Você pode oferecer variações de um único produto ou agrupá-las por temporada ou tema. Antes de criar um produto agrupado, verifique se todos os produtos simples que serão incluídos no grupo estão disponíveis no Adobe Commerce e crie os que não existem.
Neste tutorial, você aprenderá a criar um produto agrupado usando a API REST e o Administrador do Adobe Commerce.
Use a REST API para criar um produto de grupo na página Admin:
-
Criar um produto agrupado vazio.
-
Criar produtos simples para usar no produto agrupado.
-
Preencha o produto agrupado vazio com produtos simples.
-
Crie um produto agrupado vazio e associe os produtos simples.
Quando você associa produtos simples ao produto agrupado, o atributo de ordem de classificação (
position
) na carga é usado pelo front-end para exibir os produtos associados na ordem desejada. Se o atributoposition
não for especificado, os produtos serão exibidos na ordem de adição ao produto agrupado.
Ao criar produtos agrupados do Administrador do Adobe Commerce, crie os produtos simples primeiro. Quando estiver pronto para criar o produto agrupado, associe os produtos simples atribuindo-os ao produto agrupado em um lote.
Para quem é este vídeo?
- Gerentes de sites
- Merchandisers de comércio eletrônico
- Novos desenvolvedores do Adobe Commerce que desejam aprender como criar produtos agrupados no Adobe Commerce usando a REST API.
Conteúdo de vídeo
Configuração do produto agrupado
Neste exemplo, há três produtos simples (criados primeiro) e um produto agrupado. Dois produtos simples são associados ao produto agrupado e o terceiro produto simples é adicionado ao produto agrupado.
Criar o primeiro produto simples usando o cURL
curl --location '{{your.url.here}}/rest/default/V1/products' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: PHPSESSID=a42da0096288718c9556f77549c6305f; private_content_version=564dde2976849891583a9a649073f01e' \
--data '{
"product": {
"sku": "product-sku-one",
"name": "Simple product one",
"attribute_set_id": 4,
"price": 1.11,
"type_id": "simple"
}
}
Criar o segundo produto simples usando o cURL
curl --location '{{your.url.here}}/rest/default/V1/products' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: PHPSESSID=a42da0096288718c9556f77549c6305f; private_content_version=564dde2976849891583a9a649073f01e' \
--data '{
"product": {
"sku": "product-sku-two",
"name": "Simple Product two",
"attribute_set_id": 4,
"price": 2.22,
"type_id": "simple"
}
}
Criar o terceiro produto simples usando o cURL
curl --location '{{your.url.here}}/rest/default/V1/products' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: PHPSESSID=a42da0096288718c9556f77549c6305f; private_content_version=564dde2976849891583a9a649073f01e' \
--data '{
"product": {
"sku": "product-sku-three",
"name": "Simple product three",
"attribute_set_id": 4,
"price": 3.33,
"type_id": "simple"
}
}
Criar um produto agrupado vazio usando o cURL
curl --location '{{your.url.here}}/rest/default/V1/products' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: PHPSESSID=28a020734488eef2600f8d5c7f302b53; private_content_version=564dde2976849891583a9a649073f01e' \
--data '{
"product":{
"sku":"my-new-grouped-product",
"name":"This is my New Grouped Product",
"attribute_set_id":4,
"type_id":"grouped",
"visibility":4
}
}
'
Adicionar o primeiro e o segundo produtos simples ao produto agrupado
curl --location '{{your.url.here}}/rest/default/V1/products/my-new-grouped-product/links' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: PHPSESSID=28a020734488eef2600f8d5c7f302b53; private_content_version=564dde2976849891583a9a649073f01e' \
--data '{
"items":[
{
"sku":"my-new-grouped-product",
"link_type":"associated",
"linked_product_sku":"product-sku-one",
"linked_product_type":"simple",
"position":1,
"extension_attributes":{
"qty":1
}
},
{
"sku":"my-new-grouped-product",
"link_type":"associated",
"linked_product_sku":"product-sku-two",
"linked_product_type":"simple",
"position":2,
"extension_attributes":{
"qty":1
}
}
]
}
'
Adicionar o terceiro produto simples ao produto agrupado existente
Inclua o número da posição apropriada (qualquer coisa exceto 1
ou 2
), que são usados para os dois primeiros produtos originalmente associados ao produto agrupado. Para este exemplo, a posição é 4
.
curl --location --request PUT '{{your.url.here}}/rest/default/V1/products/my-new-grouped-product/links' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: PHPSESSID=9e61396705e9c17423eca2bdf2deefb2' \
--data '{
"entity":{
"sku":"my-new-grouped-product",
"link_type":"associated",
"linked_product_sku":"product-sku-three",
"linked_product_type":"simple",
"position":4,
"extension_attributes":{
"qty":1
}
}
}
'
Excluir um produto simples de um produto agrupado
Para excluir um produto simples de um produto agrupado, use: DELETE /V1/products/{sku}/links/{type}/{linkedProductSku}
.
Para descobrir o que usar como {type}
, use xdebug para capturar a solicitação e avaliar os $linkTypes: related
, crosssell
, uupsell
e associated
.
Ao vincular os produtos simples ao produto agrupado, a carga continha algumas seções semelhantes a:
{
"sku":"my-new-grouped-product",
"link_type":"associated",
"linked_product_sku":"product-sku-two",
"linked_product_type":"simple",
"position":2,
"extension_attributes":{
"qty":1
}
}
Na carga, o valor link_type
associated
fornece o valor {type}
necessário na solicitação DELETE. A URL da solicitação será semelhante a /V1/products/my-new-grouped-product/links/associated/product-sku-three
.
Consulte a solicitação de cURL para excluir o produto simples com o SKU product-sku-three
do produto agrupado com o SKU my-new-grouped-product
:
curl --location --request DELETE '{{your.url.here}}rest/default/V1/products/my-new-grouped-product/links/associated/product-sku-three' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: PHPSESSID=9e61396705e9c17423eca2bdf2deefb2'
Obter um produto agrupado usando o cURL
curl --location '{{your.url.here}}rest/default/V1/products/some-grouped-product-sku' \
--header 'Authorization: Bearer {{Your Bearer Token}}' \
--header 'Cookie: private_content_version=3b797a6cc3c5c71f2193109fb9838b12'