kayooliveira / melhor-envio-sdk-php
dev-main
2022-04-24 20:26 UTC
Requires
- php: ^7.4
- kayooliveira/shipment-sdk-php: dev-master
- melhorenvio/auth-sdk-php: v1.0.3
- phpunit/phpunit: 9.5.x-dev
- vlucas/phpdotenv: 5.4.x-dev
This package is auto-updated.
Last update: 2024-09-25 02:36:41 UTC
README
现在,在您的电子商务项目中获得Melhor Envio服务变得更加简单。
目录
require
- PHP >= 7.4
- Ext-json = *
- Guzzlehttp/guzzle >= 6.5
require-dev
- phpunit/phpunit >= 5
安装
您可以通过运行以下命令来安装此包:
composer require melhorenvio/melhor-envio-sdk-php
初始配置
获取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;
获取访问令牌和刷新令牌
有关认证的更多信息,请参阅Auth SDK的文档:https://packagist.org.cn/packages/melhorenvio/auth-sdk-php
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;
进行报价
有关报价的更多信息,请参阅Shipment SDK的文档:https://packagist.org.cn/packages/melhorenvio/shipment-sdk-php
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);
接收更新的访问令牌和刷新令牌
Melhor Envio生成的访问令牌有效期为1个月,在此之后可以通过刷新令牌自动更新令牌,因此需要始终更新访问令牌和刷新令牌。为此,Melhor Envio SDK具有一个监听器事件来接收更新的令牌数据。
您需要实现将数据持久化到您的平台的逻辑,以下是一个示例
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 ]) });
创建Melhor Envio实例
更多示例
测试
项目内部包含一些基于单元测试的测试文档
您可以在应用中使用以下命令:
composer test
或者
vendor/bin/phpunit tests
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
贡献
有关更多详细信息,请参阅CONTRIBUTING
安全性
如果您发现任何安全问题,请通过电子邮件发送到tecnologia@melhorenvio.com,而不是使用issue tracker。
致谢
许可证
Melhor Envio。有关更多信息,请参阅许可文件