thirtybees / postnl-api-php
Requires
- php: ^5.6 || ^7.0 || ^8.0
- ext-json: *
- composer/ca-bundle: ^1.2
- guzzlehttp/psr7: ^1.7 || ^2.0
- php-http/promise: ^1.0
- psr/cache: ^1.0 || ^2.0 || ^3.0
- psr/http-message: ^1.0
- psr/log: ^1.0 || ^2.0 || ^3.0
- setasign/fpdf: ^1.8
- setasign/fpdi: ^2.0
Requires (Dev)
- cache/void-adapter: ^1.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- guzzlehttp/promises: ^1.4
- php-http/mock-client: ^1.3
- phpunit/phpunit: >=5.7
- sabre/xml: ^1.5
- symfony/dotenv: ^3.0 || ^4.0 || ^5.0
- wappr/logger: ^1.2
- yoast/phpunit-polyfills: ^0.2
Suggests
- abbadon1334/phpdoc-to-rst: Build the documentation
- giggsey/libphonenumber-for-php: To automatically format and check phone numbers -- supports ^8.12
- guzzlehttp/guzzle: One of the most popular HTTP clients available -- supports ^6.5.3 || ^7.0
- php-http/discovery: Required if you want to use an alternative PSR-18, async or HTTPlug Client
- php-http/httplug: Required if you want to use an alternative PSR-18, async or HTTPlug Client
- php-http/message-factory: Required if you want to use an alternative PSR-18, async or HTTPlug Client
- psr/http-factory: Required if you want to use an alternative PSR-18, async or HTTPlug Client
- sabre/xml: To use the SOAP API -- supports ^1.5
- symfony/http-client: Another popular HTTP client you can use natively -- supports ^5.2
- v2.0.0.x-dev
- v1.3.x-dev
- v1.3.11
- v1.3.10
- v1.3.9
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.x-dev
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.2.0-beta.8
- v1.2.0-beta.7
- v1.2.0-beta.6
- v1.2.0-beta.5
- v1.2.0-beta.4
- v1.2.0-beta.3
- v1.2.0-beta.2
- v1.2.0-beta.1
- v1.2.0-alpha.4
- v1.2.0-alpha.3
- v1.2.0-alpha.2
- v1.2.0-alpha.1
- v1.2.0-alpha.0
- v1.1.x-dev
- 1.1.0
- 1.0.0
- 1.0.0-beta.1
- dev-develop
This package is not auto-updated.
Last update: 2022-02-01 13:10:06 UTC
README
关于
这个PHP库旨在提供PostNL的REST和SOAP API的简单连接方式。通过在处理运单信息时抽象掉不必要的复杂性并提高容错性,您可以在几分钟内快速使用PostNL。
在底层,这个库使用异步通信和负载分割来提高性能。
重要通知
PHP绑定可以连接到PostNL的SOAP和REST API。
状态
服务 | REST状态 | SOAP状态 | 版本 |
---|---|---|---|
地址 | |||
Adrescheck Nationaal | N/A | N/A | N/A |
Adrescheck Basis Nationaal | N/A | N/A | N/A |
Adrescheck Internationaal | N/A | N/A | N/A |
Geo Adrescheck Nationaal | N/A | N/A | N/A |
信用与商业信息 | |||
Bedrijfscheck Nationaal | N/A | N/A | N/A |
Kredietcheck Zakelijk | N/A | N/A | N/A |
发送与跟踪 | |||
条形码web服务 | ✓ | ✓ | 1.1 |
标签web服务 | ✓ | ✓ | 2.2 |
确认web服务 | ✓ | ✓ | 2.0 |
运单状态web服务 | ✓ | ✓ | 2.0 |
运单web服务 | ✓ | ✓* | 2.0 |
配送选项 | |||
配送日期web服务 | ✓ | ✓ | 2.2 |
位置web服务 | ✓ | ✓ | 2.1 |
时间段web服务 | ✓ | ✓ | 2.1 |
结账web服务 | 计划中 | 计划中* | 1.0 |
邮件 | |||
批量邮件web服务 | N/A | N/A | N/A |
* SOAP版本不可用。将回退到REST API。
说明
- 克隆此仓库
- 运行
composer install
(没有composer?访问https://getcomposer.org.cn/) - 可选地运行
composer require guzzlehttp/guzzle
以使用Guzzle而不是直接使用cURL - 您已经准备就绪!本README中有一个小型示例。查看完整文档以获取快速入门指南。
文档
示例
允许用户使用默认REST API下载标签
<?php use Firstred\PostNL\PostNL; use Firstred\PostNL\Entity\Customer; use Firstred\PostNL\Entity\Address; use Firstred\PostNL\Entity\Shipment; use Firstred\PostNL\Entity\Dimension; require_once __DIR__.'/vendor/autoload.php'; $customer = Customer::create([ 'CollectionLocation' => '123456', 'CustomerCode' => 'DEVC', 'CustomerNumber' => '11223344', 'ContactPerson' => 'Peter', 'Address' => Address::create([ 'AddressType' => '02', 'City' => 'Hoofddorp', 'CompanyName' => 'PostNL', 'Countrycode' => 'NL', 'HouseNr' => '42', 'Street' => 'Siriusdreef', 'Zipcode' => '2132WT', ]), 'Email' => 'info@voorbeeld.nl', 'Name' => 'Michael', ]); $apikey = 'YOUR_API_KEY_HERE'; $sandbox = false; $postnl = new PostNL($customer, $apikey, $sandbox); $barcode = $postnl->generateBarcodeByCountryCode('NL'); $shipment = Shipment::create([ 'Addresses' => [ Address::create([ 'AddressType' => '01', 'City' => 'Utrecht', 'Countrycode' => 'NL', 'FirstName' => 'Peter', 'HouseNr' => '9', 'HouseNrExt' => 'a bis', 'Name' => 'de Ruijter', 'Street' => 'Bilderdijkstraat', 'Zipcode' => '3521VA', ]), ], 'Barcode' => $barcode, 'Dimension' => new Dimension(/* weight */ '2000'), 'ProductCodeDelivery' => '3085', ]); header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="label.pdf"'); echo base64_decode($postnl->generateLabel( /* The actual shipment */ $shipment, /* The output format */ 'GraphicFile|PDF', /* Immediately confirm the shipment */ true ) ->getResponseShipments()[0] ->getLabels()[0] ->getContent() ); exit;
完整文档
完整文档可在此页面上找到: https://postnl-php.readthedocs.io/
构建文档
文档会自动构建并在readthedocs.io上托管。您可以通过安装Sphinx并运行以下命令来构建本地的HTML副本:
pip install -r docs/requirements.txt
安装需求,然后
sphinx-build -b html docs builddir
在builddir
目录中构建HTML输出。
许可协议
本库使用MIT许可协议进行许可。
完整许可协议文本
MIT许可协议(MIT)。版权所有 (c) 2017-2022 Michael Dekker (https://github.com/firstred)
特此免费许可,任何人获得本软件及其相关文档文件(以下简称“软件”)的副本,均可自由处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供方授予上述权限,前提是遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、适用于特定目的和不侵犯他人权利的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他法律行为,由此软件或软件的使用或其它方式引起的,无论是在软件中还是在软件的使用过程中。