Leaderboard


Popular Content

Showing content with the highest reputation since 06/02/2014 in all areas

  1. 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!
  2. 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
  3. 3 points
    Seria bom ter uma formatação básica. Até sem quebra de linha, é isso mesmo?
  4. 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
  5. 3 points
    Acá te paso un ejemplo : https://api.mercadolibre.com/reviews/search?item_id=MLA650686263
  6. 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)
  7. 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
  8. 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/
  9. 2 points
    esse link pode te ajudar: https://contato.mercadolivre.com.br/ajuda/Custos-para-frete-gratis-pelo-mercado-envios_3593 o chato é que a cada dia o ML cria novas regrinhas (excluindo categorias, mudando descontos, etc), e como tudo demonstra que eles não estão mais muito interessados nos desenvolvedores e API aberta, a gente tem que se virar porque realmente não tem onde consultar os valores
  10. 2 points
    Conceitualmente acho errado usar o attributes para trazer dados de paging, já que esta seria uma informação do resultado e não dos "objetos" (ORDERS, no caso). De qualquer forma, não está funcionando o attributes nesta consulta nem para pegar somente os dados de ORDERS. Deve ser bug lá.
  11. 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
  12. 2 points
    rodrigojob

    Processando Imagens.....

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

    Processando Imagens.....

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

    Carrinho de compras

    Manda 3 porque são 3 orders. Porque foi mal feito pelo ML.
  15. 2 points
    Hola Ricardo. Te voy a guiar porque yo tambien batalle. Primeramente, antes que nada tienes que guardar el access token y refresh token en tu base de datos, para que? para que no tengas que estar actualizando el token y seguirle dando vida manualmente. Primeros pasos 1 - Adquiere el token y refresh token por primera vez y los guardas en tu bd manualmente. Si ya entiendes lo de la autorizacion, con un echo en php obtienes estos dos datos. 2 - Ya que tienes estos datos, crea un daemon en tu servidor para que le haga refresh al token cada 5 horas 3 - Para crear el daemon, crea un archivo en php y "jala" tu token y refresh token, haces el llamado del SDK de ML, y ejecutas: require 'basics/meli.php';//El archivo del SDK de ML en php $ml_session = new Meli($appId, $secretKey, $token, $r_token);// Jala todos estas variables de tu BD $refresh_tokn = $ml_session->refreshAccessToken();//Ejecutalo para obtener un nuevo token $new_token = $refresh_tokn['body']->access_token; //este es el nuevo token $new_refresh_token = $refresh_tokn['body']->refresh_token; // este es el nuevo refresh token Ya solo queda hacerle un UPDATE a tu bd donde guardas los tokens, esto es facil, de esta manera ya automatizas el refresh de los tokens. 4 - Crea un cronjob que ejecute el script en php cada 5 horas, como tengo un vps con linux, quedaria algo asi: 0 */5 * * * php -q /root/archivo.php 5 - Ahora en cada script para tu APP que requieras los tokens, solo haces el llamado a tu BD y jalas esos datos. Ya terminamos la parte para automatizar el refresh de los tokens Atrapa las notificaciones 1 - En la documentacion dice que en tu APP pongas la url donde seran dirigidas las notificaciones, entonces ya teniendo esto en cuenta, crea un script para "atraparlas" por ejemplo, cuando te compren algo, te va a llegar una notificacion como esta: { "resource": "/orders/1499111111", "user_id": 123456789, "topic": "orders_v2", "application_id": 2069392825111111, "attempts": 1, "sent": "2017-10-09T13:58:23.347Z", "received": "2017-10-09T13:58:23.329Z" } 2 - Lo que ocupas de esa informacion es el "resource", haces un llamado al API de ML con el resource: $data = json_decode(file_get_contents('php://input'), true);//Con esto atrapas la informacion que te envia ML $resource = $data['resource']; //Aqui creas tu variable que contiene el resource $ml_session = new Meli($appId, $secretKey, $token); //Crea la sesion de ML $params = array('access_token' => $token); $order_data = $ml_session->get($resource, $params);//Haces un GET a la API para obtener los datos de la orden 3 - Tu $order_data ahora tendra como datos el array de toda tu orden, en este array lo que nos importa es: $order_data_buyerid = $order_data['body']->buyer->id; $order_data_id = $order_data['body']->id; 4 - Ya que tenemos los datos basicos, ahora creamos el mensaje: $message_body = array('from' => array('user_id' => xxxxxxxxxxx),//Aqui va tu user ID, el de tu cuenta. 'to' => [array('user_id' => $order_data_buyerid ,// A quien le enviamos el mensaje 'resource'=> 'orders', 'resource_id'=> $order_data_id,//El id de la orden 'site_id' => "MLM")],//Que ML usamos, en mi caso es Mexico, por eso la M 'text' => array('plain' => 'Hola muchas gracias por tu compra, Ten un excelente dia'), );// Todo esto es el mensaje 5 - Ya quedo listo todo lo complicado, ahora solo queda enviar el mensaje. Te aclaro que puedes enviar mensajes en formato HTML, solo cambia en el array de 'text' el 'plain' por 'html' e insertas el codigo HTML como string y listo. 6 - Ahora solo queda realizar un post al API de messages, donde enviaras todo el cuerpo del mensaje que creamos anteriormente: $message_send = $ml_session->post('/messages',$message_body, $params);//Ejecuta el envio del mensaje Es realmente facil, solo que la documentacion no es tan extensa y no te explica todo esto, lo entiendo, porque la documentacion solo es una guia, ya lo que queramos hacer depende de nosotros. Yo lo hago asi y cada vez que recibo una orden nueva, ejecuto todo lo anterior y se envia el mensaje automaticamente, y claro tambien guardo toda la informacion de la orden nueva en mi base de datos, bueno no toda la informacion, solo la que me sirve para crear mi estadistica personal. Tambien, por ejemplo, yo entrego la paqueteria a la 1 pm, entonces si me compran algo despues de esa hora, envio un mensaje diferente, donde les digo que el paquete sera enviado al dia siguiente, o si me compran en sabado o domingo, les envio un mensaje donde les indico que el paquete sera enviado hasta el dia lunes, vaya, aqui ya depende de la imaginacion de cada quien. La verdad yo he comprado cosas en ML y nadie te manda un mensaje de agradecimiento, ni manual ni automatico, entonces tenemos que hacer la diferencia para que los clientes se sientan seguros, confiados y satisfechos. Basicamente esos son los pasos a seguir, yo batalle bastante para llegar a esto, y la verdad no quiero que los demas batallen tanto como yo lo hice. Espero te haya ayudado, si quieres puedes invitarme un cafe por paypal jajajaja. Te deseo un excelente dia y aqui estamos para ayudar en lo que sea, ademas para darle vida a este foro, que a veces parece muerto y con puras dudas.
  16. 2 points
    Resposta do suporte sobre este tema:
  17. 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!
  18. 2 points
    juvian

    Listagem de opiniões

    Tem muita coisa não documentada :(. Ninguém sabe tudo
  19. 2 points
    Como se puede ver, se cambió de tipo lista a tipo número, con lo cual con número no hay una lista de valores. Ahora con mandar el número de año en vez de id alcanza
  20. 2 points
    Wesley, ficou sim. Porém, no meu ponto de vista, ficou ruim devido ao aumento do consumo (GETs) que devemos realizar, tornando o acesso mais lento.
  21. 2 points
    Pessoal \r\n para a quebra de linha será permitido. Vou editar a mensagem que eu havia postado. Abraços, Wesley.
  22. 2 points
    Lembrei de uma: Gerenciamento de Reclamações (conciliação)
  23. 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.
  24. 2 points
    Maycon Fortes

    Cross Docking x rastreamento

    @rodrigojob, estou utilizando o Mercado Coleta (Cross Docking) a umas duas semanas, já enviamos mais de 19 mil pedidos nesse período e o transtorno é gigantesco. 1º Problemas para imprimir as etiquetas na impressora zebra. Tive que desenvolver uma gambiarra para conseguir reproduzir a etiqueta na zebra. 2º Falta de codigo de rastreio para o cliente, ocasionando inúmeras negativas e reclamações dos mesmos. 3º Atraso e problemas fiscais com a transportadora do coleta. 4º Falta de informação caso o cliente recuse ou problemas no endereço do mesmo e o produto tenha que retornar. Resumindo, evitem ao máximo entrar nessa do Cross Docking até que o mesmo seja estabilizado.
  25. 2 points
    @Marcio Sales dependendo do banco de dados que você utiliza, eu recomendaria você fazer a importação através de bulkinsert. Você poderia jogar os dados para uma tabela temporária e depois usar um recurso do próprio banco para transpor esses dados para as tabelas definitivas. Mysql: https://dev.mysql.com/doc/refman/5.7/en/load-data.html http://stackoverflow.com/questions/14330314/bulk-insert-in-mysql SQL Server: https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql Abraços. Pierre Noronha
This leaderboard is set to Sao Paulo/GMT-02:00