crakter / bringapi
BringApi 是一个功能齐全的库,用于帮助联系 Bring API
3.0.3
2024-08-15 18:51 UTC
Requires
- php: >=8.2.0
- guzzlehttp/guzzle: >=7.9.2
Requires (Dev)
- friendsofphp/php-cs-fixer: >=3.60.0
- phpunit/phpunit: >=11.2.8
- rector/rector: ^1.1
Suggests
- phpoffice/phpexcel: Allows for convertion of response to JSON/array
This package is auto-updated.
Last update: 2024-09-15 19:01:17 UTC
README
Bring API PHP 是一个用于联系 Bring API 以获取价格、预订、报告等的库。我没有找到任何可以用在 PHP 和 Bring API 上的东西。所以我需要一个可重用的优秀库。这个库被一个大型的挪威批发商在生产中使用。
安装
Composer(推荐)
可以直接使用 Composer 安装。
在正确的目录中运行以下命令。
$ composer require crakter/bringapi
要求
- PHP 版本 7.2.0 或更高
- 启用 PHP 扩展
php_simplexml
(从 5.1.2 及以上版本默认启用)
支持的 API
- 运输指南 API
- 获取估算价格
- 获取估算配送时间
- 获取估算价格、配送时间等更多信息
- 预订 API
- 列出客户名称
- 预订运输
- 预约取件
- 跟踪 API
- 跟踪运输(也记录在案)
- 下载签名
- 报告 API
- 列出可用客户
- 列出客户的可用报告
- 生成报告
- 检查报告的状态
- 列出发票号码
- 邮政编码 API
- 查找邮政编码
基本用法
作为记录在案的跟踪
如果您移除了授权模块,您可以像普通用户一样跟踪。
use Crakter\BringApi\Entity\TrackingEntity; use Crakter\BringApi\Clients\Authorization; use Crakter\BringApi\Clients\Tracking\TrackingEndpoint; $trackingEntity = (new TrackingEntity)->set(['q' => 'TESTPACKAGE-AT-PICKUPPOINT']); // Can be used like this //$trackingEntity = (new TrackingEntity)->setQ('TESTPACKAGE-AT-PICKUPPOINT'); // Can also be used like this /* And like this $trackingEntity = (new TrackingEntity); $trackingEntity->q = 'TESTPACKAGE-AT-PICKUPPOINT'; */ $authorizationModule = (new Authorization) ->setApiKey('1234abc-abcd-1234-5678-abcd1234abcd') ->setClientId('example@example.no') ->setClientUrl('http://example.com'); $tracking = (new TrackingEndpoint) ->setAuthorizationModule($authorizationModule) ->setApiEntity($trackingEntity) ->send(); print_r($tracking->toArray());
高级用法
查看示例文件夹,或者您可以使用 Sami(composer dev-dependency)生成文档。
对于运行 Linux 的人
vendor/bin/sami.php -n render SamiConfig.php
对于运行 Windows 的人
"vendor/bin/sami.php.bat" -n render SamiConfig.php
您现在可以在 docs/build 文件夹中找到文档。
运行示例
为了使测试能够运行,需要在环境中设置 Bring UID、Bring API 密钥和客户编号
对于运行 Linux 的人
export BRING_UID="john.doe@example.com" && export BRING_API_KEY="1234abc-abcd-1234-5678-abcd1234abcd" && export BRING_CUSTOMER_NUMBER=" PARCELS_NORWAY-10001123123"
对于运行 Windows 的人
setx BRING_UID john.doe@example.com
setx BRING_API_KEY 1234abc-abcd-1234-5678-abcd1234abcd
setx BRING_CUSTOMER_NUMBER PARCELS_NORWAY-10001123123
进入一个新的命令提示符并运行示例。一些示例可以带有参数,如 postalcodes。
cd examples/
php BookAndPickupShipment.php
php PostalCode.php <numberOfPostalCode>
php ShippingGuideAll.php <fromPostalCode> <toPostalCode>
php Tracking.php <query>
php Reports.php <reportId>
贡献
欢迎贡献。
请遵循 PSR-2 编码标准。您可以使用 php-cs-fixer 修复代码中的问题。
许可
MIT