POST /company/companies/@id/products/bulk
This endpoint requires authentication.
Header | Value |
---|---|
Authorization | Set the value to Bearer + + access_token |
Replace the @ keywords in the URL with their corresponding value.
A dictionary with fields
Field | Type | Description |
---|---|---|
id | Int | Company ID. Create multiple products in this company |
Pass the following properties via application/json or form encoding in the body of the request.
Minimum 1. Maximum 50. Array of company.Product.detailed: [company.Product.detailed]
Field | Type | Description |
---|---|---|
name | [Language: String] | Name of the product |
description | [Language: String] | Description of the product |
specialty | Bool | Whether this product is a specialty. Specialties are also displayed in a separate category and are highlighted with a star icon. |
active | Bool | Inactive products are not visible in the webshop |
only_order_in_store | Bool | Whether this product can only get ordered in the store with a separate UI for the shop employees, and not in the public webshop. |
price_type | PriceType | A product has a price type that defines the price calculations and the way consumers can order the product. |
price | UInt | Price of the product (cents). Please note that this value is ignored when price_type is MULTIPLE_CHOICE. |
target_price | Bool | Is true when it's not possible to provide an exact price of this product when ordering (e.g. not exact weight possible). This option might deactive online payments for orders with this product (shop settings). |
url_type | String | String enumarion of 'none', 'recipe', 'website' |
url | URL? | Nullable. An URL field starting with http:// or https:// |
min_max | company.MinMaxSummary | The allowed amounts a customer is allowed to order of a product for amount / weight / persons |
option_set_ids | [Int] | ID's of the option sets you want to assign to this product. You can alter the order by switching the position of the ID's |
allergen_ids | [Int]? | Nullable. ID's of the allergens of this product. Set to null if you don't want to specify allergens. Only use an empty array when the product has no allergens. It is a subtle difference but it has legal consequences if you set this to the wrong value. You can find all the available allergen ID's here. |
category_id | Int | The category ID of the product |
seo | company.SeoData | Optional. Product page SEO metatags |
price_look_up_code | String? | Optional. Nullable. A String value |
code | String? | Optional. Nullable. A custom code. You can set this to your own code and use this field to map your products to Bakeronline products |
origin | [Language: String] | Optional. Origin of the product |
POST /company/companies/17/products/bulk 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: 5578
[
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": true,
"active": false,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 17,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 12,
"maximum": 12,
"maximum_day": 13,
"maximum_week": 15
},
"weight": {
"minimum": 15,
"maximum": 13,
"maximum_day": 13,
"maximum_week": 12,
"suggested": 14
},
"persons": {
"minimum": 13,
"maximum": 17
}
},
"option_set_ids": [
18,
17,
10
],
"allergen_ids": [
17,
18,
15
],
"category_id": 13,
"seo": {
"title": {
"en": "Facere architecto ab et sit voluptates qui ipsum officiis ducimus iste."
},
"description": {
"en": "Ut quia aut id et voluptatem quia ut. Voluptatibus est tempora omnis alias tempore explicabo accusamus. Rem nesciunt rem perspiciatis. Provident voluptas est molestiae molestiae natus rerum."
},
"url": {
"en": "http://casper.com/voluptatum-omnis-consequatur-sit-dolorem.html"
}
},
"price_look_up_code": "...",
"code": "...",
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
}
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": true,
"only_order_in_store": true,
"price_type": "PER_UNIT",
"price": 12,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 18,
"maximum": 13,
"maximum_day": 11,
"maximum_week": 18
},
"weight": {
"minimum": 11,
"maximum": 17,
"maximum_day": 19,
"maximum_week": 13,
"suggested": 18
},
"persons": {
"minimum": 11,
"maximum": 15
}
},
"option_set_ids": [
16,
15,
11
],
"allergen_ids": [
11,
17,
10
],
"category_id": 14,
"seo": {
"title": {
"en": "Quis adipisci modi veniam quos officiis tempore sunt eos blanditiis sed."
},
"description": {
"en": "Qui aut aut dolores voluptatum accusamus nesciunt. Vel saepe quo sit optio. Rem iusto neque laborum ex id libero. Repudiandae vero fuga vitae iure."
},
"url": {
"en": "https://www.krajcik.com/deserunt-veniam-harum-officiis-consequuntur-qui"
}
},
"price_look_up_code": "...",
"code": "...",
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
}
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": false,
"only_order_in_store": true,
"price_type": "PER_UNIT",
"price": 18,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 12,
"maximum": 10,
"maximum_day": 16,
"maximum_week": 19
},
"weight": {
"minimum": 11,
"maximum": 13,
"maximum_day": 10,
"maximum_week": 16,
"suggested": 19
},
"persons": {
"minimum": 12,
"maximum": 19
}
},
"option_set_ids": [
14,
18,
19
],
"allergen_ids": [
18,
17,
16
],
"category_id": 14,
"seo": {
"title": {
"en": "Accusamus amet debitis maiores asperiores assumenda neque soluta pariatur."
},
"description": {
"en": "Minus commodi et tenetur sint iste adipisci voluptatibus aut. Ducimus hic nihil magnam animi consequuntur. Et corrupti consectetur vitae fugiat tempore."
},
"url": {
"en": "http://runolfsson.com/mollitia-sed-consequuntur-omnis-id-qui-velit-fugit"
}
},
"price_look_up_code": "...",
"code": "...",
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
}
}
]
Array of company.Product.detailed: [company.Product.detailed]
Field | Type | Description |
---|---|---|
name | [Language: String] | Name of the product |
description | [Language: String] | Description of the product |
specialty | Bool | Whether this product is a specialty. Specialties are also displayed in a separate category and are highlighted with a star icon. |
active | Bool | Inactive products are not visible in the webshop |
only_order_in_store | Bool | Whether this product can only get ordered in the store with a separate UI for the shop employees, and not in the public webshop. |
price_type | PriceType | A product has a price type that defines the price calculations and the way consumers can order the product. |
price | UInt | Price of the product (cents). Please note that this value is ignored when price_type is MULTIPLE_CHOICE. |
target_price | Bool | Is true when it's not possible to provide an exact price of this product when ordering (e.g. not exact weight possible). This option might deactive online payments for orders with this product (shop settings). |
url_type | String | String enumarion of 'none', 'recipe', 'website' |
url | URL? | Nullable. An URL field starting with http:// or https:// |
min_max | company.MinMaxSummary | The allowed amounts a customer is allowed to order of a product for amount / weight / persons |
images | [Image] | Array of Image |
product_prices | [company.ProductPrice] | Array of company.ProductPrice |
option_sets | [company.OptionSet.simple] | Array of company.OptionSet.simple |
id | Int | Id of the product |
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). |
category_id | Int | The category ID of the product |
price_look_up_code | String? | Nullable. A String value |
code | String? | Nullable. A custom code. You can set this to your own code and use this field to map your products to Bakeronline products |
seo | company.SeoData | Optional. Product page SEO metatags |
origin | [Language: String] | Optional. Origin of the product |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 19789
[
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": true,
"active": false,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 14,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 18,
"maximum": 16,
"maximum_day": 12,
"maximum_week": 12
},
"weight": {
"minimum": 14,
"maximum": 19,
"maximum_day": 17,
"maximum_week": 19,
"suggested": 11
},
"persons": {
"minimum": 17,
"maximum": 12
}
},
"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
}
],
"product_prices": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 19,
"id": 14,
"order": 16,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 17,
"id": 11,
"order": 14,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 11,
"id": 11,
"order": 13,
"price_look_up_code": "...",
"code": "..."
}
],
"option_sets": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 14,
"code": "...",
"multiple_choice": false,
"choose_amount": false,
"min_different_options": 10,
"max_different_options": 12,
"min_amount_options": 18,
"max_amount_options": 11
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 19,
"code": "...",
"multiple_choice": false,
"choose_amount": true,
"min_different_options": 15,
"max_different_options": 10,
"min_amount_options": 10,
"max_amount_options": 15
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": false,
"id": 16,
"code": "...",
"multiple_choice": false,
"choose_amount": true,
"min_different_options": 10,
"max_different_options": 16,
"min_amount_options": 12,
"max_amount_options": 13
}
],
"id": 17,
"allergens": [
{
"id": 12,
"name": "Lupine"
},
{
"id": 17,
"name": "Celery"
},
{
"id": 14,
"name": "Mollusc"
}
],
"category_id": 15,
"price_look_up_code": "...",
"code": "...",
"seo": {
"title": {
"en": "Ullam libero velit quod cupiditate aliquid quisquam et possimus ea."
},
"description": {
"en": "Sit odit non eos deserunt dolorem minus. Et asperiores placeat quaerat asperiores sit. Est eum eos vel consectetur et vero."
},
"url": {
"en": "http://www.murazik.com/non-architecto-temporibus-voluptas-sit-eveniet-consequatur"
}
},
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
}
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": true,
"only_order_in_store": true,
"price_type": "PER_UNIT",
"price": 16,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 19,
"maximum": 13,
"maximum_day": 14,
"maximum_week": 19
},
"weight": {
"minimum": 12,
"maximum": 12,
"maximum_day": 15,
"maximum_week": 14,
"suggested": 11
},
"persons": {
"minimum": 14,
"maximum": 15
}
},
"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": false
},
{
"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
}
],
"product_prices": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 10,
"id": 11,
"order": 18,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 13,
"id": 16,
"order": 18,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 13,
"id": 16,
"order": 14,
"price_look_up_code": "...",
"code": "..."
}
],
"option_sets": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 10,
"code": "...",
"multiple_choice": true,
"choose_amount": true,
"min_different_options": 16,
"max_different_options": 10,
"min_amount_options": 16,
"max_amount_options": 13
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": false,
"id": 12,
"code": "...",
"multiple_choice": true,
"choose_amount": true,
"min_different_options": 19,
"max_different_options": 16,
"min_amount_options": 19,
"max_amount_options": 16
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 10,
"code": "...",
"multiple_choice": true,
"choose_amount": false,
"min_different_options": 14,
"max_different_options": 16,
"min_amount_options": 16,
"max_amount_options": 13
}
],
"id": 11,
"allergens": [
{
"id": 17,
"name": "Peanut"
},
{
"id": 16,
"name": "Fish"
},
{
"id": 12,
"name": "Lupine"
}
],
"category_id": 14,
"price_look_up_code": "...",
"code": "...",
"seo": {
"title": {
"en": "Delectus qui non temporibus animi nihil illum vel atque voluptatibus."
},
"description": {
"en": "Omnis esse pariatur quas tempore cupiditate similique a. Quia aut distinctio cupiditate ipsam eaque ducimus blanditiis. Et velit sit ea perferendis. Ut dolor assumenda et nulla et accusamus."
},
"url": {
"en": "http://leuschke.info/dolores-voluptas-cupiditate-aut-dolorum-a-rem-praesentium"
}
},
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
}
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": true,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 19,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 16,
"maximum": 15,
"maximum_day": 13,
"maximum_week": 16
},
"weight": {
"minimum": 15,
"maximum": 12,
"maximum_day": 13,
"maximum_week": 10,
"suggested": 16
},
"persons": {
"minimum": 13,
"maximum": 18
}
},
"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": false
}
],
"product_prices": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 17,
"id": 17,
"order": 17,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 19,
"id": 17,
"order": 12,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 15,
"id": 16,
"order": 14,
"price_look_up_code": "...",
"code": "..."
}
],
"option_sets": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": false,
"id": 18,
"code": "...",
"multiple_choice": false,
"choose_amount": false,
"min_different_options": 13,
"max_different_options": 14,
"min_amount_options": 19,
"max_amount_options": 10
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 16,
"code": "...",
"multiple_choice": true,
"choose_amount": true,
"min_different_options": 12,
"max_different_options": 16,
"min_amount_options": 15,
"max_amount_options": 16
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 14,
"code": "...",
"multiple_choice": true,
"choose_amount": true,
"min_different_options": 16,
"max_different_options": 18,
"min_amount_options": 17,
"max_amount_options": 12
}
],
"id": 18,
"allergens": [
{
"id": 13,
"name": "Fish"
},
{
"id": 14,
"name": "Sulphite"
},
{
"id": 18,
"name": "Peanut"
}
],
"category_id": 19,
"price_look_up_code": "...",
"code": "...",
"seo": {
"title": {
"en": "Quae aut qui sed beatae atque."
},
"description": {
"en": "Aut blanditiis ut sint deleniti. Qui atque rerum odio corrupti quae qui et veniam. Quae voluptatem a ad dolorum voluptate in. Non repellendus maxime eum quod quis corrupti."
},
"url": {
"en": "https://www.kirlin.com/esse-inventore-aut-est-eos"
}
},
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
}
}
]