PHPackages                             kayooliveira/melhor-envio-sdk-php - 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. kayooliveira/melhor-envio-sdk-php

ActiveLibrary

kayooliveira/melhor-envio-sdk-php
=================================

12PHP

Since Apr 24Pushed 4y agoCompare

[ Source](https://github.com/kayooliveira/melhor-envio-sdk-php)[ Packagist](https://packagist.org/packages/kayooliveira/melhor-envio-sdk-php)[ RSS](/packages/kayooliveira-melhor-envio-sdk-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Melhor Envio SDK - Integração com Melhor Envio
==============================================

[](#melhor-envio-sdk---integração-com-melhor-envio)

[![Latest Version on Packagist](https://camo.githubusercontent.com/cbc288c0839b740498157570a497bc3c5946be170ef78955d593edddddf61ae7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d656c686f72656e76696f2f6d656c686f722d656e76696f2d73646b2d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/melhorenvio/melhor-envio-sdk-php)[![Total Downloads](https://camo.githubusercontent.com/2ec936a9df5c42ba4eedc8128a703a7289f6aa5b86123db08ada404f9fd9e1e0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d656c686f72656e76696f2f6d656c686f722d656e76696f2d73646b2d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/melhorenvio/melhor-envio-sdk-php)

Agora ficou mais fácil ter o serviço do Melhor Envio no seu projeto de e-commerce.

Indice
------

[](#indice)

- [Instalação](#instalacao)
- [Cofiguração Inicial](##configura%C3%A7%C3%A3o-inicial)
- [Exemplos de uso](##Criando-a-inst%C3%A2ncia-do-Melhor-Envio)
- [Mais exemplos](##Mais-Exemplos)
- [Testes](##Testes)
- [Changelog](##Changelog)
- [Contribuindo](##Contribuindo)
- [Segurança](##Seguran%C3%A7a)
- [Créditos](##Cr%C3%A9ditos)
- [Licença](##Licen%C3%A7a)

### require

[](#require)

- PHP &gt;= 7.4
- Ext-json = \*
- Guzzlehttp/guzzle &gt;= 6.5

### require-dev

[](#require-dev)

- phpunit/phpunit &gt;= 5

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

[](#instalação)

Você pode instalar o pacote via composer, rodando o seguinte comando:

```
composer require melhorenvio/melhor-envio-sdk-php
```

Configuração inicial
--------------------

[](#configuração-inicial)

### Obtendo link de autorização de conta do Melhor Envio

[](#obtendo-link-de-autorização-de-conta-do-melhor-envio)

```
require "./vendor/autoload.php";

use MelhorEnvio\MelhorEnvioSdkPhp\Event;
use MelhorEnvio\MelhorEnvioSdkPhp\OAuth2;
use MelhorEnvio\Resources\Shipment\Product;

$provider = new OAuth2(
    $appData['client_id'],
    $appData['client_secret'],
    $appData['redirect_uri']
);

$provider->setScopes('shipping-calculate');
$linkAuthorize = $provider->getAuthorizationUrl();

echo $linkAuthorize;
```

### Obtendo Access Token e Refresh Token

[](#obtendo-access-token-e-refresh-token)

Para maiores informações sobre autenticação, acessar a documentação do Auth SDK:

```
require "./vendor/autoload.php";

use MelhorEnvio\MelhorEnvioSdkPhp\Event;
use MelhorEnvio\MelhorEnvioSdkPhp\OAuth2;
use MelhorEnvio\Resources\Shipment\Product;

$provider = new OAuth2(
    $appData['client_id'],
    $appData['client_secret'],
    $appData['redirect_uri']
);

$code = $_GET['code'];

$tokens = $provider->getAccessToken($code);
var_dump($tokens);
die;
```

### Realizando cotações

[](#realizando-cotações)

Para maiores informações sobre cotações, acessar a documentação do Shipment SDK:

```
require "./vendor/autoload.php";

use MelhorEnvio\Enums\Environment;
use MelhorEnvio\MelhorEnvioSdkPhp\Event;
use MelhorEnvio\MelhorEnvioSdkPhp\OAuth2;
use MelhorEnvio\MelhorEnvioSdkPhp\Shipment;
use MelhorEnvio\Resources\Shipment\Product;

Event::listen('refresh', function ($token, $refreshToken) {
    // Put here trading rule to save accessToken e refreshToken.
});

$oAuth2 = new OAuth2(
    CLIENT_ID,
    TEST_CLIENT_SECRET,
    TEST_REDIRECT_URI
);

$this->shipment = new Shipment(
    $oAuth2,
    ACCESS_TOKEN,
    REFRESH_TOKEN
);

$calculator = $shipment->calculator();

$calculator->postalCode('01010010', '20271130');

$calculator->setOwnHand();
$calculator->setReceipt(false);
$calculator->setCollect(false);

$calculator->addProducts(
    new Product(uniqid(), 40, 30, 50, 10.00, 100.0, 1),
    new Product(uniqid(), 5, 1, 10, 0.1, 50.0, 1)
);

$quotations = $calculator->calculate();

var_dump($quotations);
```

### Recebendo Access Tokens e Refresh Tokens atualizados

[](#recebendo-access-tokens-e-refresh-tokens-atualizados)

O Access Token gerado pelo Melhor Envio tem a validade de 1(um) mês, após esse período é possível atualizar o token de forma automatiza com o refresh token, por isso é necessário sempre manter atulizado os access tokens e refresh tokens, visando isso, o Melhor Envio SDK possui um evento de listerner de receber com os dados de tokens atualizados.
Você deverá implementar a lógica para persistir esses dados na sua plataforma, veja um exemplo abaixo:

```
Event::listen('refresh', function ($token, $refreshToken) {
    // Aqui deve ser inserido a sua lógica de persitir as informações na sua plataforma, o código abaixo é apenas um exemplo, o mesmo deve ser subistituido para a sua realidade.
    Credentials::update([
       'access_token' => $token,
       'refresh_token' => $refreshToken
   ])
});
```

Criando a instância do Melhor Envio
-----------------------------------

[](#criando-a-instância-do-melhor-envio)

### Mais exemplos

[](#mais-exemplos)

[Aqui você pode acessar mais exemplos de implementação](/examples)

### Testes

[](#testes)

Dentro do projeto você encontrará alguns documentos de teste baseados em testes unitários

Você pode usar na aplicação tanto o comando:

```
composer test
```

Quanto o comando:

```
vendor/bin/phpunit tests
```

### Changelog

[](#changelog)

Consulte [CHANGELOG](CHANGELOG.md) para mais informações de alterações recentes.

Contribuindo
------------

[](#contribuindo)

Consulte [CONTRIBUTING](CONTRIBUTING.md) para mais detalhes.

### Segurança

[](#segurança)

Se você descobrir algum problema de segurança, por favor, envie um e-mail para , ao invés de usar um *issue tracker*.

Créditos
--------

[](#créditos)

- [Vinícius Schlee Tessmann](https://github.com/viniciustessmann)

Licença
-------

[](#licença)

Melhor Envio. Consulte [Arquivo de lincença](LICENSE.md) para mais informações.

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/30b4b2cf8be0c0157177659f03d25930e76c949d43abe1856900bec96fdacbfa?d=identicon)[kayooliveira](/maintainers/kayooliveira)

---

Top Contributors

[![kayooliveira](https://avatars.githubusercontent.com/u/35928107?v=4)](https://github.com/kayooliveira "kayooliveira (2 commits)")

### Embed Badge

![Health badge](/badges/kayooliveira-melhor-envio-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/kayooliveira-melhor-envio-sdk-php/health.svg)](https://phpackages.com/packages/kayooliveira-melhor-envio-sdk-php)
```

PHPackages © 2026

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