InterGuru has asked for the wisdom of the Perl Monks concerning the following question:

I am using the module Net::Amazon on my site bookwormhole.net to access an Amazon search.

Amazon says it is phasing out its old API, ECS, in favor of its new one, A2S . They will cease to support ECS on March 2008.

I have looked at the documentation on Net::Amazon, and posted a question on the discussion board, but I still have no idea what API it uses and whether it will use A2S in time for the switchover. I can roll my own interface but do not want to do the work unless I have to.

Replies are listed 'Best First'.
Re: Accessing Amazon Data
by perlfan (Parson) on Nov 27, 2007 at 19:32 UTC
    There seem to be quite a few modules that deal with amazon. I am also sure that amazon will not let ppl using its web services go high and dry - there business model depends too greatly on you guys.
Re: Accessing Amazon Data
by Your Mother (Archbishop) on Nov 27, 2007 at 23:37 UTC

    Indeed. I've written two different libraries to talk to their stuff myself. One for their earliest and one for ECS. I didn't CPAN them b/c there were simultaneously some there. Someone will redo it all with the new framework before ECS support really ends. If they don't, I will. :) By ending support I'm sure they mean not answering questions, fixing bugs, or porting new formats of product data. I cannot imagine they would pull the plug on the services for at least a full year after. There are tens of thousands of sites running on it.

    Inside Net::Amazon::Request there is a config service address of our $AMZN_XML_URL  = 'http://webservices.amazon.com/onca/xml?Service=AWSECommerceService'; That's the ECS platform.

      I looked more carefully at the Net::Amazon change document. I realize that the are referring to ECS3 and 4 as AWS3 and 4.

      From the change document.-- http://search.cpan.org/src/BOUMENOT/Net-Amazon-0.46/Changes

      ------------------
      0.36 (01/09/2007) (cb) Christopher Boumenot is taking over has maintainer of Net::Amazon. (cb) Update the library to use AWS4 from AWS3. The changes involved are quite deep. While I have strived to keep interfaces the same that was not always possible. I am sure there are still bugs to be had that need to be fixed. -----------------

      The last update to the module in 11/16/07

      I will update my copy of the module, test it to see if there are any interface changes, and modify my code if needed.

Re: Accessing Amazon Data
by InterGuru (Sexton) on Dec 03, 2007 at 16:41 UTC
    I got this note on the Amazon Developers discussion list

    The easiest way to tell if you're using the older ECS 3.0 is to look in your code for calls to the Perl module. If there are any references to "modes" and you see modes all in lowercase like "books" or "toys" then the code is using the older version of ECS which will stop working soon. The latest version of ECS ... err ... A2S (no confusion there, huh?) replaces "modes" with "Search Indexes" and the search indexes are in proper case like "Books" or "Toys."
    I inspected the Net::Amazon code. As far as I can tell, it uses ECS 4 on calls to Amazon, even though they use lower case in their own calling parameters. They use the following URL http://webservices.amazon.com/onca/xml?Service=AWSECommerceService . Its name implies it uses AWS, which means that I do not need to redo the calls to Net::Amazon on my site. I hope I am correct, otherwise I will have a catastrophic failure when ECS3 is turned off in March 2008.