setono / peak-wms-php-sdk
使用此PHP SDK消费Peak WMS API
v1.0.0-alpha
2024-08-29 10:16 UTC
Requires
- php: >=8.1
- cuyz/valinor: ^1.10
- php-http/discovery: ^1.14
- psr/http-client: ^1.0
- psr/http-client-implementation: ^1
- psr/http-factory: ^1.0
- psr/http-factory-implementation: ^1
- psr/http-message: ^1.0
- psr/log: ^1.1 || ^2.0 || ^3.0
Requires (Dev)
- infection/infection: ^0.27.11
- kriswallsmith/buzz: ^1.2
- nyholm/psr7: ^1.8
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.6
- psalm/plugin-phpunit: ^0.18
- setono/code-quality-pack: ^2.7.2
This package is auto-updated.
Last update: 2024-09-02 08:10:36 UTC
README
在PHP中使用Peak WMS API。
安装
composer require setono/peak-wms-php-sdk
使用
创建销售订单
<?php use Setono\PeakWMS\Client\Client; use Setono\PeakWMS\DataTransferObject\Address; use Setono\PeakWMS\DataTransferObject\SalesOrder\OrderLine\SalesOrderLine; use Setono\PeakWMS\DataTransferObject\SalesOrder\SalesOrder; $client = new Client('your_api_key'); $salesOrder = new SalesOrder( orderId: 'order_in_your_store', forwarderProductId: 'usually_your_shipping_method_id', orderNumber: 'order_number_in_your_store', billingAddress: new Address( customerName: 'John Doe', address1: 'Hobrovej 1', postalCode: '9000', city: 'Aalborg', country: 'DK', email: 'johndoe@google.com', phone: '33762234', ), ); $salesOrder->orderLines[] = new SalesOrderLine( orderLineId: 'order_line_id_in_your_store', quantityRequested: 1, productId: 'BLUE_TSHIRT-L', ); $client->salesOrder()->create($salesOrder);
生产使用
内部此库使用CuyZ/Valinor库,该库特别适合将API响应转换为DTO。然而,此库有一些开销,并且启用缓存时效果最佳。
当你实例化Client
时,利用这个机会设置缓存
<?php use CuyZ\Valinor\Cache\FileSystemCache; use Setono\PeakWMS\Client\Client; require_once '../vendor/autoload.php'; $cache = new FileSystemCache('path/to/cache-directory'); $client = new Client('API_KEY'); $client->getMapperBuilder()->withCache($cache);
你可以在这里了解更多: Valinor: 性能和缓存。