Insert/update Products
The 'Source of Truth' in terms of product data and structure is almost always sourced from an integrated POS system. When a POS successfully syncs products with their unique identifiers (PLUs), these will be selected by the customer for inclusion in their menu(s).
In turn, orders will be created with these same PLUs and injected into the POS via an 'Order Webhook'
This process does not necessarily need a complete transfer of products stored in the POS, but can involve only a subset of products i.e. 'Online Only products' which a customer can possibly flag as being suitable for selling online.
Product Model
For a full list of all product attributes, see the link below;
Account and Location ID
As you can see from the examples the Deliverect"accountId"
and "locationId"
are both set in the body content. These IDs are required and should be obtained via the Register POS webhook.
Deleting products
There is currently no way to directly delete a product. To achieve the desired effect, a list of products can be pushed again, in which products "to be deleted" are omitted.
Duplicate products
Where a duplicate PLU exists, the product sync will proceed, but only one of the duplicated items will be created.
Product sync (GET Products)
We require that all POS partners call this endpoint with POS products in response to a GET Request from Deliverect. See the section on Sync Products here
Important Endpoint Behaviour
Every call to this endpoint will either; create, update or delete products, based on the products that already exist in the specified location.
Menus vs Products
We do expect products to be sourced from a POS, but don't have a facility to push structured menus built within a POS into Deliverect.
This process of 'Menu Building' is fully handled in Deliverect (see guide on this here)
GTIN((Global Trade Item Number)
The GTIN / EAN codes can be sent within the products objects but we are not validating them on our end yet!
Product Configurations
For more detailed guidelines on how to structure products and set e.g. price, tax, combos etc see the page below;