Leaderboard


Popular Content

Showing content with the highest reputation since 07/30/2015 in all areas

  1. 3 points
  2. 3 points
    Divulgação do meu canal do youtube, onde mostro na prática a utilização da maravilhosa API do Mercado Livre. Acessem https://www.youtube.com/channel/UCfkk9UGL2DLtdunYuQiK4TQ
  3. 3 points
    Eu resolvi este erro adicionando o seguinte parâmetro no request : &caller.id=<codigo_usuario>. Sendo que o codigo do usuário é o mesmo que eu uso como "seller" nos endpoints de consulta de pedidos. Ex: https://api.mercadolibre.com/shipment_labels?shipment_ids=9999999&access_token=APP_USR-XXXXXXXXXXXXX&response_type=zpl2&caller.id=999999999 Acabou funcionando por tentativa e erro. Mas deveriam ter notificado a alteração e atualizado a documentação.
  4. 3 points
    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.
  5. 3 points
    Hola amigos. Les comparto los diferentes nombres de dominio para los diferentes siteId de ML $domains = array(//Array with domain names from siteId => Domain 'MLA' => 'com.ar',//Argentina 'MBO' => 'com.bo',//Bolivia 'MLB' => 'com.br',//Brasil 'MLC' => 'cl',//Chile 'MCO' => 'com.co',//Colombia 'MCR' => 'co.cr',//Costa Rica 'MRD' => 'com.do',//Dominicana 'MEC' => 'com.ec',//Ecuador 'MHN' => 'com.hn',//Honduras 'MGT' => 'com.gt',//Guatemala 'MLM' => 'com.mx',//Mexico 'MNI' => 'com.ni',//Nicaragua 'MPY' => 'com.py',//Paraguay 'MPA' => 'com.pa',//Panama 'MPE' => 'com.pe',//Peru 'MSV' => 'com.sv',//Salvador 'MLU' => 'com.uy',//Uruguay 'MLV' => 'com.ve'//Venezuela ); //Como usar para dirigir al usuario a su cuenta de ML $siteId = 'MLM'; $domain = $domains[$siteId]; $url = 'https://myaccount.mercadolibre.'.$domain; Y claro, tienen que guardar informacion basica de su usuario en su DB, como por ejemplo el siteId, entre otros. De esta manera su app puede ser mas dinamica conforme a los paises donde la pueden usar, por ejemplo. Saludos!
  6. 3 points
    mldev

    vendas do concorrente

    te recomendo a não seguir esse caminho, o Mercado Livre fechou os dados justamente pois havia abuso de empresas que queriam oferecer ferramentas de dados de concorrentes (aumentando o tráfego da API) realizando uma série de cálculos você até consegue chegar a um valor aproximado, mas a custo de muito trafego, e isso pode futuramente prejudicar ainda mais a todos (com mais restrições na API), por isso sempre recomendo usar a API com moderação e bom senso
  7. 3 points
    mldev

    Produto não é publicado no ML

    @gbandoni, se fosse você começaria a cobrar pelo curso de iniciação a programação ?
  8. 3 points
    Hola buen dia. Estaba leyendo las buenas practicas de la API de mercadopago, y al final incluyen el rango de IPs desde donde mandan las notificaciones. Trate de buscar esta misma informacion en los API DOCS de mercadolibre pero no la encontre. Alguien sabe el rango de IPs desde las cuales mercadolibre manda las notificaciones? Esto para agregar mayor seguridad y evitar ataques de personas que no tienen nada que hacer. Estos son los rangos de ip que dan en mercadopago 209.225.49.0 - 209.225.49.255 216.33.197.0 - 216.33.197.255 216.33.196.0 - 216.33.196.255 63.128.82.0 - 63.128.82.255 63.128.83.0 - 63.128.83.255 63.128.94.0 - 63.128.94.255 He estado jugando con la api de MP y veo que comparten la informacion esencial, como tokens, app id y demas, podria ser posible que tambien se envien las notificaciones desde las mismas IPs? Me puse a ver el whois de algunas IP, como 10, y todas eran propiedad de mercadolibre, por lo que podria ser posible lo anterior. Como digo, es por seguridad, yo podria estar si nada que hacer, tomar la prueba gratis de una app, y simplemente jugar con las urls un rato, porque supongo que un gran fallo de seguridad seria que la url donde reciban sus notificaciones sea "https://app.com/notificaciones.php" o "https://app.com/notificaciones/notificaciones.php" y si no hay algun bloqueo tipo de bloqueo, como con estas ips, podrian enviar informacion falsa, o hacer un ataque masivo de request hasta destrozar el servidor, algo asi por el estilo. Saludos! + + + + + + + + + + + ACTUALIZACION Habia levantado un ticket de soporte, y me respondieron satisfactoriamente! ["{bloque : 209.225.49.0/24}", "{bloque : 216.33.197.0/24}", "{bloque : 216.33.196.0/24}", "{bloque: 63.128.82.0/24}", "{bloque : 63.128.83.0/24}", "{bloque : 63.128.94.0/24}"] 216.33.196.4 y 216.33.196.25 Al parecer son las mismas IPs, solo que en ML utilizan un rango mas bajo que en MP, esperemos que con esta informacion podamos proteger aun mas nuestras apps. Y ahora, como hacemos un filtro basico? $allowlist = array( '209.225.49', '216.33.197', '216.33.196', '63.128.82.', '63.128.83.', '63.128.94.' ); foreach ($allowlist as $key=>$ip){ if(strncmp($ip, $_SERVER['REMOTE_ADDR'], 10) === 0){ die('Ip out of range.'); } }; Simplemente ponemos los rangos de IP en un array, y hacemos un string comparison, si el que ejecuta el script no esta dentro de ese rango, adiosito. Saludos!
  9. 3 points
    Padrão ML de Qualidade! ?
  10. 3 points
    Legal é que primeiro eles mudam, depois avisam... tá SERTINHO Mercado Livre!!
  11. 3 points
    xsbr

    custo fixo + comissão (02/07/2018)

    Fórmula - Valor Acrescentar = R$ 5,00 / (1 - %Comissão ML - %Imposto) Ex1: Premium com Imposto a 10% VA = 5,00 / (1 - 0,16 - 0,10) = 6,75 Ex2: Clássico com Imposto a 12% VA = 5,00 / (1 - 0,11 - 0,12) = 6,49 @rodrigojob esses R$ 5,00 podemos chamar como taxa do "Fundo de Pobreza do MercadoLivre"
  12. 3 points
    Hola! Yo tenia la misma duda, y fue algo tan facil, que hasta me dio risa al final 1 - Obten el ACCESS TOKEN y REFRESH TOKEN por primera vez con el ejemplo que viene en "example_login.php" del SDK de PHP. 2 - Guarda estos dos datos en tu Base de datos 3 - Ahora solo pones un Daemon que este cada 5 horas actualizando el token, usando el refresh token. Cuando hagas lo anterior, la API te va a devolver un ACCESS TOKEN y REFRESH TOKEN totalmente nuevos, ya solo sustituyes estos por los viejos que tenias y ya. function new_token ($appId, $secretKey, $token, $r_token,$con_token){ $ml_session = new Meli($appId, $secretKey, $token, $r_token); $refresh_tokn = $ml_session->refreshAccessToken(); $new_token = $refresh_tokn['body']->access_token; $new_refresh_token = $refresh_tokn['body']->refresh_token; if (empty($new_token)){ return true; } else { $query_guarda_token = "UPDATE datos SET tokn = '".$new_token."', refresh = '".$new_refresh_token."', ultima = NOW() WHERE usuario = 'xxxxxxxxxx'"; mysqli_query($con_token, $query_guarda_token); return false; } } $res = new_token ($appId, $secretKey, $token, $r_token, $con_token); while ($res){ $res = new_token ($appId, $secretKey, $token, $r_token, $con_token); sleep(10); }; 4 - Cada vez que ejecutes un script, haces una llamada a tu BD y "jalas" el token y facilmente realizas cualquier consulta a la API automaticamente. Esto yo lo tengo funcionando asi, tengo un daemon que me actualiza el token, luego otro que me guarda las visitas diarias de mis publicaciones. Aparte, este metodo te permite realizar cosas automaticas al recibir alguna notificacion, por ejemplo guardar toda la informacion que realmente te importe de una order recien creada, mandar un mensaje de agradecimiento, lo que se te ocurra. Creo que con esto te he brindado un camino, ya la programacion es pan comido teniendo la logica del funcionamiento. ACTUALIZACION 5 MARZO 2018 Tenia problemas porque a veces me daba error y no se rneovaba el token, por lo que mejor hice una funcion para que detecte si se obtuvo alguna respuesta por parte de ML, si no hay respuesta, se va a volver a pedir el token al esperar 10 segundos, y asi hasta que se obtenga un token nuevo. Te deseo un excelente dia!
  13. 3 points
    Rodrigo

    Atributos de anúncios

    Existem atributos fixos e atributos que realmente não são exibidos. Acredito que isso ajude o Mercado Livre a criar filtros e categorizar melhor as coisas. Mas antes não aparecia nenhum atributo nos anúncios e agora já aparecem alguns na página do anúncio. Recomendo adicionar todos que for possível. No futuro isso pode começar a aparecer. [ ]'s
  14. 3 points
    Seria bom ter uma formatação básica. Até sem quebra de linha, é isso mesmo?
  15. 3 points
    Olá, basta passar o status como filtro com o valor UNANSWERED Segue um exemplo: https://api.mercadolibre.com/questions/search?seller_id={seller_id}&status=UNANSWERED&access_token= [ ]'s
  16. 3 points
    Acá te paso un ejemplo : https://api.mercadolibre.com/reviews/search?item_id=MLA650686263
  17. 2 points
    DIEGO_V_G_SILVA

    Processamento de fotos

    Boa tarde. Desde semana passada está ocorrendo uma instabilidade na publicação das fotos dos anúncios. Para contextualizar: quando um anúncio (item) é publicado via API, em uma de suas propriedades (pictures) é passado o endereço (URL) das fotos. A API do Mercado Livre fica responsável por acessá-las, baixá-las, processá-las e disponibilizá-las no anúncio em questão. Todas essas etapas geralmente demoram poucos minutos, no máximo. Porém, desde semana passada, todas as publicações feitas pelos nossos clientes estão pendentes de foto, isto é, aparecem como "Processando imagem", tanto na edição quanto no anúncio per se. Tentamos alterar a publicação para que publicasse as fotos via outros domínios (URL) mas o problema persiste, independentemente de domínio. Ficamos no aguardo de uma resposta.
  18. 2 points
    SANMODAS

    Alterações na API itens.

    De algum tempo já, as principais métricas somente são mostradas com os respectivos tokens. Não consigo atinar nessa solução "brasileira" onde os bons pagam pelos maus. Ainda me pergunto porque responder então sem autorização? Na lógica colocada acima não haveria a possibilidade de obter informações de terceiros e nem a necessidade de limitações que obrigam alteração de código pronto. Além disso, não houve apenas mudança na quantidade de respostas, o corpo das mesmas também foi modificado. APIs, a meu ver, deviam ser estáticas baseado na própria finalidade das mesmas. É muito chato reescrever código testado.
  19. 2 points
    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 🤬
  20. 2 points
    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
  21. 2 points
    Descobri que o parse XML do ML está ignorando a tag <indIEDest> quando está com valor "9" (que significa que é isento ou não tem IE). Abri protocolo no suporte, vamos ver no que dá
  22. 2 points
    Diogenes Lima

    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.
  23. 2 points
    vamos lá... a questão não é o Mercado Livre fechar ou não, ele não determina isso, quem determina é a LEI! pessoa física não pode comercializar nada! você até pode vender uma coisa pessoal usada, mas se você vende frequentemente já caracteriza comercialização (mesmo que de usados), e então você tem que estar regularizado com a Receita para vender (isso porque ela vem fechando o cerco, já tem os dados de todas as transações de vendas de integradores de pagamentos como Mercado Pago e PagSeguro, então quem não emite nota, logo estará com uma bela conta pra pagar... acredite, uma hora essa conta chega)
  24. 2 points
    rodrigojob

    Etiqueta manualmente

    Isso não existe. Procure por "test user" na documentação. Faça todos os procedimentos de cadastramento, compra, coleta de informações, ... o test user é um SANDBOX no ambiente real. Atenção no uso do forum, você usou um tópico que não tem o mesmo objetivo da sua pergunta. Isto atrapalha o assunto e não permite que outros usuários possam usufruir da pergunta e resposta à sua dúvida. Reconhece o termo SANDBOX?
  25. 2 points
    gbandoni

    Produto não é publicado no ML

    Vou te dar uma dica que eu considero valiosa Usa e abusa do Postman . Se tu conseguir fazer no postman ( e 99% delas tu vai conseguir) você pode usar o gerador de código para gerar o básico vou ter dar um exemplo Tu quer subir imagem via disco local e na documentação ele lista o comando como curl -F file=@/home/user/picture.jpg https://api.mercadolibre.com/pictures?access_token=$ACCESS_TOKEN Se tu for em File\Import tu cola o comando Tu vai ver que ele cria uma entrada com base na sintaxe Em body tu vai precisar mudar o tipo de parametro de text para file. Ai em File tu pode selecionar um arquivo local em disco Tudo configurado ? Teste e veja o resultado , se funcionou ótimo , se não verifique os erros e teste até conseguir. Funcionou ? Clica no botão Code Ele gera um código super básico, mas serve de ponto de partida Eu não acho esse código a melhor solução (isso deve dar dor de cabeça em manutenções futuras) HttpResponse<String> response = Unirest.post("https://api.mercadolibre.com/pictures?access_token=XXXXX") .header("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW") .header("Content-Type", "application/x-www-form-urlencoded") .header("cache-control", "no-cache") .header("Postman-Token", "108d9878-863b-410c-92cc-3cd902f42f43") .body("------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"file\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--") .asString(); Uma pequena alteração ja melhora a funcionalidade dele HttpResponse<String> response = Unirest.post("https://api.mercadolibre.com/pictures?access_token=XXXXX") .header("Content-Type", "application/x-www-form-urlencoded") .header("cache-control", "no-cache") .field("file", new File("C:\temp\imagem.jpg")) .asString(); Espero que tenha ficado mais facil de entender
  26. 2 points
    Eu acho que o email veio somente formalizar um comportamento já existente, por que por aqui isso já acontecia, inclusive abri uma chamado a um tempo atrás com a equipe deles sobre isso. Quando o usuário troca a senha, o token perde a validade. OK, é um ponto de segurança importante. O problema é que o sistema do ML dá erro no token e não informa o motivo e, pelo menos aqui, não deixa fazer refresh. O usuário precisa logar no sistema novamente para que possamos receber um novo token válido. Infelizmente temos vários casos onde o token perde a validade às vezes total e às vezes parcialmente (permite consultar algumas coisas, mas em outras dá erro) e os motivos são variados. Fica complicado direcionar o cliente para o procedimento correto.
  27. 2 points
    Lembrei que em conversa com o supervisor de desenvolvimento foi dito que o carrinho de compras será remodelado. Ele também me disse que dá para ter todos os dados da order num só request, eu vou testar e depois posto o resultado
  28. 2 points
    rodrigojob

    Problema com as notificações

    Olá luacs, este fórum é para discussões sobre a API, onde as notificações são enviadas pelo ML para o endereço que você informou no cadastro. Pelo que estou percebendo o seu problema é no APP e no site, que para suporte deve usar o "contato", no menu superior da sua conta. Aparenta que alguma coisa que melou no arquivo delas ou está estourando o tempo limite para carregá-las, se você não apaga as notificações este pode ser o motivo. De qualquer forma deve procurar o canal de suporte ao site. Este é um fórum para desenvolvedores independentes.
  29. 2 points
    Woomelly

    Limite de requisições por hora

    This always appears to me: Max. Requests by Hours: 18000 I have not paid attention to him at the moment. Maybe it will help you. ---------- Isso sempre me parece: Max. Solicitações de horas: 18000 Eu não prestei atenção a ele no momento. Talvez isso te ajude.
  30. 2 points
    Toda mudança no pedido gera uma notificação . Alguns eventos geram atualização no shipment também. Pelo que eu percebo quando o cliente escreve uma mensagem no pedido ou le também dispara notificações . Todas essas notificações são da mesma ordem. Ai tem a gravação , confirmação do pagamento , Uma mensagem de boas vindas que eu disparo Por isso que não é bom reagir instantaneamente as notificações . Eu acho melhor simplesmente armazenar a notificação e depois um job lê notificações especificas (um para processar orders por exemplo ) e processa sem redundância
  31. 2 points
    @mldev @gbandoni @rodrigojob foi falha minha de entendimento da documentação, consegui. Obrigado.
  32. 2 points
    Boa tarde, @Wesley Nascimento. Tudo bem. E você? Cara, isso é muito ruim. Como citei, tenho muitos clientes que acabam tendo que usar o front do ML e eles não querem usar 2 sistemas para gerenciar seus anúncios, vendas, etc. Tem muitas coisas na API que "não são tão abertas assim", e isso complica muito nossa vida.
  33. 2 points
    Creemoslo! Montos minimos donde mercadolibre te obliga a ofrecer envio gratis Argentina: 1400 Pesos argentinos (https://www.mercadolibre.com.ar/mercadopuntos/enviogratis) Brasil: 120 Reales (https://www.mercadolivre.com.br/mercadopontos/fretegratis) Colombia: 70.000 (https://www.mercadolibre.com.co/mercadopuntos/enviogratis) Mexico: 549 (https://www.mercadolibre.com.mx/mercadopuntos/enviogratis) Chile: 15.000 Pesos chileno (https://www.mercadolibre.cl/mercadopuntos/enviogratis)
  34. 2 points
    Diogenes Lima

    Onde conseguir official store id?

    Minha recomendação não é apenas "PESQUISAR NA API" e sim "ESTUDAR A API". Na documentação fala explicitamente sobre isso: http://developers.mercadolibre.com/pt-br/lojas-oficiais/
  35. 2 points
    aquele número não é um número de Nota Fiscal do vendedor, é simplesmente um número aleatório ou de controle interno (apenas colocam porque é uma obrigatoriedade dos Correios para PAC), esse número você não tem como consultar ou conseguir
  36. 2 points
    juvian

    ....

    No se cómo la hacen ellos, pero es posible (aunque engorroso) hacerlo puramente con las apis públicas. La manera de solucionar el tema del offset es siempre filtrar por categorías hojas, que seguramente (esperemos) tengan menos de 15000 publicaciones. Así que tendrías que obtener el árbol de categorías y en base a ello realizar búsquedas para cada una de las categorías hoja. Para ser un poco más eficiente, podés primero verificar si hay o no 15000 o más publicaciones y en caso de haber menos directamente buscar por esa categoría y dejar de bajar por las hojas
  37. 2 points
    Olá; Tenho realizado através da API o cadastro de produtos e adicionando as variações como sugerido pelo mercado livre, contudo há atributo que não podem ser preenchidos por exemplo, "codigo Universal do Produto" nem todos os produtos possuem este código, contudo quando deixa em branco um atributo, o mercado livre fica sugerindo para que o cadastro do produto seja "complementado". Lá dentro do ML, quando passa o mouse por cima do atributo não preenchido aparece a opção "N/A" que significa Não se aplica. Minha dúvida é como eu faço com que o atributo seja definido através da API como "não se aplica". Alguém sabe? Tentei deixar em branco mais não tem sido aceito. Alguma dica?
  38. 2 points
    rodrigojob

    Processando Imagens.....

    Do While update images; i++; echo i; Loop resposta no console: 1 2 3 ... 589732321
  39. 2 points
    rodrigojob

    Processando Imagens.....

    é um recurso técnico para correção de serviços de terceiro
  40. 2 points
    Consegui, segue explicação para quem precisar. Como meu ERP é desenvolvido em Delphi, não vou postar código, apenas uma explicação. Deve passar como parâmetros de formulário (Key=Value,File=Referência para o Arquivo) e além disso o próprio arquivo com o content-type = application/pdf e o Content-Encoding = multipart/form-data. Segue parte do código para quem utiliza Delphi: LMultiDt := TIdMultiPartFormDataStream.Create; LMultiDt.AddFormField('key','value'); LMultiDt.AddFormField('file','caminho_do_arquivo_no_caso_pdf'); LMultiDt.AddFile('file',caminho_do_arquivo_no_caso_pdf,'application/pdf'); idhttpConn.Post(https://api.mercadolibre.com/messages/attachments?access_token=$ACCESS_TOKEN,LMultiDt,Stream); Stream.DataString = referência do anexo criado
  41. 2 points
    Resposta do suporte sobre este tema:
  42. 2 points
    É só você continuar a leitura no mesmo link que postou aqui. A questão é que as imagens da variação precisam estar associadas ao anúncio (item), então se é uma variação nova e você não vai usar uma imagem já existente, precisa incluir a imagem no item também, então faça um PUT em item com os atributos pictures (incluindo a nova imagem) e variations (enviando os IDs das variações já existentes e os dados completos da nova variação). Neste caso, no picture id da variação você envia a mesma URL da imagem que estiver adicionando no item.
  43. 2 points
    é como eu digo, eles sempre falam de "Open Platform", mas não é tão open assim... segundo eles usam a mesma API, mas muitos dados não liberam pra nós (tá certo que realmente existem dados que não podem ser abertos, mas tem recursos que deveriam ser disponibilizados) uma coisa é certa: nunca coloque todos os ovos na mesma cesta! ainda mais quando acesta não é sua... rsrs ... o ML é uma baita plataforma, mas é bom desenvolver para outras também (até para fidelizar seu cliente) abs e feliz 2018!
  44. 2 points
    xsbr

    Variação Padrão

    Debugando as chamadas da interface, dentro de cada variação envia um atributo chamado "variationVip" com valor true ou false
  45. 2 points
    Pessoal \r\n para a quebra de linha será permitido. Vou editar a mensagem que eu havia postado. Abraços, Wesley.
  46. 2 points
    Lembrei de uma: Gerenciamento de Reclamações (conciliação)
  47. 2 points
    O recurso de Multiget não resolveria esse problema? https://api.mercadolibre.com/multiget?resource=shipments&ids=SHIPPINGID_1,SHIPPINGID_2&access_token=XXXXXXXXXX Sei que o JSON não fica dos mais bonitos possível, mas resolve seu problema. Abraços, Wesley.
  48. 2 points
    podes usar multiget y hacer /items?ids=MLV465432483,MLV465440101...,MLV465692453 y si queres sólo tomar algunos datos podes hacer items?attributes=title,price eso te reducirá mucho el tiempo y las llamadas a la api
This leaderboard is set to Sao Paulo/GMT-03:00