nbrite

Simple Node.js helper module for Eventbrite API V3

nbrite

Simple Node.js helper module for Eventbrite API V3.

Please see the Eventbrite API documentation for full reference.

npm install nbrite

This module works by providing proxy objects for interacting with different resources through the Eventbrite API. Most methods take a data parameter, which is a Javascript object that would contain the arguments for the Eventbrite API. All methods take a final parameter callback with two parameters: error, and body. We try to parse the body into a javascript object, and return it to the callback as such for easier use and inspection by the client. If there was an error a new Error object will be passed to the callback in the error parameter. If the error originated from the (Eventbrite) server, the response code will be available in the status_code property of the error object passed in the callback.

For full usage examples see the /test folder.

Basic usage to get event info:

var Nbrite = require('nbrite');
var nbrite = new Nbrite(EVENTBRITE_ACCESS_TOKEN);
 
nbrite.events('123456').info(function (err, event) {
  // `event` is parsed JSON response from the API
  console.dir(event);
});

Something more elaborate. Get event info, attendees, and attendee details. Notice that the proxy objects can be reused.

var event = nbrite.events('123456');
 
event.info(function (err, data) {
  // `data` is event info
  console.log(data);
});
 
event.attendees().list(function (err, attendees) {
  // `attendees` is the list of attendees
  console.log(attendees);
});
 
event.attendees('87654321').info(function (err, data) {
  // `data` is the attendee details
  console.log(data);
});

For full usage examples see the /test folder.

nbrite provides get, post, put, patch and delete functions which can make requests with the specified HTTP method to any endpoint:

nbrite.get('/orders', function (err, orders) {
});
 
nbrite.get('/events/123456/attendees', { status: 'not_attending' }, function (err, attendees) {
});

Module works with Node-style callbacks, but also implements promises with the Q library.

nbrite.users('44499922255').info().then(function (data) {
  console.log(data);
}, function (err) {
  console.log(err);
});

The function passed as 2nd argument is optional and not needed if you don't care about the fail case.

This library uses debug for debug logging. You can turn it on by adding nbrite to DEBUG environment variable when you run your Node application/script. Example:

DEBUG=nbrite node myapp

To run the test suite you must first create a file named /test/auth.json, which contains your credentials as JSON, for example:

{ "access_token": "ABCD123ABCD123ABCD123A" }

Also create /test/fixture.json with some of your existing data:

{
  "existing_event_id": "1234567890",
  "existing_event_id_teams": "2233445566",
  "existing_user_id": "44499922255",
  "existing_attendee_id": "222999555",
  "existing_team_id": "123456",
  "existing_order_id": "113331166"
}

existing_event_id_teams should be an event with a group or team registrations.

Then install the dev dependencies and execute the test suite:

$ npm install
$ npm test

The tests will call Eventbrite API.

  • Promise tests.

This library started out as just an experiment. It was heavily influenced by node-heroku-client.