xeroed

0.2.1 • Public • Published

node-xero

An API wrapper for xero (http://developer.xero.com).

Supports all three applications types:

  • Private

  • Public

  • Partner

This module will be completed to support ALL Core and Payroll operations by the end of February 2014.

Create an Issue for any suggestions, specifically how to tidily support Where in a simple fashion.

Features

Implemented/Planned

  • Support all API operations

  • Efficient paging

  • Support for Private, Public, and Partner applications (look at oauth_test/server.js for 3 stage support)

Installation

$ npm install node-xero

Private Usage

var PrivateApplication = require('node-xero').PrivateApplication;
var privateApp = new PrivateApplication({ consumerSecret: 'AAAAA', consumerKey: 'BBBBBB', privateKeyPath: './cert/privatekey.pem'});

Pubic Usage

var PublicApplication = require('node-xero').PublicApplication;
var publicApp = new PublicApplication({ consumerSecret: 'AAAAA', consumerKey: 'BBBBBB'});

Partner Usage

var ParnetApplication = require('node-xero').PartnerApplication;
var partnerApp = new PartnerApplication({ consumerSecret: 'AAAAA', consumerKey: 'BBBBBB', privateKeyPath: './cert/privatekey.pem', sslCertPath: './cert/ssl.crt'});

Examples

Efficient paging:

privateApp.core.contacts.getContacts({ pager: {start:1 /* page number */, callback:onContacts}})
    .fail(function(err)
    {
        console.log('Oh no, an error');
    })
 
/* Called per page */
function onContacts(err, response, cb)
{
    var contacts = response.data;
    if (response.finished) // finished paging
        ....
    cb(); // Async support
}
 

Filter support: Modified After

// No paging
publicApp.core.contacts.getContacts({ modifiedAfter: new Date(2013,1,1) })
    .then(function(contacts)
    {
        _.each(contacts,  function(contact)
        {
            // Do something with contact
        })
    })

Tests

npm test

Release History

  • 0.0.2
    • Added journals
    • modifiedAfter support
  • 0.0.1
    • Initial Release

Readme

Keywords

Package Sidebar

Install

npm i xeroed

Weekly Downloads

0

Version

0.2.1

License

BSD

Last publish

Collaborators

  • timnz