JSPM

  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q57591F
  • License ISC

This class helps you interfacing the Amazon Advertising API.

Package Exports

  • amazon-ppc-api
  • amazon-ppc-api/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (amazon-ppc-api) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Advertising API NodeJS client library.

Docs

Amazon Advertising Docs

Guide

Initiate the client

let AdvertisingClient = require('amz-advertising-api');

let client = new AdvertisingClient({
    clientId: "CLIENT_ID",
    clientSecret: "CLIENT_SECRET",
    accessToken: "ACCESS_TOKEN",
    refreshToken: "REFRESH_TOKEN",
    profileId: "PROFILE_ID",
    sandbox: false,
    region: 'eu'
});

await client.init();

Refresh access token

The refresh token gets automaticly refreshed every 2 minutes.

{
  "access_token": "Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR…",
  "expires_in": 3600
}

Set profile Id

client.options.profileId = "1234567890";

Once you've set the profile Id you are ready to start making API calls.

API Calls

List Profiles

List Profiles

let profiles = await client.listProfiles();
[
  {
    "profileId":1234567890,
    "countryCode":"US",
    "currencyCode":"USD",
    "dailyBudget":10.00,
    "timezone":"America/Los_Angeles",
    "accountInfo":{
      "marketplaceStringId":"ABC123",
      "sellerStringId":"DEF456"
    }
  }
]

Get Profile

Retrieves a single profile by Id.

await client.getProfile("1234567890");
{
  "profileId": 1234567890,
  "countryCode": "US",
  "currencyCode": "USD",
  "dailyBudget": 3.99,
  "timezone": "America/Los_Angeles",
  "accountInfo": {
    "marketplaceStringId": "ABC123",
    "sellerStringId": "DEF456"
  }
}

List Portfolios

listPortfolios(filter: {}, extended: false).

Accepts first argument as filter, and the second argument to list for extended details or not.

await client.listPortfolios();
[
  {
    "portfolioId": 1234567890,
    "name": "Portfolio Name",
    "budget": { },
    "inBudget": true,
    "state": "enabled"
  }
]

Get Portfolio

getPortfolio(portfolioId, extended: false).

Accepts first argument as the portfolioId, and the second argument for extended details or not.

await client.getPortfolio(portfolioId);
{
  "portfolioId": 1234567890,
  "name": "Portfolio Name",
  "budget": { },
  "inBudget": true,
  "state": "enabled",
  "creationDate": 202-0101,
  "lastUpdatedDate": 20210101
}