2017 © Pedro PelĂĄez
 

library frete

Library pra cĂĄlculo de frete

image

escapework/frete

Library pra cĂĄlculo de frete

  • Thursday, November 30, 2017
  • by luisdalmolin
  • Repository
  • 11 Watchers
  • 29 Stars
  • 3,682 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 0 Open issues
  • 23 Versions
  • 17 % Grown

The README.md

EscapeWork/Frete

, (*1)

License MIT , (*2)

Biblioteca PHP que utiliza os webservices dos correios para cålculo de frete, rastreamento de encomendas e busca de endereços através do CEP., (*3)

Instalação

Instalação via composer., (*4)

$ composer require escapework/frete:"0.5.*"

Calculando preço e prazo

use EscapeWork\Frete\Correios\PrecoPrazo;
use EscapeWork\Frete\Correios\Data;
use EscapeWork\Frete\FreteException;

$frete = new PrecoPrazo();
$frete->setCodigoServico(Data::SEDEX)
      ->setCodigoEmpresa('Codigo')      # opcional
      ->setSenha('Senha')               # opcional
      ->setCepOrigem('cep de origem')   # apenas numeros, sem hifen(-)
      ->setCepDestino('cep de destino') # apenas numeros, sem hifen(-)
      ->setComprimento(30)              # obrigatorio
      ->setAltura(30)                   # obrigatorio
      ->setLargura(30)                  # obrigatorio
      ->setDiametro(30)                 # obrigatorio
      ->setPeso(0.5);                   # obrigatorio

try {
    $result = $frete->calculate();

    echo $result['cServico']['Valor'];
    echo $result['cServico']['PrazoEntrega'];

    var_dump($result); // debugge o resultado!
}
catch (FreteException $e) {
    // trate o erro adequadamente (e nĂŁo escrevendo na tela)
    echo $e->getMessage();
    echo $e->getCode(); // este cĂłdigo Ă© o cĂłdigo de erro dos correios
                        // pode ser usado pra dar mensagens como CEP invĂĄlido para o cliente
}

Tipos de frete disponĂ­veis

EscapeWork\Frete\Correios\Data::SEDEX;          # sedex
EscapeWork\Frete\Correios\Data::SEDEX_A_COBRAR; # sedex a cobrar
EscapeWork\Frete\Correios\Data::SEDEX_10;       # sedex 10
EscapeWork\Frete\Correios\Data::SEDEX_HOJE;     # sedex hoje
EscapeWork\Frete\Correios\Data::PAC;            # pac

Buscando mĂșltiplos serviços

Também é possível obter um array com vårios serviços (Sedex e PAC, por exemplo) utilizando a classe PrecoPrazo., (*5)

$frete = new PrecoPrazo();
$frete->setCodigoServico([Data::SEDEX, Data::PAC])
      ... // todo os setters igual a chamada acima

try {
    $results = $frete->calculate();

    foreach ($results as $result) {
        echo $result['cServico']['Valor'];
        echo $result['cServico']['PrazoEntrega'];

        var_dump($result); // debugge o resultado!
    }
}
catch (FreteException $e) {
    // trate o erro adequadamente (e nĂŁo escrevendo na tela)
    echo $e->getMessage();
}

Calculando para mĂșltiplos produtos

NĂŁo existe nenhuma maneira completamente certa de se fazer isso (atĂ© onde ser). Eu recomendo usar a raiz cĂșbica dos produtos somadas para isto. VocĂȘ pode ver mais informaçÔes aqui:, (*6)

http://www.dothcom.net/blog/comercio-eletronico/calculo-de-frete-com-multiplos-volumes-dos-correios/, (*7)

Rastreamento de encomendas

Fazendo o rastreio de encomendas online., (*8)

use EscapeWork\Frete\Correios\Rastreamento;
use EscapeWork\Frete\FreteException;

$rastreamento = new Rastreamento;
$rastreamento->setUsuario('ECT')
             ->setSenha('SRO')
             ->setObjetos('SQ458226057BR');

try {
    $result = $rastreamento->track();

    var_dump($result->delivered()); // se a entrega jĂĄ foi finalizada (true ou false)
    var_dump($result->inTransit()); // se o pacote estĂĄ em transito (true ou false)

    echo $result['evento']['tipo'];
    echo $result['evento']['status'];
    echo $result['evento']['data'];
    echo $result['evento']['hora'];
    echo $result['evento']['descricao'];

    var_dump($result); // debugar, debugar!
}
catch (FreteException $e) {
    // trate o erro adequadamente (e nĂŁo escrevendo na tela)
    echo $e->getMessage();
}

Buscando mĂșltiplas encomendas

TambĂ©m Ă© possĂ­vel buscar mĂșltiplas encomendas com a classe Rastreamento., (*9)

$rastreamento = new Rastreamento;
$rastreamento->setUsuario('ECT')
             ->setSenha('SRO')
             ->setObjetos(['SQ458226057BR', 'SQ458226057BR']); // passe um array com os objetos

try {
    $results = $rastreamento->track();

    foreach ($results as $result) {
        var_dump($result->delivered());
        ...
    }
}

Consulta de CEP pelo webservice dos correios

VocĂȘ tambĂ©m pode buscar o endereço atravĂ©s de um CEP., (*10)

use EscapeWork\Frete\Correios\ConsultaCEP;
use EscapeWork\Frete\FreteException;

try {
    $consulta = new ConsultaCEP;
    $result   = $consulta->setCep(93320080)
                         ->find();

    # ou, pra facilitar, vocĂȘ pode usar o mĂ©todo
    # ConsultaCEP::search(93320080)

    echo $result->bairro;
    echo $result->cep;
    echo $result->cidade;
    echo $result->complemento;
    echo $result->complemento2;
    echo $result->end;
    echo $result->uf;

    var_dump($result); // debugar, debugar!
}
catch (FreteException $e) {
    // trate o erro adequadamente (e nĂŁo escrevendo na tela)
    echo $e->getMessage();
}

Testes

Caso queira rodar os testes em seu computador, clone o repositĂłrio, execute um composer install --dev, e depois execute o seguinte comando no terminal:, (*11)

$ vendor/bin/phpspec run

ReferĂȘncias

ReferĂȘncias utilizadas para o desenvolvimento., (*12)

License

See License, (*13)

The Versions

30/11 2017

dev-master

9999999-dev

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

30/11 2017

0.5.1

0.5.1.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

20/10 2017

0.5.0

0.5.0.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/05 2017

0.4.6

0.4.6.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/05 2017

0.4.x-dev

0.4.9999999.9999999-dev

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/05 2017

0.4.5

0.4.5.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/05 2017

0.4.4

0.4.4.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

30/09 2016

0.4.3

0.4.3.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

30/09 2016

0.4.2

0.4.2.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

30/09 2016

0.4.1

0.4.1.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/07 2016

0.2.x-dev

0.2.9999999.9999999-dev

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/07 2016

0.2.6

0.2.6.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/07 2016

0.2.5

0.2.5.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

08/07 2016

0.2.4

0.2.4.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

16/05 2016

0.3.x-dev

0.3.9999999.9999999-dev

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

16/05 2016

0.4.0

0.4.0.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

21/04 2016

0.3.0

0.3.0.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

13/11 2014

0.2.3

0.2.3.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

22/10 2014

0.2.2

0.2.2.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

18/09 2014

0.2.1

0.2.1.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

17/09 2014

0.2.0

0.2.0.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

 

The Development Requires

19/03 2014

0.1.1

0.1.1.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Eduardo Kasper

21/03 2013

0.1.0

0.1.0.0

Library pra cĂĄlculo de frete

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Eduardo Kasper