gbandoni

Members
  • Content Count

    210
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by gbandoni

  1. Faça a autenticação usando a metodologia oauth2, tem exemplo aqui, basta dar uma pesquisada. O server que minha aplicação roda nem tem gui, quiçá browser
  2. Não especificado é para coisas que nao precisariam de um frete , como código para download de software, Nesse caso nao vai ter shipment mesmo afinal não há envio . Nesse caso para tu informar que entregou tu qualifica o usuário https://api.mercadolibre.com/orders/<id_order>/feedback?access_token=${access_token} { "fulfilled": "true", "rating": "positive" }
  3. vc nao entendeu antes algumas categorias permitiam cadastrar atributos no meio dos parâmetros , tipo year . Isso principalmente em categorias de veiculos. Um tempo atras o mercado livre disse que ia padronizar tudo , mas ia manter uma retrocompatibilidade por um tempo ai surgiu atributos como MLB1744-YEAR .O mercado livre retroalimentava eles e funcionava. Mas como foi dito que era temporario. Eles devem ter cortado na categoria entao tu vai ter de seguir a documentação e adequar, especificamente acessar https://api.mercadolibre.com/categories/{CATEGORY_ID}/attributes e so enviar attributes que estao nessa lista.
  4. Isso é uma warning nao ? alguns atributos podiam ser passados de um jeito diferente antigamente , eles avisaram que nao seria mais possivel usar alguns desses a uns 6 meses atras , se não mais. Revise o que tu esta mandando de atributos
  5. Durante um tempo apos a introdução do carrinho dava , agora não de mais . Você vai ter de se acostumar com isso
  6. Voce retirou do texto , mas deixou o link . Como quem geralmente abre um topico acabou de testar acaba postando um token valido e alguém pode detonar a sua loja na maldade . Mesmo que seja um AT de um usuario de teste não ha garantias que alguem mal intencionado consegue fazer algum estrago na loja real . Dito isso vamos em frente Todos os pedidos ativos aparecem na pesquisa tendo carrinho ou não https://api.mercadolibre.com/orders/search/recent?access_token={token} Para ser sincero eu meio que nem ligo para o carrinho e me concentro nas orders que compõem o carrinho . Eu leio todos os pedidos e associo eles pelo shipment que para mim importa mais. Eu tenho muitos casos de carrinhos que geram mais de um shipment e carrinhos que eu vendo apenas um item dele.
  7. vcs tem uma tara de postar accesstoken heim Ela retorna , mas o carrinho é uma gambiarra cada item do carrinho é uma order separada. Voce associa elas pelo atributo pack _id e o envio você agrupa pelo id do shipment
  8. https://prnt.sc/o0juyi Nem português escrevem direito , quiçá gerenciar
  9. voce deixou o access token e o seu codigo do ml no link , remove ai filtros de substatus nao funcionam nessa pesquisa eu leio essa mesma url no meu sistema https://api.mercadolibre.com/orders/search/recent?seller=%s&access_token=%s Eu aproveito e vejo o status dos pedidos em entrega
  10. Ele volta a quantidade real. Somente a sua O povo abusou disso para fazerem data mining burro do peixe dos outros e o mercado livre cortou.
  11. Vocês sabem que da para verificar se uma foto subiu com sucesso , certo ?
  12. expires_in é o tempo em segundos que o token expira . 21600 são 6 horas. Isso está escrito na documentação
  13. eu tentei chegar com o link que eu colei e volta um erro para pegar o link eu cheguei na pagina raiz da documentação (https://developers.mercadolivre.com.br/pt_br/api-docs-pt-br) depois Guia para usuários avançados / Trabalhar com imagens Tudo que esta lá funciona porque são as mesmas coisas que eu uso. Quanto a imagem vc precisa fazer a mesma coisa que voce faz quando inclui uma imagem , mas voce remove da lista as imagens quer que saiam do produto { "pictures": [ { "source": "https:\/\/site.com.br\/imagem_1.JPG" },{ "source": "https:\/\/site.com.br\/imagem_2.JPG" },{ "source": "https:\/\/site.com.br\/imagem_3.JPG" },{ "source": "https:\/\/site.com.br\/imagem_4.JPG" }], "variations": [ { "id": 1234567890, "picture_ids": [ "https:\/\/site.com.br\/imagem_1.JPG","https:\/\/site.com.br\/imagem_2.JPG","https:\/\/site.com.br\/imagem_3.JPG","https:\/\/site.com.br\/imagem_4.JPG"] },{ "id": 1234567891, "picture_ids": [ "https:\/\/site.com.br\/imagem_1.JPG","https:\/\/site.com.br\/imagem_2.JPG","https:\/\/site.com.br\/imagem_3.JPG","https:\/\/site.com.br\/imagem_4.JPG"] }] } Eu tirei isso de um produto atualizado na sexta se quer tirar a imagem 3 mande a mesma requisição , sem a imagem 3. se tu tiver variações precisa mandar elas também . Você pode mandar a url do arquivo ou os ids gerados pelo mercado livre. Id é mais rapido porque nao envolve upload. Eu prefiro mandar imagem porque é mais facil de ligar com as variações .
  14. Atualize o produto mandando so as imagens que voce quer, vc pode mandar os ids da imagem ou os arquivos , id é mais rapido mais detalhes aqui https://developers.mercadolivre.com.br/pt_br/trabalho-com-imagens
  15. É possível obter token via postman sim utilize a funcao tests para armazenar o o token var jsonData = JSON.parse(responseBody); pm.environment.set("token_oficial", jsonData.access_token); pm.environment.set("refresh_token_oficial", jsonData.refresh_token); Todas as outras respostas estão aqui https://developers.mercadolivre.com.br/pt_br/server-side/
  16. Eu armazeno shipment e order separados se tu recebeu a order deve ter recebido o shipment em algum momento. Ou tu nao armazena nada localmente ?
  17. Quando o cliente seleciona "combinar entrega com o vendedor" não vem dados do endereço
  18. O status de https://api.mercadolibre.com/shipments/<id_shipment>/tracking?access_token={{token}} não ajuda você ?
  19. Quando vc faz esse tipo de pergunta é sempre melhor incluir o que tu ja fez e os erros que encontrou . Eu não acho bom dar código pronto , mas eu vou comentar umas coisas para ficar de referencia para voce e outras pessoas: lhandler é um objeto do tipo TIdSSLIOHandlerSocketOpenSSL ? Se for ok AllowCookies deve ser True Request.UserAgent,Request.charset e Request.Accept devem estar preenchidos conforme os dados que voce espera , senao vem html HTTPOptions deve ser ter o parametro hoForceEncodeParams marcado Você deve entender como ler e escrever json em delphi . Delphi tem suporte nativo a manipular json . Não fique escrevendo json na mao a não ser que seja algo muito simples . É um convite a problemas requisição se faz assim try // json simples Buffer := '{"fulfilled": false,"rating": "' + RatStr + '" ,"message": "' + Text + '"}'; // sempre faça isso voce pode ajustar no componente , mas eu crio tudo em tempo de execucao entao sempre informo http.Request.ContentType := 'application/json'; http.Request.CharSet := 'utf-8'; // atenção na sintaxe o segundo parametro é opcional mas deve ser informado JsonToSend := TStringStream.Create(Buffer, TEncoding.UTF8); // faca a chamada certa para o caso certo get/post/put Buffer := http.Post(Format(DEFAULTS_URL_QUALIFY_USER, [OrderID, GetAccessToken]), JsonToSend); // trate o retorno aqui except on E: EIdHTTPProtocolException do begin Addtolog(JobName, 'Error: ' + E.ErrorMessage, true); // trate seu erro aqui , se é erro do mercado livre eles vao cair aqui assim como falta de conexao e coisas assim end; on E: Exception do begin Addtolog(JobName, 'Error: ' + E.Message, true); // trate seu erro aqui , se é erro generico eles ficam aqui end; end espero que tenha ficado clado
  20. Tá faltando pesquisa aqui heim. Tem várias respostas aqui mesmo https://api.mercadolibre.com/shipments/{{id_shipment}}/costs?access_token={{token}} { "receiver": { "discounts": [], "cost_details": [{ "sender_id": XXX, "amount": 25.9 } ], "save": 0, "cost": 25.9, "compensation": 0, "user_id": XXX }, "senders": [{ "discounts": [], "save": 0, "cost": 0, "compensation": 0, "user_id": XXX } ], "gross_amount": 25.9 } AI tem o quanto o cliente pagou , quanto voce paga e quanto o mercado livre paga
  21. Não sei o seu volume de vendas e o seu tipo de produto, mas dependendo do produto você comercializa pode possuir muitos pedidos feitos em boleto por gente sem responsabilidade segurando seu estoque e você perder vendas reais por causa disso. Imagine também que você tem 3 peças em estoque e esta vendendo a 100 reais. Se um concorrente seu que venda o mesmo produto a 105 reais seu sabe que vc reserva estoque nesses casos ele pode muito bem 'comprar' seu estoque com boleto . Ele não tem nada a perder porque como comprador isso não gera problemas para ele . No meu ramo de atividade tenho muitos concorrentes que tentam esse tipo de coisa. Claro que cada caso é um caso . mas eu tive esse ano 3 perdas de vendas por causa desse tipo de coisa , menos de uma por mes. Mas eu te falo de cada 10 compras usando boleto minhas 6 são canceladas porque o cliente não pagou
  22. https://api.mercadolibre.com/orders/search/pending?seller={{seller_id}}&access_token={{token}}&sort=date_desc Se em payments houver uma tag activation_url preenchida é pagamento pendente com boleto, mas não sei se é muito adequado fica olhando isso por que: O cara faz uma compra com boleto , nao paga e o mercado livre cancela a order . Acontece muito. Você vai ficar reservando estoque e perder vendas reais ? Nesse balaio tem cartao roubado , cartao clonado , cartao recusado e gente tentando aplicar golpe . você vai precisar filtrar essas coisas Pagamento de boleto é processado no dia útil seguinte. Algumas localidades o processamento acontece dois ou tres dias uteis depois. O cara já pode ter pago e você nao tem como saber disso.
  23. id user_id resource resource_id recurso lido hora XXXXX11826 256XXXXXX orders 196XXXXXXX {"resource":"/orders/196XXXXXXX","user_id":256XXXX... 1 2019-03-16 22:30:32 XXXXX11827 256XXXXXX orders 196XXXXXXX {"resource":"/orders/196XXXXXXX","user_id":256XXXX... 1 2019-03-16 22:30:34 XXXXX11829 256XXXXXX orders 196XXXXXXX {"resource":"/orders/196XXXXXXX","user_id":256XXXX... 1 2019-03-16 22:30:35 XXXXX95550 256XXXXXX orders 196XXXXXXX {"resource":"/orders/196XXXXXXX","user_id":256XXXX... 1 2019-03-20 20:21:41 Em 5 segundos foram 3 mas pq provavelmente foi criada , depois adicionaram dados de pagamento e depois adicionaram dados de shipment . Se tu só quiser manter um unico registro vai perder o lastro das coisas e vai ter um problema sério de overload no banco de dados . Eu recebo meio milhão de notificação de items por dia . Imagina se eu fizesse 500 mil querys para verificar se o registro ja existe , ou pior , fazer um insert or update para toda requisição que chega
  24. Sem saber a linguagem que você usa é difícil te dar uma resposta. Se for php é isso header('X-PHP-Response-Code: 200', true, 200); Mas tenha em mente que alguns eventos enviam varias notificações seguidas . Uma nova Order gera uns 4, no minimo
  25. Essa notificação ocorre quando o produto sofre alguma alteração , de estoque , desconto aplicado , alteração que você enviou via API,Se o vendedor mexeu no produto via backend etc. O uso dessa informação vem da maneira que você compõe seu fluxo de atualização. Eu recebo meio milhão dessas por dia então eu só uso para detectar se o usuário mexeu em produtos via backend e o resto eu ignoro