Nasty Popsicle Machine

    paapi5-nodejs-sdk

    1.1.0 • Public • Published

    Product Advertising API 5.0 SDK for NodeJS (v1)

    NPM

    Version npm

    This repository contains the official Product Advertising API 5.0 NodeJS SDK called paapi5-nodejs-sdk that allows you to access the Product Advertising API from your NodeJS app.

    Installation

    For Node.js

    The Product Advertising API NodeJS SDK can be installed via npm:

    npm install paapi5-nodejs-sdk --save

    You should now be able to require('paapi5-nodejs-sdk') in javascript files.

    For browser

    The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file, that's to say your javascript file where you actually use this library):

    browserify main.js > bundle.js

    Then include bundle.js in the HTML pages.

    Webpack Configuration

    Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

    module: {
      rules: [
        {
          parser: {
            amd: false
          }
        }
      ]
    }

    Getting Started

    Please follow the installation instruction and execute the following JS code:

    Simple example for SearchItems to discover Amazon products with the keyword 'Harry Potter' in All categories:

    var ProductAdvertisingAPIv1 = require('paapi5-nodejs-sdk');
     
    var defaultClient = ProductAdvertisingAPIv1.ApiClient.instance;
     
    // Specify your credentials here. These are used to create and sign the request.
    defaultClient.accessKey = '<YOUR ACCESS KEY>';
    defaultClient.secretKey = '<YOUR SECRET KEY>';
     
    /**
     * Specify Host and Region to which you want to send the request to.
     * For more details refer:
     * https://webservices.amazon.com/paapi5/documentation/common-request-parameters.html#host-and-region
     */
    defaultClient.host = 'webservices.amazon.com';
    defaultClient.region = 'us-east-1';
     
    var api = new ProductAdvertisingAPIv1.DefaultApi();
     
    /**
     * The following is a sample request for SearchItems operation.
     * For more information on Product Advertising API 5.0 Operations,
     * refer: https://webservices.amazon.com/paapi5/documentation/operations.html
     */
    var searchItemsRequest = new ProductAdvertisingAPIv1.SearchItemsRequest();
     
    /** Enter your partner tag (store/tracking id) and partner type */
    searchItemsRequest['PartnerTag'] = '<YOUR PARTNER TAG>';
    searchItemsRequest['PartnerType'] = 'Associates';
     
    // Specify search keywords
    searchItemsRequest['Keywords'] = 'Harry Potter';
     
    /**
     * Specify the category in which search request is to be made.
     * For more details, refer:
     * https://webservices.amazon.com/paapi5/documentation/use-cases/organization-of-items-on-amazon/search-index.html
     */
    searchItemsRequest['SearchIndex'] = 'All';
     
    // Specify the number of items to be returned in search result
    searchItemsRequest['ItemCount'] = 1;
     
    /**
     * Choose resources you want from SearchItemsResource enum
     * For more details, refer: https://webservices.amazon.com/paapi5/documentation/search-items.html#resources-parameter
     */
    searchItemsRequest['Resources'] = ['Images.Primary.Medium', 'ItemInfo.Title', 'Offers.Listings.Price'];
     
     
    var callback = function (error, data, response) {
      if (error) {
        console.log('Error calling PA-API 5.0!');
        console.log('Printing Full Error Object:\n' + JSON.stringify(error, null, 1));
        console.log('Status Code: ' + error['status']);
        if (error['response'] !== undefined && error['response']['text'] !== undefined) {
          console.log('Error Object: ' + JSON.stringify(error['response']['text'], null, 1));
        }
      } else {
        console.log('API called successfully.');
        var searchItemsResponse = ProductAdvertisingAPIv1.SearchItemsResponse.constructFromObject(data);
        console.log('Complete Response: \n' + JSON.stringify(searchItemsResponse, null, 1));
        if (searchItemsResponse['SearchResult'] !== undefined) {
          console.log('Printing First Item Information in SearchResult:');
          var item_0 = searchItemsResponse['SearchResult']['Items'][0];
          if (item_0 !== undefined) {
            if (item_0['ASIN'] !== undefined) {
              console.log('ASIN: ' + item_0['ASIN']);
            }
            if (item_0['DetailPageURL'] !== undefined) {
              console.log('DetailPageURL: ' + item_0['DetailPageURL']);
            }
            if (item_0['ItemInfo'] !== undefined && item_0['ItemInfo']['Title'] !== undefined && item_0['ItemInfo']['Title']['DisplayValue'] !== undefined) {
              console.log('Title: ' + item_0['ItemInfo']['Title']['DisplayValue']);
            }
            if (item_0['Offers'] !== undefined && item_0['Offers']['Listings'] !== undefined && item_0['Offers']['Listings'][0]['Price'] !== undefined && item_0['Offers']['Listings'][0]['Price']['DisplayAmount'] !== undefined) {
              console.log('Buying Price: ' + item_0['Offers']['Listings'][0]['Price']['DisplayAmount']);
            }
          }
        }
        if (searchItemsResponse['Errors'] !== undefined) {
          console.log('Errors:');
          console.log('Complete Error Response: ' + JSON.stringify(searchItemsResponse['Errors'], null, 1));
          console.log('Printing 1st Error:');
          var error_0 = searchItemsResponse['Errors'][0];
          console.log('Error Code: ' + error_0['Code']);
          console.log('Error Message: ' + error_0['Message']);
        }
      }
    };
     
    try {
      api.searchItems(searchItemsRequest, callback);
    } catch (ex) {
      console.log('Exception: ' + ex);
    }

    Complete documentation, installation instructions, and examples are available here.

    License

    This SDK is distributed under the Apache License, Version 2.0, see LICENSE.txt and NOTICE.txt for more information.

    Install

    npm i paapi5-nodejs-sdk

    DownloadsWeekly Downloads

    657

    Version

    1.1.0

    License

    Apache-2.0

    Unpacked Size

    408 kB

    Total Files

    100

    Last publish

    Collaborators

    • christian.schab