É normal o comportamento de duplicar metadados em uma categoria?

Utilizando a API e a interface web a Vtex aceita campos com nomes duplicados. É normal esse comportamento? Isso não pode gerar confusão e problemas?

Digo isso pois estamos tentando realizar uma sincronização dos campos de uma dada categoria e não é possível confiar no retorno da API ao listar os campos por causa do cache e ela permite criar campos com nome duplicado, então não temos como realizar essa sincronia de forma segura.

print-vtex

Também estou com um problema semelhante!Captura de tela de 2018-09-03 11-12-40

Captura de tela de 2018-09-03 15-27-46

Note que as especificações "Modelo" e "Produto" estão divergentes. O primeiro está no retorno da API, mas não aparece na plataforma, e com o segundo acontece o contrário. Preciso pegar todos os metadados, mas aparentemente há um sistema de cache que não permite pegar os mais atualizados.

Como proceder?

Não deveria ter triplicado e nem ter o CAMPO PRODUTO MARCA, pois o cadastro de marca já é um filtro.

Desative dois desses campos de VOLUME.

Mas fato é que duplica. Essa dai é uma categoria de teste. Fiz a duplicação para demonstrar o erro. Os nomes foram inventados mas o erro acontece.

Existe uma solução além da óbvia de desativar/deletar esses campos repetidos?

Os campos só se repetem em duas situações:

  • Herança de categorias pai
  • Cadastro duplicado

Não há outra solução.

Poderia responder o meu ponto fazendo favor, @Nathan Prestes​?

Os campos estão ativos Mairon? No seu print não está aparecendo todas as colunas das configurações do campo.

Sim, com exceção do campo Marca, que a resposta da API já informa que está inativo.

Ta estranho Mairon... aconselho a abertura de um chamado neste caso.

Não deveria ter esse comportamento.

@Nathan Prestes​, mas o cadastro duplicado não deveria ser tratado pelo back-end da vtex? Permitir esse cadastro é um erro, ao meu ver. Junta isso com o cache e fica impossível fazer uma sincronia confiável dos campos.​

@Nathan Prestes​, você trabalha na vtex?​

Outra coisa @Nathan Prestes​, você respondeu a outra pergunta que não a minha. Não perguntei como resolver o problema dos campos do exemplo. Esses eu posso deletar. Minha pergunta é sobre a sincronia desses campos com nossa base. Se a inserção de duplicatas não é tratada e a API demora horas pra retornar a lista atualizada de campos, como eu posso garantir que não vou inserir dados duplicados se, por exemplo, duas pessoas mandarem sincronizar ao mesmo tempo os campos?​

Vamos lá:

mas o cadastro duplicado não deveria ser tratado pelo back-end da vtex? Permitir esse cadastro é um erro, ao meu ver. Junta isso com o cache e fica impossível fazer uma sincronia confiável dos campos.​

Eu teoria os campos não estão duplicados, se prestar atenção no seu print, cada um tem seu próprio id: 370,371 e 372. Para a VTEX ela não vão analisar o nome do campo e sim o ID que em hipótese alguma está duplicado.

você trabalha na vtex?​

Não, sou uma agência parceira certificada tentando ajudar.

você respondeu a outra pergunta que não a minha. Não perguntei como resolver o problema dos campos do exemplo. Esses eu posso deletar. Minha pergunta é sobre a sincronia desses campos com nossa base. Se a inserção de duplicatas não é tratada e a API demora horas pra retornar a lista atualizada de campos, como eu posso garantir que não vou inserir dados duplicados se, por exemplo, duas pessoas mandarem sincronizar ao mesmo tempo os campos?​

Como disse acima, a sincronização de campos é feito através do ID, ou seja, não há como ter algum problema deste tipo já que o ID é único.

O que me estranha e esse foi o motivo pelo qual creio que o melhor caminho seria a abertura de chamado foi que há um campo produto MODELO por exemplo que não está retornando na API e os demais campos VOLUME que não aparecem.

@Gabriel Fonseca​ @Gabriel Fonseca​ espero ter ajudado.

@Nathan Prestes​, concordo que o ID seja único, entretanto não se tem acesso ao ID no momento de criação. Como a API não retorna todas as especificações por algum motivo, corre o risco de alguém tentar criar outra especificação com o mesmo nome de uma já criada.

Abra um chamado pessoal, o comportamento da api está estranho.