• 0
Sign in to follow this  
HELQUISSON

Atualização de anúncio - nova variação

Question

Boa tarde pessoal,

Estou enviando uma atualização para um produto já anunciado, o produto até então não tem variação, na atualização estou gerando uma variação para o produto.

Link do produto: https://produto.mercadolivre.com.br/MLB-1149791437-camisa-gola-polo-isto-e-um-teste-3-_JM?quantity=1

Json que envio para atualização com variação:

{"title":"Camisa Gola Polo - isto \u00e9 um teste 3","price":"80.00","available_quantity":3,"video_id":"","pictures":[{"source":"http:\/\/helquisson.com.br\/image_test.png"},{"source":"http:\/\/helquisson.com.br\/image_test2.png"}],"attributes":[{"id":"BRAND","value_id":"23001"},{"id":"LINE","value_name":"Polo"},{"id":"MODEL","value_name":"Polo"},{"id":"GENDER","value_id":"339666"},{"id":"RELEASE_SEASON","value_id":"994283"},{"id":"RELEASE_YEAR","value_name":"2018"},{"id":"T_SHIRT_MATERIAL","value_id":"466793"},{"id":"SLEEVE_TYPE","value_id":"466804"},{"id":"T_SHIRT_COLLAR_TYPE","value_id":"466789"},{"id":"WITH_EMBROIDERY","value_id":"242084"},{"id":"UNITS_PER_PACKAGE","value_name":"1"},{"id":"ITEM_CONDITION","value_id":"2230284"},{"id":"IS_FLAMMABLE","value_id":"242085"}],"variations":[{"attribute_combinations":[{"name":"Cor","value_id":"52019","value_name":"Verde-escuro"},{"name":"Tamanho","value_id":"2282666","value_name":"M"},{"name":"Desenho do tecido","value_id":"508603","value_name":"Floral"}],"price":"80.00","available_quantity":3,"picture_ids":["http:\/\/helquisson.com.br\/image_test2.png"],"attributes":[{"id":"MAIN_COLOR","value_id":"2450314"},{"id":"GTIN","value_name":"HJHJKHJKH"},{"id":"T_SHIRT_SIZE","value_name":"M"},{"id":"CHEST_CIRCUMFERENCE","value_name":"50cm"},{"id":"TOTAL_LENGTH","value_name":"65cm"},{"id":"EAN","value_name":"7896532541"},{"id":"SELLER_SKU","value_name":"HJHJKHJHKJHJ"},{"id":"PACKAGE_LENGTH","value_name":"25cm"},{"id":"PACKAGE_WEIGHT","value_name":"250g"},{"id":"PACKAGE_WIDTH","value_name":"25cm"},{"id":"PACKAGE_HEIGHT","value_name":"25cm"}]},{"attribute_combinations":[{"name":"Cor","value_id":"52055","value_name":"Branco"},{"name":"Tamanho","value_id":"3330811","value_name":"G"},{"name":"Desenho do tecido","value_id":"930483","value_name":"Liso"}],"price":"80.00","available_quantity":3,"picture_ids":["http:\/\/helquisson.com.br\/image_test.png"],"attributes":[{"id":"MAIN_COLOR","value_id":"2450308"},{"id":"GTIN","value_name":"JKJKJLJKJKKL"},{"id":"T_SHIRT_SIZE","value_name":"G"},{"id":"CHEST_CIRCUMFERENCE","value_name":"45cm"},{"id":"TOTAL_LENGTH","value_name":"60cm"},{"id":"SELLER_SKU","value_name":"HJKHKJHJKH"},{"id":"PACKAGE_LENGTH","value_name":"20cm"},{"id":"PACKAGE_WEIGHT","value_name":"200g"},{"id":"PACKAGE_WIDTH","value_name":"20cm"},{"id":"PACKAGE_HEIGHT","value_name":"20cm"}]}]}

Error reportado:

{"body":{"message":"Validation error","error":"validation_error","status":400,"cause":[{"cause_id":146,"type":"error","code":"item.attributes.invalid","references":["item.attributes","item.variations.attributes","item.variations.attribute_combinations"],"message":"Attributes [SIZE, FABRIC_DESIGN, COLOR, PACKAGE_LENGTH, SELLER_SKU, PACKAGE_HEIGHT, T_SHIRT_SIZE, MAIN_COLOR, CHEST_CIRCUMFERENCE, PACKAGE_WEIGHT, PACKAGE_WIDTH, TOTAL_LENGTH] are used in more than of item.attributes, variation.attribute_combinations and variation.attributes"}]},"httpCode":400},"description":{"body":{"text":null,"plain_text":"teste\r\n","last_updated":"2018-12-04T18:45:35.000Z","date_created":"2018-12-04T18:45:35.000Z"},"httpCode":200}

