A collection of methods to interact with the Saasu REST API
You can have many different instances, each corresponds to a unique Saasu account.
saasuAccount = new Saasu();
Initialize Saasu key and file id
if ( Meteor.isServer ) {
saasuAccount.init({
accessKey: "YOUR_KEY"
, fileId: "YOUR_FILEID"
});
}
Initialize inventory items and payment accounts UIDs
saasuAccount.init({
inventoryItems: {
"Item1": "UID_OF_ITEM"
, "Item2": "UID_OF_ITEM"
}
, paymentAccounts: {
"Account1": "UID_OF_ACCOUNT"
"Account2": "UID_OF_ACCOUNT"
}
});
After these values are initialized, you can conveniently retrieve them with
saasuAccount.getInventoryItemUid[itemName]
saasuAccount.getPaymentAccountUid[accountName]
- init
- getInventoryItemUid
- getPaymentAccountUid
- get
- post
- parseResponse
Get contact from contactID
On server-side, you can call the method directly:
var response = saasuAccount.get('contact', {contactID: 'C1-2345'});
console.log( saasuAccount.parseResponse(response) );
To receive the result on client-side, define a Meteor method and call it with a callback:
Meteor.methods({
'saasuGet': function(type, options) {
var response = saasuAccount.get(type, options);
return saasuAccount.parseResponse(response);
}
});
Meteor.call('saasuGet', 'contact', {contactID: 'C1-2345'}, function(err, res) {
console.log( res );
});
Insert new contact
saasuAccount.post('contact', {
salutation: 'Mr'
, givenName: 'Phuc'
, familyName: 'Nguyen'
, organisationName: 'UsefulIO'
, contactID: 'C1-1234'
});
Insert new item sale (single item)
saasuAccount.post('invoice', {
transactionType: 'S'
, date: '2014-04-19'
, layout: 'I'
, status: 'I'
, purchaseOrderNumber: 'S1-1111'
, summary: 'Test item sale'
, invoiceItems: {
itemInvoiceItem: {
quantity: 1
, inventoryItemUid: Saasu.getInventoryItemUid('Item1')
, unitPriceInclTax: 150
}
}
});
Insert new item sale (multiple items)
saasuAccount.post('invoice', {
transactionType: 'S'
, date: '2014-04-19'
, layout: 'I'
, status: 'I'
, purchaseOrderNumber: 'S1-1111'
, summary: 'Test item sale'
, invoiceItems: {
itemInvoiceItem: [
{
quantity: 1
, inventoryItemUid: saasu.getInventoryItemUid('Item1')
, unitPriceInclTax: 150
},
{
quantity: 2
, inventoryItemUid: saasu.getInventoryItemUid('Item2')
, unitPriceInclTax: 250
}
]
}
});
Insert payment for sales
saasuAccount.post('invoicePayment', {
transactionType: 'SP'
, date: '2014-04-19'
, paymentAccountUid: Saasu.getPaymentAccountUid('Account1')
, invoicePaymentItems: {
invoicePaymentItem: {
invoiceUid: '123456'
, amount: '25'
}
}
});