Getting Started
Basic Concepts
Tutorials
Advanced Concepts
How-to Guides
Building integration flows
Data transformation
Integration patterns
Developing Components
Components
CRM Components
ERP Components
E-Commerce Components
Basic Components
Utility Components
References
Sailor
Component Descriptor
Covered in this article
Related articles

Lightspeed-retail component

Description

Lightspeed Retail API component for elastic.io iPaaS.

Authentication

Lightspeed uses the OAuth2 protocol to authenticate integrations and grant access to the API. See the section on Authentication for more details.

Credentials

image

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.

Triggers

Polling entity

This trigger polls for existing and updated objects where you can select object type.

image

Input fields description

  • Object Type - you should select the type of object which updates you want to get.
  • Polling Field - you can use any field existing at current object, which has datatype like DATE, DATETIME or TIMESTAMP.
  • Batch Size for request pagination - count of entries which you will get by one request ().

Actions

Create Object

Action creates a new record/object. This action is supported by limited list of entities.

image

Input fields description

  • Object type - you should select the type of object which updates you want to get.

Supported entities:

  • Category
  • CreditAccount
  • Customer
  • CustomerCustomField
  • CustomerType
  • Discount
  • EmployeeHours
  • InventoryTransfer
  • InventoryCount
  • InventoryCountItem
  • Item
  • ItemCustomField
  • ItemMatrix
  • Manufacturer
  • Order
  • OrderCustomField
  • OrderLine
  • PaymentType
  • Quote
  • RegisterClose
  • RegisterOpen
  • RegisterWithdraw
  • Sale
  • SaleEmailReceipt
  • Season
  • Serialized
  • Tag
  • TaxCategory
  • TaxClass
  • Vendor

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.

image

Input fields description

  • Object type - you should select the type of object which updates you want to get.

Supported entities:

  • Category
  • CreditAccount
  • Customer
  • CustomerCustomField
  • CustomerType
  • Discount
  • Employee
  • EmployeeHours
  • Industry
  • InventoryTransfer
  • InventoryCount
  • InventoryCountItem
  • Item
  • ItemCustomField
  • ItemMatrix
  • Manufacturer
  • Order
  • OrderCustomField
  • OrderLine
  • PaymentType
  • PriceLevel
  • Quote
  • RegisterClose
  • RegisterOpen
  • RegisterWithdraw
  • Sale
  • SaleEmailReceipt
  • SaleLine
  • Season
  • Serialized
  • Shop
  • Tag
  • TaxCategory
  • TaxClass
  • Vendor

Update Object

Action updates object which already exists by provided ID. This action is supported by limited list of entities.

image

Input fields description

  • Object type - you should select the type of object which updates you want to get.

Supported entities:

  • Category
  • CreditAccount
  • Customer
  • CustomerCustomField
  • CustomerType
  • Discount
  • Employee
  • EmployeeHours
  • Industry
  • InventoryTransfer
  • InventoryCount
  • InventoryCountItem
  • Item
  • ItemCustomField
  • ItemMatrix
  • Manufacturer
  • Order
  • OrderCustomField
  • OrderLine
  • PaymentType
  • PriceLevel
  • Quote
  • Sale
  • SaleLine
  • Season
  • Serialized
  • Shop
  • Tag
  • TaxCategory
  • TaxClass
  • Vendor

Lookup Object By ID

Action gets a list of objects by filters or specific object by provided ID.

image

Input fields description

  • Object type - you should select the type of object which updates you want to get.

Supported entities:

  • Account
  • CatalogVendorItem
  • Category
  • CCCharge
  • CreditAccount
  • Customer
  • CustomerCustomField
  • CustomerType
  • Discount
  • Employee
  • EmployeeHours
  • Industry
  • InventoryTransfer
  • InventoryCount
  • InventoryCountCalc
  • InventoryCountItem
  • Item
  • ItemCustomField
  • ItemAttributeSet
  • ItemMatrix
  • Locale
  • Manufacturer
  • Option
  • Order
  • OrderCustomField
  • OrderLine
  • PaymentType
  • PriceLevel
  • Quote
  • Register
  • RegisterCalculated
  • RegisterCount
  • RegisterCountAmount
  • RegisterWithdraw
  • Sale
  • SaleLine
  • SalePayment
  • SaleVoid
  • Season
  • Serialized
  • Session
  • ShipTo
  • Shop
  • SpecialOrder
  • Tag
  • TaxCategory
  • TaxClass
  • Transfer
  • TransferItem
  • Vendor
  • Workorder
  • WorkorderItem
  • WorkorderLine
  • WorkorderStatus

Delete Object By ID

Action removes object which already exists by provided ID.

image

Input fields description

  • Object type - you should select the type of object which updates you want to get.

Supported entities:

  • Category
  • CreditAccount
  • Customer
  • CustomerCustomField
  • CustomerType
  • Discount
  • Employee
  • EmployeeHours
  • InventoryCount
  • InventoryCountItem
  • Item
  • ItemCustomField
  • ItemMatrix
  • Order
  • OrderCustomField
  • OrderLine
  • PaymentType
  • Quote
  • Sale
  • SaleLine
  • Season
  • Serialized
  • Tag
  • TaxCategory
  • TaxClass
  • Vendor

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 next list of entities:

Lightspeed Retail API Documentation