No erro, ele diz que os attributes são usados em mais itens que o permitido.

Na documentação, eu compreendi que as tags com allow_variations podem fazer o attribute_combinations e o variation_attribute podem ser carregados como atributos da variação.

O produto não pode receber variação depois de anunciado? Ou meu método de envio está errado?

Me ajudem a encontrar o erro!

 

Obrigado

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0
16 hours ago, HELQUISSON said:

Boa tarde pessoal,

Estou enviando uma atualização para um produto já anunciado, o produto até então não tem variação, na atualização estou gerando uma variação para o produto.

Link do produto: https://produto.mercadolivre.com.br/MLB-1149791437-camisa-gola-polo-isto-e-um-teste-3-_JM?quantity=1

Json que envio para atualização com variação:


{"title":"Camisa Gola Polo - isto \u00e9 um teste 3","price":"80.00","available_quantity":3,"video_id":"","pictures":[{"source":"http:\/\/helquisson.com.br\/image_test.png"},{"source":"http:\/\/helquisson.com.br\/image_test2.png"}],"attributes":[{"id":"BRAND","value_id":"23001"},{"id":"LINE","value_name":"Polo"},{"id":"MODEL","value_name":"Polo"},{"id":"GENDER","value_id":"339666"},{"id":"RELEASE_SEASON","value_id":"994283"},{"id":"RELEASE_YEAR","value_name":"2018"},{"id":"T_SHIRT_MATERIAL","value_id":"466793"},{"id":"SLEEVE_TYPE","value_id":"466804"},{"id":"T_SHIRT_COLLAR_TYPE","value_id":"466789"},{"id":"WITH_EMBROIDERY","value_id":"242084"},{"id":"UNITS_PER_PACKAGE","value_name":"1"},{"id":"ITEM_CONDITION","value_id":"2230284"},{"id":"IS_FLAMMABLE","value_id":"242085"}],"variations":[{"attribute_combinations":[{"name":"Cor","value_id":"52019","value_name":"Verde-escuro"},{"name":"Tamanho","value_id":"2282666","value_name":"M"},{"name":"Desenho do tecido","value_id":"508603","value_name":"Floral"}],"price":"80.00","available_quantity":3,"picture_ids":["http:\/\/helquisson.com.br\/image_test2.png"],"attributes":[{"id":"MAIN_COLOR","value_id":"2450314"},{"id":"GTIN","value_name":"HJHJKHJKH"},{"id":"T_SHIRT_SIZE","value_name":"M"},{"id":"CHEST_CIRCUMFERENCE","value_name":"50cm"},{"id":"TOTAL_LENGTH","value_name":"65cm"},{"id":"EAN","value_name":"7896532541"},{"id":"SELLER_SKU","value_name":"HJHJKHJHKJHJ"},{"id":"PACKAGE_LENGTH","value_name":"25cm"},{"id":"PACKAGE_WEIGHT","value_name":"250g"},{"id":"PACKAGE_WIDTH","value_name":"25cm"},{"id":"PACKAGE_HEIGHT","value_name":"25cm"}]},{"attribute_combinations":[{"name":"Cor","value_id":"52055","value_name":"Branco"},{"name":"Tamanho","value_id":"3330811","value_name":"G"},{"name":"Desenho do tecido","value_id":"930483","value_name":"Liso"}],"price":"80.00","available_quantity":3,"picture_ids":["http:\/\/helquisson.com.br\/image_test.png"],"attributes":[{"id":"MAIN_COLOR","value_id":"2450308"},{"id":"GTIN","value_name":"JKJKJLJKJKKL"},{"id":"T_SHIRT_SIZE","value_name":"G"},{"id":"CHEST_CIRCUMFERENCE","value_name":"45cm"},{"id":"TOTAL_LENGTH","value_name":"60cm"},{"id":"SELLER_SKU","value_name":"HJKHKJHJKH"},{"id":"PACKAGE_LENGTH","value_name":"20cm"},{"id":"PACKAGE_WEIGHT","value_name":"200g"},{"id":"PACKAGE_WIDTH","value_name":"20cm"},{"id":"PACKAGE_HEIGHT","value_name":"20cm"}]}]}

