Lightspeed-retail
Authentication
Lightspeed uses the OAuth2 protocol to authenticate integrations and grant access to the API. See the section on Authentication for more details.
Credentials
Environment URL
Url of the Lightspeed Retail environment. Optional.
By default: api.lightspeedapp.com
Account ID
Lightspeed Retail account ID.
Client ID
Consumer Key which you received during API client configuration step.
Client Secret
Consumer Secret which you received during API client configuration step.
Technical Notes
The technical notes page gives some technical details about Lightspeed-retail component like changelog.
Triggers
Lightspeed-retail component includes the following triggers:
- Polling entity
This trigger polls for existing and updated objects where you can select object type.
Actions
Lightspeed-retail component includes the following actions:
-
Create Object
Action creates a new record/object. This action is supported by limited list of entities. -
Upsert Object
Action creates a new object or updates object which already exists by provided ID. This action is supported by limited list of entities. -
Update Object
Action updates object which already exists by provided ID. This action is supported by limited list of entities. -
Lookup Object By ID
Action gets a list of objects by filters or specific object by provided ID. -
Delete Object By ID
Action removes object which already exists by provided ID.
Additional info
Pagination
The component is providing request of a whole list of an entity by iterative API requests without user intervention.
A bit of theory:
Lightspeed Retail API limits the number of returned objects to 100
. When requesting large data sets it may be necessary to send multiple requests to retrieve all of the data. The meta-dictionary that’s returned tells the current page, and if there’s another page of results after this one, the next entry gives you the URL where it can be fetched.
Depending on the structure of your data, it’s possible that the API may not be able to return the number of resources requested before a HTTP 504 (Gateway Timeout) happens. For example, if your first 100 orders have 1,000 line items each, you might hit a 429 when trying to fetch them.
You can control the page size for a GET request with the limit parameter.
Coming back to the component:
In the component, at the Polling Trigger
configuration you can configure count of fetching results per page by an appropriate configuration field.
If you notice that 429s are coming back, you should reduce the limit until you start getting 200s. A sensible strategy for this is probably to iteratively halve the page size until you stop getting 429s.
Known limitations
The current version of the component doesn’t support the following entities:
- Customer CustomField CustomFieldChoice
- Customer CustomField
- DisplayTemplate Employee
- DisplayTemplate ItemAsLabel
- DisplayTemplate Label
- DisplayTemplate Order
- DisplayTemplate OrderLineAsLabel
- DisplayTemplate RegisterCount
- DisplayTemplate RegisterWithdraw
- DisplayTemplate Sale
- DisplayTemplate Transfer
- DisplayTemplate TransferItemAsLabel
- DisplayTemplate VendorReturn
- DisplayTemplate Workorder
- Inventory Transfer TransferItems
- Inventory Transfer
- InventoryCount
- InventoryCountCalc
- InventoryCountItem
- InventoryCountReconcile
- Item CustomField CustomFieldChoice