Carcleo 4 Denunciar post Postado Fevereiro 26, 2010 Ola amigos, estou aqui sofrendo para entender a dinamica de uma loja virtual e agora tem 3 duvidas que preciso tirar antes de prosseuir meu trabalho e gostaria de poder contar a ajuda de voces. 1) Peguei um script de calculo de frete (com a URL dos correios) que me retorna valores bem proximos aos do correios. Segue código: <?php /** * Executa calculo do frete usando webservice dos correios. * @copyright Phaneronsoft * @author Marcelo Korjenioski - faleconosco@phaneronsoft.com * @see http://www.phaneronsoft.com * @filesource correios.php * @version 1.1 */ ##################################### # Código dos Serviços dos Correios # # FRETE PAC = 41106 # # FRETE SEDEX = 40010 # # FRETE SEDEX 10 = 40215 # # FRETE SEDEX HOJE = 40290 # # FRETE E-SEDEX = 81019 # # FRETE MALOTE = 44105 # # FRETE NORMAL = 41017 # # SEDEX A COBRAR = 40045 # ##################################### // Definindo constantes // Peso total do pacote em Quilos, caso seja menos de 1Kg, ex.: 300g, coloque 0.300 define('PESO',2.00); define('EMBALAGEM',0.00); // Valor adicional no envio como custo de embalagem. define('COMPRIMENTO',20); define('ALTURA',15); define('LARGURA',20); if($_POST) { // Código do Serviço que deseja calcular, veja tabela acima: if ($_POST['servico']) { $cod_servico = $_POST['servico']; } // CEP de Origem, em geral o CEP da Loja $cep_origem = '36855000'; // CEP de Destino, você pode passar esse CEP por GET ou POST vindo de um formulário $cep_destino = $_POST['cep-destino']; $cep_destino = eregi_replace("([^0-9])","",$cep_destino); // URL de Consulta dos Correios $correios = "http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?StrRetorno=xml&nCdServico={$cod_servico}&nVlPeso=" . PESO . "&sCepOrigem={$cep_origem}&sCepDestino={$cep_destino}&nCdFormato=1&nVlComprimento=" . COMPRIMENTO . "&nVlAltura=" . ALTURA . "&nVlLargura=" . LARGURA; // Capta as informações da página dos Correios $correios_info = file($correios); // Processa as informações vindas do site dos correios em um Array foreach($correios_info as $info) { // Busca a informação do Preço da Postagem if(preg_match("/\<Valor>(.*)\<\/Valor>/",$info,$tarifa)) { $total = $tarifa[1] + EMBALAGEM; } if(preg_match("/\<PrazoEntrega>(.*)\<\/PrazoEntrega>/",$info,$PrazoEntrega)) { $PrazoEntrega = $PrazoEntrega[1]; } } // Neste exemplo estou colocando apenas PAC e SEDEX switch ($cod_servico) { case 41106: $nome_servico = " PAC "; break; case 40010: $nome_servico = " SEDEX "; break; } // Caso venha valor de resposta é numerio e maior que o custo da embalagem senão ocorreu algum erro na solicitação. if(is_numeric($total) and ($total > $embalagem)) { // Quando encontra o valor da postagem, exibe na página formatando em padrão de moeda 10,89 // Caso você não queira formatar basta comentar a linha abaixo que será exibido assim 10.89 e basta executar o comando abaixo $total = number_format($total,2,',','.'); echo $nome_servico . $total . ' prazo entrega de ' . $PrazoEntrega . ' dia(s) '; } else { echo 'Erro ao consultar verifique se CEP esta correto'; } } else { ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <link href="http://demo.phaneronsoft.com/img/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <title>Sistema para Calcular Frete SEDEX e PAC a partir de CEP informado. | Phaneronsoft</title> <style type="text/css"> * { font-family:"Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; line-height:normal; } body { background:#FFFFFF none repeat scroll 0 0; height:100%; margin:0; margin-top:20px; width:100%; } div#wrapper { margin:auto; position:relative; width:450px; z-index:0; } .formMain .select { text-transform:uppercase; width:99%; border:1px solid #B6B6B6; display:block; } .formSearch fieldset { border:1px solid #CCCCCC; margin:0; padding:0 10px; } .formMain label { display:block; float:left; margin-right:4px; padding-bottom:5px !important; } .formMain legend { color:#1E398D; font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif; font-size:1.5em; padding:10px 5px; } .formMain .button { background:#F5EED3; border:1px solid #CCCCCC; color:#666666; cursor:pointer; font-size:12px; font-weight:bold; letter-spacing:1px; margin:10px 0 0; overflow:visible; text-transform:uppercase; width:100%; } .formMain .inline { margin:15px 0 0 !important; } .formMain .text, .formMain .select, .formMain .textarea, .formMain .password { border:1px solid #B6B6B6; display:block; text-transform:uppercase; } .formMain fieldset span.nameField { color:#666666; text-transform:uppercase; } h3 { border-bottom:1px solid #F58220; margin:0; padding:0; } h3 span { -x-system-font:none; color:#1E398D; font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif; font-size:1.5em; font-style:normal; font-variant:normal; font-weight:bold; line-height:normal; } #value { -x-system-font:none; color:#9B0000; font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif; font-size:1.5em; font-style:normal; font-variant:normal; font-weight:bold; line-height:normal; } </style> </head> <body> <div id="wrapper"> <h3> <span>Pesquisa valor de frete</span> </h3> <form id="form-pesquisa-repasse" action="" method="post" class="formMain formSearch wsizep100" onsubmit="submitForm(this); return false;"> <fieldset> <legend>Filtrar Referência</legend> <label for="servico" class="wsize015"> <span class="nameField">Envio</span> <select id="servico" name="servico" title="Serviços dos Correios" class="select" tabindex="1"> <option value="41106">PAC</option> <option value="40010">SEDEX</option> </select> </label> <label class="wsize010" for="cep-destino"> <span class="nameField">CEP Destino</span> <input id="cep-destino" class="text" type="text" value="" maxlength="9" title="CPF destino" name="cep-destino" tabindex="2"/> </label> <label for="pesquisar" class="wsize010"> <input type="submit" id="pesquisar" name="pesquisar" tabindex="3" class="button inline" value="Pesquisar" /> </label> </fieldset> </form> <span>* Digitar somente número no CEP</span> <br /> <span id="value"></span> </div> <script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script> <script type="text/javascript"> function submitForm(form) { /* usa método request() da classe Form da prototype, que serializa os campos do formulário e submete (por POST como default) para a action especificada no form */ form.request({ onComplete: function(transport){ /* se o retorno for diferente de -1, entende-se que não houve problemas, então apaga-se os campos do formulário usando o método reset() da classe Form */ if(transport.responseText !=-1) { $('value').innerHTML = transport.responseText; } else { form.reset(); $('value').innerHTML = 'Erro ao consultar'; } } }); return false; } </script> </body> </html> <?php } // fim else ?> 2)No caso do site dos correios falhar, o que é certo fazer? Verificar o erro com um IF e se houver erro, tentar um outro webservice? Pergunto isso pois não posso impedir que o internauta deixe de efetuar a compra por causa dos correios não retornarem o valor do frete né? Nesse casom o que fazer? 3) No calculo do PAC, é necessario enviar as dimensões da embalagem que vai levar a encomenda até a casa do comprador bem como o peso. Não é pedido o volume do pacote e sim as dimensões. A) Essas dimensões precisam de ser enviadas mesmo que a embalagem não seja comprada la nos correios? B) Quanto às medidas,. deixa eu ver se entendi: No form de cadastro de produtos acrescenta mais 3 campos, (comprimento,altura e largura) para o cliente digitar (ambiente administratio - cadastro de produto da loja virtual) as medidas de cada produto. Depois, criar um contador de medidas (do jeito que fiz com o peso) para calcular as dimensões provaveis para a embalagem! É isso? Se for, será que encontro um codigo desses ai pronto? Então, me ajuda fazer essa conta: O site que eu administro, vende produtos pequenos de perfumaria e cuidados com a pele (sabonete, shampoo, antimofo) No caso de um sabonete (medidas de cada sabonete) 5cm de comprimento 2cm de largura 1cm de altura No caso de um shampoo (medidas de cada shampoo) 20cm de comprimento 4cm de largura 2cm de altura Dai um cliente no site faz uma compra assim: 20 sabonetes e 10 shampoos. A conta para desobrir as dimensões da embalagem de envio seria como? Como fazer esse calculo? Voces me explicando isso ai o resto da pra eu me virar! Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 1, 2010 Sabe, consegui dar uma enxugada boa no codigo, inclusive, ele retorna exatamente os mesmos valores do site dos correios. Agora, preciso de ajuda para filtrar prelos erros de cep inserido errado, falha no site dos correios. Nesse caso, redirecionar para outra pagina. Qual o código devo usar para achar esses erros? Tambem preciso achar a cidade, estado, endereço do cep de destino escolhido pelo internauta a partir da resposta dos correios. Como fazer isso? Segue o codigo enxuto: $nCdEmpresa = ""; $sDsSenha = ""; $nCdServico = $_POST['TENVIO']; $sCepOrigem = 36855000; $sCepDestino = $_POST['TCEP']; $sCepDestino = eregi_replace("([^0-9])","",$sCepDestino); $nVlPeso = $peso_medio; $nCdFormato = 1; $nVlComprimento = 20; $nVlAltura = 20; $nVlLargura = 20; $nVlDiametro = 0; $sCdMaoPropria = "S"; $nVlValorDeclarado = 0; $sCdAvisoRecebimento = "N"; ' Compartilhar este post Link para o post Compartilhar em outros sites
MIdNight 0 Denunciar post Postado Março 1, 2010 if(preg_match("/^[1-9]{5}-[1-9]{3}$/",$_POST['TCEP']) == 0) { echo "cep inexistente!"; exit; }Assim como ta ele so aceita o cep:XXXXX-XXX Sendo todos os X's numeros. Axo q eh assim a estrutura do cep .-. Se n for assim me avisa q concerto xD Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 1, 2010 iiiiii foi mau. O crt+v só trouxe um pedaço do codigo. vai ele todo: Só que eu que queria pegar todos os retornos tipo endereço, UF, cepDestino, tarifa, do rerorno que o correio nos envia. E tambem fazer assim: Se der erro, redireciona para outra pagina, se não der erro, prossegue os calculos. <?php ##################################### # Código dos Serviços dos Correios # # FRETE PAC = 41106 # # FRETE SEDEX = 40010 # # FRETE SEDEX 10 = 40215 # # FRETE SEDEX HOJE = 40290 # # FRETE E-SEDEX = 81019 # # FRETE MALOTE = 44105 # # FRETE NORMAL = 41017 # # SEDEX A COBRAR = 40045 # ##################################### $nCdEmpresa = ""; $sDsSenha = ""; $nCdServico = $_POST['TENVIO']; $sCepOrigem = 36855000; $sCepDestino = $_POST['TCEP']; $sCepDestino = eregi_replace("([^0-9])","",$sCepDestino); $nVlPeso = $peso_medio; $nCdFormato = 1; $nVlComprimento = 20; $nVlAltura = 20; $nVlLargura = 20; $nVlDiametro = 0; $sCdMaoPropria = "S"; $nVlValorDeclarado = 0; $sCdAvisoRecebimento = "N"; // URL de Consulta dos Correios $correios = "http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?StrRetorno=xml&nCdEmpresa=$nCdEmpresa&sDsSenha=$sDsSenha&nCdServico=$nCdServico&sCepOrigem=$sCepOrigem&sCepDestino=$sCepDestino&nVlPeso=$nVlPeso&nCdFormato=$nCdFormato&nVlComprimento=$nVlComprimento&nVlAltura=$nVlAltura&nVlLargura=$nVlLargura&nVlDiametro=$nVlDiametro&sCdMaoPropria=$sCdMaoPropria&nVlValorDeclarado=$nVlValorDeclarado&sCdAvisoRecebimento=$sCdAvisoRecebimento"; // Capta as informações da página dos Correios $correios_info = file($correios); // Processa as informações vindas do site dos correios em um Array /* foreach ($correios_info as $line_num => $line) { echo "Linha #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n"; } */ foreach($correios_info as $info) { // Busca a informação do Preço da Postagem ////////////////////////////////////////////////////////////////////////////////////////// /// GUARDAR EM SESSÃO OS RETORNOS PARA EVITAR QUE UM ENTER PERCA OS DADOS ENVIADOS//////// ////////////////////////////////////////////////////////////////////////////////////////// if(preg_match("/\<MsgErro>(.*)\<\/MsgErro>/",$info,$Erro)) { print $Erro[1]; } if(preg_match("/\<Valor>(.*)\<\/Valor>/",$info,$tarifa)) { $total = floatval(str_replace(',', '.', $tarifa[1])); } if(preg_match("/\<PrazoEntrega>(.*)\<\/PrazoEntrega>/",$info,$PrazoEntrega)) { $PrazoEntrega = $PrazoEntrega[1]; } } // Neste exemplo estou colocando apenas PAC e SEDEX switch ($nCdServico) { case 41106: $nome_servico = " PAC "; break; case 40010: $nome_servico = " SEDEX "; break; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 1, 2010 Só que eu que queria pegar todos os retornos tipo endereço, UF, cepDestino, tarifa, do rerorno que o correio nos envia. E tambem fazer assim: Se der erro, redireciona para outra pagina, se não der erro, prossegue os calculos. Outra coisa é a seginte: Esse url ficou muito tumultuada. Como eu faria para organizala em linhas? tipo: linhas 1 url + ?, linha parametro 1 + &, linha parametro 2 + &, assim pos diante Na verdade, eu queria a url assim: $correios = "http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx? StrRetorno=xml& nCdEmpresa=$nCdEmpresa& sDsSenha=$sDsSenha& nCdServico=$nCdServico& sCepOrigem=$sCepOrigem& sCepDestino=$sCepDestino& nVlPeso=$nVlPeso& nCdFormato=$nCdFormato& nVlComprimento=$nVlComprimento& nVlAltura=$nVlAltura& nVlLargura=$nVlLargura& nVlDiametro=$nVlDiametro& sCdMaoPropria=$sCdMaoPropria& nVlValorDeclarado=$nVlValorDeclarado& sCdAvisoRecebimento=$sCdAvisoRecebimento "; O que falta de concatenação para funcionar assim? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 1, 2010 feche cada linha com aspas e adicione um ponto ao final de cada linha existe também a possibilidade de fazer um echo assim echo <<<URL aqui vem uma url multiline URL; Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 1, 2010 Consegui assim: // URL de Consulta dos Correios $correios ="http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?"; $correios .="StrRetorno=xml&"; $correios .="nCdEmpresa=$nCdEmpresa&"; $correios .="sDsSenha=$sDsSenha&"; $correios .="nCdServico=$nCdServico&"; $correios .="sCepOrigem=$sCepOrigem&"; $correios .="sCepDestino=$sCepDestino&"; $correios .="nVlPeso=$nVlPeso&"; $correios .="nCdFormato=$nCdFormato&"; $correios .="nVlComprimento=$nVlComprimento&"; $correios .="nVlAltura=$nVlAltura&"; $correios .="nVlLargura=$nVlLargura&"; $correios .="nVlDiametro=$nVlDiametro&"; $correios .="sCdMaoPropria=$sCdMaoPropria&"; $correios .="nVlValorDeclarado=$nVlValorDeclarado&"; $correios .="sCdAvisoRecebimento=$sCdAvisoRecebimento"; Isso ai fechou mas o lance de pegar os endereços na resposta dos correios? Voce manja? Tipo nessa parte, fazer se o erro vier imprimir o erro e parar, mas, se não vier erro, prosseguir. foreach($correios_info as $info) { // Busca a informação do Preço da Postagem ////////////////////////////////////////////////////////////////////////////////////////// /// GUARDAR EM SESSÃO OS RETORNOS PARA EVITAR QUE UM ENTER PERCA OS DADOS ENVIADOS//////// ////////////////////////////////////////////////////////////////////////////////////////// if(preg_match("/\<MsgErro>(.*)\<\/MsgErro>/",$info,$Erro)) { print $Erro[1]; } if(preg_match("/\<Valor>(.*)\<\/Valor>/",$info,$tarifa)) { $total = floatval(str_replace(',', '.', $tarifa[1])); } if(preg_match("/\<PrazoEntrega>(.*)\<\/PrazoEntrega>/",$info,$PrazoEntrega)) { $PrazoEntrega = $PrazoEntrega[1]; } } Eu fiz assim, mas quando não da erro, ele segue mas não envia o valor do frete: foreach($correios_info as $info) { // Busca a informação do Preço da Postagem ////////////////////////////////////////////////////////////////////////////////////////// /// GUARDAR EM SESSÃO OS RETORNOS PARA EVITAR QUE UM ENTER PERCA OS DADOS ENVIADOS//////// ////////////////////////////////////////////////////////////////////////////////////////// if(preg_match("/\<MsgErro>(.*)\<\/MsgErro>/",$info,$Erro) == 0) { print $Erro[1]; exit; } else { if(preg_match("/\<Valor>(.*)\<\/Valor>/",$info,$tarifa)) { $total = floatval(str_replace(',', '.', $tarifa[1])); } if(preg_match("/\<PrazoEntrega>(.*)\<\/PrazoEntrega>/",$info,$PrazoEntrega)) { $PrazoEntrega = $PrazoEntrega[1]; } } } Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 1, 2010 percebeu que esse endereço retorna uma resposta XML, não?? utlilize a livraria simpleXML para tratar os dados recebidos Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 1, 2010 Valeu irmão. Mas olha só: Num outro script com a url antiga, eu conseguia resgatar a UFOrigem, UFDestino, Cidade de origem e de destino. E nesse script, não estou conseguindo. Vou postar o codigo aqui, e por favor, veja onde estou errando: <?php ##################################### # Código dos Serviços dos Correios # # FRETE PAC = 41106 # # FRETE SEDEX = 40010 # # FRETE SEDEX 10 = 40215 # # FRETE SEDEX HOJE = 40290 # # FRETE E-SEDEX = 81019 # # FRETE MALOTE = 44105 # # FRETE NORMAL = 41017 # # SEDEX A COBRAR = 40045 # ##################################### $nCdEmpresa = ""; $sDsSenha = ""; $nCdServico = $_POST['TENVIO']; $sCepOrigem = 36855000; $sCepDestino = $_POST['TCEP']; $sCepDestino = eregi_replace("([^0-9])","",$sCepDestino); $nVlPeso = $peso_medio; $nCdFormato = 1; $nVlComprimento = 20; $nVlAltura = 20; $nVlLargura = 20; $nVlDiametro = 0; $sCdMaoPropria = "S"; $nVlValorDeclarado = 0; $sCdAvisoRecebimento = "N"; // URL de Consulta dos Correios entregue à variavel $correios $correios ="http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?" ."nCdEmpresa=$nCdEmpresa&" ."sDsSenha=$sDsSenha&" ."sCepOrigem=$sCepOrigem&" ."sCepDestino=$sCepDestino&" ."nVlPeso=$nVlPeso&" ."nCdFormato=$nCdFormato&" ."nVlComprimento=$nVlComprimento&" ."nVlAltura=$nVlAltura&" ."nVlLargura=$nVlLargura&" ."sCdMaoPropria=$sCdMaoPropria&" ."nVlValorDeclarado=$nVlValorDeclarado&" ."sCdAvisoRecebimento=$sCdAvisoRecebimento&" ."nCdServico=$nCdServico&" ."nVlDiametro=$nVlDiametro&" ."StrRetorno=xml"; // Capta as informações da página dos Correios $correios_info = file($correios); // Processa as informações vindas do site dos correios em um Array //Aqui vê os retornos trazidos pelos correios foreach ($correios_info as $line_num => $line) { echo "Linha #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n"; } foreach($correios_info as $info) { // Busca a informação do Preço da Postagem ////////////////////////////////////////////////////////////////////////////////////////// /// GUARDAR EM SESSÃO OS RETORNOS PARA EVITAR QUE UM ENTER PERCA OS DADOS ENVIADOS//////// ////////////////////////////////////////////////////////////////////////////////////////// if(preg_match("/\<MsgErro>(.*)\<\/MsgErro>/",$info,$Erro)) { print $Erro[1]; } if(preg_match("/\<Valor>(.*)\<\/Valor>/",$info,$tarifa)) { $total = floatval(str_replace(',', '.', $tarifa[1])); } if(preg_match("/\<PrazoEntrega>(.*)\<\/PrazoEntrega>/",$info,$PrazoEntrega)) { $PrazoEntrega = $PrazoEntrega[1]; } } // Neste exemplo estou colocando apenas PAC e SEDEX switch ($nCdServico) { case 41106: $nome_servico = " PAC "; break; case 40010: $nome_servico = " SEDEX "; break; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 2, 2010 você está errando em manipular um arquivo XML sem tratá-lo como XML exiba a variável $correios e veja como o resultado é um conjunto de informações perfeitamente formatado e com tudo o que você precisa utilizar Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 2, 2010 Ok Print $correios Retornou: http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?nCdEmpresa=&sDsSenha=&sCepOrigem=36855000&sCepDestino=36880000&nVlPeso=2&nCdFormato=1&nVlComprimento=20&nVlAltura=20&nVlLargura=20&sCdMaoPropria=S&nVlValorDeclarado=0&sCdAvisoRecebimento=N&nCdServico=40010&nVlDiametro=0&StrRetorno=xml O que eu preciso (e não estou conseguindo)é, a partir do xml retornado pelos correios e não dos dados que eu enviei pela url, resgatar os valores de Cep Destino Estado Destino Cidade Destino Endereco Destino e, tambem é claro As tarifas em separado. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 2, 2010 Primeiro, se precisar de mais de uma tarifa, vai precisar fazer mais de uma requisição, uma para cada tipo de entrega. Para 'descobrir' o endereço completo de destino com base no cep, você vai precisar de um banco de dados chamado DNE(Diretório Nacional de Endereços). É possível adquirir um CD em qualquer agência dos correios (em torno de 12.00) e exportar a base em ACCESS que vem no CD. Também pode comprar versões genéricas do DNE pela internet. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 2, 2010 Entendi, Então quem, disponiliza no site os endereços adquiriu esse CD e adaptou à sua base de dados. Achei que vinha nos retornos do xml. Não é tão necessario assim. Mas, só pra fechar esse post, na url antiga (webservice) dos correios, o retorno vinha com muito mais variaveis. É isso mesmo ou estou falando bobagem? Tipo url antinga http://www.correios.com.br/encomendas/precos/calculo.cfm url nova http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 2, 2010 não deu pra ver nos links.. mas acho que toda a informação que você precisa (exceto preço e prazo) você já tem, não? Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 2, 2010 Não.; os links são: url antinga http://www.correios.com.br/encomendas/precos/calculo.cfm url nova http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx Faltam: Nome da cidade Endereço do cep UF do cep Tarifas em separado: mão propria aviso de etrega frete em s Compartilhar este post Link para o post Compartilhar em outros sites
kobutiii 0 Denunciar post Postado Março 2, 2010 Amigo, não sei qual sua real necessidade de recriar um serviço. Mas pelo que li, eu posso concluir que você está reinventando a roda. Se é para usar um cálculo aproximado dos correios, existem projetos já prontos Tem um que eu gosto, que é só inserir a url e ele te retorna um xml. É só ler o xml e correr pro abraço. Fácil, prático, evita 300 mil linhas de código e você gasta seu tempo livre pensando em assuntos mais produtivos. http://frete.w21studio.com/ Grátis e super fácil de implementar. Tem até HELP. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 2, 2010 a parte do endereço eu já lhe expliquei como é possível fazer. quanto às tarifas, creio que o ideal é utilizar o primeiro link, então. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 2, 2010 Entendi. O que eu quiz dizer é que com aquela url .cfm, o xml rertornava os endereços mas a url .apsx não esta retornando (ou não estou sabnendo como) Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 3, 2010 você chegou a ler isso aqui?? Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Março 3, 2010 Sim, inclusivbe é por ele que estou me baseando. Compartilhar este post Link para o post Compartilhar em outros sites