sage-live
v0.0.4
Published
Helper class to make your life easier when dealing with the Sage Live Api.
Downloads
3
Readme
Installation
npm install sage-live --save
Overview
- Handles Authentication
- Allows Bulk Inserting, Upserting, Getting of all Salesforce objects that underpin Sage Live
- Returns Promises
The sage-live package is an easy way to deal with the revel API when using node.
var SageLive = require('sage-live');
var verbose = true;
var endpoint = 'https://salesforce.com';
var userName = '[email protected]';
var password = 'PasswordHere';
var securityToken = 'asdasdasdasdsad';
var sageLive = new SageLive(endpoint, userName, password, securityToken, verbose);
// Retrive objects by ID
sageLive.retrieve("Account", ["0015800000RTgER", "0015800000RTgTH"]).then((result) => {
console.log(typeof(result));
})
If you want to interact with a different object, for example products with a resource URL of: "/resources/Product/" the function would be getProduct()
or if you want to access an order item at "/resources/OrderItem/" the function would be getOrderItem()
.
A full list of all the functions can be found at the bottom of this readme.
Example Usage:
var SageLive = require('sage-live');
var verbose = true;
var endpoint = 'https://salesforce.com';
var userName = '[email protected]';
var password = 'PasswordHere';
var securityToken = 'asdasdasdasdsad'; // optional
var sageLive = new SageLive(endpoint, userName, password, securityToken, verbose);
Retrive and Delete by ID
// Retrieve the following 2 accounts
sageLive.retrive("Account", ["0015800000RTkYH", "0015800000RTkYF"]).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
})
// Delete the following account
sageLive.delete("Account", ["0015800000RTkYH"]).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
})
Search
// Get multiple objects using search options
salesforceObject = "Account";
var searchOptions = {
CreatedDate: {
$gte: sageLive.date.LAST_N_WEEKS(2)
},
}
sortingOptions = {
CreatedDate: -1,
}
limit = 0;
skip = 0
sageLive.get(salesforceObject, searchOptions, sortingOptions, limit, skip).then((result) => {
for(var i = result.length - 1; i >= 0; i--) {
console.log(result[i].Name);
}
}).catch((err) => {
console.log(err);
})
Bulk Insert
const itemsForBulkInsert = [{
Name: 'Patrick McKinley',
}, {
Name: 'Kristo Mikkonen',
}
]
// Bulk insert into Account object
sageLive.bulkInsert("Account", itemsForBulkUpsert).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
})
#Bulk Upsert
const itemsForBulkUpsert = [{
Name: 'Patrick McKinley',
Id: '0015800000RTkYH'
}, {
Name: 'Kristo Mikkonen',
Id: '0015800000RTkY2'
}
]
const externalId = {
extIdField: 'Id'
}
// Bulk upsert into Account object using the Id as the key
sageLive.bulkUpsert("Account", externalId, itemsForBulkUpsert).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
})