Produto Agrupado por Parent ID

O agrupamento por Parent Id possui algumas diferenças do agrupamento por Produto Variante. Mas é importante compreender que é possível combinar as duas formas. O agrupamento por Parent Id permite que se tenha um produto único, que possui sua própria URL e que representa um item no resultado da busca do site, mas que ainda assim aparece como uma opção de atributo na página do produto. Em outras palavras, ao agrupar produtos os itens agrupados serão exibidos como variantes uns dos outros. Para que fique mais claro vamos utilizar o exemplo do tênis abaixo: Nesse exemplo cada uma das cores exibidas para escolha do usuário é um produto diferente, porém cada um dos tamanhos é uma variação do produto de cor branca. Quando o usuário clicar em alguma outra cor ele será redirecionado para a página do produto da cor escolhida e os tamanhos exibidos serão os variantes da cor selecionada.

Na imagem a abaixo podemos ver no resultado da busca um item para cada uma das variações de cores do tênis usado como exemplo:

O campo utilizado para informar quando um produto deve ser agrupado a outro produto é o idVinculoExterno. Quando é realizado um POST no endpoint /produtos a Api Fbits verifica se há outro produto cadastrado com o mesmo valor neste campo. Caso haja, o novo produto é inserido no mesmo grupo de produtos que o produto antigo.
Caso não seja enviado nenhum valor para o campo, internamente a api irá utilizar o valor do sku como o idVinculoExterno e continuará a operação como se o valor houvesse sido enviado. Ou seja, será verificado se existe algum outro produto previamente cadastrado com o mesmo idVinculoExterno(nesse caso contendo o sku do produto). Por isso é importante ter valores únicos para o sku.

Para realizar um cadastro de produto igual ao exemplo exposto acima seria necessário inserir um produto, que em sua lista de atributos possui uma cor e um tamanho. Em seguida inserir outros produtos variantes, utilizando o campo idPaiExterno para vinculá-los, cada um deles com a mesma cor porém tamanhos diferentes. No caso da cor branca, teríamos um produto variante para o tênis branco com tamanho 40, outro para o tênis branco com tamanho 42 e assim por diante. Após isso seria necessário repetir o mesmo processo para o produto de cor diferente, porém para esse segundo produto teríamos que informar o mesmo idVinculoExterno utilizado no primeiro produto.