Fernando Aguirre

Members
  • Content Count

    186
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by Fernando Aguirre

  1. Hola. Veo que andas muy perdido. Generalmente no estoy muy de acuerdo en como responde MLdev y siempre trato de explicar de una manera bonita lo que postea, pero hoy si, tiene mucha razon en lo que te comentó. Lee que significan los metodos Http, luego que es una api, y despuea te lees la documentacion de la api de Mercadolibre. Put, por ejemplo se usa para actualizar datos, GET para obtener, POST para enviar datos, DELETE para borrar, y asi. Ya cuando te surjan dudas muy especificas podremos ayudarte a detalle. Y una disculpa de antemano, pero asi como te das a explicar, no entiendes lo que estas haciendo. Saludos
  2. Hola. Aunque existe el campo de RFC en la api, realmente no se usa, ningun comprador pone su rfc, es mas ni vendedores que no sean mercadolideres lo tendran. Me imagino que lo necesitas para facilitar la facturacion electronoca de tus clientes. Pero lamento decirte que ML no se los pide a los compradores, por lo que no es una opcion viable. Otra cosa, algunos datos no les tengas mucha confianza, por ejemplo los numeros de telefono, generalmente los compradores ponen inventados, ya sabes, la desconfianza. Si realmente quieres saber la direccion de tus compradores, no te bases en la informacion del buyer, si no en la de receiver. Vas a obtener mayor informacion del metodo orders y shipments. Utiliza las notificaciones. Los mails nunca los podras ver por ningun metodo en la API, esto debido a que ML te obliga a que uses su mensajeria y por eso crea un mail ficticio para cada orden, supongamos que fue una respuesta al spam y abuso de algunos vendedores. Lee la documentacion de la API, no estara muy completa, pero si te da una buena introduccion a entender como funciona ML. Cualquier duda, solo pregunta tambien soy de Mexico. Esos son mis consejos por si vas empezando. Saludos!
  3. Hola. Antes que nada, no es problema del SDK de php, ni de las notificaciones ni nada de ML, es algo mas enfocado a tu logica de codigo. Te van a venir a decir que aqui es solo ML y no MP, pero bueno. ML al generar una orden va a enviar vairas notificaciones en un periodo de unos 10 a 20 segundos, puede enviarte hasta unas 5 a 10 distintas. Esto es debido a que se actualiza el status de la orden en sus diferentes pasos a seguir (pago, aprobacion de este, generacion del envio, generacion de guia de envio, etc) por lo que ya depende de tu script controlar la informacion que recibes. Te recomiendo utilizar algun sleep, crear una cola en tu BD, las columnas de order id o payment id hacerlas unicas para que no tengas informacion repetida, etc. El SDK es solo un puente entre la API y tu sistema y tu simplemente tienes que manejar bien la informacion que recibes. Y no quiero que sientas que fui grosero, de ninguna manera es mi cometido. Pero si van a venir a decirte que este no es un foro de Mercadopago. Creo que en google tienen un foro de soporte. Saludos
  4. Hola. Si te das cuenta estas enviando la info en el campo de atttributes como un objeto y no un array. El mismo error te da la solucion. Saludos
  5. Hola Creo que tienes que agregar ?attributes=all o algo por el estilo para que te salga la informacion adicional. Le los docs de la api, ahi se explica lo del sku. Saludos
  6. Hola buen dia. El dia de hoy 1 de Marzo de 2019 me desperte con un problemon, resulta que los permisos de todos los usuarios de mi app no se habian hecho refresh con el daemon que tengo. Hubo algun problema con Mercadolibre y los permisos para obtener los tokens? Sucedio mas o menos a las 12:20 am (hora de cd de mexico). Lo bueno que se soluciono en la mayoria de los casos volviendo a pedir el token, pero en algunos si se tuvo que realizar lo de revocar permisos y volverlos a permitir. A alguien mas le sucedio? Saludos
  7. Hola Richard. Por ahi en algun post lo habiamos comentado, pero al parecer no es posible, o esta muy escondido, hacerlo con la API. Tambien creemos que depende de la categoria donde lo publiques. Otra cosa que creemos es que los vendedores llegan a un acuerdo con ML para poder tener tiempos de entrega mas holgados, pero como realizar estos acuerdos, nadie lo sabe. Saludos y cualquier informacion que descubras es bienvenida.
  8. Hola. He descubierto otras maneras de diferenciar ordenes con carrito. - En los tags de la orden se agregara uno que se dice "pack_order". - Si consultas "/shipments/$shipId/items?access_token=xxxxxxxxxxxxxxxxxxxx" vas a obtener todos los items del carrito, y tambien, lo mejor de todo, todas los numero de ordenes referentes a ese shipping id, aqui esta la clave! Tambien para diferenciar si un envio es "gratis", pueden utilizar el resource: "/shipments/$shipId/costs?access_token=xxxxxxxxxxxxxxxxxxxx" y si en senders donde se encuentra el id del vendedor, y el costo es mayor que cero, entonces fue "envio gratis" y si en la parte de buyer, el costo es 0 tambien es como alternativa para determinarlo como "gratis". Actualizacion 21 febrero 2019 Otra mas, se acuerdan que en las ordenes de carrito aparece un numero de orden extraño, algo como 20000xxxxxxxxxxxxxx, hoy me di cuenta que en la API aparece este numeor bajo el nombre de pack_id. Puede servir como referencia de igual manera. Saludos
  9. Hola. Lo que se referia Mldev es que no es posible por medio de la API. Lo que si es posible es que tu desarrolles eso, que tu script procese un archivo csv y postee todas las actualizaciones. Ya simplemente procesas la informacion y dejas que funcione el script. Ten en cuenta que son bastantes publicaciones y hacerlo todo de una sola vez podria causar algun tipo de error. Ya depende de ti como aplicar controles para que sean procesadas, delays, filtros, yo que se. Saludos
  10. Hola Hay un ejemplo de login en el sdk de php.
  11. Hola Estaba tratando de llegar a lo mismo pero usando jquery para enviar un archivo a un script en php. Lo de enviar el archivo con Jquery estaba facil, el show fue que no podia procesarlo en php. if (isset($_FILES['files']) ){ try { $f = $_FILES['files']['tmp_name'][0]; $fn = $_FILES['files']['name'][0]; $m = $_FILES['files']['type'][0]; $url = 'https://api.mercadolibre.com/messages/attachments?access_token='.$token; $args['file'] = new CurlFile($f, $m, $fn); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER,array('Content-Type: multipart/form-data')); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $args); // post images curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // if any redirection after upload $r = curl_exec($curl); curl_close($curl); print_r($r); } catch (RuntimeException $e) { echo $e->getMessage(); } } Y con ese codigo pude hacer que me devolviera el id del archivo subido al servidor de ML Saludos!
  12. Como comenta Mldev, siempre van a recibir varias motificaciones al momento de crear la orden. Primero tienen que emtender como funciona ML y despues ya sabran porque el mar de notificaciones en 5 segundos. Toda orden lleva un proceso, creacion, pago, autorizacion del pago, creacion del envio y varios mas. De igual manera el shipment lleva mas o menos el mismo proceso, por lo que te bombardean de notificaciones porque generalmente todo eso sucede en menos de 10 segundos. Si quieres tener todo controlado, hazlo desde tu base de datos, controla el order ID y listo, las notificaciones mo tendrian que ser un problema en tu app. Saludos
  13. Hola amigo. Muchas veces se ha comentado que la API no va a hacer magia y hacernos todo el trabajo jajaja. Es tan simple como que descuentes el costo del envio, si fue "gratis" y a tu cargo, y la comision de ML, que esa informacion si viene en la informacion de la api de orders y shipments (para le costo del envio). Saludos!
  14. Nomas ingresa a los datos publicos de la api y creas tu propia base de datos. Saludos!
  15. Hola si eres de Mexico, existen varias plataformas para integrar envios, por ejemplo srenvio y muchas otras. Digo por si te andas topando con pared. Saludos
  16. Hola. Al momento de refrescar el token ya no me deja por lo que ya los permisos no existen, solo necesito saber cuando dejan de llegar las notificaciones jajaja, 6 horas, 24 horas, mil horas. Solo era un consulta. Gracias por sus respuestas
  17. Hola. Eso ya lo hice, de echo lo dije donde puse "por lo que se los revoco y demas.". Mi pregunta era distinta, que si cuando dejan de llegar las notificaciones despeus de revocar los permisos. Gracias por la respuesta
  18. Hola. En mi app doy un periodo de prueba, algunos deciden seguir y otros no, por lo que estaba haciendo una limpia de los que no seguian, muchos dejan los permisos a la app vigentes por lo que se los revoco y demas. El unico problema es que me siguen llegando notificaciones de estos usuarios. Existe algun tiempo que se debe de esperar para que dejen de llegar las notificaciones de los usuarios que ya no tienen permiso para usar mi app? Saludos!
  19. Hola. Una vez descubrimos en este foro que las compras con carrito, tienen el mismo shipping_id y esa era la referencia. Salufos
  20. Creo que yo puse un codigo en php para hacer el refresh al token. Y asi debe de ser, tienes que guardar esa informacion en tu base de datos y cada 5 horas obtener un nuevo token, esto lo haces por medio de un cronjob y asi ya no tienes que decirle a tu cliente que cada 5 horas actualice el token. Saludos
  21. Hola. Jajaja no puede ser, igual lo reporte a ML a ver que me responden. Me dijeron que lo pasaron al departamento correspondiente y luego me avisaban. Saludos!
  22. Hola. Yo tengo un app con varios usuarios y ellos me tienen la confianza de que no voy a compartir sus datos con nadie. Si alguien accesa a la informacion de un usuario, puede accesar a TODO, por lo que es bastante peligroso. Si son datos publicos, entonces puedes realizar las consultas sin la necesidad de saber informacion de los usuarios y ni necesitas crear una app para esto porque te lanzara informacion que todos pueden ver. Si te refieres a lo anterior, pasate por la documentacion y ahi puedes verificar cual es la informacion que se encuentra disponible para todos los usuarios. Saludos!
  23. Hola buen dia. Me he dado cuenta de un caso en especial, cuando se elimina una pregunta desde Mercadolibre, simplemente se elimina pero no se envia una notificacion que avise de este nuevo estado. De echo en la API se marca que existe un status de "DELETED" pero realmente nunca se utiliza porque al eliminar la pregunta, realmente se elimina cualquier pista de esta, por lo que se hace imposible asignarle el status mencionado, ya que no existe esa pregunta. Puedo entender lo anterior, es normal, para no tener espacio mal utilizado. Lo que hago ahorita en mi app es verificar continuamente el estado de las preguntas, y si al realizar la consulta, la respuesta del status es un 404, entonces la elimino de mi base de datos. Esto se me hace muy innecesario, el mismo ML nos pide que demos un buen uso a la API, pero este caso me hace tener que hacer estas llamadas. Seria muy agradable que enviaran una notificacion de la pregunta cuando es eliminada. Saludos y feliz año nuevo!
  24. Hola buen dia. No recuerdo en que seccion puse la lista de IPs que pertenecen a Mercadolibre y de esta manera verificar la autenticidad. Solo busca un poco y encontraras el rango. Saludos