Ir para conteúdo
Fórum Script Brasil
  • 0

Calculo de Frete direto dos correios.


AlexMunhoz

Pergunta

Ola pessoal, estou a algum tempo afastado do nosso fórum de ASP mas estou retornando novamente, e deixo uma contribuição que anda esquentando a cabeça de muita gente. RSS. Inclusive a minha.

Depois de muita pesquisa fui catando um pouco ali, um pouco aqui e montei esse script bem simples e funcional.

Agora chega de bla bla bla e vamos ao que interessa.

Tabela de Serviço dos correios.

41106 - PAC

40010 – SEDEX

40215 - SEDEX 10

40290 - SEDEX HOJE

81019 - e-SEDEX

44105 - MALOTE

Vamos La.

Crie uma pagina chamada Default.asp e nela coloque o seguinte código.

Default.asp

<%
If Request("busca")=1 Then
Dim UrlResposta


'URL De resposta, coloque o caminho onde está o seu arequivo de resposta.
UrlResposta = "http://luizcesarengenheiro.com.br/correios/respostacorreios.asp"
'------------------------------------------------------------------

ssql = empty
ssql = ssql & "http://www.correios.com.br/encomendas/precos/calculo.cfm"
ssql = ssql & "?cepOrigem=" & Request("cepOrigem") & ""
ssql = ssql & "&cepDestino=" & Request("cepDestino") & ""
ssql = ssql & "&peso=" & Request("peso") & ""
ssql = ssql & "&servico=" & Mid(Request("servico"),1,5) & ""
ssql = ssql & "&valorDeclarado=" & Request("valor") & ""
ssql = ssql & "&MaoPropria=n"
ssql = ssql & "&avisoRecebimento=n"
ssql = ssql & "&resposta=" & UrlResposta  & ""

Response.Redirect(ssql)

End if
%>

<html>
<head>
</head>
<body>
<form action="<%Request.ServerVariables("SCRIPT_NAME")%>" method="get" name="form1" ID="Form1">

Cep Origem:<br>
<input type="text" name="cepOrigem" value="" ID="Text1"><br>

Cep Destino:<br>
<input type="text" name="cepDestino" value="" ID="Text2"><br>

Peso:<br>
<input type="text" name="peso" value="" ID="Text3"><br>

Serviço:<br>
<select name="servico" class="frmtextcmb">
    <option Selected> -- ESCOLHA O SERVIÇO -- </option>
    <option> 41106 - PAC</option>
    <option> 40010 - SEDEX</option>
    <option> 40215 - SEDEX 10 </option>
    <option> 40290 - SEDEX HOJE </option>
    <option> 81019 - e-SEDEX </option>
    <option> 44105 - MALOTE </option>

</select><br />

Valor:<br>
<input type="text" name="valor" value="" ID="Text4"><br>

<input type="hidden" name="busca" value="1" ID="Hidden1"><br>

<input type="submit" name="Submit" value="Enviar" ID="Submit1">

</form>
</body>
</html>
Agora a sua pagina de resposta. Respostacorreios.asp
<html>
<head>
<title>Cálculo de Preços</title>

<% 
iF Request.QueryString("erro") = empty then

    Response.Write("Serviço: " & Request.QueryString("Servico") & "<br>")
    
    Response.Write("Cep de Origem: " &Request.QueryString("cepOrigem") & "<br>") 
    
    Response.Write(Request.QueryString("UFOrigem") & "-")
    
    Response.Write(Request.QueryString("LocalOrigem")& "<br>")
    
    Response.Write("Cep de Destino: " &Request.QueryString("cepDestino") & "<br>")
    
    Response.Write(Request.QueryString("UFDestino") & "-")
    
    Response.Write(Request.QueryString("LocalDestino")& "<br>")
    
    Response.Write("Peso: " &FormatNumber(Replace(Request.QueryString("peso"),".",",")) & " Kg<br>")
    
    Response.Write("Mão Propria: " &FormatCurrency(Replace(Request.QueryString("MaoPropria"),".",",")) & "<br>")
    
    Response.Write("Aviso de Recebimento: " &FormatCurrency(Replace(Request.QueryString("avisoRecebimento"),".",",")) & "<br>")
    
    Response.Write("Valor Total: " &FormatCurrency(Replace(Request.QueryString("tarifa"),".",","))& "<br>")

else

    response.Write(request.QueryString("erro"))

end if

%>
</head>
</html>

Observem que já estou trocando as, por pontos para que não retorne erro na sua consulta,

Bom Proveito.

Abraços... ;)

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

o PAC nunca funcionou corretamente nos correios... eu usei um tempo e tive que mudar o código do PAC... mas me parece que ultimnamente não vai mesmo

<option value="41106">PAC</option>
<option value="40010">SEDEX</option>
<option value="40215">SEDEX 10</option>
<option value="40045">SEDEX a Cobrar</option>                        
<option value="40290">SEDEX HOJE</option>
<option value="81019">e-SEDEX</option>
<option value="44105">MALOTE</option>
<option value="85480">AEROGRAMA</option>
<option value="10030">CARTA SIMPLES</option>
<option value="10014">CARTA REGISTRADA</option>
<option value="16012">CART&Atilde;O POSTAL</option>
<option value="20010">IMPRESSO</option>
<option value="14010">MALA DIRETA</option>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...