Products (GET)#
The response of the endpoint api/products
will always list our latest portfolio.
GET api/products
This means that "old items" have to be removed from your assortment while "new items" can and should be added.
Hint
You can detect "old items" by executing a POST
-request against the endpoint check-availability to get a list of all unavailable skus.
Parameters#
NAME | TYPE | DESCRIPTION |
---|---|---|
sku |
integer / array(integer) | Optional - will return only specific product(s) |
countryCodes |
array(string) | Optional - will return only products that are allowed in all listed countries |
itemsPerPage |
integer | Optional - allows the restriction of results per page |
page |
integer | Optional - number of page (useful for paginated responses) |
Response#
Besides the "usual" information there will be the following fields:
categoryTree
will contain a reference-link to the category this product can be sorted into.allowedCountryCodes
lists all countries into which this product can be shipped.stock
allows you to check the current stock of the product.prevDataHash
allows you to have a single value that represents the product integrity.- This means that you can use this value to check, if any product-details have changed and the record needs to be updated.
Deprecated fields
Please be aware that there are additional fields that are kept to allow backwards-compability but are considered deprecated:
- Replaced by
allowedCountryCodes
:isBulkCarrier
items are only available in Germany because the items will be shipped by Bulk carrier.isEuPlug
indicates products that are used with a standard "two pin plug" thus they can't be used in UK/ROI.isSchukoPlug
indicates products that are used with the EU "SCHUKO-plug" thus they can't be used in UK/ROI & Switzerland.
- Replaced by
categoryTree
:category
will contain a reference-link to the category this product can be sorted into.
{
"@context": "/v2/api/contexts/Product",
"@id": "/v2/api/products",
"@type": "hydra:Collection",
"hydra:member": [
{
"@id": "/v2/api/products/1",
"@type": "Product",
"id": 1,
"sku": 383,
"manufacturerId": "12718",
"upc": "4004293127181",
"brand": "RÖSLE",
"netCost": 21.74,
"rrp": 26.95,
"logoUrl": "https://static.mitarbeiterportal.com/data/image/cbd8684482be7e1607878ae99dd6a1d6_38.jpg",
"categoryTree": "/v2/api/categorytree/137",
"images": [
{
"@id": "/v2/api/product_images/1",
"@type": "ProductImage",
"url": "https://static.mitarbeiterportal.com/data/image/5b53f48326cd0a7316946a3faeb3e223_10.jpg"
},
...
],
"stock": {
"@id": "/v2/api/stocks/21051367",
"@type": "Stock",
"stock": 8,
"product": "/v2/api/products/1"
},
"details": [
{
"@id": "/v2/api/product_details/1",
"@type": "ProductDetails",
"name": "Pizzaschneider",
"description": "Großes, stabil gelagertes Rad<br>Einfach...",
"lang": "DE"
},
{
"@id": "/v2/api/product_details/2",
"@type": "ProductDetails",
"name": "Pizza cutter",
"description": "Large, sturdily mounted wheel<br>Easily...",
"lang": "EN"
},
...
],
"prevDataHash": "1a6f9ec54f7a703efd794ed5473fc9fa",
"allowedCountryCodes": [
"AD",
"AT",
"BE",
"BG",
"HR",
"CY",
"CZ",
"DK",
"EE",
"FI",
"FR",
"DE",
"GR",
"HU",
"IE",
"IT",
"LV",
"LT",
"LU",
"MT",
"MC",
"NL",
"PL",
"PT",
"RO",
"SK",
"SI",
"ES",
"SE",
"CH",
"GB"
]
}
],
"hydra:totalItems": 19,
"hydra:view": {
"@id": "/v2/api/products?itemsPerPage=1&page=1",
"@type": "hydra:PartialCollectionView",
"hydra:first": "/v2/api/products?itemsPerPage=1&page=1",
"hydra:last": "/v2/api/products?itemsPerPage=1&page=19",
"hydra:next": "/v2/api/products?itemsPerPage=1&page=2"
},
"hydra:search": {
"@type": "hydra:IriTemplate",
"hydra:template": "/v2/api/products{?sku,sku[],countryCodes}",
"hydra:variableRepresentation": "BasicRepresentation",
"hydra:mapping": [
{
"@type": "IriTemplateMapping",
"variable": "sku",
"property": "sku",
"required": false
},
{
"@type": "IriTemplateMapping",
"variable": "sku[]",
"property": "sku",
"required": false
},
{
"@type": "IriTemplateMapping",
"variable": "countryCodes",
"property": "countryCodes",
"required": false
}
]
}
}