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/categories/231/products |
tag
, name
, exactname
and sku
filter, you can use boolean filters
sold
, purchased
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
, and variants
.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
.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.