eaccounting
v1.0.7
Published
A simple SDK for Visma eAccouting API
Downloads
26
Readme
eAccounting-node
A simple client module for accessing Visma eAccounting's API. It is still early stages in development, please refer to Current Development Stage for the current development stage.
Authentication
eAccounting-node tries to keep a small fotprint, so simple-oauth2 have been used for authentication. You can access the authentication variable by eaccounting.auth()
. API documentation for simple-oauth2 is available here.
Installation
npm install eaccounting
Usage
const authConfig = {
{
"client":{
id: "ayr",
secret: "a string"
},
"token":{
access_token: "a long string",
token_type: "Bearer",
expires_in: 3600,
refresh_token: "a shorter string",
expires_at: "2017-06-01T08:32:46.394Z"
}
}
};
const eaccounting = require('eaccounting').create(authConfig);
Refresh your token
We have built in a renewedTokenFunction
, what that does is use the expired
function from simple-oauth2 to refresh it automaticly and return you a Promise so you can store it.
var authConfig = require('./auth.json');
const jsonfile = require('jsonfile');
authConfig.renewedTokenFunction = (token) => {
jsonfile.writeFile('./auth.json', {
client: authConfig.client,
token: token.token
}, function (err){
console.error(err);
});
};
var eaccounting = require('eaccounting').create(authConfig)
Current Development Stage
Currently the module has the following endpoints added:
- Articles
- CustomerInvoiceDrafts
- Customers
API Documentation
The updated documentation for Visma eAccounting API is available publicly here. eaccounting-node uses the same name as the endpoint, but with camelCasing.
Function names
All of the functions have the same function names, as of now.
Get all
var customers = eaccounting.customers.getAll()
Get all (alias)
var customers = eaccounting.customers.get()
Get one
var customer = eaccounting.customers.get(1337)
Update
var customer = eaccounting.customers.update(1337)
Add
var customer = eaccounting.customers.add({
name: "Github Inc."
})
Delete
var customer = eaccounting.customers.remove(1337)
Contribute!
It is super easy to add the other endpoints, because of the simple API of the module. So please submit pull request if you have implemented more.
Todo
- feels like everything.