GithubHelp home page GithubHelp logo

marcl / amazonproductapi Goto Github PK

View Code? Open in Web Editor NEW
130.0 20.0 50.0 76 KB

PHP library to retrieve products from the Amazon Product API

License: MIT License

PHP 100.00%
php simplexml amazon-product-advertising php-library composer

amazonproductapi's Introduction

๐Ÿ‘‹ Hello! I'm Marc Littlemore

Hello! I'm a Software Engineering Manager at n8n with extensive experience in leading high-performing teams and delivering innovative solutions across both startup and enterprise environments. Over the past 8 years, I have refined my management skills at BBC, Sony, and several dynamic startups like Netlify.

I'm an ex-veteran of the video games industry, having spent almost 20 years working on video games, mostly for Sony PlayStation. See my games list here.

  • ๐Ÿ“€ Music production: I've been a DJ since 1988 and spent a lot of time playing house music to clubbers in the UK and Germany. I spend a lot of my free time making electronic music in Ableton Live.
  • ๐ŸŒฑ Learning: I'm always learning about new technologies, how to be a better leader, and how to build and market digital products.
  • ๐Ÿ’ฌ Ask me about: Anything you need help with! Always happy to help out.
  • ๐Ÿ‘‰๐Ÿป Pronouns: he/him

๐Ÿ”— Connect with me

marclittlemore.com Marc Littlemore | Twitter Marc LIttlemore | LinkedIn Marc Littlemore | YouTube Marc Littlemore | Instagram


๐Ÿ“• Latest Articles

amazonproductapi's People

Contributors

marcl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amazonproductapi's Issues

Lookup by ISBN

Would it be possible to add Lookup by ISBN?

The following request uses the ItemLookup operation to find an item by ISBN. The IdType parameter is set to ISBN, and the ItemId value is 076243631X.

In curl, the keys are given as:

&IdType=ISBN
&ItemId=076243631X

Amazon Cart

Hi Marc,

Please would you look into the possibility of managing a users cart with the API that could be used with affiliation websites etc?

Great work!

Great work Mark: I use this in my project with great joy and despite my complete newbieness!
Question: how would you modify the code to retrieve the product description from your locale (ie: FR / DE ...)
thanks
Blaise

No possibility to choose ResponseGroups

Hey, I was wondering why there is no possibility to change the ResponseGroups. Those are set, no possiblity to change them for specific request.

I create a pull request within the next hour.

How to use this repo without composer

