expensify
v0.2.0
Published
Node.js library to access the Expensify API
Downloads
4
Readme
JavaScript Expensify API for Node.JS
A Node.JS module providing a wrapper for the Expensify API.
Installation
Install with the Node.JS package manager npm :
$ npm install expensify
or
Install via git clone:
$ git clone git://github.com/brendannee/node-expensify.git
$ cd node-expensify
$ npm install
Example
Generate an Expensify SSO for user '[email protected]'.
var Expensify = require('expensify');
var expensify = new Expensify({
expensifyPartnerName: <YOUR EXPENSIFY_PARTNER_NAME>,
expensifyPartnerPassword: <YOUR EXPENSIFY_PARTNER_PASSWORD>,
expensifyAesKey: <YOUR EXPENSIFY_AES_KEY>,
expensifyAesIv: <YOUR EXPENSIFY_AES_IV>
});
Create and store a user id and secret for the the user you'd like to connect
expensify.authenticate({
userSecret: 'MyGreatSecret'
}, function(e, sso) {
console.log(sso);
});
Get an formatted Authorize URL
expensify.authorizeUrl({
sso: '675sd98769sd69sd',
userId: '[email protected]',
exitTo: 'http://mysite.com/expensify/redirect'
}, function(e, url) {
console.log(url);
});
Create an expense transaction using the sso created above.
expensify.createDistanceTransaction({
created: '2015-04-07',
merchant: 'Tire Emporium',
amount: 2299,
currency: 'USD',
comment: 'New tires for my car',
sso: sso,
partnerUserId: '[email protected]'
}, function(e, body) {
console.log('Transaction created');
});
Create a separate distanceTransaction for that user.
expensify.createDistanceTransaction({
created: '2015-04-07',
distance: 2.3,
units: 'Mi',
comment: 'A trip to the store',
sso: sso,
partnerUserId: '[email protected]'
}, function(e, body) {
console.log('Distance Transaction created');
});
Upload a receipt
expensify.uploadReceipt({
file: 'R0lGODlhEAAQAKUAAAAAABbkKBfhKRXlJxfiKBjgKRndKhrbKxzYKxbjKBneKhrcKhvZKxzXLB7VLRjfKRzYLB3WLBrbKh7ULR/SLh3VLR/TLSDQLiHOLyLLMCTJMB/RLiHPLyLMLyPKMCTIMSbFMifDMyXGMSjBMym/NCfCMyq9NCu7NSXGMifDMim+NCq8NSu5NSu6Nf///////////////////////////////////////////////////////////////////////yH5BAEKAD8ALAAAAAAQABAAAAZlwJ9wSCwafwDAsZgMCJJL5IBQMBwQSiMgIVAsGA1HlvkwACAR6BEgYQAmFLW2UbFcMBnNmLnhdDwfICF7REkfIgAjJIRDSSAlACYnjEgoKSMqKywslAAlJCYtm5RCSaOkhahRRkEAOw==',
created: '2015-04-07',
merchant: 'Tire Emporium',
amount: 2299,
currency: 'USD',
comment: 'New tires for my car',
sso: sso,
partnerUserId: '[email protected]'
}, function(e, body) {
console.log('Receipt uploaded');
});
Fetch a receipt from a URL
expensify.fetchReceipt({
location: 'http://we.are.expensify.com/assets/img/icon-rounded.png',
created: '2015-04-07',
merchant: 'Tire Emporium',
amount: 2299,
currency: 'USD',
comment: 'New tires for my car',
sso: sso,
partnerUserId: '[email protected]'
}, function(e, body) {
console.log('Receipt fetched');
});
LICENSE
MIT license. See the LICENSE file for details.