Covered in this article
Lightspeed-ecom pages
Created on Updated on
Lightspeed-ecom component

Lightspeed-ecom component

Lightspeed ECom API component for iPaaS platform.

Authentication

You should request API keys for your shop (api_key & api_secret) via ticket to support.

Authentication is managed via HTTP authentication. There are several clusters which your app can be installed on. During the installation you should get the cluster_id. Please make sure you specify API requests to the correct cluster URL.

Cluster URLs There are two clusters which your app can be installed on. During the installation we send you the cluster_id. Please make sure you send API requests to the correct cluster.

CLUSTERS

  • eu1: https://api.webshopapp.com/
  • us1: https://api.shoplightspeed.com/

Credentials

Lightspeed-ecom - Credentials

Environment URL

Url of the Lightspeed eCom cluster. Fro example,

  • for EU: api.webshopapp.com
  • for US: api.shoplightspeed.com

Environment language

Lightspeed eCom shop language.

Client ID

API Key which you received from support during configuration a shop.

Client Secret

API Secret which you received from support during configuration a shop.

Triggers

Polling entity

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

Trigger - Polling entity

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 ().

Supported entities:

  • attributes
  • blogs
  • brands
  • catalog
  • categories
  • contacts
  • countries
  • customers
  • dashboard
  • deliverydates
  • discounts
  • events
  • external_services
  • filters
  • groups
  • invoices
  • languages
  • metafields
  • orders
  • paymentmethods
  • products
  • quotes
  • redirects
  • returns
  • reviews
  • sets
  • shipments
  • shippingmethods
  • shop
  • subscriptions
  • suppliers
  • tags
  • taxes
  • textpages
  • tickets
  • time
  • types
  • variants

Webhook subscription

Webhook subscription trigger

Input fields description

  • Object Type - you should select the type of object to make a subscription.

Supported entities:

  • contacts
  • customers
  • invoices
  • orders
  • products
  • quotes
  • returns
  • reviews
  • shipments
  • shop
  • subscriptions
  • tickets
  • variants

Actions

Create Object

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

Create Object action

Input fields description

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

Supported entities:

  • attributes
  • blogs
  • brands
  • categories
  • customers
  • deliverydates
  • discounts
  • external_services
  • filters
  • groups
  • metafields
  • products
  • quotes
  • redirects
  • returns
  • reviews
  • sets
  • subscriptions
  • suppliers
  • tags
  • taxes
  • textpages
  • tickets
  • types
  • variants

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.

Upsert Object action

Input fields description

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

Supported entities:

  • attributes
  • blogs
  • brands
  • categories
  • customers
  • deliverydates
  • discounts
  • external_services
  • filters
  • groups
  • invoices
  • metafields
  • orders
  • products
  • quotes
  • redirects
  • returns
  • reviews
  • sets
  • shipments
  • subscriptions
  • suppliers
  • tags
  • taxes
  • textpages
  • tickets
  • types
  • variants

Update Object

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

Update Object action

Supported entities:

  • attributes
  • blogs
  • brands
  • categories
  • customers
  • deliverydates
  • discounts
  • external_services
  • filters
  • groups
  • invoices
  • metafields
  • orders
  • products
  • quotes
  • redirects
  • returns
  • reviews
  • sets
  • shipments
  • subscriptions
  • suppliers
  • tags
  • textpages
  • tickets
  • types
  • variants

Input fields description

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

Supported entities:

Lookup Object By ID

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

Lookup Object By ID action

Input fields description

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

Supported entities:

  • attributes
  • blogs
  • brands
  • catalog
  • categories
  • contacts
  • countries
  • customers
  • dashboard
  • deliverydates
  • discounts
  • events
  • external_services
  • filters
  • groups
  • invoices
  • languages
  • metafields
  • orders
  • paymentmethods
  • products
  • quotes
  • redirects
  • returns
  • reviews
  • sets
  • shipments
  • shippingmethods
  • shop
  • subscriptions
  • suppliers
  • tags
  • taxes
  • textpages
  • tickets
  • time
  • types
  • variants

Delete Object By ID

Action removes object which already exists by provided ID.

Delete Object By ID action

Input fields description

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

Supported entities:

  • attributes
  • blogs
  • brands
  • categories
  • customers
  • deliverydates
  • discounts
  • external_services
  • filters
  • groups
  • metafields
  • products
  • redirects
  • reviews
  • sets
  • subscriptions
  • suppliers
  • tags
  • taxes
  • textpages
  • tickets
  • types
  • variants
  • webhooks

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 eCom API limits the number of returned objects to 50 by default and 250 as max. 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 list of entities:

Lightspeed eCom API Documentation