README
Lightspeed SDK
Note: This is not a Lightspeed official package.
Installation
Use your favorite package manager to install any of the packages and save to your package.json:
npm install lightspeed-sdk
Usage
Create an instance of Lightspeed class:
const lightspeed = new Lightspeed({
clientId: 'CLIENT_ID',
clientSecret: 'CLIENT_SECRET',
refreshToken: 'REFRESH_TOKEN',
});
Examples
Post customer information:
const customer = await lightspeed.postCustomer(customer);
Update customer information:
const customer = await lightspeed.putCustomer(customer, customerID);
Retrieve account information:
const account = await lightspeed.getAccount();
Retrieve items by id:
const item = await lightspeed.getItemById('accountNumber', 'id');
Retrieve all items:
const items = await lightspeed.getItems('accountNumber');
for await (const item of items) {
console.log(item); // { itemID: 'X', ... }
}
or
const items = await lightspeed.getItems('accountNumber').toArray();
console.log(items); // [{ itemID: 'X', ... }, {...}]
Pagination
Pagination is handled by the SDK by returning a cursor when querying:
- getItems
- getCategories
- getManufacturers
- getSales
- getSaleLineBySaleID
- getSalePaymentBySaleID
- getItemsByMatrixID
- getCustomers
- getCustomerTypes
The object has an async iterable
so you can do a for await
loop to retrieve all the items,
or load all at the same time by doing .toArray()
on the object. Doing .toArray()
could lead to performance
issues if the collection is too big.
Requirements
This package supports Node v8 LTS and higher. It's highly recommended to use the latest LTS version of node, and the documentation is written using syntax and features from that version.