Error reportado:


{"body":{"message":"Validation error","error":"validation_error","status":400,"cause":[{"cause_id":146,"type":"error","code":"item.attributes.invalid","references":["item.attributes","item.variations.attributes","item.variations.attribute_combinations"],"message":"Attributes [SIZE, FABRIC_DESIGN, COLOR, PACKAGE_LENGTH, SELLER_SKU, PACKAGE_HEIGHT, T_SHIRT_SIZE, MAIN_COLOR, CHEST_CIRCUMFERENCE, PACKAGE_WEIGHT, PACKAGE_WIDTH, TOTAL_LENGTH] are used in more than of item.attributes, variation.attribute_combinations and variation.attributes"}]},"httpCode":400},"description":{"body":{"text":null,"plain_text":"teste\r\n","last_updated":"2018-12-04T18:45:35.000Z","date_created":"2018-12-04T18:45:35.000Z"},"httpCode":200}

No erro, ele diz que os attributes são usados em mais itens que o permitido.

Na documentação, eu compreendi que as tags com allow_variations podem fazer o attribute_combinations e o variation_attribute podem ser carregados como atributos da variação.

O produto não pode receber variação depois de anunciado? Ou meu método de envio está errado?

Me ajudem a encontrar o erro!

 

Obrigado

O erro é auto-explicativo.

Seu problema é mais conceitual . Entenda que seu produto original provavelmente nao tinha variações e tu cadastrou em attributes size , fabric_design valores . O que é certo em produtos sem variação

Quando tu adicionou variacoes tu passou esses atributos para variação , que é certo também .  O erro que ele esta te dando é porque esses atributos estão nas variaçoes E no produto

Você deve eliminar todos os atributos repetidos quando adiciona variações . Por padrão eu sempre zero os atributos e mando tudo de novo nesses casos

Share this post


Link to post
Share on other sites
  • 0

Realmente o erro é auto explicativo!

O lance é que não ficou claro que eu precisaria zerar os atributos ao adicionar uma nova variação num produto sem variação, sendo que eu estou omitindo os atributos no produto e add na variação, sacou?

Mas agora tá claro, show de bola!

Valew! 

Share this post


Link to post
Share on other sites
  • 0

sempre costumo dar um "puxão de orelha" no pessoal que não lê os erros (que quase sempre são auto explicatios), mas nesse caso tenha que concordar com a dúvida, pois a questão de variação foi muito mal desenvolvida pelo ML (tanto que muitos lojistas acabam se recusando a usar)

Share this post


Link to post
Share on other sites
  • 0

Bom dia pessoal,

Pois é, por conta desse "puxão de orelha" que eu busco entender ao máximo, antes de pedir ajuda.

Agora aproveitando.... a solução do  @gbandoni não deu certo no meu caso, os atributos {COLOR e SIZE} não podem ser excluídos por serem "tags -> required", qual a melhor maneira de resolver?  

Share this post


Link to post
Share on other sites
  • 0
19 hours ago, HELQUISSON said:

Realmente o erro é auto explicativo!

O lance é que não ficou claro que eu precisaria zerar os atributos ao adicionar uma nova variação num produto sem variação, sendo que eu estou omitindo os atributos no produto e add na variação, sacou?

Mas agora tá claro, show de bola!

Valew! 

O problema neste caso é que antes de fazer a atualização do produto, o ML faz uma validação, então na validação eles encontraram a repetição dos atributos e já retornaram o erro, que poderia não existir caso a alteração fosse efetuada, mas aí precisaria fazer uma validação dos dados atuais e dos dados futuros e eles não fazem isso (o que é até justificável).

Share this post


Link to post
Share on other sites
  • 0
9 hours ago, HELQUISSON said:

Bom dia pessoal,

Pois é, por conta desse "puxão de orelha" que eu busco entender ao máximo, antes de pedir ajuda.

Agora aproveitando.... a solução do  @gbandoni não deu certo no meu caso, os atributos {COLOR e SIZE} não podem ser excluídos por serem "tags -> required", qual a melhor maneira de resolver?  

No meu sistema quando o meu analisador detecta  esse erro eu mando um put no produto

{"attributes":[] }

depois disso eu mando as variações ai ele costuma aceitar

Share this post


Link to post
Share on other sites
  • 0
On 12/6/2018 at 5:39 PM, gbandoni said:

