setono/peak-wms-php-sdk

使用此PHP SDK消费Peak WMS API

v1.0.0-alpha 2024-08-29 10:16 UTC

This package is auto-updated.

Last update: 2024-09-02 08:10:36 UTC


README

Latest Version Software License Build Status Code Coverage Mutation testing

在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: 性能和缓存