glitzhub / amazon-mws
Library to interface with Amazon MWS
dev-master
2020-06-02 07:39 UTC
Requires
- php: ^5.6.0
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: ~6.0
- spatie/array-to-xml: ^2.1
This package is auto-updated.
Last update: 2024-04-29 04:20:43 UTC
README
Library to interface with Amazon Marketplace Web Service (Amazon MWS).
Installation
$ composer require glitzhub/amazon-mws
Usage
Instantiate MWS client
$mwsClient = new GlitzHub\MWSClient([ 'accessKeyId' => 'AWS_ACCESS_KEY_ID', // AWSAccessKeyId 'secretKey' => 'SECRET_KEY', // Secret Key 'marketplaceId' => 'MARKETPLACE_ID', // MarketplaceId 'sellerId' => 'SELLER_ID', // SellerId 'authToken' => 'MWS_AUTH_TOKEN', // MWSAuthToken ]);
List orders
$orders = $mwsClient->listOrders( time() - 3600, null, ['Unshipped', 'PartiallyShipped'], ['AFN', 'MFN'] );
List order items
$items = $mwsClient->listOrderItems('AMAZON_ORDER_ID');
Get order by Amazon order ID
$order = $mwsClient->getOrder('AMAZON_ORDER_ID'); $orders = $mwsClient->getOrder(['AMAZON_ORDER_ID_1', 'AMAZON_ORDER_ID_2']);
Send order fulfillment feed
$feedType = '_POST_ORDER_FULFILLMENT_DATA_'; $feedContent = [ 'MessageType' => 'OrderFulfillment', 'Message' => [ [ 'MessageID' => 1, 'OperationType' => 'Update', 'OrderFulfillment' => [ 'AmazonOrderID' => 'AMAZON_ORDER_ID', 'FulfillmentDate' => date(DATE_W3C, time()), 'FulfillmentData' => [ 'CarrierName' => 'CARRIER_NAME', 'ShippingMethod' => 'SHIPPING_METHOD', 'ShipperTrackingNumber' => 'TRACKING_NUMBER', ], 'Item' => [ [ 'AmazonOrderItemCode' => 'AMAZON_ORDER_ITEM_CODE_1', 'Quantity' => 'QUANTITY_1' ], [ 'AmazonOrderItemCode' => 'AMAZON_ORDER_ITEM_CODE_2', 'Quantity' => 'QUANTITY_2' ] ] ] ] ] ]; $response = $mwsClient->submitFeed($feedType, $feedContent);
Send inventory feed
$feedType = '_POST_INVENTORY_AVAILABILITY_DATA_'; $feedContent = [ 'MessageType' => 'Inventory', 'Message' => [ [ 'MessageID' => 1, 'OperationType' => 'Update', 'Inventory' => [ 'SKU' => 'SKU_1', 'Quantity' => 'QUANTITY_1' ] ], [ 'MessageID' => 2, 'OperationType' => 'Update', 'Inventory' => [ 'SKU' => 'SKU_2', 'Quantity' => 'QUANTITY_2' ] ] ] ]; $response = $mwsClient->submitFeed($feedType, $feedContent);
Request report
$requestReportId = $mwsClient->requestReport( '_GET_AFN_INVENTORY_DATA_', strtotime('2020-05-01 00:00'), strtotime('2020-06-01 00:00') );
Get report
$report = $mwsClient->getReport('REQUEST_REPORT_ID');