Amazon Product Advertising API client
Module provides easy access to the Amazon Product Advertising API:
Represents API connection details:
{APIMeta} = require 'apa-api'
# Default options, you can skip it
options = {
protocol: 'http'
endPoint: 'webservices.amazon.com'
service: 'AWSECommerceService'
uri: '/onca/xml'
method: 'GET'
version: '2011-08-01'
}
meta = new APIMeta(options)
Represents API authentication data (AWS access/secret):
{Credential} = require 'apa-api'
options = {
accessKey: "Your AWS access key",
secretKey: "Your AWS secret key",
associateTag: "Associate tag"
}
credential = new Credential(options)
Use this client to the Amazon Product Advertising service.
{Service, ApiMeta, Credential} = require 'apa-api'
connectionDetails = {} # See above
credentialDetails = {} # See above
service = new Service(new ApiMeta(connectionDetails), new Credentials(credentialDetails), [signer], [client])
Service use the following optional members:
- signer - Request signer, default to RequestSigner
- client - Default to request
Service provides methods (feature enrichment in progress):
- itemLookup - itemLookup(params) - The method checks parameters: mandatory parameters, type checking, defaults (do not send params equal to defaults).
Using defaults
async = require 'async'
concat = require 'concat-stream'
{Service, ApiMeta, Credential} = require 'apa-api'
service = new Service(new ApiMeta(), new Credentials())
itemIds = ['0123456789', '1234567890', '2345678901', ...]
async.mapLimit itemIds, 5, (itemId, callback) ->
service.itemLookup(itemId: itemId)
.on 'error', callback
.pipe concat (response) ->
# Response can contain error has been described in xml
# We ignore this validation in this example
callback(null, response)