Future_Imports

Members
  • Content Count

    13
  • Joined

  • Last visited

  • Days Won

    2

Reputation Activity

  1. Like
    Future_Imports reacted to rodrigojob in código PHP para compras não honradas   
    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
  2. Like
    Future_Imports reacted to rodrigojob in Email Real   
    Notas:
    Por cada venda que você tiver de um comprador, terá um email mascarado diferente. Isto é, se o mesmo comprador comprar dois produtos diferentes em diversos momentos, um email será gerado para cada venda.
    Os emails de contato do comprador começarão a ser visualizados de forma mascarada, aumentando o número de caracteres (entre 55 e 60).
    (fonte: http://developers.mercadolibre.com/pt-br/mensagens-post-venda/)
  3. Like
    Future_Imports reacted to rodrigojob in Email Real   
    pode ser pelo pagamento
  4. Like
    Future_Imports reacted to Wesley Nascimento in Aprendendo a Manipular Notificações do ML [Duvidas]   
    Dependendo do crescimento do seu sistema, pode chegar um momento que o seu MySQL não suportará a escrita de notificações + leitura de dados e seu serviço pode ficar offline.
     
    Gravar cada notificação em arquivo no disco é loucura.
     
    Sugiro dar uma lida no redis (http://redis.io/), ele é um armazenador de dados na memória.
     
    Sugestão de desenvolvimento.
     
    Vi que você está utilizando PHP então:
     
    1 - Instale o redis em seu servidor.
    2 - Crie um PHP que receba a notificação, exatamente como você já fez
    $notifications=file_get_contents("php://input"); jogue todo esse conteúdo para o REDIS e vá armazenando lá.
     
    3 - Crie outro script PHP para ler as filas do REDIS e consultar as API's do MercadoLivre
    4 - Após cada leitura de notificação remova a notificação do redis.
    5 - Adicione um cron para que execute o seu PHP de leitura do redis para que rode a cada 1 minuto.
     
    Isso é apenas uma sugestão, avalie e implemente da melhor forma para o seu desenvolvimento.
     
    Abraços,
    Wesley.
  5. Like
    Future_Imports reacted to Ulisses Hen in Calculando Frete grátis antes de anúnciar.   
    O site developers do mercado livre foi atualizado, e com isso agora é possível calcular o frete grátis pela categoria.
     
    Segue o link: http://developers.mercadolibre.com/free-shipping/
     
    Creio que vocês conseguirão fazer o calculo, pois está bem explicadinho. 
     
    Bom é isso. 
     
    Fiquem com Deus.
  6. Like
    Future_Imports reacted to Jean in Como pegar novas vendas?   
    Bom dia @Rodigrojob!
     
    Bom eu não vi, procurei muito por aqui e não vi, então por favor me passa o link daqui do fórum onde tem a pergunta e respostas que eu vou lê-la com carinho!
     
    Eu já li a documentação e como disse antes já até implementei a solução, apenas queria trocar ideias sobre o assunto, pois a documentação é deveras falha e as vezes omissa, inclusive @Rodrigojob existem aqui no fórum alguns comentários seus neste sentido, portanto...
     
    Eu não vejo mérito ou vantagem em "sou um tosco e respondo bruscamente", para mim a educação vem em primeiro lugar, mas cada um cada um.
     
    Vou considerar esse e o outro post finalizados, para mim já deu, percebi, a duras penas, que aqui não é para trocar ideias ou dúvidas, isto não levando em consideração os outros usuários do fórum, que nada tem haver com estas discussões.