Create an option set

POST /company/companies/@id/optionsets

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
id Int ID of the company where to create a new option set

Body

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

Field Type Description
name [Language: String] Name of the option set
allow_attachment Bool Allow the attachment of a picture to this option set
code String? Optional. Nullable. Your own ID or key that you can associate with an option set
multiple_choice Bool Optional. If true, the user can select none, one or more options (min_different_options and max_different_options is used for minimum and maximum)
choose_amount Bool Optional. If true, the user can enter an amount for every option. Note that this can only get enabled when multiple_choice = true
min_different_options Int Optional. When multiple choice is enabled, this is the minimum of different options a user should add to a cart item
max_different_options Int? Optional. Nullable. When multiple choice is enabled, this is the maximum of different options a user should add to a cart item. When set to null, there is no limit
min_amount_options Int Optional. When choose_amount is enabled, this is the minimum allowed sum of the option amounts user should add to a cart item
max_amount_options Int? Optional. Nullable. When choose_amount is enabled, this is the maximum allowed sum of the option amounts a user should add to a cart item. When set to null, there is no limit

Example request 1

POST /company/companies/11/optionsets HTTP/1.1
Host: api.bakeronline.be
X-VERSION: 1.8.0
Accept-Language: en-US,en;q=0.5
Content-Type: application/json
Content-Length: 318
{
    "name": {
        "nl": "...",
        "en": "...",
        "fr": "..."
    },
    "allow_attachment": false,
    "code": "...",
    "multiple_choice": false,
    "choose_amount": true,
    "min_different_options": 13,
    "max_different_options": 17,
    "min_amount_options": 12,
    "max_amount_options": 16
}

Response

Field Type Description
name [Language: String] Name of the option set
allow_attachment Bool Allow the attachment of a picture to this option set
options [company.Option] Array of company.Option
id Int Id of the option set
code String? Nullable. Your own ID or key that you can associate with an option set
multiple_choice Bool If true, the user can select none, one or more options (min_different_options and max_different_options is used for minimum and maximum)
choose_amount Bool If true, the user can enter an amount for every option. Note that this can only get enabled when multiple_choice = true
min_different_options Int When multiple choice is enabled, this is the minimum of different options a user should add to a cart item
max_different_options Int? Nullable. When multiple choice is enabled, this is the maximum of different options a user should add to a cart item. When set to null, there is no limit
min_amount_options Int When choose_amount is enabled, this is the minimum allowed sum of the option amounts user should add to a cart item
max_amount_options Int? Nullable. When choose_amount is enabled, this is the maximum allowed sum of the option amounts a user should add to a cart item. When set to null, there is no limit

Example response 1

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

{
    "name": {
        "nl": "...",
        "en": "...",
        "fr": "..."
    },
    "allow_attachment": false,
    "options": [
        {
            "name": {
                "nl": "...",
                "en": "...",
                "fr": "..."
            },
            "price_change": 11,
            "id": 15,
            "code": "...",
            "order": 12,
            "price_calculation": "PER_PIECE"
        },
        {
            "name": {
                "nl": "...",
                "en": "...",
                "fr": "..."
            },
            "price_change": 19,
            "id": 15,
            "code": "...",
            "order": 12,
            "price_calculation": "PER_PIECE"
        },
        {
            "name": {
                "nl": "...",
                "en": "...",
                "fr": "..."
            },
            "price_change": 18,
            "id": 10,
            "code": "...",
            "order": 18,
            "price_calculation": "PER_PIECE"
        }
    ],
    "id": 11,
    "code": "...",
    "multiple_choice": true,
    "choose_amount": true,
    "min_different_options": 13,
    "max_different_options": 13,
    "min_amount_options": 18,
    "max_amount_options": 14
}
Version update available Please adjust your integration to the latest stable version (1.9.0)
1.8.0 stable