sonnenglas/laravel5-amazon-mws

该软件包已被弃用且不再维护。作者建议使用sonnenglas/laravel-amazon-mws软件包代替。

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

6.0.0 2022-04-14 16:18 UTC

README

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

目前针对Laravel框架进行优化。

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

安装

  1. composer require sonnenglas/laravel5-amazon-mws

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

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();
}