<?php



/**

 * Shipment.class [TIPO]

 * Descricao

 * @copyright (c) year, Welton Thierree TagPage

 */



class Shipment {



    const urlSoap = 'http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx?WSDL';

    

    private $soap;

    private $nCdEmpresa;

    private $sDsSenha;

    private $nCdServico;

    private $sCepOrigem;

    private $nCdFormato;

    private $nVlDiametro;





    public function __construct() {

        $this->nCdEmpresa = '';

        $this->sDsSenha = '';

        $this->nCdServico = '04014,04510';

        $this->sCepOrigem = '50710100';

        $this->nCdFormato = 1;

        $this->nVlDiametro = '0';

    }



    public function quote($sCepDestino, $nVlPeso, $nVlComprimento, $nVlAltura, $nVlLargura, $sCdMaoPropria = 'N', $nVlValorDeclarado = 0, $sCdAvisoRecebimento = 'N') {

        //Prametros informados para o webservice

        $param = [

            'nCdEmpresa' => $this->nCdEmpresa,

            'sDsSenha' => $this->sDsSenha,

            'nCdServico' => $this->nCdServico,

            'sCepOrigem' => $this->sCepOrigem,

            'sCepDestino' => $sCepDestino,

            'nVlPeso' => $nVlPeso,

            'nCdFormato' => $this->nCdFormato,

            'nVlComprimento' => $nVlComprimento,

            'nVlAltura' => $nVlAltura,

            'nVlLargura' => $nVlLargura,

            'nVlDiametro' => $this->nVlDiametro,

            'sCdMaoPropria' => $sCdMaoPropria,

            'nVlValorDeclarado' => $nVlValorDeclarado,

            'sCdAvisoRecebimento' => $sCdAvisoRecebimento

        ];

        

        $this->soap = new SoapClient(self::urlSoap);

        $CalcPrecoPrazo = $this->soap->CalcPrecoPrazo($param);

        $result = (object) $CalcPrecoPrazo->CalcPrecoPrazoResult->Servicos->cServico;

        

        return $result;

    }



}