Hello
I checked, composer is no longer available on internet and its author is saying that they are closing composer. (see https://composer.io/site/)

Can you please confirm how can i use this without Composer

I have tried following:

`<?php
require('src/AmazonAPI.php');
require('src/AmazonUrlBuilder.php');

use MarcL\AmazonAPI;
use MarcL\AmazonUrlBuilder;

// Setup a new instance of the AmazonUrlBuilder with your keys
$urlBuilder = new AmazonUrlBuilder(
$keyId,
$secretKey,
$associateId,
'uk'
);

// Setup a new instance of the AmazonAPI and define the type of response
$amazonAPI = new AmazonAPI($urlBuilder, 'simple');

$items = $amazonAPI->ItemSearch('harry potter', 'Books', 'price');

print_r($items);`

And this code returns following error:

Fatal error: Class 'MarcL\Transformers\DataTransformerFactory' not found in \amazonApi\src\AmazonAPI.php on line 68

simple Output not working

Hi,

I tried the new version of AmazonProductAPI and it seems that the simple output is not working.

Here is my sample code (almost same from your Readme), with a "var_dump" appended.

require('vendor/autoload.php');

use MarcL\AmazonAPI;
use MarcL\AmazonUrlBuilder;

// Keep these safe
$keyId = 'YOUR-AWS-KEY';
$secretKey = 'YOUR-AWS-SECRET-KEY';
$associateId = 'YOUR-AMAZON-ASSOCIATE-ID';

// Setup a new instance of the AmazonUrlBuilder with your keys
$urlBuilder = new AmazonUrlBuilder(
    $keyId,
    $secretKey,
    $associateId,
    'uk'
);

// Setup a new instance of the AmazonAPI and define the type of response
$amazonAPI = new AmazonAPI($urlBuilder, 'simple');

$items = $amazonAPI->ItemSearch('harry potter', 'Books', 'price');
echo "<pre>";
var_dump($items);

The Output look like this:

object(SimpleXMLElement)#6 (2) {
  ["OperationRequest"]=>
  object(SimpleXMLElement)#5 (3) {
[..]

So, this doesnt seem to be the 'simple' output format starting with "array".
I tried different transformation types, it always generates the same output.

Do i miss something?

Thank you for your great work!

pagination

Hi,

Thanks for your API SDK,
but
How do i do pagination from result set ??

API Access

Does AWS recently require three shipped order within 180 days before granting the API access ?
Or do you have few months for development before they require that ?

UseSSL == SetSSL

the README file describes a UseSSL method. The method appears to actually be called SetSSL.

Needs more tests

Need to add some more tests for AmazonAPI

  • Test data transformations work as expected
  • Test double for HttpRequest
  • Check expected Amazon signature for signed requests

error trying to test examples.php

hi,
i'm trying to test examples.php file and i get the following errors:
what am i doing wrong? i defined the keyid, secretid and assocaite tag in both amazonurlbuilder.php and secretKey.php

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 14

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16
>> Harry Potter in Books, sort by featuredbool(false) 
Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 14

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16
>> Harry Potter in Books, sort by price low to highbool(false) 
Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 14

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16
>> Harry Potter in Books, sort by price high to lowbool(false) 
Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 14

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16
>> Look up specific ASIN\nbool(false) 
Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 14

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 15

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16

Notice: Trying to get property of non-object in C:\xampp\htdocs\AmazonProductAPI-master\src\Transformers\SimpleArrayTransformer.php on line 16
Look up specific ASIN\nbool(false) array(5) { [0]=> string(414) "Error downloading data : http://webservices.amazon.co.uk/onca/xml?AWSAccessKeyId***********

Showing me blank array

Below is my code
`MarcL\AmazonAPI Object
(
[urlBuilder:MarcL\AmazonAPI:private] => MarcL\AmazonUrlBuilder Object
(
[secretKey:MarcL\AmazonUrlBuilder:private] => HF3PzDpM6vmFCeMplECXQ7x8nwMkMp+jeYHRqLgt
[keyId:MarcL\AmazonUrlBuilder:private] => AKIAJJD7PEGYZ44MDBRQ
[associateTag:MarcL\AmazonUrlBuilder:private] => tusharchikane-21
[amazonEndpoint:MarcL\AmazonUrlBuilder:private] => https://webservices.amazon.in/onca/xml
[endpoint:MarcL\AmazonUrlBuilder:private] => onca/xml
[localeTable:MarcL\AmazonUrlBuilder:private] => Array
(
[br] => webservices.amazon.br/onca/xml
[ca] => webservices.amazon.ca/onca/xml
[cn] => webservices.amazon.cn/onca/xml
[fr] => webservices.amazon.fr/onca/xml
[de] => webservices.amazon.de/onca/xml
[in] => webservices.amazon.in/onca/xml
[it] => webservices.amazon.it/onca/xml
[jp] => webservices.amazon.co.jp/onca/xml
[mx] => webservices.amazon.com.mx/onca/xml
[es] => webservices.amazon.es/onca/xml
[uk] => webservices.amazon.co.uk/onca/xml
[us] => webservices.amazon.com/onca/xml
)

    )

[dataTransformer:MarcL\AmazonAPI:private] => MarcL\Transformers\SimpleArrayTransformer Object
    (
    )

[mValidSearchNames:MarcL\AmazonAPI:private] => Array
    (
        [0] => All
        [1] => Apparel
        [2] => Appliances
        [3] => Automotive
        [4] => Baby
        [5] => Beauty
        [6] => Blended
        [7] => Books
        [8] => Classical
        [9] => DVD
        [10] => Electronics
        [11] => Grocery
        [12] => HealthPersonalCare
        [13] => HomeGarden
        [14] => HomeImprovement
        [15] => Jewelry
        [16] => KindleStore
        [17] => Kitchen
        [18] => Lighting
        [19] => Marketplace
        [20] => MP3Downloads
        [21] => Music
        [22] => MusicTracks
        [23] => MusicalInstruments
        [24] => OfficeProducts
        [25] => OutdoorLiving
        [26] => Outlet
        [27] => PetSupplies
        [28] => PCHardware
        [29] => Shoes
        [30] => Software
        [31] => SoftwareVideoGames
        [32] => SportingGoods
        [33] => Tools
        [34] => Toys
        [35] => VHS
        [36] => Video
        [37] => VideoGames
        [38] => Watches
    )

[mErrors:MarcL\AmazonAPI:private] => Array
    (
    )

)
Array
(
)`

Invalid ASIN Result

Thanks for this code - it works well - except If I add an invalid ASIN I get the following (PHP 5.6.30):

Fatal error: Call to undefined method MarcL\Transformers\SimpleArrayTransformer::AddError() in /xxxxxx/html/vendor/marcl/amazonproductapi/src/Transformers/SimpleArrayTransformer.php on line 24

AmazonAPI looks fine

private function AddError($error) {
	array_push($this->mErrors, $error);
}

I am using the $items = $amazonAPI->ItemLookUp($asinIds);
Also seems like the itemlookup is limit to 10 items - Amazon restriction?

reviews

issue fixed - great code thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.