Leaderboard


Popular Content

Showing content with the highest reputation since 06/02/2014 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
    Hola. Por favor evita este tipo de post como si estuvieras hablando con tu amigo en whatsapp. Esto no es un chat. Un saludo nos viene bien a todos, asi como mayor informacion de lo que estas haciendo y como lo haces. Pir que dices que no te deja publicar mas de un producto? Te da algun error la API? Estas creando un array con los productos e iteras a travez de este para que vaya publicando cada producto en cad iteracion? Nada que un for o un foreach no solucione. Saludos
  18. 2 points
    Buen dia amigos. Esta no es una duda, es una aportacion debido a los problemas que me tope (anoche) en la implementacion del API, apenas tengo 1 (uno) dia haciendo la implementacion y mi primer detalle fue "capturar" la access_token debido a que mercadolibre retorna la token anteponiendo un # (hashtag) por lo cual, el PHP directo es imposible obtener dicho valor por el flujo $_GET, $_POST o $_SERVER. Tuve que detenerme en estudiar el problema como por 4 horas para finalmente encontrar una manera, a final de cuenta funciono pero me gustaria compartirles mi solucion ya que no uso el SDK Meli ya que mi codigo es mas simplificado e intuitivo (para mi plataforma). ## Generando URL de autentificacion <?php $loginurl= 'https://auth.mercadolibre.com.mx/authorization?response_type=token&client_id=ID_DE_MI_APP'; # yo creo una sesion general para validar si ya fue sincronizada la pp if( !$_SESSION["mercadolibre_token"] ) echo '[<a href="'. $loginurl. '">Conectar</a>]'; else echo 'Ya estas conectado :D'; ?> En mi APP (en la plaatforma mercadolibre) configure que el "callback" sea la URL directa "www.miempresa.com" y yo me encargare de disernir entre una sincronizacion de mercado, twitter y facebook... Para esto usare dos partes, el callback que recibe y el callback que procesa. CALL BACK QUE RECIBE, este practicamente recibe la respuesta de mercadolibre, que en lo personal es irrecomendable ya que metes en lios a los desarrolladores: http://www.miempresa.com/#access_token=la_token&expires_in=_segundos_&user_id=_id_usuario_&domains=_dominio_ Practicamente por javascript capturamos el elemento "hashtag" y lo transformamos a como PHP lo puede leer (http://www.miempresa.com/?var=data&var=data) <?php # callback que recibe define( HTTP_SERVER, "http://www.miempresa.com" ); echo '<script type="text/javascript"> var a= window.location.hash; if( a!==\'\' ) { var url= \''. HTTP_SERVER. '/?\'+a.substr(1); window.location = url; } </script>'; ?> CALL BACK QUE PROCESA, este ya es el que recibe por flujo $_GET la info para procesarla <?php # callback que procesa if( $_GET["access_token"] && $_GET["expires_in"] && $_GET["user_id"] && $_GET["domains"] ) { $_SESSION["mercadolibre_token"]= $_GET["access_token"]; # genero el access_token para uso en toda la plataforma # actualizacion en BDD para guardar los datos de mercado $trama= array( "id"=>"'". proteger_cadena($_SESSION["SUPERID"]). "'", # id del USUARIO en mi BDD "mercadolibre_id"=>"'". proteger_cadena($_GET["user_id"]). "'", "mercadolibre_token"=>"'". proteger_cadena($_GET["access_token"]). "'", "mercadolibre_expire"=>"'". proteger_cadena(($_GET["expires_in"]+time())). "'" ); if( !actualizar_bdd( "USUARIOS", $trama ) ) # mi funcion de guardar echo '<div class="msg_error">Problemas para actualizar datos.</div>'; else echo '<div class="msg_exito">Cuenta de mercadolibre asociada con exito.</div>'; } ?> Al final tendremos guardada la token para uso posterior, y como es costumbre mia, tendre una variable de sesion especifica para usarla en la plataforma: $_SESSION["mercadolibre_token"] Espero les haya ayudado Saludos !
  19. 2 points
    mldev

    Compra casada

    as sugestões são feitas pelo robô do Mercado Livre, os vendedores não tem autonomia sobre elas
  20. 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 🤬
  21. 2 points
    Wesley Nascimento

    SDK 2.0 PHP

    Boa tarde pessoal, tudo bem? Primeiro quero explicar por que algumas pessoas receberam o email e outras não. Fizemos um levantamento das aplicações que utilizam as SDK's de Ruby / Python / PHP e como as mudanças impactavam apenas essas aplicações decidimos por não mandar para toda a comunidade e sim apenas para aplicações que as utilizam. A mudança basicamente consiste em garantir que a URL gerada pela função make_path seja sempre do Mercado Livre. Espero ter esclarecido a dúvida. Abraços, Wes
  22. 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
  23. 2 points
    se está utilizando Mercado Envios o tempo de entrega é estimado pelo Mercado Livre e você (nem o vendedor) tem autonomia sobre isso
  24. 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á
  25. 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.
  26. 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?
  27. 2 points
    Erro 1 precisa de mais detalhes para saber. Erro 3 não é erro só informativo porque o produto deve ser acima de 120, então o FG foi adicionado automaticamente, mas não impede o cadastro do item. Erro 2 é o "pulo do gato". MAIN_COLOR é atributo e vai em "attributes" e não em "attribute_combinations". Sempre verifique a estrutura da categoria antes de postar um produto (na verdade sua aplicação deve olhar e validar isso).
  28. 2 points
    Só um desabafo, mas esse mercado livre só está nos fud***do.. Agora os bonitões inventaram nova autenticação de contas com nossos sistemas toda vez que a senha do usuário for mudada. A pergunta é PRA QUE ESSA PORCARIA?? Tenho clientes com várias contas e só vamos perceber depois que começar a não baixar os pedidos. Vai virar uma zona isso!!!
  29. 2 points
    kaduBass

    URL NOTIFICACAO NAO RECEBE

    Questao resolvida : solucao Ao cadastrar a url eu tinha colocado HTTP , porem meu sistema esta redirecionando para HTTPS . Dando erro 301 . Entao tive que mudar para HTTPS no painel . Eu verifiquei o erro pelo : https://api.mercadolibre.com/myfeeds?app_id=appid&acess_token=token Lembrando quem for mudar pelo painel do gerenciamento de app eu verifiquei que o MERCADO LIVRE demora um tempo pra atualizar a URL , entao fiquem ligados nao e algo automatico a atualizacao .
  30. 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
  31. 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.
  32. 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
  33. 2 points
    cara, por favor coloca o codigo que sim funciona. acho que issa categoria nao aceita os attributes que voce esta usando
  34. 2 points
    o que o @Diogenes Lima diz é que o ML diz que a plataforma é aberta, mas na prática não está sendo, pois se o ML usa a API como diz e o recurso existe, porque não é liberado? isso tem causado muitos problemas (como é o caso do split de fretes), descontentamento dos vendedores, entre outras coisas
  35. 2 points
    Retire o sale_terms. Isso ainda não está liberado para inclusão ou atualização pela API. Aproveitando, @Wesley Nascimento quando as atualizações de sale_terms estarão disponíveis para inclusão ou alteração via API? Tenho vários clientes que não conseguem alterar os dados de sale_terms (prazo de produção) e precisam usar o front do ML. Tem também a parte de marcar que o pedido está pronto para geração de etiqueta quando o produto tem prazo de produção e isso também não foi liberado ainda via API.
  36. 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)
  37. 2 points
    Uma empresa desse tamanho com uma API porca dessas, eu descobri que a requisição não é GET e sim POST, o engraçado é que no exemplo eles dão uma URL com query string, ai dá a entender que você envia por GET, consegui usando o SDK mesmo, mas obrigado
  38. 2 points
    rodrigojob

    Processando Imagens.....

    é um recurso técnico para correção de serviços de terceiro
  39. 2 points
    rodrigojob

    Carrinho de compras

    Manda 3 porque são 3 orders. Porque foi mal feito pelo ML.
  40. 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!
  41. 2 points
    juvian

    Listagem de opiniões

    Tem muita coisa não documentada :(. Ninguém sabe tudo
  42. 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
  43. 2 points
    Wesley, conciliação... já coloquei no post sobre "o que nós queremos na API"
  44. 2 points
    bem colocado @xsbr! outro problema que notamos também é que o comprador pode colocar o cadastro como PF e na hora de fechar a compra informar um CNPJ, ficando contraditório o nome (e muitas vezes o endereço informado do constante no CNPJ, o que pode causar sérios transtornos em barreiras fiscais estaduais) @Wesley Nascimento, seria bom tentar validar de alguma forma esses dados do cliente na hora da compra, pois a reclamação de vendedores é constante referente á: - clientes que compram com CPF e depois querem que a nota seja emitida para um documento diferente, geralmente CNPJ (colocar mensagem na hora de finalizar a compra de que não é permitido alterar o documento após a compra seria de grande valia) - falta da IE em clientes PJ contribuintes do ICMS (obrigar informar IE quando o CNPJ for de empresa contribuinte) - cliente que informa CNPJ porém endereço de entrega diverge do constante no cartão do CNPJ (às vezes até de estado diferente - este é bem grave pois pode gerar sérios problemas em barreiras fiscais estaduais)
  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
    Gostaria que tivesse uma forma de passar um link para um produto com um src=facebook-ads e caso uma venda seja gerada viesse esse src no order para eu saber a origem da venda. Isso permitiria poder determinar qual canal de publicidade está me dando maior retorno.
  47. 2 points
    Lembrei de uma: Gerenciamento de Reclamações (conciliação)
  48. 2 points
    Olá Pessoal, a ideia é fazermos um encontro para passar o conceito básico e geral do uso da API do ML. Auth2; criar, modificar, ... anúncio gerenciar vendas E um pouco mais! Onde: a definir, mas na Grande São Paulo Quando: se tivermos número de pessoas pode ser em março de 2017. Se não tiver interessados agora vamos acumular. Quanto: 2 cerveja/refrigerante/suco Quem: de preferência novatos. No máximo 20 pessoas. É bem restrito. Quem quer? Pode dizer aberto ou mensagem privada. Até mais Rodrigo
  49. 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
  50. 2 points
    Olá, estou tentando criar uma nova aplicação mas está exigindo que os links sejam https. Estou recebendo a seguinte mensagem de erro: Property [callback_url] of class [class com.apps.Application] with value [http://meudominio.com.br]does not pass custom validation. Error is [https must be used] Na URL de callback aceitou sem https mas na "Redirect URI" somente se for https.
This leaderboard is set to Sao Paulo/GMT-03:00