-
Como criar uma lojaVeja aqui o que você precisa saber para iniciar suas vendas online!Mais
-
PagSeguro UOLVocê já conhece essa ferramenta? Com o PagSeguro você pode vender pela Internet mesmo sem ter uma loja virtual. É tão fácil!Mais
-
Calculo de FreteSeus clientes precisam saber quanto vão pagar de frete? Temos uma solução gratuita!Mais
-
Agenda Campus PartyAgenda otimizada da #CPbr com funcionalidades extras que irão te auxiliar durante a semana do evento.Mais
LojaExemplo: Resolucao do problema de calculo de frete (e-sedex)
-
Olá,
Recentemente o Phil compartilhou um script no forum para que as lojas efetuem os cálculos de frete direto nos Correios. O script funciona muito bem, mas alguns lojistas estavam com problemas apenas com o E-sedex. Examinei o código de cálculo mais a fundo e descobri que toda tentativa de consulta vinha como retorno o valor R$ 0,00.
Efetuei algumas pesquisas e descobri que para fazer cálculo do E-sedex direto nos Correios o lojista precisa ter um contrato, pois diferente do PAC e SEDEX essa forma de frete não tem padrão e é exclusiva a alguns lojistas que tem contrato com os Correios. Na LojaExemplo só funcionava porque parece que a Locaweb tinha contrato com os Correios (me corrijam se eu estiver errado) e no código fonte existia um login e senha, por isso antes funcionava.
Bom vamos lá!
Se você envia produtos por E-sedex de certo terá contrato com os Correios. Os dados que irá precisar serão o login e senha que usa para entrar no endereço: http://www.corporativo.correios.com.br/encomendas/servicosonline/default.cfm?e=1004
Estou usando o arquivo disponibilizado pelo Phil como base.
Na linha 80 do arquivo “cep_frete.asp” troque o trecho:
entrada = entrada & ” <nCdEmpresa>”&CodEmpresaCorreio&”</nCdEmpresa> “entrada = entrada & ” <sDsSenha>”&SenhaEmpresaCorreio&”</sDsSenha> “Por esse:
entrada = entrada & ” <nCdEmpresa>SEU LOGIN</nCdEmpresa> “
entrada = entrada & ” <sDsSenha>SUA SENHA</sDsSenha> “SEU LOGIN = seguencia de numeros que usa para entrar no endereço dos correios que passei acima
SUA SENHA = a senha utilizada para entrar no endereço dos correios que passei cimaCom essa simples alteração terá o cálculo do E-sedex direto nos correios.
Corrigindo um problema citado pela Regina nos comentarios abaixo segue a resolução:
Para resolver troque seguinte linha do arquivo cep_frete.asp:
If Application(“DisponivelESedex”) = “sim” Then
Por:
If Application(“DisponivelESedex”) = “sim” and session(“valortemp_ESedex”) <> “vazio” Then
Esse código esta aproximadamente na linha 243.
Com essa modificação quando o cliente tiver um cep não coberto pelo E-sedex o mesmo não vai aparecer, assim mostrando o restante e evitando de travar.





12 Comentarios
Obrigado pelo reconhecimento! =)
Espero ter ajudado!
[ ]‘s
[...] modificação é para mostrar o prazo de entrega do PAC, Sedex e E-sedex consultando direto nos correios. Estou baseando no arquivo cep_frete.asp disponibilizado pelo [...]
Primeiramente quero agradecer a super ajuda com esse código!
str:
Está quase tudo perfeito
Quando o Correios realiza a entrega de E-Sedex no cep indicado, está tudo maravilha, aparece todas as opções de frete.
O problema está quando o Correios não tem E-sedex para aquele CEP, aí não aparece nenhum, Sedex e/ou Pac.
Você tinha notado isso? Tentei entender o que está acntecendo, mas não entendi nada.
Obrigada!!
Olá Regina.
Por coincidência hoje antes de enviar seu comentário haviam me passado o mesmo problema.
Para resolver troque seguinte linha do arquivo cep_frete.asp:
If Application(“DisponivelESedex”) = “sim” Then
Por:
If Application(“DisponivelESedex”) = “sim” and session(“valortemp_ESedex”) = “vazio” Then
Esse código esta aproximadamente na linha 243.
Com essa modificação quando o cliente tiver um cep não coberto pelo E-sedex o mesmo não vai aparecer, assim mostrando o restante e evitando de travar.
Abraço
Bom dia Jeann,
Mudei a linha mas agora o erro é:
Microsoft VBScript compilation error ’800a03f9′
Expected ‘Then’
/LOJA/cep_frete.asp, line 234
If Application(“DisponivelESedex”) = “sim” and session(“valortemp_ESedex”) “vazio” Then
—————————————————————————^
Abraços e muito obrigado.
Olá Regina,
Esqueci de um sinal de “<>” me desculpe, segue a linha corrigida:
If Application(“DisponivelESedex”) = “sim” and session(“valortemp_ESedex”) <> “vazio” Then
Abraço.
Esta correção eu havia feito….
Mas o resultado foi: não vem erro e nem os outros fretes.
http://www.lentech.com.br/loja/
Fiz o teste com o cep 13454000 e deu certo, qual cep esta tentando?
Aguardo resposta.
Para o CEP citado acima há E-Sedex:
RETIRAR NA LOJA ( 0,00 )
PAC ( 14,00 )
E-SEDEX ( 12,27 )
SEDEX ( 16,00 )
Estou fazendo o teste com o CEP: 65950000
Este não entrega E-Sedex, mas entrega Sedex.
testei o Cep que me passou na loja que apliquei a resolução desse problema e deu certo {editado}, me passe seu arquivo cep_frete.asp para o E-mail {editado para evitar span} pois deve estar alguma linha errada.
Aguardo resposta.
Olá Jeann,
Antes de tudo, obrigado pela contribuição.
Peguei o script do Phil e alterei TODAS as linhas que estava diferentes do original Locaweb, no meu arquivo cep_frete.asp (que foi modificado para frete grátis).
Porém, os fretes ficam todos zerados…
Ao voltar ao original, ele calcula apenas o SEDEX e diz:
E-SEDEX: E-Sedex não suportado. Utilize diretamente o WebService dos Correios http
PAC: Pac não suportado. Utilize diretamente o WebService dos Correios http
Não entendi… O anterior funciona e o novo não…
Pode me ajudar?
Grato.
Jeann, testei e está tudo certo na sua loja.
Não entendo porque não acontece na minha.
Enviei o arquino no seu e-mail.
Obrigada pela atenção.
Abraços
Regina