Diogenes Lima

Members
  • Content Count

    159
  • Joined

  • Last visited

  • Days Won

    27

Reputation Activity

  1. Like
    Diogenes Lima got a reaction from ronaldoguedess in Atualização de produtos.   
    Você precisa rever a documentação da API. Normalmente para criação de alguma coisa, usa-se o POST. Para alteração, usa-se o PUT.
    Existem casos onde a alteração não se enquadra em um PUT, pois ela é uma alteração de condição (não sei se este é o termo correto). Para alterar o listing_type você não envia os dados do anúncio nem usa a URL do anúncio e sim uma URL específica para esta alteração, enviando no ID do corpo da requisição o ID DO NOVO LISTING_TYPE. Esta informação de como alterar o LISTING_TYPE está neste link:
    https://developers.mercadolivre.com.br/pt_br/tutorial-tipos-de-publicacao-y-atualizacao-de-artigos
     
    Com relação ao frete, depende de várias outras condições para saber se está correto ou não e se pode ou não ser alterado.
  2. Like
    Diogenes Lima got a reaction from rodrigojob in Autorização e Autenticação automática   
    Olha bem o que tá escrito: se você estiver trabalhando com local host poderá utilizar http. No redirect -uri você pode colocar http://localhost para testar de forma local sem problema nenhum.
  3. Like
    Diogenes Lima reacted to mldev in Erro ao imprimir etiquetas ML via API   
    Obrigado @PORTALPOSTAL por compartilhar a solução e parabéns a todos pela interação, agora sim deu orgulho da colaboração do pessoal do fórum 👍
    Quanto ao Mercado Livre, sendo novamente desrespeitoso e extremamente irresponsável com vendedores e desenvolvedores 🤬
  4. Like
    Diogenes Lima got a reaction from mldev in Obter mais desempenho ao gravar notificações no DB   
    Só voltei a ver isso hoje. Recomendo não deixar tudo em uma mesma máquina, mas se não puder, se forem instâncias isoladas já ajuda. Só não deixe tudo em uma mesma instância Mesmo que ela seja muito parruda, os recursos ficam concorrendo entre si. Aqui eu uso servidores bem parecidos que o seu e a performance tá suave, mesmo nos picos de processamento. Processo em média 3000 notificações por minuto com picos de até 8000 por minuto e tá de boa.
    Sua configuração está boa pro banco. Eu separaria o front end nesta máquina de 4GB e deixaria outra instância de 4GB semelhante, para os processos de backend e cron. E esta outra instância de 1GB apenas para receber notificações do ML e colocar em uma fila. Assim ela não concorre com o front end e não prejudica o acesso dos seus usuários nos momentos de pico. Além disso, se ela ficar sobrecarregada, seus usuários não perdem o acesso.
    Não esqueça de ajustar o nginx com relação à memória usada, quantidade de conexões, etc. O mesmo para a máquina do banco de dados. Se possível troque o mysql pelo mariadb. Eles são compatíveis, mas o mariadb gerencia um pouco melhor a memória na minha opinião.
  5. Thanks
    Diogenes Lima got a reaction from mldev in Comentários / notas / Anotações de compras multiplas não são retornadas na API   
    Isto é um bug do ML. Se o vendedor adicionou a anotação pela interface do ML, a API não irá retornar nestes casos mesmo e só aparece lá no front deles. Se você adicionar pela API, o que você adicionou aparece na API e também lá no front do ML.
  6. Like
    Diogenes Lima got a reaction from mldev in Erro ao enviar imagem   
    Acho que você precisa voltar atrás um pouco pra entender alguns conceitos mais básicos. A sua chamada de upload é para enviar somente o caminho de uma imagem já hospedada. Se você criou um curlfile, não vejo sentido chamar um json_encode para ele. Você precisa entender quais são os dados com os quais está trabalhando para entender o que pode ou não ser feito com eles. Do jeito que você fez está enviando apenas textos (strings) e por isso não funciona. Nem sempre o SDK do ML irá prover tudo que você precisa. Em alguns casos, como este, é necessário criar uma nova chamada específica para atender o que você precisa. Lembre-se também que às vezes, mesmo que o seu código consiga enviar dados em um formato, é necessário que a API esteja preparada para receber e tratar os dados no mesmo formato.
  7. Like
    Diogenes Lima got a reaction from mldev in Entrega Gratuita Obrigatoria   
    Eu acho o validador desnecessário, mas de qualquer forma, você precisa interpretar o resultado do validador. Note que o tipo é "warning", ou seja, é apenas um aviso. A mensagem informa que o frete grátis obrigatório foi adicionado, ou seja, é apenas um alerta e não um erro impeditivo. É só enviar os dados do anúncio no endpoint de criação que ele será criado normalmente.
  8. Haha
    Diogenes Lima reacted to mldev in Obter codigo gerado pelo Mercado Livre   
    listar anúncios é uma das funções básicas da API, recomendo que leia a documentação
  9. Like
    Diogenes Lima got a reaction from CaioSchmitt in gerenciamento de notificações   
    Tem que tratar todas. Quando tiver alteração em SHIPMENTS, não necessariamente terá em ORDERS_V2. Este seria o funcionamento correto, porém as notificações falham muito e é bom ter processos redundantes para verificar os dados. Isso já foi comentado várias vezes aqui no forum.
     
    Com relação à tratar as duplicidades, não precisa. Se você recebe 2 notificações do mesmo resource e ainda não foi buscar os dados relacionados, quando for buscar, já estarão com os últimos dados, então pode tratar somente uma vez.
  10. Thanks
    Diogenes Lima got a reaction from HELQUISSON in Atualização de anúncio - nova variação   
    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.
  11. Like
    Diogenes Lima reacted to mldev in MercadoEnvios type Basic parou de funcionar (não retorna frete).   
    importante deixar claro que você se refere ao MercadoEnvios utilizado em sites, não aquele que o Mercado Livre obriga a usar na plataforma do marketplace
  12. Thanks
    Diogenes Lima got a reaction from mldev in Atualização de anúncio - nova variação   
    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.
     
    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.
  13. Like
    Diogenes Lima got a reaction from gbandoni in gerenciamento de notificações   
    Tem que tratar todas. Quando tiver alteração em SHIPMENTS, não necessariamente terá em ORDERS_V2. Este seria o funcionamento correto, porém as notificações falham muito e é bom ter processos redundantes para verificar os dados. Isso já foi comentado várias vezes aqui no forum.
     
    Com relação à tratar as duplicidades, não precisa. Se você recebe 2 notificações do mesmo resource e ainda não foi buscar os dados relacionados, quando for buscar, já estarão com os últimos dados, então pode tratar somente uma vez.
  14. Like
    Diogenes Lima got a reaction from mldev in gerenciamento de notificações   
    Tem que tratar todas. Quando tiver alteração em SHIPMENTS, não necessariamente terá em ORDERS_V2. Este seria o funcionamento correto, porém as notificações falham muito e é bom ter processos redundantes para verificar os dados. Isso já foi comentado várias vezes aqui no forum.
     
    Com relação à tratar as duplicidades, não precisa. Se você recebe 2 notificações do mesmo resource e ainda não foi buscar os dados relacionados, quando for buscar, já estarão com os últimos dados, então pode tratar somente uma vez.
  15. Like
    Diogenes Lima reacted to mldev in Seller_invoices - Documentação incompreensível   
    tudo perfeito Diogenes, apenas corrigindo essa parte, não se deve associar uma regra somente a um NCM, pois a regra pode mudar dependendo da origem, mesmo para produtos com mesmo NCM
  16. Like
    Diogenes Lima reacted to mldev in Como o tempo estimado de entrega de um produto pode ser alterado?   
    se está utilizando Mercado Envios o tempo de entrega é estimado pelo Mercado Livre e você (nem o vendedor) tem autonomia sobre isso
  17. Thanks
    Diogenes Lima got a reaction from Cleber Griff in Seller_invoices - Documentação incompreensível   
    Você precisa verificar várias coisas. Em primeiro lugar, veja a Consideração importante: Esta documentação está destinada aos Sellers que são Regime Normal e atuam em Fulfillment
    Partindo deste princípio, o que esta documentação trata é como associar os dados fiscais e as regras para que o sistema do ML faça a geração das notas de forma automática, logo, pode-se presumir que já existe um processo interno da empresa para emissão de notas e a documentação trata apenas de receber esta mesma configuração para que a emissão dos itens do fulfillment seja feita de forma automática pelo sistema do ML. Sendo assim já deve-se considerar que os anúncios (produtos) já estão cadastrados de forma correta no ML com o SKU e que já existe um mapeamento interno da empresa no ERP dela com relação ao CFOP, NCM, PIS, COFINS, ICMS (normalmente fornecido ou controlado pelo contador). Basta fazer um levantamento dos dados dos anúncios e das regras existentes na empresa e montar um processo de inclusão e atualização destes dados junto ao ML.
    Precisa entender a diferença entre produto e anúncio e como identificá-los tanto no ERP quanto no ML e quais dados fazem parte dos mesmos.
    Com relação às suas dúvidas:
    1) O que seria o "sku"? O código interno do produto no ERP? O código do produto já anunciado no ML?
    É um código interno do vendedor associado ao anúncio. Entre outras coisas, serve justamente para associar o anúncio ao código de produto no ERP. Não é o ID do anúncio.

    2) Devo primeiro enviar um produto pela API e depois vincular os dados fiscais?
    São processos separados, porque a configuração é feita partindo do SKU e o produto só precisa ter o SKU para que seja associado às regras. Após criar uma regra, se criar um novo anúncio e usar o mesmo SKU, a configuração anterior já vale para ele, porque está associada ao SKU. Se tem um produto com variações e cada uma tem um SKU, deve associar as regras para cada SKU existente.

    3) O id do anúncio já não é o produto/SKU?
    Não

    4) transaction_type (sale, inbound, devolution): o que exatamente devo enviar?
    Se a intenção é gerar nota de venda de forma automática, deve informar que é venda. Acredito que isso seja auto-explicativo.

    5) Como e onde faço o vínculo de PIS/COFINS?
    Na documentação tem as informações de Configuração do PIS e Configuração do COFINS. É só usar o template. Com relação aos dados, seu contador pode informar (ou o processo já existente no ERP da empresa)

    6) Campo "destinations": é enviado por produto? Por SKU? Por NCM?
    Seu contador pode informar como se aplicam as regras. A configuração do ICMS é feita por NCM. Pela documentação, você associa um SKU a um NCM e associa as regras ao NCM. O anúncio já deve ter o SKU associado.

    7) CFOP: deve ser informado por mim? Como? Onde?
    Vale a mesma regra dos itens acima e tem um item chamado Configuração do CFOP.
  18. Like
    Diogenes Lima reacted to mldev in invalid property type: [variations[0].attribute_combinations]   
    sempre que conseguir resolver um problema, poste aqui a solução e encerre o tópico, seguindo assim a boa prática para usuários de fórum
    também aproveito para convidar que PARTICIPE! pois o que mais vemos aqui são usuários que entram somente para perguntar quando tem problemas, mas nunca se dispõe depois a ajudar os demais: lembre-se que um dia você precisou =]
    abraços!
  19. Thanks
    Diogenes Lima got a reaction from gbandoni in GTIN não esta caindo..   
    O GTIN deve ser um código válido. Se você enviar um número qualquer porque está testando, não vai ser gravado mesmo. É preciso usar um número válido. Se o código informado for um EAN, ele será copiado para o atributo EAN. Se for um UPC, será copiado para o atributo UPC.
    Só para lembrar, também é possível enviar mais de um código no mesmo campo GTIN, mesmo sendo de tipos diferentes, sendo válidos, o ML copia para os atributos correspondentes a cada um.
     
    Como regra, somente envie no campo value_id o que o ML fornecer uma lista de valores com id e valor, aí você coloca o que estiver no id. Em todos os outros casos, use o campo value_name.
  20. Thanks
    Diogenes Lima got a reaction from mldev in GTIN não esta caindo..   
    O GTIN deve ser um código válido. Se você enviar um número qualquer porque está testando, não vai ser gravado mesmo. É preciso usar um número válido. Se o código informado for um EAN, ele será copiado para o atributo EAN. Se for um UPC, será copiado para o atributo UPC.
    Só para lembrar, também é possível enviar mais de um código no mesmo campo GTIN, mesmo sendo de tipos diferentes, sendo válidos, o ML copia para os atributos correspondentes a cada um.
     
    Como regra, somente envie no campo value_id o que o ML fornecer uma lista de valores com id e valor, aí você coloca o que estiver no id. Em todos os outros casos, use o campo value_name.
  21. Thanks
    Diogenes Lima got a reaction from mldev in Enviar Nota Fiscal   
    Quando o pedido é ME1 para quê precisa enviar a NFe para o ML? Acredito que eles não deem suporte para isso.
  22. Thanks
    Diogenes Lima reacted to paulomarcio18p1@gmail.com in Redirect URI para teste local   
    Muuuito obrigado meu caro, não sabia que se informasse localhost ele aceitava sem https, valeu mesmo
  23. Thanks
    Diogenes Lima got a reaction from mldev in Redirect URI para teste local   
    Não era mais fácil testar antes de perguntar? É possível sim. É só informar o seu endereço localhost (não use o IP) com o http na configuração da sua aplicação lá no ML.
  24. Thanks
    Diogenes Lima got a reaction from mldev in Dimensões em ME2   
    Existe algum plano ou previsão de permitir informar as dimensões e peso do produto no ME2, caso não queira utilizar os valores padrão da categoria?
  25. Haha
    Diogenes Lima reacted to mldev in Produto não é publicado no ML   
    @gbandoni, se fosse você começaria a cobrar pelo curso de iniciação a programação ?