Products
Products are the sellable goods in an e-commerce shop on the Propeller platform. They are usually organized hierarchically in categories. The Product API can be used to consult, create, update or delete a Product.
Product Lookup keys
Key | Type | Description |
---|---|---|
id | integer | Propeller product id, auto-generated |
sourceId | string | External system unique id. sourceId should be combined with source |
sku | string | Product SKU/ code |
code (deprecated) | string | Product code |
supplierCode | string | Product code as known to the product supplier. supplierCode should be combined with supplier |
Fields
Name | Description | Type |
---|---|---|
names | Product name | array[LocalizedString] |
language | Product default language | string ISO 639-1 |
parent | Parent category | JSON object that identifies the parent. id or sourceId in combination with source |
sku | Product SKU (code) | string |
unit | The number of packages that need to be ordered when adding an item to the basket | integer |
status | Product status | enum A=Available N=Not available T=Out of stock P=Phase out S=Presale R=Restricted |
price | Sales price | decimal |
costPrice | Cost price | decimal |
suggestedPrice | Suggested/ advised price | decimal |
discountPrice | Discount price | decimal |
discountPriceFrom | Discount price from date | date |
discountPriceTo | Discount price to date | date |
priceDisplay | Type of price display | enum default = Only display price onrequest = Do not show price, show "Price on request" from = Show cheapest price fromfor = Show old (suggested) price vs. new price perpackage = price per type of package (e.g. Price from € 125.50 per box) peruom = Cheapest price per package unit (e.g. Price from € 125.50 per piece) |
descriptions | Product description | array[LocalizedString] |
shortName | Product short name | string |
shortDescriptions | Product short descriptions | array[LocalizedString] |
taxCode | Product tax code | enum H=High L=Low N=None |
supplier | Product supplier | string |
supplierCode | Product code as known to the product supplier | string |
manufacturer | Manufacturer | string |
oemCode | Product manufacturer code | string |
eanCode | Product EAN code | string |
minimumQuantity | Minimum orderable quantity | integer |
package | Package (e.g. piece, sheet, etc.) | string |
packageDescriptions | Description of package and package units inside a package (e.g. Box of 650 sheets of paper) | array[LocalizedString] |
notes | Product notes/ remarks | array[LocalizedString] |
sourceId | External system unique id | string |
source | External system | string |
Product Errors
This section describes error codes specific for the Product
resource.
Code | Error Type | Status Code | Message | Reason |
---|---|---|---|---|
80004 | ProductExists | 400 | Product already exists | Category with such lookup key already exists |
80005 | ProductMultipleFound | 400 | Multuple products found. Please provide additional filters | Multiple products with such lookup key exist |
80006 | ProductNotFound | 404 | Product does not exist | Product with such lookup key not found |
80007 | ParentProductNotFound | 404 | Parent product not found | Parent product with such lookup key not found. This error is typical when working with product sub-resources (e.g. attributes) |
80008 | ProductNotAllowed | 405 | Product is not allowed | No permission for the product |
📄️ Create Product
Use this endpoint to create a single product. If a product is successfully created, the response will include the product`id`.
📄️ Get Product by lookup key
Use this endpoint to retrieve product details by lookup key. If multiple products with the same lookup key exist, use additional filtering depending on the lookup key to uniquely identify the product (e.g. `source` and `language` for lookup key `source`).
📄️ Delete Product by lookup key
Use this endpoint to delete product by lookup key. If multiple products with the same lookup key exist, use additional filtering depending on the lookup key to uniquely identify the product (e.g. `source` and `language` for lookup key `source`).
📄️ Update Product by lookup key
Use this endpoint to update product by lookup key. If multiple products with the same lookup key exist, use additional filtering depending on the lookup key to uniquely identify the product (e.g. `source` and `language` for lookup key `source`).
📄️ Delete Product translation by lookup key
Use this endpoint to delete product translation by lookup key and the language for which the translation needs to be deleted. If multiple products with the same lookup key exist, use additional filtering depending on the lookup key to uniquely identify the product (e.g. `source` and `language` for lookup key `source`).
📄️ Bulk Product by source id
The bulk endpoints offer an efficient way of importing/updating large amounts of products with just a single API call. When using the bulk `sourceId` endpoint, the products are identified by `sourceId`, `source` and `language`. If a product doesn't already exist, it will be created. If it does exist, the product found will be updated.
📄️ Bulk Product by Id
The bulk endpoints offer an efficient way of importing/updating large amounts of products with just a single API call. When using the bulk `id` endpoint, the products are identified by Propeller product `id`. If a product with such `id` doesn't already exist, it will be created. If it does exist, the product will be updated.
📄️ Search Products
> The product search endpoint is only available on the Propeller legacy version. The cloud version of Propeller does not support this API. Instead, use the GraphQL APIs to query products.