The menu script you see above is from DHTMLCentral.com. They rock!

Introduction

Amazon Web Services is a great way for webmasters to earn money by advertising Amazon's products on their website. Amazon has made it incredible simple to put links on your site that will earn you commissions on any sales generated through them. But, Amazon has also made it possible, by means of their web services, to allow your visitors to get most of the information provided by Amazon from your site. With a little more work, you can actually allow your customers to do all their shopping on your site, then they can pay for it via Amazon's site. This way customers don't have to leave your site for their shopping but you don't have to worry about inventory, shipping, merchant accounts, or the other hassles that go with an eCommerce site.

My CF_AWS tag is not an application that you can just install and run along with Amazon's web services. Rather, I have basically done all of the complex logic for you and hidden that inside one easy to use custom tag. This way, you don't have to worry about retrieving the XML document, parsing it, handling errors, or any of that other cumbersome work. This will free you up to focus your energies on your strategy to build up your traffic and income.

NOTE:
CF_AWS only works with ColdFusion MX! This is because support for XML before ColdFusion MX relied on creating third party COM objects and thus is a bit unstable. CF_AWS has been developed using ColdFusion MX's built-in XML capabilities.

The idea behind my tag was to handle all the calls to Amazon's web services behind the scenes and simply return to you a query (or queries) that can be used however you see fit. This means that you can display the information in any way that you want, since you're not limited by anything I have put in place.

This documentation is not meant to be a reference for Amazon's web services. I highly suggest that you download Amazon's web services kit from here (Note: you may have to sign up for Amazon's associates program, if you haven't already, and log in to the Associates section of their site to access this. URL is subject to change):

http://www.amazon.com/gp/browse.html/ref=sc_fe_c_3/104-7104895-7779909?%5Fencoding=UTF8&node=3434641&no=3435361&me=A36L942TSJ2AJA

I am assuming that you have already signed up for Amazon's affiliate program. Also, you will need to retrieve a developer's token for use with the web services. This token must be provided with every call to AWS. You can get one here:

https://associates.amazon.com/exec/panama/associates/join/developer/application.html

Now, I want to make clear that Amazon has some terms and conditions for using their web services. For example, they state that you should make no more than one request per second to their web services. You should also cache the requests temporarily on your site and update your prices once every hour or so. The custom tags that I have created will handle the interaction with AWS, but it is up to you to make sure that you are in compliance with their terms and conditions, which are subject to change without notice.

NOTE:
I have built into the CF_AWS tag a mechanism that will prevent CF_AWS from making a call to Amazon Web Services more than one time in a second. This means that if you use several CF_AWS calls on a page, your pages may be a bit slow. This mechanism only accounts for accessing AWS once per second per user. (Using CFCOOKIE.) In order to prevent your Developer Token from being temporarily banned from AWS, you may want to implement a mechanism that prevents CF_AWS from being called more than once per second on an application level.

NOTE:
CF_AWS does not support any sort of caching due to the diversity of environments it may be installed in. You may wish to utilize cached queries, a database, or a file-based caching techinique (or a combination of the these methods) on your site to speed up the results and prevent excessive and unnecessary calls to AWS. This is especially true of commonly used AWS calls, such as Browse Node searches and Exchange/Marketplace searches.

The Custom Tag

All interaction with Amazon Web Services is handled through a called to CF_AWS. This includes searching for items and creating and managing shopping carts. The tag does not currently support Amazon's seller services. You should look into a tutorial about installing custom tags in order to ensure that everything has been installed properly. All the .CFM files in the CFAWS.zip file must be installed in your custom tag path on the server that your site is on. This is often the CFusionMX\CustomTags directory. You may also map a custom tag path for your server. This is done through ColdFusion Administrator. If you are on a shared or virtual host, you may need to request that the directory your CF_AWS tags are in be mapped as a custom tag path for your website.

Each tag call requires a developer's token to be passed to it. Once you've retrieved your developer's token, you should set it as an application or global variable. In your application.cfm file, you could set it like this (Note: this is a fake token, obviously.):

<cfset DevToken = "ABCDEF">

It is also highly recommended that you pass your AssociateID into the custom tag. If you don't, you will not get credit for any purchases made through your links.

<cfset AssociateID = "webservices-20">

If you do not pass the AssociateID, then "webservices-20" will be used, which is the default. So, the basic custom tag call looks like this:

<cf_aws DevToken="#DevToken#" AssociateID="#AssociateID#">

This is just a start on how to use this custom tag. Please look through the remainder of the documentation for more information on how to use the custom tag. I've gone to great lengths to provide in-depth documentation and plenty of examples for using this tag. In the event that your questions are not answered in the documentation or by browsing through the examples, please see the support section for information on how to receive support for your CF_AWS tag.