No meu sistema quando o meu analisador detecta  esse erro eu mando um put no produto

{"attributes":[] }

depois disso eu mando as variações ai ele costuma aceitar

Tentei também, mas não foi, a categoria é: MLB103661

Eu fiz de uma forma diferente, não sei se é válido, mas deixa eu colocar o que eu fiz:

Primeiro eu identifico se a categoria que o usuário escolheu permite variações, se sim eu crio o item com uma única variação e envio:

image_1.thumb.png.f7b9b2d9807643504c59f113945182b0.png

Aí eu enviei a segunda variação:

image_2.thumb.png.d70a140042d989fa635eef9e522292a1.png

 

Dessa maneira funfou legal, não sei se terei problemas futuros!!!!

 

Share this post


Link to post
Share on other sites
  • 0
On 12/6/2018 at 5:39 PM, gbandoni said:

No meu sistema quando o meu analisador detecta  esse erro eu mando um put no produto

{"attributes":[] }

depois disso eu mando as variações ai ele costuma aceitar

isso funciona, exceto quando há variações obrigatórias

Share this post


Link to post
Share on other sites
  • 0
3 hours ago, mldev said:

isso funciona, exceto quando há variações obrigatórias

acho que nos produtos que eu vendo eu nunca vi um caso desses (eu tenho apenas 4 categorias que eu lanço variações) . Mas é bom saber que isso existe. Imagino que nesse caso a estratégia melhor é mandar os atributos obrigatórios em attributes ao invés de mandar um vazio

Share this post


Link to post
Share on other sites
  • 0
4 hours ago, mldev said:

isso funciona, exceto quando há variações obrigatórias

Funciona sim, pq ele está limpando attributes e não variations. Mesmo se tiver variações obrigatórias, o ML aceita. O problema é que vai perder os dados de atributos e a ficha técnica ficar incompleta, precisando preencher novamente depois.

 

20 hours ago, HELQUISSON said:

Tentei também, mas não foi, a categoria é: MLB103661

Eu fiz de uma forma diferente, não sei se é válido, mas deixa eu colocar o que eu fiz:

Primeiro eu identifico se a categoria que o usuário escolheu permite variações, se sim eu crio o item com uma única variação e envio:

image_1.thumb.png.f7b9b2d9807643504c59f113945182b0.png

Aí eu enviei a segunda variação:

image_2.thumb.png.d70a140042d989fa635eef9e522292a1.png

 

Dessa maneira funfou legal, não sei se terei problemas futuros!!!!

 

Mas seu problema era ao criar um item ou ao alterar? Ao criar, sua estratégia funciona, mas não teria motivo para enviar somente uma variação se está criando, pode enviar todas que vai funcionar da mesma forma.

Se o problema for na alteração, alterar enviando só uma variação ou enviando uma lista também dá no mesmo. O problema costuma ser quando o ML troca um atributo "raiz" transformando-o em atributo de variação ou id de combinação de variação, ou vice-versa. Aí só "zerando" os atributos ou variações e enviando os dados de acordo com a nova estrutura.

Share this post


Link to post
Share on other sites
  • 0
On 12/8/2018 at 6:57 PM, Diogenes Lima said:

Mas seu problema era ao criar um item ou ao alterar? Ao criar, sua estratégia funciona, mas não teria motivo para enviar somente uma variação se está criando, pode enviar todas que vai funcionar da mesma forma.

Se o problema for na alteração, alterar enviando só uma variação ou enviando uma lista também dá no mesmo. O problema costuma ser quando o ML troca um atributo "raiz" transformando-o em atributo de variação ou id de combinação de variação, ou vice-versa. Aí só "zerando" os atributos ou variações e enviando os dados de acordo com a nova estrutura.

O problema é na alteração, quando eu crio um produto simples e mando todos os atributos, os atributos ficam no produto. Ao tentar alterar só que dessa vez enviando uma variação, a api retorna o erro que mencionei no começo do post, tentei também zerar os atributos antes de enviar as variações, como o @gbandoni citou: {attributes:[]}, o ML não aceitou por que COLOR e SIZE são obrigatórios.

Me parece que uma vez enviado os atributos obrigatórios não pode mais zerar.

Share this post


Link to post
Share on other sites
  • 0
On 12/8/2018 at 6:57 PM, Diogenes Lima said:

Funciona sim, pq ele está limpando attributes e não variations. Mesmo se tiver variações obrigatórias, o ML aceita. O problema é que vai perder os dados de atributos e a ficha técnica ficar incompleta, precisando preencher novamente depois.

