synergy / laravel-amazon-product-api
Amazon Product Advertising API for Laravel
1.0.1
2022-01-05 16:13 UTC
Requires
- php: ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- illuminate/support: ^8.78
Requires (Dev)
- orchestra/testbench: ^6.23
README
End of active support (2020/06)
My API account has been banned, so my active support is over. However, PR is accepted.
Requirements
- PHP >= 7.3
- Laravel >= 6.0
Versioning
- Basic : semver
- Drop old PHP or Laravel version :
+0.1
. composer should handle it well. - Support only latest major version (
master
branch), but you can PR to old branches.
Installation
Composer
composer require revolution/laravel-amazon-product-api
Publishing config (Optional)
php artisan vendor:publish --tag=amazon-product-config
.env
AMAZON_API_KEY= AMAZON_API_SECRET_KEY= AMAZON_ASSOCIATE_TAG= AMAZON_HOST=webservices.amazon.com AMAZON_REGION=us-east-1
Country lists
https://webservices.amazon.com/paapi5/documentation/common-request-parameters.html
Note
Usage
<?php use Revolution\Amazon\ProductAdvertising\Facades\AmazonProduct; # string $category, string $keyword = null, int $page = 1 $response = AmazonProduct::search('All', 'amazon' , 1); dd($response); # returns normal array # string $browse Browse node $response = AmazonProduct::browse('1'); # string $asin ASIN $response = AmazonProduct::item('ASIN1'); # array $asin ASIN $response = AmazonProduct::items(['ASIN1', 'ASIN2']); # setIdType: support only item() and items() $response = AmazonProduct::setIdType('EAN')->item('EAN'); # reset to ASIN AmazonProduct::setIdType('ASIN'); # PA-APIv5 not support EAN?
browse()
is not contains detail data.
$response = AmazonProduct::browse('1'); $nodes = data_get($response, 'BrowseNodesResult'); $items = data_get($nodes, 'BrowseNodes.TopSellers.TopSeller'); $asins = data_get($items, '*.ASIN'); $results = AmazonProduct::items($asins); # PA-APIv5 not support TopSeller?
Probably, you need try-catch or Laravel's rescue()
helper.
try { $response = AmazonProduct::browse('1'); } catch(ApiException $e) { } $response = rescue(function () use ($browse_id) { return AmazonProduct::browse($browse_id); }, []);
LICENSE
MIT
Copyright kawax