Forum Search
Sometimes you will see this error message when trying to fetch results from Amazon, using the Amazon Shopping Cart or the AmazonWS plugin. This article explains what it means and what to do about it.
What it means depends on whether you are seeing it all the time, or just occasionally.
If you see it all the time
That is, you don't get any results from Amazon at all, just the 'error contacting server' message when you have error reporting turned on. This indicates a problem with your set-up, almost certainly an issue with your access keys, or possibly an issue with a firewall.
- You should check that you have correctly set up your Amazon Web Services Access Key and your Amazon Web Services Private (also know as Secret) Key, you get these by signing up for an account at http://aws.amazon.com/ . Without these it will not work. See this related article for further information on how to obtain an Amazon Access Key Id and Secret (Private) Key. Also Amazon now require a valid Associates Id. So, to be clear, you require three keys in total, the Access Key, the Secret (Private) Key, and your Amazon associates (also known as affiliates) tag. The access key and secret key must be the master keys for your AWS account, you cannot use IAM credentials.
- check it is not being blocked by a firewall. We suggest seeing if you can get a response from any of the other Amazon country sites. Sometimes web hosts block Amazon.com, because they are trying to block spammers/hackers who use Amazon cloud services, but they will normally not block amazon.co.uk or amazon.de for example. Also if you are using a firewall extension such as Admin Tools Pro, check that it is not blocking the response from Amazon.
If you see it occasionally
This indicates a problem with Amazon throttling. If Amazon consider that you are making too many requests to their server they will sometimes not respond. There is not a 100% reliable solution to this, because it depends on Amazon's policies. You can mitigate it so far as possible by avoiding making too many requests. So how to do this?
Make Your Requests Efficient
This means use as few requests as possible to get the results that you want. If you are using the plugin short-code to load individual products, use a single code with multiple products rather than multiple codes, because each instance of the code results in a separate request.
For example use
{amazonWS:itemid=AAAAAAAAAAAA,BBBBBBBBBB,CCCCCCCCCC}
rather than
{amazonWS:itemid=AAAAAAAAAA}
{amazonWS:itemid=BBBBBBBBBB}
{amazonWS:itemid=CCCCCCCCCC}
You can include up to 10 items per request. Usually Amazon will respond to two requests per page loading, so 20 items, beyond that it depends to be hit or miss.
You can also use the similar products plugin or module to add more products to the page. These load after the main page has loaded, so are less likely to suffer from throttling issues than if you just try to add a large number of products to the page.
Use lots of caching
Using caching prevents the same results being repeatedly loaded, which can cut down the number of requests very significantly.
Both the Amazon Shopping Cart and the AmazonWS plugin will automatically cache responses from Amazon - it is a very good idea to keep this turned on. You can read more about how the caching system works here: https://www.spiralscripts.co.uk/FAQ/amazon-plugin-caching-system-explained.html .
Both are also compatible with the Joomla caching system, and it is a good idea to use this as well. If you use the Joomla page cache plugin then you will need to exclude the cart page from being cached, but any other pages that show Amazon results can be cached.