beeswax-client
Version:
Node.js wrapper for the Beeswax API.
77 lines (54 loc) • 2.27 kB
Markdown
beeswax-client
==============
Node.js wrapper for the Beeswax API.
Install
-------
```bash
$> npm install beeswax-client
```
Usage
-----
### Instantiation
Instantiate with an options object:
```javascript
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:
```javascript
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`