/beeswax-client

Node.js wrapper for the Beeswax API.

Primary LanguageJavaScriptMIT LicenseMIT

beeswax-client

Node.js wrapper for the Beeswax API.

Install

$> npm install beeswax-client

Usage

Instantiation

Instantiate with an options object:

var BeeswaxClient = require('beeswax-client');

var beeswax = new BeeswaxClient({
    apiRoot: 'https://<hostname>',  // Default: 'https://stingersbx.api.beeswax.com'
    creds: {
        email       : 'user@domain.com',    // required
        password    : '...'                 // required
    }
});

The apiRoot will be used to construct request urls, and the creds will be used when authenticating.

The instantiated client will contain methods for performing CRUD operations on each supported entity:

beeswax.advertisers.find = function() {}
beeswax.advertisers.query = function() {}
beeswax.advertisers.create = function() {}
beeswax.advertisers.edit = function() {}
beeswax.advertisers.delete = function() {}

beeswax.campaigns.find = function() {}
// ...

beeswax.creatives.find = function() {}
// ...

Currently supported entities are:

  • advertisers
  • campaigns
  • creatives

beeswax.authenticate()

Sends a POST request to authenticate to Beeswax, using the provided creds. You shouldn't need to call this method explicitly - it will be called automatically upon receiving an Unauthorized response from any other request.

beeswax.<entity>.find(id)

Send a GET request to fetch the entity with the given id.

beeswax.<entity>.query(body)

Send a GET request to fetch entities. body should be an object containing any fields to query by. By default, Beeswax's API will fetch up to 50 records, starting with the oldest.

beeswax.<entity>.queryAll(body)

Like query(), but recursively sends GET requests until all entities matching the query have been fetched.

beeswax.<entity>.create(body)

Send a POST request to create a new entity. body should be an object representing the new entity.

beeswax.<entity>.edit(id, body, failOnNotFound)

Send a PUT request to update the entity specified by id. body should be an object containing any fields that should be updated.

beeswax.<entity>.delete(id, failOnNotFound)

Send a DELETE request to delete the entity specified by id