melhorenvio/shipment-sdk-php

此包负责进行报价计算。

3.0.2 2023-04-17 12:10 UTC

This package is auto-updated.

Last update: 2024-09-17 15:44:18 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

现在在您的电子商务项目中获得Melhor Envio报价服务变得更加容易。

索引

依赖

require

  • PHP 7.4, 8.0 或 8.1
  • Ext-json = *
  • Guzzlehttp/guzzle >= 7.0
  • symfony/polyfill-php74 >= 1.23

require-dev

  • mockery/mockery >= 1.3.6
  • phpunit/phpunit >= 9.5

安装

您可以通过运行以下命令通过composer安装此包

composer require melhorenvio/shipment-sdk-php

初始配置

创建的Shipment实例允许您通过参数传递您的token和您将工作的环境,这样您将拥有准备好的认证。

请记住,只有当token的创建属于与传递给参数的相同环境时,它才会有效。

如果您尚未进行授权流程,Melhor Envio有一个其他包可以简化此过程。您可以点击此处访问它。

require "vendor/autoload.php";

use MelhorEnvio\Shipment;
use MelhorEnvio\Resources\Shipment\Package;
use MelhorEnvio\Enums\Service;
use MelhorEnvio\Enums\Environment;

// Create Shipment Instance
$shipment = new Shipment('your-token', Environment::PRODUCTION);

使用示例

创建计算器实例

在此示例中,您将在您的代码中创建一个计算器实例。

// Create Calculator Instance
$calculator = $shipment->calculator();

添加起点和终点CEP

在此部分,您必须分别定义起点和终点的CEP。

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

产品

添加产品进行报价

在此部分,您将定义将用于报价的产品,应作为参数传递的信息如下

  • 高度
  • 宽度
  • 长度
  • 重量
  • 保险价值
  • 数量

请记住,默认保险价值应为产品的价值。

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

包装

添加包装进行报价

在此部分,您将定义将用于报价的包装,应作为参数传递的信息如下

  • 高度
  • 宽度
  • 长度
  • 重量
  • 保险价值

尺寸始终应以厘米为单位传递,重量应以千克为单位。这是Melhor Envio操作的单位。

请记住,默认保险价值应为产品的价值(以雷亚尔计)。

 $calculator->addPackages(
        new Package(12, 4, 17, 0.1, 6.0),
        new Package(12, 4, 17, 0.1, 6.0),
        new Package(12, 4, 17, 0.1, 6.0),
        new Package(12, 4, 17, 0.1, 6.0)
    );

重要的是要强调,PACOTES和PRODUTOS方法不能同时使用,应仅使用其中一个。

添加运输公司服务

如果您想要自定义,在此部分将选择您想要使用的运输公司的服务。今天,在Melhor Envio中,有

  • 邮政局
  • Jadlog
  • 维亚巴西
  • 亚速尔货运
  • 拉美货运
$calculator->addServices(
        Service::CORREIOS_PAC, 
        Service::CORREIOS_SEDEX,
        Service::CORREIOS_MINI,
        Service::JADLOG_PACKAGE, 
        Service::JADLOG_COM, 
        Service::AZULCARGO_AMANHA,
        Service::AZULCARGO_ECOMMERCE,
        Service::LATAMCARGO_JUNTOS,
        Service::VIABRASIL_RODOVIARIO
    );

添加附加服务

如果您想要自定义,可以在您的报价中配置一些附加服务,它们是

  • 自取
  • 收货通知
  • 收集

请记住,添加这些服务可能会在报价时增加价格。

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

返回报价信息

在此处,您将返回构建的payload的信息。

$quotations = $calculator->calculate();

更多示例

在此处,您可以访问更多实现示例

测试

在项目中,您可以找到一些基于单元测试的测试文档。

您可以在应用中使用以下命令:

composer test

或以下命令:

vendor/bin/phpunit tests 

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

有关更多详细信息,请参阅 贡献指南

安全

如果您发现任何安全问题,请通过电子邮件发送至 tecnologia@melhorenvio.com,而不是使用 问题跟踪器

致谢

许可证

梅洛尔·恩维奥。有关更多信息,请参阅 许可文件