duarte2025 / php-sigep
与快递公司Web服务集成。生成标签,查询价格和期限,打印标签和PLP等。
Requires
- php: >=5.4
- setasign/fpdi: 1.6.1
- stavarengo/php-sigep-fpdf: dev-master
This package is auto-updated.
Last update: 2024-09-09 11:07:18 UTC
README
帮助项目成长。发送代码源或项目文档的pull request。
PHP SIGEP - Correios
- 在此处下载最新稳定版:https://github.com/stavarengo/php-sigep/tags
实现快递公司SIGEP Web服务。
查看在线演示、示例和文档在我们的页面.
与快递公司Web服务集成。查询价格和期限,打印标签和PLP等。此API可以
- 计算订单的价格和交付期限。
- 获取订单的跟踪数据。
- 检查两个地址之间是否允许某种服务类型(Sedex,PAC等)。
- 生成并发送预寄信列表(PLP)的XML到快递公司。
- 生成新的邮标签号。
- 创建和/或验证标签的校验码的有效性(通过Web服务或非Web服务)。
- 在PDF格式中生成PLP报告。
- 在PDF格式中生成邮标签。
- 在PDF中为每种服务类型生成戳记(每种服务的标志)。
- 获取邮寄后的PLP数据[由Sara处理]
- [新功能] 暂停邮寄(也称为交互式交付)
- [新功能] 代理点列表(用于点击取件)
- [新功能] 为点击取件生成邮标签的PDF格式。
要求
- 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。
常见问题
系统访问授权拒绝
在将此项目用于生产之前,需要向快递公司的商务代表申请Web服务的授权和密码。
在使用模拟环境时遇到问题
如果在尝试使用模拟环境时收到以下消息,则表示快递公司的Web服务暂时不可用。创建issue没有帮助,最好的办法是等待或尝试联系快递公司的技术支持。
错误信息:解析WSDL:无法从'https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl'加载外部实体'https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsd'
PHP 5.3 的问题
此问题已在以下位置报告:[stavarengo#35](https://github.com/stavarengo/php-sigep/issues/35) 一些用户在生产环境中遇到了与邮政 WebService 的连接和认证问题,这是由于 PHP 版本引起的。为了解决这个问题,您可以或使用更高版本的 PHP(>=5.4)或下载邮政的 WSDL 并在您的服务器上使用它来建立连接。如果您选择下载 WSDL,请按照以下步骤操作:
- 将此文件保存在您的本地环境中 [https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl](https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl)
- 更改生产环境的配置以使用您下载的文件。以下是一个示例。
$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 缓存组件](http://framework.zend.com/manual/2.3/en/index.html#zend-cache) 启发的。
默认情况下,PhpSigep 的缓存是禁用的。
此缓存存储了一些邮政 WebService 的响应,这些响应可以在以后重用。除了提高请求响应速度外,还可以避免用户在邮政服务器不稳定时(相信我:它经常不稳定)无法继续操作。
要启用缓存,请使用 "cacheOptions" 键在创建 PhpSigep 配置时使用。例如: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
。
- 进行分叉
- 为功能创建分支(
git checkout -b nova-funcionalidade
) - 提交您的修改(
git commit -am 'Adiciona nova funcionalidade'
) - 将分支推送到远程(
git push origin nova-funcionalidade
) - 创建新的 Pull Request