Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
amazon-affiliate-api
Advanced tools
Readme
"amazon-affiliate-api" is just a thin wrapper around Amazon's API.
The intent is to simplify the request process by automatically handling request signatures, performing the HTTP requests, processing the responses and parsing the XML.
The result is that you feel like you're working directly with the API, but you don't have to worry about some of the more tedious tasks.
This library impliments Q promises, and supports callbacks.
npm install amazon-affiliate-api
amazon = require('amazon-affiliate-api');
var client = amazon.createClient({
awsId: "aws ID",
awsSecret: "aws Secret",
awsTag: "aws Tag"
});
using promises:
client.itemSearch({
director: 'Quentin Tarantino',
actor: 'Samuel L. Jackson',
searchIndex: 'DVD',
audienceRating: 'R',
responseGroup: 'ItemAttributes,Offers,Images'
}).then(function(results){
console.log(results);
}).catch(function(err){
console.log(err);
});
using a callback:
client.itemSearch({
director: 'Quentin Tarantino',
actor: 'Samuel L. Jackson',
searchIndex: 'DVD',
audienceRating: 'R',
responseGroup: 'ItemAttributes,Offers,Images'
}, function(err, results) {
if (err) {
console.log(err);
} else {
console.log(results);
}
});
You can add any available params for the itemSearch method.
condition: availiable options - 'All', 'New', 'Used', 'Refurbished', 'Collectible'. Defaults to 'All'.
keywords: Defaults to ''.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'ItemAttributes,Offers,Images
'). Defaults to'ItemAttributes'
searchIndex: Defaults to 'All'.
itemPage: Defaults to '1'.
sort: Valid values include 'salesrank','psrank','titlerank','-price','price'.
domain: Defaults to 'webservices.amazon.com'.
using promises:
client.itemLookup({
idType: 'UPC',
itemId: '884392579524'
}).then(function(results) {
console.log(results);
}).catch(function(err) {
console.log(err);
});
using a callback:
client.itemLookup({
idType: 'UPC',
itemId: '635753490879',
responseGroup: 'ItemAttributes,Offers,Images'
}, function(err, results) {
if (err) {
console.log(err);
} else {
console.log(results);
}
});
You can add any available params for the ItemLookup method.
condition: options - 'All', 'New', 'Used', 'Refurbished', 'Collectible'. Defaults to 'All'
idType: Type of item identifier used to look up an item. options - 'ASIN', 'SKU', 'UPC', 'EAN', 'ISBN'. Defaults to 'ASIN'.
includeReviewsSummary: options - 'True','False'. Defaults to 'True'.
itemId: One or more (up to ten) positive integers that uniquely identify an item.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'ItemAttributes,Offers,Images
'). Defaults to 'ItemAttributes'
searchIndex: Defaults to 'All'.
truncateReviewsAt: Defaults to '1000'. To return complete reviews, specify '0'.
variationPage: Defaults to 'All'.
domain: Defaults to 'webservices.amazon.com'.
using promises:
client.similarityLookup({
itemId: '8416904626,0670921602',
SimilarityType: 'Random',
responseGroup: 'ItemAttributes,Offers,Images'
}).then(function(results) {
console.log(results);
}).catch(function(err) {
console.log(err);
});
using a callback:
client.similarityLookup({
itemId: '8416904626,0670921602',
SimilarityType: 'Random',
responseGroup: 'ItemAttributes,Offers,Images'
}, function(err, results) {
if (err) {
console.log(err);
} else {
console.log(results);
}
});
You can add any available params for the SimilarityLookup method.
condition: options - 'All', 'New', 'Used', 'Refurbished', 'Collectible'. Defaults to 'All'
itemId: One or more (up to ten) ASINs identifying an item.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'ItemAttributes,Offers,Images
'). Defaults to 'ItemAttributes'
MerchantId: By default returns items sold by various merchants including Amazon. Use 'Amazon' as value to return only items sold by Amazon.
SimilarityType: 'Intersection' returns the intersection of items that are similar to all ASINs specified. 'Random' returns the union of items that are similar to alll ASINs specified picking them randomly. Default is 'Intersection'.
domain: Defaults to 'webservices.amazon.com'.
using promises:
client.browseNodeLookup({
browseNodeId: '549726',
responseGroup: 'NewReleases'
}).then(function(results) {
console.log(results);
}).catch(function(err) {
console.log(err);
});
using a callback:
client.browseNodeLookup({
browseNodeId: '549726',
responseGroup: 'NewReleases'
}, function(err, results) {
if (err) {
console.log(err);
} else {
console.log(results);
}
});
You can add any available params for the BrowseNodeLookup method.
browseNodeId: A positive integer assigned by Amazon that uniquely identifies a product category.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'MostGifted,NewReleases,MostWishedFor,TopSellers'
). Defaults to 'BrowseNodeInfo'
PLEASE NOTE
Most methods for Cart require both CartId and HMAC, which are returned by CartCreate
.
You must include at least one item on cart creation. cartCreate
returns "CartId" and "HMAC", which are required by all subsiquent requests to this cart.
using promises
client.cartCreate({
items:[{
ASIN: "B00LZTHUH6",
Quantity: 1
}, {
ASIN: "B00OZTLE8Y",
Quantity: 1
}]
}).then(function(results){
console.log(results);
}).fail(
console.log(results);
});
using callbacks
client.cartCreate({
items:[{
ASIN: "B00LZTHUH6",
Quantity: 1
}, {
ASIN: "B00OZTLE8Y",
Quantity: 1
}]
}, function (err, results ){
console.log(err, results);
});
You can add any available params for the CartCreate method.
items: an array of items to add to the cart; must include Quantity and one of ASIN or OfferListingId.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'MostGifted,NewReleases,MostWishedFor,TopSellers'
). Defaults to 'Cart'
using promises
client.cartClear({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>
}).then(function(results){
console.log(results);
}).fail(
console.log(results);
});
using callbacks
client.cartCreate({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>
}, function (err, results ){
console.log(err, results);
});
You must supply the CartId and HMAC returned from the cartCreate
method.
You can add any available params for the CartClear method.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'MostGifted,NewReleases,MostWishedFor,TopSellers'
). Defaults to 'Cart'
using promises
client.cartAdd({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>,
items:[{
ASIN: "B00LZTHUH6",
Quantity: 1
}, {
ASIN: "B00OZTLE8Y",
Quantity: 1
}]
}).then(function(results){
console.log(results);
}).fail(
console.log(results);
});
using callbacks
client.cartAdd({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>,
items:[{
ASIN: "B00LZTHUH6",
Quantity: 1
}, {
ASIN: "B00OZTLE8Y",
Quantity: 1
}]
}, function (err, results ){
console.log(err, results);
});
You must supply the CartId and HMAC returned from the cartCreate
method.
You can add any available params for the CartAdd method.
items: an array of items to add to the cart; must include Quantity and one of ASIN or OfferListingId.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'MostGifted,NewReleases,MostWishedFor,TopSellers'
). Defaults to 'Cart'
using promises
client.cartGet({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>
}).then(function(results){
console.log(results);
}).fail(
console.log(results);
});
using callbacks
client.cartAdd({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>,
}, function (err, results ){
console.log(err, results);
});
You must supply the CartId and HMAC returned from the cartCreate
method.
You can add any available params for the CartGet method.
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'MostGifted,NewReleases,MostWishedFor,TopSellers'
). Defaults to 'Cart'
using promises
client.cartModify({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>,
items:[{
CartItemId: <results.Cart.CartItems.CartItem[0].CartItemId>,
Quantity: 0
}, {
CartItemId: <results.Cart.CartItems.CartItem[0].CartItemId>,
Quantity: 0
}]
}).then(function(results){
console.log(results);
}).fail(
console.log(results);
});
using callbacks
client.cartModify({
'CartId': <results.Cart.CartId>,
'HMAC': <results.Cart.HMAC>,
items:[{
CartItemId: <results.Cart.CartItems.CartItem[0].CartItemId>,
Quantity: 0
}, {
CartItemId: <results.Cart.CartItems.CartItem[0].CartItemId>,
Quantity: 0
}]
}, function (err, results ){
console.log(err, results);
});
You must supply the CartId and HMAC returned from the cartCreate
method.
You can add any available params for the CartModify method.
items: an array of items to modify in the cart; must include Quantity and one of CartItemId (which cab be found in cartGet
responses).
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'MostGifted,NewReleases,MostWishedFor,TopSellers'
). Defaults to 'Cart'
Credits: (amazon-affiliate-api is a shameless ripoff of t3chnoboys's original work amazon-product-api)
FAQs
[![Build Status](https://travis-ci.org/cmincarelli/amazon-affiliate-api.svg?branch=master)](https://travis-ci.org/cmincarelli/amazon-affiliate-api) [![Dependency Status](https://gemnasium.com/cmincarelli/amazon-affiliate-api.svg)](https://gemnasium.com/cm
The npm package amazon-affiliate-api receives a total of 18 weekly downloads. As such, amazon-affiliate-api popularity was classified as not popular.
We found that amazon-affiliate-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.