bidx / laravel5-amazon-mws
此软件包已被废弃,不再维护。作者建议使用 sonnenglas/laravel-amazon-mws 软件包。
使用 Laravel 5.x 与亚马逊的 MWS 网络服务。基于 creacoon/amazon-mws-laravel 软件包,并修改以使其与最新的 Laravel 版本兼容(+错误修复)。
4.0.0-alpha1
2022-07-13 15:31 UTC
Requires
- php: ^8.0
- ext-curl: *
- ext-simplexml: *
- illuminate/support: 6.*|7.*|8.*|9.*
Requires (Dev)
- phpunit/phpunit: ^9.5.21
README
⚠️ 警告 - 此软件包已被废弃,不再维护。请使用 sonnenglas/laravel-amazon-mws 代替。
一个 PHP 软件包,以面向对象的方式连接到亚马逊的商人网络服务(MWS),重点在于直观的使用。
目前针对 Laravel 框架进行优化。
这 不是 亚马逊网络服务(AWS)- 云计算服务。
安装
-
composer require sonnenglas/laravel5-amazon-mws
-
将服务提供者添加到 config/app.php 中的 providers 数组
Sonnenglas\AmazonMws\ServiceProvider::class,
config/app.php 中不需要添加门面
- 将 src/config/amazon-mws.php 配置文件从 Laravel 的配置目录复制到 amazon-mws.php
使用方法
API 所需的所有技术细节都由后台处理,因此用户可以轻松构建发送请求到亚马逊的代码,无需跨越参数 URL 格式化和令牌管理等障碍。使用对象的一般工作流程如下
- 为需要执行的任务创建一个对象。
- 使用 set____ 方法根据对象加载参数。
- 向亚马逊提交请求。用于此的目的的方法通常命名为 fetch____ 或 submit____,并且没有参数。
- 使用 get____ 方法引用返回的数据,无论是单个值还是批量。
- 使用内置的日志系统监控库的性能。
请注意,如果您想要对多个亚马逊商店采取行动,则需要为每个商店创建一个单独的对象。
请注意,当对象不被视为可重复使用时,它们的性能最佳。否则,如果新请求失败,您可能会抓取旧响应数据。
示例使用
以下是该库使用的几个示例。API 所需的所有技术细节都由后台处理,因此用户可以轻松构建发送请求到亚马逊的代码,无需跨越参数 URL 格式化和令牌管理等障碍。
以下是一个示例函数,用于获取过去 24 小时内更新的所有亚马逊仓库履行订单
use Sonnenglas\AmazonMws\AmazonOrderList; function getAmazonOrders() { $amz = new AmazonOrderList("myStore"); //store name matches the array key in the config file $amz->setLimits('Modified', "- 24 hours"); $amz->setFulfillmentChannelFilter("MFN"); //no Amazon-fulfilled orders $amz->setOrderStatusFilter( array("Unshipped", "PartiallyShipped", "Canceled", "Unfulfillable") ); //no shipped or pending $amz->setUseToken(); //Amazon sends orders 100 at a time, but we want them all $amz->fetchOrders(); return $amz->getList(); }
以下是一个示例函数,用于将先前创建的 XML 货单发送到亚马逊以更新库存编号
use Sonnenglas\AmazonMws\AmazonOrderList; function sendInventoryFeed($feed) { $amz = new AmazonFeed("myStore"); //store name matches the array key in the config file $amz->setFeedType("_POST_INVENTORY_AVAILABILITY_DATA_"); //feed types listed in documentation $amz->setFeedContent($feed); $amz->submitFeed(); return $amz->getResponse(); }