se limpar os atributos ao mesmo tempo que fizer a inclusão da variação sim, mas se fizer primeiro um put para limpar os atributos e depois outros para incluir a variação (que foi o que entendi), aí não funciona se tiver atributos obrigatórios... rs

Share this post


Link to post
Share on other sites
  • 0
15 hours ago, HELQUISSON said:

O problema é na alteração, quando eu crio um produto simples e mando todos os atributos, os atributos ficam no produto. Ao tentar alterar só que dessa vez enviando uma variação, a api retorna o erro que mencionei no começo do post, tentei também zerar os atributos antes de enviar as variações, como o @gbandoni citou: {attributes:[]}, o ML não aceitou por que COLOR e SIZE são obrigatórios.

Me parece que uma vez enviado os atributos obrigatórios não pode mais zerar.

Eu acho que tem algum erro de entendimento da sua parte. Quando for criar anúncios, precisa recuperar os dados da categoria e sua estrutura de atributos. Os atributos que estiverem com tag allow_variations somente devem ser utilizados em attribute_combinations de variações. Não use-os em attributes do anúncio.

Os atributos que estiverem com tag variation_atribute somente devem ser utilizados nos attributes de variações. Não use nos attributes do anúncio.

Para os demais atributos que não tiverem as tags destes acima, só devem ser utilizados nos attributes do anúncio e não devem ser usados em attribute_combinations nem em attributes das variações.

Seguindo estas regras, diminui a quantidade de problemas. Aí só acontece problema quando o ML altera a regra de algum destes atributos e para corrigir o problema deve revalidar os dados, de forma que estejam dentro destes regras que citei. Lembrando que para corrigir, pode ser necessário efetuar alterações em 2 passos, por exemplo, enviando attributes vazio e depois os dados corretos, ou zerando as variações e depois enviando-as da forma correta, etc.

 

No seu caso, não faz sentido enviar todos dados como atributes, como você citou que faz. Se o anúncio é simples e está criando sem variação, não deveria enviar os dados de COLOR e SIZE em attributes, senão vai ter problema mesmo, porém para a categoria informada, se eles são obrigatórios, significa que pelo menos uma variação é obrigatória, então deve montar um attribute_combinations e enviar estes dados lá em uma variação. Pode ou não enviar mais de uma variação, desde que esteja no mesmo formato. Se quiser, depois pode adicionar outras variações, sem alterar a estrutura de attribute_combinations.

Share this post


Link to post
Share on other sites
  • 0
9 hours ago, Diogenes Lima said:

Eu acho que tem algum erro de entendimento da sua parte. Quando for criar anúncios, precisa recuperar os dados da categoria e sua estrutura de atributos. Os atributos que estiverem com tag allow_variations somente devem ser utilizados em attribute_combinations de variações. Não use-os em attributes do anúncio.

Os atributos que estiverem com tag variation_atribute somente devem ser utilizados nos attributes de variações. Não use nos attributes do anúncio.

Para os demais atributos que não tiverem as tags destes acima, só devem ser utilizados nos attributes do anúncio e não devem ser usados em attribute_combinations nem em attributes das variações.

Seguindo estas regras, diminui a quantidade de problemas. Aí só acontece problema quando o ML altera a regra de algum destes atributos e para corrigir o problema deve revalidar os dados, de forma que estejam dentro destes regras que citei. Lembrando que para corrigir, pode ser necessário efetuar alterações em 2 passos, por exemplo, enviando attributes vazio e depois os dados corretos, ou zerando as variações e depois enviando-as da forma correta, etc.

 

No seu caso, não faz sentido enviar todos dados como atributes, como você citou que faz. Se o anúncio é simples e está criando sem variação, não deveria enviar os dados de COLOR e SIZE em attributes, senão vai ter problema mesmo, porém para a categoria informada, se eles são obrigatórios, significa que pelo menos uma variação é obrigatória, então deve montar um attribute_combinations e enviar estes dados lá em uma variação. Pode ou não enviar mais de uma variação, desde que esteja no mesmo formato. Se quiser, depois pode adicionar outras variações, sem alterar a estrutura de attribute_combinations.

Exatamente @Diogenes Lima, foi erro de entendimento, agora ficou claro que attribute_combinations e variation_attribute eu não devo enviar no anúncio. Fiz os ajustes aqui. 

Obrigado a todos, pela ajuda!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this