PHPackages                             escapework/frete - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. escapework/frete

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

escapework/frete
================

Library pra cálculo de frete

1.0.1(3y ago)529.5k↓20%18[2 issues](https://github.com/EscapeWork/Frete/issues)MITPHPPHP &gt;=5.5.0

Since Mar 21Pushed 3y ago12 watchersCompare

[ Source](https://github.com/EscapeWork/Frete)[ Packagist](https://packagist.org/packages/escapework/frete)[ RSS](/packages/escapework-frete/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (2)Versions (25)Used By (0)

EscapeWork/Frete
================

[](#escapeworkfrete)

[![](https://camo.githubusercontent.com/78add73e262e6ff9b60731ab3f3e1610c3f9444cdb2c98fb07662f687ed37bce/687474703a2f2f7777772e636f727265696f732e636f6d2e62722f2b2b7468656d652b2b636f727265696f732e736974652e74656d612f696d616765732f6c6f676f5f636f727265696f732e706e67)](https://camo.githubusercontent.com/78add73e262e6ff9b60731ab3f3e1610c3f9444cdb2c98fb07662f687ed37bce/687474703a2f2f7777772e636f727265696f732e636f6d2e62722f2b2b7468656d652b2b636f727265696f732e736974652e74656d612f696d616765732f6c6f676f5f636f727265696f732e706e67)

[![](https://camo.githubusercontent.com/fc599b537cc890aef7ef80ee99f18d951773ebfe295f8f8bd9e84f13d80499a3/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f457363617065576f726b2f46726574652e706e67)](http://travis-ci.org/EscapeWork/Frete)[![](https://camo.githubusercontent.com/c8cc92de07563ecce690c1e00e7d29d8811183aefe80fac0a583fbf330e94ba3/68747470733a2f2f706f7365722e707567782e6f72672f657363617065776f726b2f66726574652f762f737461626c652e706e67)](https://packagist.org/packages/escapework/frete)[![](https://camo.githubusercontent.com/a2a5c66c2478860e8e901d635e6e5efc6814360bee6beb1fda1a2764c1bb5141/68747470733a2f2f706f7365722e707567782e6f72672f657363617065776f726b2f66726574652f646f776e6c6f6164732e706e67)](https://packagist.org/packages/escapework/frete)[![License MIT](https://camo.githubusercontent.com/706c9c260d2aff572361ab8c488a4d49aba50c74e5749a4799ba4fe64324a6cf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f457363617065576f726b2f46726574652e7376673f7374796c653d666c6174)](https://github.com/EscapeWork/Frete)

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.

Instalação
----------

[](#instalação)

Instalação via composer.

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

Calculando preço e prazo
------------------------

[](#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

[](#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

[](#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`.

```
$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

[](#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:

Rastreamento de encomendas
--------------------------

[](#rastreamento-de-encomendas)

Fazendo o rastreio de encomendas online.

```
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

[](#buscando-múltiplas-encomendas)

Também é possível buscar múltiplas encomendas com a classe `Rastreamento`.

```
$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
--------------------------------------------

[](#consulta-de-cep-pelo-webservice-dos-correios)

Você também pode buscar o endereço através de um CEP.

```
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

[](#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:

```
$ vendor/bin/phpspec run

```

### Referências

[](#referências)

Referências utilizadas para o desenvolvimento.

- [Cálculo de preço e prazo](http://www.correios.com.br/para-voce/correios-de-a-a-z/pdf/calculador-remoto-de-precos-e-prazos/manual-de-implementacao-do-calculo-remoto-de-precos-e-prazos)
- [Rastreamento online](http://www.correios.com.br/para-voce/correios-de-a-a-z/pdf/rastreamento-de-objetos/Manual_SROXML_28fev14.pdf)
- [SIGEP](http://www.corporativo.correios.com.br/encomendas/sigepweb/doc/Manual_de_Implementacao_do_Web_Service_SIGEPWEB_Logistica_Reversa.pdf)

### License

[](#license)

See [License](https://github.com/EscapeWork/Frete/blob/master/LICENSE)

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity38

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 90.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~149 days

Recently: every ~483 days

Total

24

Last Release

1363d ago

Major Versions

0.5.1 → 1.0.02020-04-05

PHP version history (3 changes)0.1.0PHP &gt;=5.3.0

0.2.0PHP &gt;=5.4.0

0.4.0PHP &gt;=5.5.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/57e405b52d482c9de35b17f299d2745e8e68d9d9951aec64854f2d7fa53110bf?d=identicon)[luisdalmolin](/maintainers/luisdalmolin)

---

Top Contributors

[![luisdalmolin](https://avatars.githubusercontent.com/u/403446?v=4)](https://github.com/luisdalmolin "luisdalmolin (68 commits)")[![renatomjr](https://avatars.githubusercontent.com/u/12521288?v=4)](https://github.com/renatomjr "renatomjr (4 commits)")[![mariosmello](https://avatars.githubusercontent.com/u/1241449?v=4)](https://github.com/mariosmello "mariosmello (2 commits)")[![sampiron](https://avatars.githubusercontent.com/u/6353766?v=4)](https://github.com/sampiron "sampiron (1 commits)")

---

Tags

correiosfretephp

### Embed Badge

![Health badge](/badges/escapework-frete/health.svg)

```
[![Health](https://phpackages.com/badges/escapework-frete/health.svg)](https://phpackages.com/packages/escapework-frete)
```

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[dhlparcel/magento2-plugin

DHL Parcel plugin for Magento 2

11180.5k2](/packages/dhlparcel-magento2-plugin)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
