A operação de inserção de produtos da API da Tray Corp permite que sejam inseridos produtos de diversas maneiras.

Para inserir um produto, é necessário realizar um post no endpoint /produtos enviando os dados mínimos necessário para a criação de um novo produto na plataforma, como nome, preço, fabricante, entre outros.

21.PNG

Um ponto importante do cadastro de produtos é a relação entre produtos e atributos, e a forma como os produtos se relacionam entre si. Um produto pode ter diversas modificações como cores, tamanhos, preços, voltagens, etc.

Neste caso, é necessário escolher como você quer agrupar essas variações. Você pode fazer isto de duas formas:

  • Agrupando produtos diferentes pelo Parent Id;
  • Agrupando diversos variantes a um único produto.

Caso o produto não possua variações, também é possível inserir um produto sem agrupá-lo a nenhum outro.

Produto sem variações

Um produto sem variações, que não possuem opções como cor, tamanho ou voltagem, para serem selecionados pelo usuários, deve ser inserido sem agrupamento e com a sua lista de atributos vazia. Neste caso, quando o usuário acessa a página do produto, apenas a opção de quantidade de itens desejados para a compra será apresentada.

Agrupamento por Parent Id

O Parent Id é um código interno utilizado para identificar produtos diferentes que devem ser exibidos em conjunto na tela de produto. Desta forma é possível ter produtos que possuem URL´s diferentes e que aparecem separados no resultado da busca sendo exibidos como um único produto quando visualizado na página do produto.

Agrupamento por produto variante

No agrupamento por produto variante existirá apenas um único produto e suas variações. Ao agrupar desta forma, no resultado da busca será exibido apenas um item do produto, mesmo que existam diversas variações. A URL do produto é uma só e suas variações são exibidas na página de produto da mesma forma que no agrupamento por Parent Id.

Na API da Tray Corp, cada uma dessas formas de agrupamento são diferenciadas pelos campos IdPaiExterno, IdVinculoExterno e SKU.

Produto sem variação

A inserção de um produto sem atributos pode ser realizada de duas formas:

  • A mais simples é não preencher os campos IdPaiExterno e IdVinculoExterno, enviar um SKU único e não enviar nada no campo listaAtributos. Desta forma, a API irá cadastrar este produto sem vínculo nenhum com outro e ele será apresentado como na imagem abaixo:

22.PNG

  • Outra forma é seguir a mesma regra descrita acima para os campos SKU e listaAtributos, porém enviar os campos IdPaiExterno e IdVinculoExterno preenchidos com valores únicos (que não tenham sido utilizados para outro produto). É importante saber que esses campos, quando não enviados, são preenchidos com o SKU do produto. Isso é feito para que se houver necessidade de inserir uma variação do produto no futuro seja possível através do SKU do primeiro produto como IdPaiExterno ou IdVinculoExterno.

Produto agrupado por variantes

Para inserir um produto que possui diversas combinações de atributos utilizando o agrupamento por produto variante, é necessário preencher corretamente o campo IdPaiExterno. Este será o campo chave para identificar se um produto deve ser cadastrado como um produto inteiramente novo ou como um produto que representa uma variação de um produto já existente na plataforma.

O exemplo abaixo mostra como pode ser feita a apresentação de um produto com diversas variações:

23.PNG

O produto acima possui diversas combinações possíveis quando observadas as opções de cores e graus. Para cada uma dessas combinações existe um produto variante. 

24.png

25.png

Para cadastrar o produto desta forma, permitindo que seja possível comprar um item da cor azul e qualquer um dos graus, é necessário realizar uma chamada para o endpoint /produtos para cada combinação.

 Isso significa inserir um produto que possui em sua lista de atributos a cor azul e o grau -8.00, outro produto a cor azul e o grau -7.50, e assim por diante até que fossem inseridos todos os graus possíveis para a cor azul.

Em seguida, o mesmo teria que ser feito para a cor cinza, verde, etc. Sempre utilizando o mesmo valor no campo IdPaiExterno, até que todas as combinações tenham sido inseridas.

Sempre que é inserido um produto com um IdPaiExterno único ou vazio, está sendo cadastrado um novo produto e quando se realiza a mesma operação enviando este campo preenchido com um valor já vinculado a um produto existente, está sendo cadastrada uma variação de produto ou Produto Variante.

Apenas o produto é exibido na página de busca ou de categorias da loja, então mesmo que um produto possua inúmeros variantes, será exibido apenas um item.

26.png

Produto agrupado por Parent Id

O agrupamento por Parent Id possui algumas diferenças do agrupamento por Produto Variante, porém é 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.

Ou seja, ao agrupar produtos, os itens agrupados serão exibidos como variantes uns dos outros.

27.png

Neste exemplo, cada uma as cores exibidas é um produto diferente, porém cada um dos tamanhos é uma variação do produto da cor branca. Quando seu cliente clica 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.

28.png

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 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, a API irá utilizar o valor do SKU como 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 (neste caso, contendo o SKU do produto). Por isso é muito importante ter valores únicos para o SKU.

Para realizar um cadastro de produto igual ao exemplo, é necessário inserir um produto em que sua lista de atributos possui cor e 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.

Após isso, seria necessário repetir o mesmo processo para o produto de cor diferente, porém este segundo produto você terá que informar o mesmo IdVinculoExterno utilizado no primeiro produto.

Regras de inserção

Ao realizar a operação de inserção de um produto é necessário tomar cuidado com algumas regras:

  • A formatação de dados (JSON) enviado deve possuir todos os campos considerados obrigatórios. Estes são os campos mínimos necessário para que um produto seja incluído dentro de uma loja. Através da API Explorer, na seção Model, dentro do POST/Pedidos, você poderá visualizar todos os campos obrigatórios;

29.JPG

 

  • Não é aconselhável enviar dados de um produto já existente, pois causará erro. Caso a intenção seja atualizar um produto, deve-se utilizar o endpoint PUT /produtos/{identificador};
  • O fabricante enviado deve ser cadastrado previamente, caso seja enviado o nome de um fabricante que não existe ocorrerá erro na inserção de produto. O mesmo acontece com os campos autor, gênero, editora, coleção e para os atributos enviados na lista de atributos do produto. Com a diferença que estes campos são opcionais, então caso não sejam enviados não será realizada a validação.

 

Envios adicionais

Existem dados atrelados a um produto que não são inseridos na operação de inserção citada acima. Para que estes sejam cadastrados, eles devem ser enviados de forma separada para outros endpoints. Este é o caso das informações de produto, imagens e do vínculo entre produto e categoria.

Você encontra esses endpoints dentro de produtos. As URL´s seguem o padrão abaixo:

  • produtos/{identificador}/informacoes;
  • produtos/{identificador}/imagens;
  • produtos/{identificador}/categorias.

É importante observar que o identificador contido na URL pode ser tanto o Id do produto variante quanto o SKU. Ao realizar a operação, além dos dados a serem inseridos, deve-se informar também o tipo de identificador que está sendo utilizado.

Para inserir estes dados adicionais, é necessário que o produto já exista na plataforma, ou seja, quando for realizada a inserção de um novo produto é necessário realizar o POST de inserção de produto antes de inserir suas informações adicionais.

 

Luana Serabion 
Tem mais dúvidas? Envie uma solicitação

Comentários

    Artigos nessa seção