grupopro/sigep

实现SIGEP的业务规则

1.0.0 2023-09-21 13:41 UTC

This package is auto-updated.

Last update: 2024-09-21 16:08:36 UTC


README

帮助项目成长。发送代码源或项目文档的pull request。

PHP SIGEP - 邮政

实现邮政SIGEP Web服务的实现。

在线查看演示、示例和文档。.

与邮政Web服务集成。查询价格和时效,打印标签和PLP等。此API可以

  • 计算订单的价格和时效。
  • 获取订单的跟踪数据。
  • 检查服务类型(Sedex、PAC等)是否允许在两个地址之间使用。
  • 生成并发送预列邮单(PLP)到邮政。
  • 生成新的标签号码。
  • 创建和/或验证标签的校验位有效性(通过Web服务或不通过)。
  • 以PDF格式生成PLP报告。
  • 以PDF格式生成邮寄标签。
  • 以PDF格式生成每种服务类型的盖章(每种服务类型的徽标)。
  • 获取邮寄后的PLP数据[由Sara处理]
  • [新]暂停邮寄(也称为交互式交付)

要求

  • PHP >= 5.4.0
  • 如果您需要打印标签和报告,请下载FPDF 1.7 www.fpdf.org
    不要忘记在尝试打印报告之前将FPDF配置为自动加载。

使用Composer安装(推荐)

  • 我们不通过标签控制版本,但是master分支仅在代码稳定时才会更新。因此,最新稳定版本始终是master分支。

将以下行添加到您的composer.json文件中:"stavarengo/php-sigep": "dev-master"
"stavarengo/php-sigep-fpdf": "dev-master"

然后通过命令行执行composer update

手动安装

  • 我们不通过标签控制版本,但是master分支仅在代码稳定时才会更新。因此,最新稳定版本始终是master分支。

  • 下载最新版本。

  • 要使用php-sigep类,您只需要加载"php-sigep/src/PhpSigep/Bootstrap.php"文件。这将注册loader。

常见问题

与PHP 5.3相关的问题

此问题已在以下位置报告: stavarengo/php-sigep#35 一些用户在PHP版本问题下在生产环境中遇到与邮政Web服务连接和认证问题。为了解决这个问题,您可以或使用较新版本的PHP(>=5.4)或下载邮政的WSDL并将其用于您的服务器进行连接。如果您选择下载WSDL,请遵循以下步骤:

  1. 将此文件保存到您的本地环境 https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl
  2. 更改生产环境的配置以指向您下载的文件。以下是一个示例。
$config = new \PhpSigep\Config();
$config->setEnv(\PhpSigep\Config::ENV_PRODUCTION);
$config->setWsdlAtendeCliente('CAMINHO-DO-SEU-ARQUIVO-LOCAL');
\PhpSigep\Bootstrap::start($config);

注意:在Wamp、Xammp等本地服务器上无法使用。

功能

缓存

PhpSigep的缓存组件受到了Zend Framework的缓存组件的启发。

默认情况下,PhpSigep的缓存是禁用的。
此缓存存储了一些邮务Web服务的响应,这些响应可以后续重用。除了提高请求响应速度外,还可以避免在邮务服务器不稳定(相信我:它经常不稳定)时用户无法继续操作。

要启用缓存,请在创建PhpSigep配置时使用"cacheOptions"键。例如:php new \PhpSigep\Config(array('cacheOptions' => array('storageOptions' => array('enabled' => true, 'ttl' => 60*60*24*7), ...)), );storageOptions数组中,您可以使用PhpSigep\Cache\Storage\Adapter\AdapterOptions类中任何属性的名称。

贡献

要运行测试套件,请在命令行中执行./vendor/bin/phpunit

  1. 创建分支
  2. 为功能创建分支(git checkout -b nova-funcionalidade
  3. 提交您的修改(git commit -am 'Adiciona nova funcionalidade'
  4. 将分支推送到远程(git push origin nova-funcionalidade
  5. 创建一个新的Pull Request