6.7 The RESTful Way: XML/HTTP
Amazon refers
to
its REST implementation as the XML/HTTP method.
XML data using this method is simply a matter of hacking variables in
a URL. The base URL always starts like this:
http://xml.amazon.com/onca/xml3?t=your associates ID
The URL points at a server specifically for serving up XML
(xml.amazon.com), lets Amazon know which Web
Services version you're requesting (xml3), and
passes along your Amazon Associates ID Section 5.2 as a variable
(t=yourassociatesID).
There are also several other variables that can be (or must be)
appended to this request as described in the following sections.
6.7.1 Required Variables
Each request
requires these four variables:
- t
-
As mentioned above, this is always set to
your associates ID.
It lets Amazon track purchases made through your applications and
enables you to earn affiliate fees.
- dev-t
-
This is set to your
developer's token.
- type
-
The only possible values for
type are lite
and heavy. It describes which XML
format to return.
- f
-
This is
the format the data should be returned in, usually
xml. It can also be set to the URL of an XSL
stylesheet to return formatted HTML.
6.7.2 Search Variables
Beyond the four required variables, you can
also choose variables from the list below to get the exact data
you're looking for.
6.7.2.1 Product Searches
- KeywordSearch
-
Searches for products by subject.
- BrowseNodeSearch
-
Browses product area by code.
- AsinSearch (+ offer, + offerpage)
-
Returns a specific product detail.
- UpcSearch
-
Searches for UPC numbers. Music only. mode must be
set to music.
- AuthorSearch
-
Searches for authors and returns book product details.
- ArtistSearch
-
Searches for musicians and returns CD product details.
- ActorSearch
-
Searches for actors and returns DVD product details.
- DirectorSearch
-
Searches for directors and returns DVD product details.
- ManufacturerSearch
-
Searches for manufacturers.
6.7.2.2 Amazon Features Searches
- ListManiaSearch
-
Finds lists by List IDs.
- WishlistSearch
-
Finds wish lists by Wish List IDs.
- SimilaritySearch
-
Finds similar products given an ASIN.
- ExchangeSearch
-
Finds a given exchange.
- SellerSearch (+ offerstatus)
-
Finds products given a Seller ID.
- SellerProfile
-
Finds a seller's profile given a Seller ID.
6.7.2.3 Special Searches
- PowerSearch
-
Searches using Amazon's Power Search syntax.
- BlendedSearch
-
Searches product listings across all categories.
6.7.3 Support Variables
- mode
-
Defines a specific area for different types of requests.
- locale
-
Tells Amazon which international store to query. United Kingdom
(uk), Japan (jp), and Germany
(de) are the locales available at this time. You
can also explicitly specify the default United States
(us).
- ct
-
Specifies an alternate content-type HTTP header.
6.7.4 Putting the URLs Together
Assembling a query URL is just a matter of filling
in the proper values after the variables. If you're searching for all
books associated with penguins, the following URL would do the trick:
http://xml.amazon.com/onca/xml3?t=insert associate tags [RETURN]
&dev-t=insert developer token &type=lite&f=xml&mode=books [RETURN]
&KeywordSearch=Penguin
If, on the other hand, you're wondering about DVDs featuring Clint
Eastwood, something like this would work:
http://xml.amazon.com/onca/xml3?t=insert associate tag [RETURN]
&dev-t=insert developer token &type=lite&f=xml&mode=dvd [RETURN]
&ActorSearch=Clint%20Eastwood
|
To represent spaces in a URL, as in our query here for "Clint
Eastwood", the spaces need to be encoded. The
URL encoding for a space is %20.
Many scripting environments offer built-in functions for
URL encoding [Hack #92]. Other special characters like
periods, exclamation points, or dollar signs also need to be encoded.
|
|
|