Products are saleable items in your inventory, including modifier products.
GET /v1/companies/5678/products |
|
GET /v1/companies/5678/categories/231/products |
|
GET /v1/companies/5678/products ?tag=on_special |
|
GET /v1/companies/5678/products ?name=beef |
|
GET /v1/companies/5678/products ?exactname=latte |
|
GET /v1/companies/5678/products ?sku=PLU1234 |
|
GET /v1/companies/5678/products ?ids=3928147,3274192 |
|
GET /v1/companies/5678/sites/827/products |
|
GET /v1/companies/5678/sites/827/products ?sold=true&purchased=false |
|
GET /v1/companies/5678/sites/827/products ?tag=on_special |
|
GET /v1/companies/5678/sites/827/products ?fields=categories,variants |
|
GET /v1/companies/5678/sites/827/products ?is_available=true&fields=availability |
|
GET /v1/companies/5678/sites/827/categories/231/products |
tag, name, exactname and skufilter, you can use boolean filters
sold, purchased, is_available and inventoried for product filtering at a given site.show_online flag is used to indicate if this product is shown or hidden.
When it is true, Site expects this product should be shown to customers. Otherwise it should be hidden.
Hint: Site needs to enable the Online Products feature then edit it under Products > Online Products on Back Office.
fields in the query string in order to return additional data on the endpoint. This can be particularly useful for syncing
a menu without needing to pull down every individual item.image, categories, option_sets, availability, unit_price, unit_price_ex_tax, unit_tax, variants, variant_parent_id and docket_name.GET /v1/companies/5678/products/826018 |
Whenever possible, specify a site ID in your
request. The sites section will collapse into the top
level of the response, making it much flatter:
GET /v1/companies/5678/sites/543/products/826018 |
GET /v1/companies/5678/products/826018/modifiers |
The pricing of the modifiers above relates to the use of pop-up modifiers in Kounta by Lightspeed whereby site's can set specific pricing when a modifier is attached to a particular product.
You can create a product without making it available at any sites.
POST /v1/companies/5678/products |
name and either unit_price or
unit_price_ex_tax fields are required. The price
will be added to the base price list.
If no taxes are specified, the product is assumed to be tax
free.is_modifier is optional. If not provided it will
default to false.is_modifier cannot be set to true on
products that have variants.variable_price is optional and will default to
false if not provided.variable_price is true the POS will
always prompt for a price that must be between
min_sell_price and
max_sell_price.docket_name is optional. If provided, it must be a string
with a maximum length of 255 characters. It will be displayed on the docket instead of the product name.If you create a product for sale at a specific site, you can include site-specific information inline:
POST /v1/companies/5678/sites/252/products |
If the site you specify has been assigned an alternate price list, the price you specify will be assigned to both the base and the assigned price lists.
POST /v1/companies/5678/sites/252/products |
option_sets is provided is must have at least
one item.option_sets must only contain unique and valid
option sets.option_sets will always
replace any existing option_sets.PUT /v1/companies/5678/products/29603 |
is_modifier, is_inventory and is_sold are optional. If not provided the value
will remain the same.is_modifier cannot be set to true on
products that have variants.variable_price is optional and will default to
false if not provided.variable_price is true the POS will
always prompt for a price that must be between
min_sell_price and
max_sell_price.To make products available for sale on one or more sites:
PUT /v1/companies/5678/sites/288/products/29603 |
taxes and cost_taxes should be a list
of tax IDs.unit_price or cost_price
will set the product's sell price or cost price (tax inclusive
price) on the site's current price list.All fields are optional. You can make a product available on a site as simply as:
PUT /v1/companies/5678/sites/288/products/29603 |
DELETE /v1/companies/5678/sites/288/products/29603 |
Here is a list of the supported webhook topics.
Important: It is possible for individual sites to override the company-level product; such as a different price. However, the webhooks below are only subscriptions to the company-level products or enabling /disabling product on any given sites. Changes to site-level products or price lists will not cause the webhook to be triggered.
When a product is created. You will receive the complete product.
When a company-level product is updated or a product is enabled or disabled on any given sites. You will receive the complete product after the modifications have been applied.
You also may provide the following attribute filters:
show_online
Note that when filtering by show_online, any changes to
products where show_online is true will trigger a
webhook notification.
When a product is deleted. You will receive the complete product.
Important: A company-level product may be assigned to none, one or several sites. Unassigning a product from a site is not the same as removing it at a company level. This webhook is only triggered if the product is deleted at a company-level.
When a product's availability has changed
(e.g. is_available from true to false or amount from 5 to 4),
you will receive the updated product availability data as below.
Important:
When creating products/availability webhook, site_ids filter is required as
this feature is strictly site-level
The current units of measure we support are ml for millilitre, l for liter, g for gram, kg for kilogram and unit case insensitive.