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.
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)
$ npm install node-xero
var PrivateApplication = require('node-xero').PrivateApplication;
var privateApp = new PrivateApplication({ consumerSecret: 'AAAAA', consumerKey: 'BBBBBB', privateKeyPath: './cert/privatekey.pem'});
var PublicApplication = require('node-xero').PublicApplication;
var publicApp = new PublicApplication({ consumerSecret: 'AAAAA', consumerKey: 'BBBBBB'});
var ParnetApplication = require('node-xero').PartnerApplication;
var partnerApp = new PartnerApplication({ consumerSecret: 'AAAAA', consumerKey: 'BBBBBB', privateKeyPath: './cert/privatekey.pem', sslCertPath: './cert/ssl.crt'});
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
})
})
npm test
- 0.0.2
- Added journals
- modifiedAfter support
- 0.0.1
- Initial Release