jmshofstall/amazon-mws-laravel

用于亚马逊MWS网络服务的Laravel库,支持Laravel 5-7+

8.0.5 2021-05-13 18:41 UTC

README

Build Status StyleCI

亚马逊MWS for Laravel

============

一个用于连接亚马逊商家网络服务(MWS)的Laravel包。

如果你使用的是Laravel 6或更低版本,请使用版本5.0。在Laravel 7上,请使用7.0+版本。

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

安装

使用以下命令安装包:composer require jmshofstall/amazon-mws-laravel

对于Laravel 5.5及以上版本,包将自动发现。对于其他版本,你可以将Jmshofstall\AmazonMws\MwsServiceProvider添加到你的config/app.php文件中。

运行php artisan vendor:publish jmshofstall/amazon-mws-laravel以将amazon-mws.php配置文件添加到你的配置目录。

使用方法

使用对象的一般工作流程如下

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

请注意,如果你要操作多个亚马逊商店,你需要为每个商店创建一个单独的对象。

另外,请注意,对象在不是可重用的情况下表现最佳。否则,如果新的请求失败,你可能会获取旧的数据响应。

如果你想了解如何使用特定的函数,最好的方法是阅读函数上面的注释;它们详细且有用。

动态配置

如果你想将用于亚马逊调用的配置信息更改为配置文件中的其他信息,你可以在任何调用中添加setConfig($config)函数。参数$config应该是一个数组,遵循以下模板

$config = [
    'merchantId' => '',
    'marketplaceId' => '',
    'keyId' => '',
    'secretKey' => '',
    'amazonServiceUrl' => '',
];

示例用法

以下是一些库的使用示例。

以下是一个函数的示例,用于获取过去24小时内更新的所有仓库完成的亚马逊订单

use Jmshofstall\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();
    
    $orders = [];
    foreach($amz->getList() as $order) {
        $orders = $order->getData();
    }
    return $orders;
}

此示例显示了一个函数,用于将之前创建的XML馈送到亚马逊以更新库存编号,并包括动态配置的示例

use Jmshofstall\AmazonMws\AmazonFeed;

function sendInventoryFeed($feed) {
    $config = [
        'merchantId' => '',
        'marketplaceId' => '',
        'keyId' => '',
        'secretKey' => '',
        'amazonServiceUrl' => '',
    ];

    $amz = new AmazonFeed("myStore"); //store name matches the array key in the config file
    $amz->setConfig($config);
    $amz->setFeedType("_POST_INVENTORY_AVAILABILITY_DATA_"); //feed types listed in documentation
    $amz->setFeedContent($feed);
    $amz->submitFeed();
    return $amz->getResponse();
}

致谢

此包是从以下来源分叉的: https://github.com/keithbrink/amazon-mws-laravel

该包是从以下来源分叉的: https://github.com/sonnenglas/amazon-mws-laravel

该包是从以下来源分叉的: https://github.com/creacoon/amazon-mws-laravel

该包是从以下来源分叉的: https://github.com/CPIGroup/phpAmazonMWS

这是此包的原始创建者。