Patch product by id (edit favourite)

PATCH /shops/@shop/products/@id

Request

Authentication

This endpoint requires authentication.

Header Value
Authorization Set the value to Bearer + + access_token

URL parameters

Replace the @ keywords in the URL with their corresponding value.

A dictionary with fields

Field Type Description
shop Int An integer value
id Int An integer value

Body

Pass the following properties via application/json or form encoding in the body of the request.

Field Type Description
favourite Bool A boolean value

Example request 1

PATCH /shops/13/products/12 HTTP/1.1
Host: api.bakeronline.be
X-VERSION: 1.0.1
Accept-Language: en-US,en;q=0.5
Content-Type: application/json
Content-Length: 26
{
    "favourite": false
}

Response

Field Type Description
id Int Id of the product
name String Name of the product (translated)
images [Image] Array of Image
price_type PriceType A product has a price type that defines the price calculations and the way consumers can order the product.
target_price Bool Is true when the price of the product can change on takeout (e.g. not exact weight)
price Int Price of the product (cents). It only makes sense to use this property when price_type is not multiple choice. Please also check if the shop where you want to order has an offer with a discount for this product available.
subtitle String? Nullable. Important text you need to display under the product name
description String Description of the product (translated)
allergens [Allergen]? Nullable. The allergens of this product. An empty array means no allergens. Null means no allergens specified (= can have allergens, ask in shop)
url URL? Nullable. An URL field starting with http:// or https://
url_type String String enumarion of 'none', 'recipe', 'website'
specialty Bool A boolean value
favourite Bool? Nullable. A boolean value
product_prices [ProductPrice.detailed] Array of ProductPrice.detailed
optionsets [OptionSet.detailed] Array of OptionSet.detailed
min_max MinMaxSummary An overview of the minimum and maximum values for all amount types.
info [Message] A list of messages with information you need to display on the product page.

Example response 1

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 5046

{
    "id": 19,
    "name": "...",
    "images": [
        {
            "resolutions": [
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                },
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                },
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                }
            ],
            "white_background": true
        },
        {
            "resolutions": [
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                },
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                },
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                }
            ],
            "white_background": true
        },
        {
            "resolutions": [
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                },
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                },
                {
                    "src": "https://example.com",
                    "width": 600,
                    "height": 350
                }
            ],
            "white_background": true
        }
    ],
    "price_type": "PER_UNIT",
    "target_price": true,
    "price": 10,
    "subtitle": "...",
    "description": "...",
    "allergens": [
        {
            "id": 14,
            "name": "Celery"
        },
        {
            "id": 15,
            "name": "Lupine"
        },
        {
            "id": 13,
            "name": "Crustaceans"
        }
    ],
    "url": "https://example.com",
    "url_type": "none",
    "specialty": true,
    "favourite": false,
    "product_prices": [
        {
            "id": 18,
            "name": "...",
            "price": 16
        },
        {
            "id": 13,
            "name": "...",
            "price": 12
        },
        {
            "id": 18,
            "name": "...",
            "price": 19
        }
    ],
    "optionsets": [
        {
            "id": 17,
            "name": "...",
            "allow_attachment": true,
            "options": [
                {
                    "id": 10,
                    "name": "...",
                    "price_change": 13
                },
                {
                    "id": 11,
                    "name": "...",
                    "price_change": 14
                },
                {
                    "id": 15,
                    "name": "...",
                    "price_change": 13
                }
            ]
        },
        {
            "id": 17,
            "name": "...",
            "allow_attachment": true,
            "options": [
                {
                    "id": 13,
                    "name": "...",
                    "price_change": 13
                },
                {
                    "id": 15,
                    "name": "...",
                    "price_change": 13
                },
                {
                    "id": 18,
                    "name": "...",
                    "price_change": 13
                }
            ]
        },
        {
            "id": 13,
            "name": "...",
            "allow_attachment": true,
            "options": [
                {
                    "id": 12,
                    "name": "...",
                    "price_change": 12
                },
                {
                    "id": 10,
                    "name": "...",
                    "price_change": 19
                },
                {
                    "id": 15,
                    "name": "...",
                    "price_change": 16
                }
            ]
        }
    ],
    "min_max": {
        "amount": {
            "minimum": 19,
            "maximum": 13,
            "suggested": 16
        },
        "weight": {
            "minimum": 19,
            "maximum": 15,
            "suggested": 10
        },
        "persons": {
            "minimum": 17,
            "maximum": 13,
            "suggested": 10
        }
    },
    "info": [
        {
            "name": "...",
            "title": "...",
            "text": "...",
            "type": "HTML"
        },
        {
            "name": "...",
            "title": "...",
            "text": "...",
            "type": "HTML"
        },
        {
            "name": "...",
            "title": "...",
            "text": "...",
            "type": "HTML"
        }
    ]
}
Version update available Please adjust your integration to the latest stable version (1.9.0)
1.0.1 stable