Fernando Aguirre

Members
  • Content Count

    208
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Fernando Aguirre

  1. Me parece bien eso mldev, yo soy vendedor, y la verdad me da miedo que un tercero sepa cuanto es lo que vendo, utilizando este metodo. Gracias
  2. Hola. Ese post al que te mandaron esta en portugues, pero basicamente quitaron esa funcionalidad porque abusaban de ella, y claro, si empezabas a monitorear todas las ventas de un vendedor por medio de la API podias saber cuanto estaba vendiendo al dia, que la verdad me da miedo saber que alguien sepa que vendo 1000 dolares diarios, se presta a muchas cosas malas esa informacion. Saludos
  3. Hola buen dia. Se supone que al crear un mensaje exitoso, se me devolvera como respuesta un status 200? o que respuesta se me regresa? gracias Editado Es correcto, se regresa un response con codigo 200
  4. Hola. A mi me pasaba algo similar, cuando recibia varias notificaciones en mi servidor, al crear la orden en mi db, se creaba las veces que llegaba la notificacion en ese mismo segundo, creo que eso ya es problema de Mercadolibre y lo resolvi creando una funcion que revise si ya existe la orden y lo mas importante, le puse un sleep random al script, asi si llegan en el mismo segundo, uno va a esperar mas que el otro, y la verdad ya jamas se me han repetido las ordenes por recepcion de notificaciones en el mismo instante. Saludos!
  5. Hola @Leandro Bertalot Cuales son las buenas practicas que comentas para los tokens? Gracias y saludos!
  6. Gracias @gefernandez Espero que la informacion te haya servido, supongamos que esos softwares hacen algo parecido a lo que te comento, va por ese camino, y si la verdad vale la pena cada centavo que cobran, como te comento, es mucha informacion y poder de procesamiento que ocupas. Aqui estamos para cualquier duda, siempre me gusta ayudar con lo que he aprendido experimentando con la API. Saludos.
  7. Hola, podrias hacerlo guardando el numero de ventas por cada producto del vendedor, guardas esta informacion cada dia y la multiplicas por el precio de venta, y de esta manera vas a ir teniendo un acumulado de ventas por publicacion del vendedor, al final sumas todo y tendras un estimado de lo que ha vendido, digo estimado porque existiran veces en que se cambie el precio de venta del producto, que vendio mas por fuera, y varios eteceteras mas. Como siempre, NUNCA esperen que la API les vaya a dar la informacion en charola de oro, esta nos brinda la informacion basica para que nosotros hagamos la magia, ya depende de la habilidad de cada programador para saber utilizar esta informacion a su conveniencia. Ademas, es un manejo de datos muy grande si quieres obtener las ventas totales de un vendedor, imagiante alguien que tiene 2000 publicaciones, no se si ML aguante tanto con su API jajajaja, y eso multiplicalo por 10 vendedores iguales que quieres espiar, 20 000 publicaciones que tendrias que llamar a la API, ahora si quieres una plataforma comercial, ahora multiplicalo por unos 100 clientes que tengas, ya escalamos a 2 millones de consultas a la API, diarias, solamente tuyas, ahora, imaginate que cada consulta y guardado de datos tarde medio segundo, te llevaria 11 dias hacer todas esas consultas, sin parar, con un solo servidor. Entonces, creo que es mas facil que monitorees las publicaciones que te interesan individualmente, a fin de cuentas saber cuanto ha vendido un seller es puro morbo porque no te sirve de mucho esa informacion para tomar alguna decision en especifico, solo algo global y tambien lo dudo. Saludos!
  8. Hola Juvian tiene razon, obtienes el service_id de la consulta de orders y despues buscas ese service_id en la consulta de shipping_services y de esa manera obtendras la compañia. Si quieres el tracking number, consulta la siguiente direccion> https://api.mercadolibre.com/shipments/id?access_token= Y listo, ya tienes todo listo para hasta hacerle tracking al paquete, o en algun caso, enviar por mensaje a tu comprador la url para que le de seguimiento a su paquete directamente, o yo que se, mandarle el tracking por SMS, aqui ya el limite es tu imaginacion. Saludos!
  9. Hola buen dia. Lo descubri a prueba y error https://api.mercadolibre.com/shipments/(shipment_id)?access_token=(TOKEN) Por ejemplo https://api.mercadolibre.com/shipments/276578890295?access_token=APP_USR-968445881177898955-556884456650844005604 El tracking number se encuentra directamente en el root de la estructura. Como siempre en Mercadolibre, la informacion mas facil de encontrar, es la mas dificil y complicada de obtener jajajaj. El flujo seria el siguiente: 1 - Consulta la api de shipments 2 - Obten el service_id y el tracking_number 3 - Ahora consulta https://api.mercadolibre.com/sites/MLM/shipping_services 4 - Has una busqueda del service_id, cuando lo encuentres vas a obtener la compañia que se utilizo y la url para hacerle tracking al paquete. (shipping_company>name y courier_tracking_url) 5 - Ahora solo configuras la url para tracking agregando tu tracking number y listo, asi obtuviste una forma de identificar la compañia, el tracking number y rastrear el paquete. Saludos! Edit: Al final del dia puedes estar mandando automaticamente algo asi, con toda esta informacion:
  10. Hola! Para los que son developers, esta muy facil crear una app que sincronice, porque woocommerce usa una API, asi como la de mercadolibre y de echo son casi iguales en estructura, datos y forma de funcionar. Todo depende de saber aprovechar las notificaciones, de mercadolibre y las de tu tienda. Cuando ml te envie una notificacion de una venta nueva, ejecutas tu script que cree la venta en tu tienda por medio de la api de tu tienda realizando un post, por ejemplo. Para tener el control de los productos para que sean los mismos, utilicen el SKU como clave unica. Y viendola desde el lado de tu tienda, es la misma pero mas facil, porque solo tienes que quitarle stock a tu producto en mercadolibre. Ya tengo la idea y ya se como hacerlo, en los proximos dias trabajare en una version personal y estare posteandoles en este post los avances. Excelente dia a todos!
  11. Hola. Ya sabras que el foro lo usamos para ayudarnos entre nosotros, y muchas veces no nos compartimos la informacion por equis o ye razon. La verdad no te sabre responder en este momento pero podrias contactar al soporte de ML para que expliquen esos cambios, ellos deben de saberlo, aqui simplemente somos personas normales que compartimos lo que sabemos. Te deseo un excelente dia!
  12. Hola, Mercadolibre te envia notificaciones de las ventas que hayas realizado. Por ejemplo, al momento de que se crea una nueva orden, se envia una notificacion, si el pago fue rechazado, tambien, si el pago fue acreditado, tambien, si el paquete ya fue entregado, tambien. Basicamente recibiras una notificacion de cualquier cambio que se produzca en una orden TUYA o del usuario que este utilizando tu APP.
  13. Hola! No dejes todos los huevos de oro en una sola canasta, es decir, no te bases solo en las notificaciones, crea un script para que verifique y actualice las ultimas ventas (las ultimas 10, las del dia en curso, las de los ultimos 2 dias, etc), que este se ejecute unas dos veces al dia y de esta manera siempre las tendras actualizadas con los ultimos datos. Utiliza las notificaciones para guardar la informacion basica, ya con tu script programado, actualizas la informacion.
  14. Hola. Te recomiendo este tutorial para que puedas guardar y actualizar tu token cada 5 horas. Necesitas trabajar en conjunto con una base de datos para que todo pueda funcionar mas rapido y facilmente, tambien tener un servidor que te permita hacer cronjobs.
  15. Hola, si esta un poco confuso. A lo que entiendo quieres tener tu WebApp, vender el servicio y que un usuario cualquiera con cuenta de ML entre y solo le salgan sus datos, si es correcto, mira: Tienes que autentificarte en tu app, tienes que usar algun SDK, por ejemplo PHP( Puedes usar el que quieras) y por medio del example_login.php, cuando lo ejecutes en tu navegador, te va a pedir que te hagas log in en tu cuenta de Mercadolibre y te va a pedir que le des permiso a tu app de acceder a los datos privados de la cuenta, al momento de decir que si, se te generara un token, que es con el cual podras "llamar a ML" para pedirle informacion de esa cuenta. En tu WebApp tienes que hacer un login propio, para que cuando un usuario se haga login en un tu WebApp, "jales" de tu base de datos la informacion de ese usuario, generalmente sera el id de usuario de ML y el token. Tal vez estas empezando de cero, por ahi en el foro tengo varios tutoriales para empezar a trabajar con los tokens y para que se automatice la obtencion de uno nuevo. Como siempre lo digo, MercadoLibre nos brinda su API para que nosotros trabajemos la informacion, la documentacion contiene la informacion basica, ya lo demas depende de nosotros para programarlo. Ten un excelente dia!
  16. Hola. Tal vez ya lo sabias, pero existe le SDK de PHP y solamente tienes que ejecutar lo siguiente para obtener un token nuevo: $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; Ten un excelente dia!
  17. Hola. Concuerdo con mldev, Mercadolibre nos da las herramientas y la informacion, nosotros somos los encargados de filtrarla y usarla a nuestra conveniencia. En el apartado de las notificiaciones, siempre se tiene que hacer una comparacion con la base de datos, si o si, para verificar si ya se han ejecutado rutinas basadas en las notificaciones, cualquier accion que se genere en una venta, va a generar una notificacion, podrian estarte llegando decenas de notificaciones en el dia de una sola venta. Aqui la solucion es filtrar, guardar toda la informacion que te interese en tu base de datos, comparar las notificaciones nuevas con tu base de datos y ejecutar tu rutina, en este caso enviar mensajes automaticos. Por ejemplo al comparar, puedes verificar si la venta fue entregada, y de esta manera cambiar el estado del shipping, y si el estado del shipping es "delivered" enviar un mensaje de agradecimiento por completar la compra. Te recomiendo que si tienes varios mensajes automaticos, tengas varias columnas que controlen si ya han sido enviados. ------------------------------------------------------------- |orden | msg1 | msg2 | msgN | ------------------------------------------------------------- |MLM9434535 | 1 | 0 | 0 | |MLM6534634 | 1 | 1 | 1 | ------------------------------------------------------------- Los controlas por medio de "Booleans" para que 1 = true y 0 = false. Ya lo demas si te lo dejo a ti, la base ya te la planteamos amigo. Ten un excelente dia!
  18. Concuerdo contigo, uno a veces quiere todo facil y sin batallar, y aqui ML nos brinda la informacion necesaria para utilizar la API REST, que simplemente es obtener informacion, ellos nos explican como obtener esa informacion, y ya depende de nuestra imaginacion como usarla. Ya los ejemplos dependen de nosotros, los SDKs no son oficiales, son hechos por personas como nosotros, y son open source, aqui el detalle es que las personas no comparten "su codigo secreto" por el simple echo de decir "que los otros piensen" a mi me gusta ayudar porque he batallado, y ayudo en el foro resolviendo dudas y si el caso es parecido a algo que ya hice, les posteo algo de codigo, porque oye, tambien tienen que ponerse a pensar los demas jajajaja. Les deseo un excelente dia! y a pensar, que no cuesta nada.
  19. Hola, te recomiendo que uses PHP para iniciar con tu APP, lo puedes combinar con HTML para obtener un FrontEnd bonito y amigable.
  20. Hola, ya te respondi con una guia: Ten un excelente dia!
  21. 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.
  22. De echo ya lo logre sacar de la api de /shipping, algo confuso y gasto sin sentido de la api porque tengo que hacer una llamada extra para extraer un solo dato. Pero bueno de eso a nada jajaja. Gracias!
  23. Hola, me da gusto que se haya resuelto tu duda, a veces la API de ML como que no funciona a la perfeccion. Ten un excelente dia!
  24. Hola. Es correcto, simplemente lo mandas como plain text y automaticamente el sistema de mensajes lo convierte a un link. Como lo se? yo lo hago asi y funciona como te explico. Ten un excelente dia!
  25. Hola. Utiliza las notificaciones, cada vez que te realizan una compra, ML te envia una notificacion con la informacion de la orden, ya lo demas es solo extraer los datos necesarios para enviar un mensaje al cliente de esa orden. Y si es cierto, todo esta en la documentacion, especificamente en notificaciones y mensajes post-venta. Ten un excelente dia!