peron/laravel5-amazon-mws

此包已被废弃且不再维护。作者建议使用 sonnenglas/amazon-mws-laravel 包。

使用 Laravel ^7.x 与亚马逊的 MWS 网络服务。基于 creacoon/amazon-mws-laravel 包并修改以兼容最新的 Laravel 版本(+修复了错误)。

5.0.0 2021-03-09 12:43 UTC

README

这是一个 PHP 包,用于以面向对象的方式连接到亚马逊的商户网络服务(MWS),注重直观的使用。

目前优化以适用于 Laravel 框架。

这不是亚马逊网络服务(AWS)- 云计算服务。

安装

  1. composer require sonnenglas/laravel5-amazon-mws

  2. 将服务提供者添加到 config/app.php 中的 providers 数组

Sonnenglas\AmazonMws\ServiceProvider::class,

config/app.php 中无需添加门面

  1. 将 src/config/amazon-mws.php 配置文件复制到 Laravel 的配置目录。

使用方法

API 所需的所有技术细节都在幕后处理,因此用户可以轻松构建代码,向亚马逊发送请求,无需跨越参数 URL 格式化和令牌管理等障碍。使用对象的一般工作流程如下:

  1. 为需要执行的任务创建一个对象。
  2. 使用 set____ 方法根据对象加载参数。
  3. 向亚马逊提交请求。通常,执行此操作的方法命名为 fetch____submit____,且无参数。
  4. 使用 get____ 方法引用返回的数据,无论是单个值还是批量数据。
  5. 使用内置的日志系统监控库的性能。

请注意,如果您要处理多个亚马逊商店,您将需要为每个商店创建一个单独的对象。

此外,请注意,当对象不被视为可重用时,它们的表现最佳。否则,如果新的请求失败,您可能会获取旧响应数据。

示例使用

以下是库使用的一些示例。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();
}