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

Cálculo de frete pelo web service dos correios


luisphp

Pergunta

Olá a todos.

Estou fazendo o cálculo do web services do correio, tendo como base a seguinte função que achei nesse link:

http://www.oficinadanet.com.br/artigo/php/...correios-em-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;
}
echo "<br><Br>Cálculo de FRETE PAC: ". 
calculaFrete('41106','26255170','96825150','0.1')."<br>";

echo "<br><Br>Cálculo de FRETE SEDEX: ". 
calculaFrete('40010','26255170','96825150','0.1')."<br>";

echo "<br><Br>Cálculo de FRETE SEDEX a cobrar: ". 
calculaFrete('40045','26255170','96825150','0.1')."<br>";

echo "<br><Br>Cálculo de FRETE SEDEX 10: ". 
calculaFrete('40215','26255170','96825150','0.1')."<br>";
?>
O valor é retornado do XML é
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
                (
                )
        )
)

Eu consigo alimentar a função com as variáveis necessárias:

($cod_servico, $cep_origem, $cep_destino, $peso, $altura='2', $largura='11', $comprimento='16', $valor_declarado='0.50')

Só que quando executa, não acontece nada.

Eu nunca mexi com esse lance de web service.

Onde ele apareçe pra mim o valor retornado do xml?

Como eu posso pegar esse valores e alimentar o meu form que diz quanto vai custar o valor do frete?

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...