Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
bom dia a minha duvida é como calcular frete pelo correios de Móveis mudança no caso escrivaninhas, sofa, mesa etc..
como conseguir o script para inserir no meu site e qual é o site (link do Correio) para faser a interação e como vai ser o retorno se alguem poder me ajudar agradeço
O que você precisa está aqui -> http://www.correios.com.br/webservices/
>
O que você precisa está aqui -> http://www.correios.com.br/webservices/
Cara eu ate tentei este modo """ Resultado página do cliente """ ou seja para enviar os dados via url asim::::
OU SEJA hora que eu clikar em "Consultar" ele executa este link onde contem as informações etc.
no final eu inseri a pagina onde quero receber que seria esta """"http://analiseso.com.br/site/teste/as.php"""
mas dentro desta pagina nao recebo nadinha como faco para receber nela as informações ex: valor praso etc..???
qual script tenho que conter nela pois na documentação do correio nao informa ?????
testei com xml e deu certo se você acesa esta pagina vai te 2 opção
Consultar e XML:
http://analiseso.com.br/site/teste/calculo.php
mas queria receber em uma pagina php tem como ?
>
http://www.oficinadanet.com.br/artigo/php/calculo-de-frete-dos-correios-em-php :thumbsup:
este tutorial ate deu certo ate um ponto
ele me retornou somente isto
Cálculo de FRETE PAC: 13,30
Cálculo de FRETE SEDEX: 42,80
Cálculo de FRETE SEDEX a cobrar: 43,30
Cálculo de FRETE SEDEX 10:
mesmo mudando o cep ...
e esta fução nao faço nem ideia onde inserir>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
SimpleXMLElement Object
(
[cServico] => SimpleXMLElement Object
(
[Codigo] => 40045
[Valor] => 37,20
[PrazoEntrega] => 2
[ValorMaoPropria] => 0,00
[ValorAvisoRecebimento] => 0,00
[ValorValorDeclarado] => 0,50
[EntregaDomiciliar] => S
[EntregaSabado] => N
[Erro] => 0
[MsgErro] => SimpleXMLElement Object
(
)
)
) se puder me ajudar
Essa função que você não faz ideia de onde colocar... não é função. É um retorno do HTML. E você não está conseguindo resultados diferentes para as suas consultas porque você não está alterando os valores como se deve alterar.
Crie um arquivo Calculo.php:
<?
function calculaFrete($cod_servico, $cep_origem, $cep_destino, $peso, $altura='2', $largura='11', $comprimento='16', $valor_declarado='0.50')
{
#OFICINADANET###############################
# Código dos Serviços dos Correios
# 41106 PAC sem contrato
# 40010 SEDEX sem contrato
# 40045 SEDEX a Cobrar, sem contrato
# 40215 SEDEX 10, sem contrato
############################################
$correios = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=&sDsSenha=&sCepOrigem=".$cep_origem."&sCepDestino=".$cep_destino."&nVlPeso=".$peso."&nCdFormato=1&nVlComprimento=".$comprimento."&nVlAltura=".$altura."&nVlLargura=".$largura."&sCdMaoPropria=n&nVlValorDeclarado=".$valor_declarado."&sCdAvisoRecebimento=n&nCdServico=".$cod_servico."&nVlDiametro=0&StrRetorno=xml";
$xml = simplexml_load_file($correios);
if($xml->cServico->Erro == '0')
return $xml->cServico->Valor;
else
return false;
}
Depois, crie um arquivo Index.php:
<?php
/**
* Adicionará a função processadora
* de cálculo à esta página
**/
require_once "Calculo.php";
echo "<br><Br>Cálculo de FRETE PAC: ".
calculaFrete('41106', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
echo "<br><Br>Cálculo de FRETE SEDEX: ".
calculaFrete('40010', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
echo "<br><Br>Cálculo de FRETE SEDEX a cobrar: ".
calculaFrete('40045', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
echo "<br><Br>Cálculo de FRETE SEDEX 10: ".
calculaFrete('40215', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
Entendeu?
>
Essa função que você não faz ideia de onde colocar... não é função. É um retorno do HTML. E você não está conseguindo resultados diferentes para as suas consultas porque você não está alterando os valores como se deve alterar.
Crie um arquivo Calculo.php:
<?
function calculaFrete($cod_servico, $cep_origem, $cep_destino, $peso, $altura='2', $largura='11', $comprimento='16', $valor_declarado='0.50')
{
#OFICINADANET###############################
# Código dos Serviços dos Correios
# 41106 PAC sem contrato
# 40010 SEDEX sem contrato
# 40045 SEDEX a Cobrar, sem contrato
# 40215 SEDEX 10, sem contrato
############################################
$correios = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=&sDsSenha=&sCepOrigem=".$cep_origem."&sCepDestino=".$cep_destino."&nVlPeso=".$peso."&nCdFormato=1&nVlComprimento=".$comprimento."&nVlAltura=".$altura."&nVlLargura=".$largura."&sCdMaoPropria=n&nVlValorDeclarado=".$valor_declarado."&sCdAvisoRecebimento=n&nCdServico=".$cod_servico."&nVlDiametro=0&StrRetorno=xml";
$xml = simplexml_load_file($correios);
if($xml->cServico->Erro == '0')
return $xml->cServico->Valor;
else
return false;
}
Depois, crie um arquivo Index.php:
<?php
/**
* Adicionará a função processadora
* de cálculo à esta página
**/
require_once "Calculo.php";
echo "<br><Br>Cálculo de FRETE PAC: ".
calculaFrete('41106', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
echo "<br><Br>Cálculo de FRETE SEDEX: ".
calculaFrete('40010', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
echo "<br><Br>Cálculo de FRETE SEDEX a cobrar: ".
calculaFrete('40045', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
echo "<br><Br>Cálculo de FRETE SEDEX 10: ".
calculaFrete('40215', (DIGITE O CEP DE ORIGEM AQUI), (DIGITE O CEP DE DESTINO AQUI), (DIGITE O PESO AQUI))."<br>";
Entendeu?
Sim mais na index.php eu informo os dois CEP e o pese este peso seria como em Kg? e ate quantos Kg posso colocar
e qual formato ex: 10kg seria "10" ou 10.00 algo asim
?????
e tambem na Calculo.php > function calculaFrete( as variaveis da onde ele pega e pq na index.php a altura comprimento nao recisa rsrsr???????
Como você pode ver, esta não é uma função de minha autoria. Eu só apenas indiquei para você. Os parâmetros desta função você pode gerenciar como bem entender. E assim, não é que não precisa indicar altura/comprimento, mas eles já tem um valor padrão. Como eu disse, fique à vontade para modificar.
Com relação ao peso, 0.1 = 10 gramas.
Tem isso no rodape do link que te passei-> "Se você deseja integrar seus sistemas ao nosso webservice, baixe a especificação de acesso ao calculador de preços e prazos de encomendas".
Baixe esse PDF e leia-o! La tem todas as instrucoes! No topico numero 3, fala sobre exibir no cliente o que foi retornado pelo webservice!
To sem tempo agora! Mais tarde eu posto um exemplo pra te ajudar!
>
Tem isso no rodape do link que te passei-> "Se você deseja integrar seus sistemas ao nosso webservice, baixe a especificação de acesso ao calculador de preços e prazos de encomendas".
Baixe esse PDF e leia-o! La tem todas as instrucoes! No topico numero 3, fala sobre exibir no cliente o que foi retornado pelo webservice!
To sem tempo agora! Mais tarde eu posto um exemplo pra te ajudar!
beleza vou aguarda seiu exemplo pois nao consigo
este foi o que tentei mas nao deu certo nao vou aguardar
Exemplo de consulta com retorno na página do requisitante
(~_~)
Pelo o que eu entendi você quer receber os dados e tratá-los de acordo com a sua vontade, então o jeito é usar SOAP ou XML, pois facilita, mas eu não sei ainda direito como tratar XML. Mas eu achei um script na internet, muito bem explicado! Qualquer dúvida pergunte aqui, mas algumas respostas podem ser encontradas no arquivo em PDF no site dos correios!
Segue o link -> http://blog.shiguenori.com/2010/08/20/webservice-dos-correios/
>
Pelo o que eu entendi você quer receber os dados e tratá-los de acordo com a sua vontade, então o jeito é usar SOAP ou XML, pois facilita, mas eu não sei ainda direito como tratar XML. Mas eu achei um script na internet, muito bem explicado! Qualquer dúvida pergunte aqui, mas algumas respostas podem ser encontradas no arquivo em PDF no site dos correios!
Segue o link -> http://blog.shiguenori.com/2010/08/20/webservice-dos-correios/
este link nao ta funcionando :/
http://www.oficinadanet.com.br/artigo/php/calculo-de-frete-dos-correios-em-php :thumbsup: