afosto / postnl-ecs
Afosto PostNL ECS 客户端
1.0.8
2017-06-19 11:07 UTC
Requires
- afosto/bp: ^2.0.0
- league/flysystem: ^1.0
- league/flysystem-sftp: ^1.0
- sabre/xml: ^1.5
Requires (Dev)
- filp/whoops: ^2.1
- symfony/var-dumper: ^3.2
README
使用此客户端方便地与 PostNL ECS 交互。本 PHP 软件包由 Afosto 开发,旨在在 Afosto(零售软件)和 PostNL ECS 之间建立可靠的连接,并提供以下功能:
- 向 ECS 发送产品信息
- 向 ECS 发送订单信息
- 接收库存信息(更改或完整列表)
- 接收运输更新(跟踪码)
入门指南
只需按照安装说明进行操作。您需要一个已为您设置的 PostNL ECS 账户。
先决条件
您需要安装哪些软件以及如何安装它们
- PHP5.5+
- Composer(用于安装)
安装
通过Composer轻松安装。
composer require afosto/ecs
示例
现在,要在 ECS 中插入一个产品,请使用以下代码。
首先设置一些配置参数
$config = [ 'host' => 'sftp-postnlint-accp.xs4.mendix.net', 'port' => 22, 'username' => '', 'privateKey' => '', 'root' => '/home/{username}/' ];
使用配置初始化应用程序
App::init($config);
发送一个产品
构建产品对象
$product = new Product(); $product->sku = 'ART-1-TEST'; $product->shortDescription = 'Test article'; $product->ean = '1000000000016'; $product->height = $product->weight = $product->depth = $product->width = 1;
创建一个消息容器,插入一个消息编号(在本例中为 1),添加产品并发送消息
$message = new ProductMessage(1);
插入单个产品或添加多个
$message->addMessagePart($product); $message->addMessagePart([$product2, $product3]);
现在发送消息
$message->send();
对于调试,您还可以下载或显示 XML 文件
$message->show(); $message->download();
现在该产品应该可在 ECS 中使用。
库存更新
要解析一批库存消息,请使用以下代码。
$stockListUpdates = new StockList();
加载消息(来自 SFTP 服务器的 XML 文件)
foreach ($stockListUpdates->getUpdates() as $model) { //Do something with the message $message = [ 'sku' => $model->sku, 'count' => $model->count, ]; }
将处理过的消息标记为已读(它们将被删除)
$stockListUpdates->markAsRead();
其他示例
在示例目录中,您将找到更多该项目的示例。
版本控制
我们使用SemVer进行版本控制。有关可用的版本,请参阅此存储库的标签。
许可
本项目采用 Apache License 2.0 许可 - 详细信息请参阅LICENSE.md文件。