Anderson Ferreira

Members
  • Content Count

    1
  • Joined

  • Last visited

About Anderson Ferreira

  • Rank
    Newbie

Profile Information

  • Gender
    Male
  • Location
    Brasil
  1. Consegui essas informações (NF, PLP, logotipo do Sigep Correios, QR code) com PHP, da seguinte forma: <?php function dados_etiqueta_mercado_livre() { $url = 'https://api.mercadolibre.com/shipment_labels?shipment_ids='.$id.'&response_type=zpl2&access_token='.$_GET['token_mercadolivre']; // URL do arquivo .zip que contém um .txt com os dados necessários $arquivo_temporario = 'temp_arquivo-'. ( time().rand(0, 99999) ) .'.zip'; // Nome do arquivo .zip que será copiado temporariamente para o servidor if(@!copy($url, $arquivo_temporario)) return array('status'=>'ERRO', 'conteudo'=>'Erro ao criar cópia temporária do arquivo Zip no servidor'); $zip = zip_open($arquivo_temporario); // Abre o arquivo .zip copiado if(!$zip) return array('status'=>'ERRO', 'conteudo'=>'Erro ao abrir arquivo Zip temporário no servidor'); while($arquivo_zip_aberto = zip_read($zip)) { // Percorre cada arquivo dentro do Zip if( zip_entry_name($arquivo_zip_aberto)=='Etiqueta de envio.txt' ) { // Continua se for o arquivo "Etiqueta de envio.txt", que contém os dados necessários $conteudo = zip_entry_read($arquivo_zip_aberto, zip_entry_filesize($arquivo_zip_aberto)+100); // Lê os dados do arquivo "Etiqueta de envio.txt" $conteudo = explode("\n", $conteudo); // Cada linha de conteúdo do arquivo "Etiqueta de envio.txt" é armazenado em uma posição de uma array // QR CODE (string que será usada para gerar o QR Code) $dados['qrcode'] = str_replace(array('^FD', '^FS'), '', $conteudo[18]); // Captura na linha 18 o QR Code, e remove os caractéres desnecessários // LOGOTIPO DO SIGEP CORREIOS (em formato de ZPL. Usar outro webservice para converter em imagem) $dados['correios_logotipo_zpl'] = '^XA'. str_replace('^FO60,100', '^FO0,0', $conteudo[3]) .'^PQ1,0,1,Y^XZ'; // CÓDIGO PLP DOS CORREIOS (Pré Lista de Postagem) $dados['correios_plp'] = substr($conteudo[19], 0, -3); $dados['correios_plp'] = explode('PLP: ', $dados['correios_plp']); $dados['correios_plp'] = $dados['correios_plp'][1]; // CÓDIGO NOTA FISCAL GERADO PELO MERCADO LIVRE $dados['nota_fiscal'] = substr($conteudo[20], 0, -3); $dados['nota_fiscal'] = explode('NF: ', $dados['nota_fiscal']); $dados['nota_fiscal'] = $dados['nota_fiscal'][1]; } } zip_close($zip); if(isset($dados)) return array('status'=>'OK', 'conteudo'=>$dados); } ?>