rodrigojob

Moderators
  • Content Count

    1,495
  • Joined

  • Last visited

  • Days Won

    220

Everything posted by rodrigojob

  1. Hoy en día no todos llene este campo, muchos pueden devolver null. $yourobject= $meli->get('/users/99999999'); $yourobject['body']->address->city; $yourobject['body']->address->state; Rodrigo
  2. Please, show in order->order_items->item the new info: seller_custom_field This will greatly assist integrators and decrease duplication of GEts API. Normally this field may contain the SKU of the product in stock of the seller. Thans a lot Rodrigo )
  3. Hola, $yourobject= $meli->get('/orders/search/recent', $params); $yourobject['body']->shipping->receiver_address->city->name $yourobject['body']->shipping->receiver_address->state->id fácil!!! Rodrigo
  4. I don´t understand why have post with acccess_token $meli = new Meli('APP_ID', 'SECRET_KEY', $_SESSION['access_token'], $_SESSION['refresh_token']); in this moment you don´t have a valid access_token, so must be: $meli->authorize('http://www.mmmmmmmmmmmmmm.com.br/your_script.php); $token = $meli->refreshAccessToken(); in authorize you can to use a script with infos that have in your Meli Application and "GET Code", this url can generate the code: http://auth.mercadolibre.com/authorization?response_type=code&client_id=APP_ID with the code in your hands you can generate the access token using url: http://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=APP_ID&client_secret=YOUR_SECRET_KEY&code=YOUR_SECRET_CODE&redirect_uri=CALLBACK_URL --note that the MercadoLivre error in using the variable name client_id, should be app_id EASY!!!!
  5. Marcelo, baixa novamente o SDK, eu nunca o alterei e ele responde direitinho.
  6. leio o PDF e separo a informação. Que, aliás, é a primeira. kkk Simples assim.
  7. Olá, ao fazer um get de 50 itens anunciados através da URL 'items/?ids=XXXXXXXXXXXX,JJJJJJJJJJJJJJ,KKKKKKKKKKKKKKKK,GGGGGGGGGGGGG,......, ZZZZZZZZZZZZ' ocorreu que não retornava o ultimo item. Coloquei, então, uma vírgula no final. Assim o sistema indicava que tinha mais que 50. Diminui meu array para 40 itens, não mostrava o último, então, coloquei a vírgula e ele retornou. Síntese: a API está fazendo a separação de itens com contagem errada. Provavelmente separando os itens contando de 1 a 49 ou de vírgula em vírgula. Isto deveria ser corrigido. Um split() deve resolver o problema, soma-se a um count(), para saber o número de itens, ou mesmo um segundo array com os dados dos 50 primeiros itens do array inicial. Até mais Rodrigo
  8. NO. Muda pela tipo de vendedor, reputação do vendedor, quantidade ofertada, quantidade listada, preço dentro da faixa média da categoria, e algumas outras melequinhas.
  9. Olá Rodrigo, sim. Porém eu não estava conseguindo mandar imprimir as etiquetas do ML por SCRIPT. Já consegui ! -Tenho os dados -Gero as etiquetas no ML -Pego a PLP (! ahá !) -remonto a etiqueta -imprimo YES!!! Até mais Rodrigo
  10. Olá Maffei, você pode fazer um get em '/users/#sellerid#/items/search' e assim retorna todos os anúncios, pode usar filtros e melhorar seus resultados Até mais Rodrigo
  11. Olá Leandro, esta tag deveria vir no /orders/search , assim economizaria requests na API Até mais Rodrigo
  12. Ok funcionando. Agora eu preciso mudar o título(sei que é bloqueado), já que eu uso parte do título como código sku. Seria interessante permitir trocar o título no reanúncio. Até mais
  13. any users, don't are sellers, dont' have listings.
  14. Olá, meu PUT está retornando erro 500. $url = 'items/' . $anuncio . '/product_identifiers?access_token=' . $_SESSION['access_token']; $retorno = $meli->get($url, $basico); echo 'retorno: '; print_r($retorno); echo '<br><br>'; echo 'url: '; print_r($url); echo '<br><br>'; $dados = array( "brand" => "XXXXXXXX", "mpn" => "999-000000-01", "gtins" => array( "type" => "EAN", "code" => "09876545678" ) ); echo 'dados: '; print_r($dados); echo '<br><br>'; $altera = $meli->put($url, $dados, $basico ); echo 'resultado: '; print_r($altera); echo '<br><br>'; unset($altera);
  15. Olá, Quero gerar a etiqueta e depois guardar numa pasta do meu servidor Mas não estou conseguindo criar um script para gerar as etiquetas automaticamente. (1º passo!) Tenho um retorno vazio. Alguém está conseguindo fazer isto? ou só acessando pela página? Até mais Rodrigo
  16. Se você acessar o seu perfil pela página verá apenas 2 também: http://lista.mercadolivre.com.br/_CustId_6170132
  17. Olá Wesleyse, as categorias podem mudar, ser desativadas, serem criadas. Ter em base de dados pode ser mais rápido, eu nem uso, pois ao criar um anúncio só trabalho nas mesmas categorias de outros do gênero(mesma categoria). Você pode pegar as categorias base e listar as de sequência, pais e filhos: https://api.mercadolibre.com/categories/MLB1648/?children_categories , use o atributo "children_categories" da categoria que terá as dependentes. Como eu achei isto??? peguei um produto qualquer https://api.mercadolibre.com/items/MLB567161322 e depois abri no browser e vi a categoria https://api.mercadolibre.com/categories/MLB107526 , ao lado há o attributes, e assim eu o usei. Bem, talvez seja interessante você percorrer as categorias dos anúncios que você tem, nem de todas. Até mais Rodrigo
  18. Yes. Hi, please check our Listing Introduction Tutorial, you'll find everything you need to know about listing a new item. (fsolari in another POST) You know json? You have a MELI SDK? you can see how horks and example: http://developers.mercadolibre.com/list-your-item/ or here: http://developers.mercadolibre.com/list-with-variation/
  19. Olá, alguém recebe as notificações referentes aos pagamentos? Até mais Rodrigo
  20. Olá, muitos pedem códigos prontos, isto eu não concordo, devem aprender, ralar, estudar! Mas no caso de vendas não honradas vale a pena distribuir. Tem uso de filtros, paginação, ordenação, ... dá para os novatos aproveitarem um pouco. Estava identado, mas o fórum não está preparado para receber código. $conta=0; $c = 0; for ($c = 0; $c <= 10; $c++){ //repeticao 0-10 $params = array('seller' => $usuarioid', 'access_token' => $access_token, 'order.status' =>'confirmed', 'limit' => '50', 'sort' =>'date_desc', 'offset' => $conta); $vendax = $meli->get('/orders/search/recent', $params); $vendas = $vendax['body']; unset($vendax); // print_r($vendas); // echo '<br><br>'; // break; foreach($vendas->results as $venda){ $tem = 0; //tenho um controle para saber se a venda já está na base, mas cortei devido a não ter sentido para todos. if ($tem==0){ $i++; $id = $venda->id; if ($venda->shipping->status !='shipped' && $venda->tags[0]!='paid' && $venda->feedback->sale->id==NULL){ echo "id_venda: "; print_r($venda->id); echo "<br>status_envio: "; print_r($venda->shipping->status); echo "<br>status_venda: "; print_r($venda->status); echo "<br>apelido: "; print_r($venda->buyer->nickname); echo "<br>email: "; print_r($venda->buyer->email); echo "<br>telefone: "; print_r((string)$venda->buyer->phone->area_code .' ' . (string)$venda->buyer->phone->number); echo "<br>entrada: "; print_r($venda->seller->nickname); echo "<br>data: "; print_r(substr($venda->date_created, 0, 10)); echo "<br>"; $data = new DateTime(substr($venda->date_created, 0, 10)); $dif = $hj->diff($data)->days; /* if ($dif>=1){ echo 'listar comentarios: <br>'; //$lcx = $meli->get('/orders/'. $venda->id. '/notes/', $params); $lc = retornacomentario($meli, $params, $venda->id); print_r($lc); if (count($lc)<1){ echo 'operadora: '; $operadora = consultaoperadora((string)$venda->buyer->phone->area_code . (string)$venda->buyer->phone->number); print_r($operadora); } echo '<br>'; } */ if ($venda->shipping->status =='to_be_agreed'){//if sem endereço if ($dif>2 && $dif<10){ $lc = retornacomentario($meli, $params, $venda->id); //print_r($lc); if (count($lc)<1){ echo 'ação: avisar<br>'; print_r($lc); echo '<br>criar novo aviso sem pagamento: <br>'; $novo = $meli->post('/orders/'. $id. '/notes/', array('note' => 'aviso - ' . date('Y-m-d h:i:s')), $params); print_r($novo); $msg = "Olá " . ucwords((string)$venda->buyer->first_name) . ", <br><br> você realizou uma compra no MercadoLivre e ainda não realizou o pagamento. <br> Para receber o produto comprado é necessário que seja pago o produto e o frete.<br> Aguardo sua resposta para preparar o pacote.<br><br> Você pode fazer o pagamento pelo MercadoPago(cartão ou boleto) ou mesmo por depósito (Itaú, Bradesco, Banco do Brasil ou Caixa)<br><br> Por favor responder o mais breve possível, pode ter outra pessoa interessada no produto que você comprou.<br><br> Atenciosamente,<br> XXXXXXXXXXXXXX<br> XXXXXXXX "; // EnviaEmail((string)$venda->buyer->email, "Compra No MercadoLivre", $msg); }else{ echo '<br><br>alteracao: ' . (string)$lc[0]->id . '<br>'; // $alteracao = $meli->put('/orders/'. $id. '/notes/' . (string)$lc[0]->id, array('id'=>(string)$lc[0]->id, 'note' => (string)$lc[0]->note . '- tadá!!!! ' . date('Y-m-d h:i:s')), $params); // print_r($alteracao); } echo '<br>'; }elseif($dif>=10){ echo 'ação: qualificar sem pagamento<br>'; $parametros = array( 'version' => '3.0', 'rating' => 'neutral', 'fulfilled' => false, 'reason'=> 'THEY_NOT_HONORING_POLICIES', 'restock_item' => true, 'has_seller_refunded_money' => false, 'message' => 'Não honrou a negociação e não respondeu email :[ Quando quiser o produto é só entrar em contato, se eu tiver o produto em estoque faremos negócio.'); //echo ' - vendaid<br>'; $feedback = $meli-> post('/orders/' . $id . '/feedback', $parametros, $params); print_r($feedback); echo '<br>'; } }//if sem endereço if ($venda->shipping->status =='pending'){//falta pagamento if ($dif>5 && $dif<14){ $lc = retornacomentario($meli, $params, $venda->id); //print_r($lc); if (count($lc)<1){ echo 'ação: avisar<br>'; echo '<br><br>criar novo aviso pagamento: <br>'; $novo = $meli->post('/orders/'. $id. '/notes/', array('note' => 'pagamento - ' . date('Y-m-d h:i:s')), $params); print_r($novo); $msg = "Olá " . ucwords((string)$venda->buyer->first_name) . ", <br><br> você realizou uma compra no MercadoLivre e ainda não realizou o pagamento que iniciou. <br> Para receber o produto comprado é necessário que seja pago, para que o MercadoLivre libere para eu enviar o pacote.<br><br> Por favor responder o mais breve possível, pode ter outra pessoa interessada no produto que você comprou.<br><br> Atenciosamente,<br> xxxxxxxxxxxxxxx<br> XXXXXXXXXXXXXXXXXXXXX "; EnviaEmail((string)$venda->buyer->email, "Compra No MercadoLivre - falta pagamento", $msg); }else{ echo '<br><br>alteracao: ' . (string)$lc[0]->id . '<br>'; // $alteracao = $meli->put('/orders/'. $id. '/notes/' . (string)$lc[0]->id, array('id'=>(string)$lc[0]->id, 'note' => (string)$lc[0]->note . '- tadá!!!! ' . date('Y-m-d h:i:s')), $params); // print_r($alteracao); } echo '<br>'; }elseif($dif>=14){ echo 'ação: qualificar pagamento iniciado<br>'; $parametros = array( 'version' => '3.0', 'rating' => 'neutral', 'fulfilled' => false, 'reason'=> 'BUYER_NOT_ENOUGH_MONEY', 'restock_item' => true, 'has_seller_refunded_money' => false, 'message' => 'Não honrou a negociação :[ Quando quiser o produto é só entrar em contato, se eu tiver o produto em estoque faremos negócio.'); //echo ' - vendaid<br>'; $feedback = $meli-> post('/orders/' . $id . '/feedback', $parametros, $params); print_r($feedback); echo '<br>'; } }//falta pagamento echo "<br><br>"; }//if não enviada }//não for reportada }//foreach de vendas $conta = $conta + 50; if ($i<50){ break; } } //repeticao 0-10
  21. so, you can mark relist if not out of stock, or create relist when item closed. For this function you can use item callback, or a script that verify items closed.
  22. Olá Andres, verifique os attempts , se for mais de 1 é que o servidor não conseguiu te passar da primeira vez. Outra coisa é que pode ter ocorrido um evento após, por exemplo a qualificação. Todo evento que ocorre na order gera uma notificação. Quais são: -entrada -pagamento -envio -recebimento -qualificação do comprador -qualificação do vendedor -abertura de reclamação Até mais Rodrigo
  23. Hello Tom, don´t have delete, but you can chage status for closed RodrigoJob
  24. Caio, não preciso fazer isto porque o meu é o me2 e ele faz automaticamente. Mas tente fazer um POST, pois é um novo status e deve manter os dados do evento anterior. Veja se funciona. Até mais RodrigoJob
  25. rodrigojob

    Bugs

    maravilha!!!! veja também a data de validade do seu desconto!