Upload menu
const url = 'https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/menu/upload';const options = { method: 'POST', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"store_id":"example","store_environment":"example","partner_name":"example","super_category":{"name":"example","position":1,"image_url":"example","display_super_category":true,"categories":[{"name":"example","position":1,"image_url":"example","sections":[{"name":"example","position":1,"products":[{"id":"example","name":"example","price":"example","imageUrl":"example","extraImageUrls":["example"],"description":"example","available":true,"attribute_groups":[{"id":"example","name":"example","min":1,"max":1,"collapse":true,"attributes":[{"id":"example","name":"example","available":true,"selected_by_default":false,"price":null}],"multiple_selection":true}]}]}]}]},"super_categories":[{"name":"example","position":1,"image_url":"example","display_super_category":true,"categories":[{"name":"example","position":1,"image_url":"example","sections":[{"name":"example","position":1,"products":[{"id":"example","name":"example","price":"example","imageUrl":"example","extraImageUrls":["example"],"description":"example","available":true,"attribute_groups":[{"id":"example","name":"example","min":1,"max":1,"collapse":true,"attributes":[{"id":"example","name":"example","available":true,"selected_by_default":false,"price":null}],"multiple_selection":true}]}]}]}]}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/menu/upload \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "store_id": "example", "store_environment": "example", "partner_name": "example", "super_category": { "name": "example", "position": 1, "image_url": "example", "display_super_category": true, "categories": [ { "name": "example", "position": 1, "image_url": "example", "sections": [ { "name": "example", "position": 1, "products": [ { "id": "example", "name": "example", "price": "example", "imageUrl": "example", "extraImageUrls": [ "example" ], "description": "example", "available": true, "attribute_groups": [ { "id": "example", "name": "example", "min": 1, "max": 1, "collapse": true, "attributes": [ { "id": "example", "name": "example", "available": true, "selected_by_default": false, "price": null } ], "multiple_selection": true } ] } ] } ] } ] }, "super_categories": [ { "name": "example", "position": 1, "image_url": "example", "display_super_category": true, "categories": [ { "name": "example", "position": 1, "image_url": "example", "sections": [ { "name": "example", "position": 1, "products": [ { "id": "example", "name": "example", "price": "example", "imageUrl": "example", "extraImageUrls": [ "example" ], "description": "example", "available": true, "attribute_groups": [ { "id": "example", "name": "example", "min": 1, "max": 1, "collapse": true, "attributes": [ { "id": "example", "name": "example", "available": true, "selected_by_default": false, "price": null } ], "multiple_selection": true } ] } ] } ] } ] } ] }'This API endpoint allows users to upload or update the entire menu of a store in Glovo. The process is asynchronous, meaning that the endpoint returns a transaction_id that can be used to track the progress of the menu update process using the Verify menu upload endpoint.
Please note that there is a maximum of five menu updates allowed per day per store address. If this limit is reached, the endpoint will return a status code 429, indicating that too many requests have been made. For small updates to products and attributes, it is recommended to use individual or bulk endpoints.
In the event that the Glovo system encounters an error while updating the menu, no changes will be made to avoid inconsistencies.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”The model for menu update request
object
The unique identifier of the store
The store environment. Use ‘prod’
The name of the partner
A “super-category” is the highest level of categorization in the Glovo menu.
object
The name of the super category
The position of the super category in the menu
The URL of the image associated with the super category. Must use HTTPS schema
Whether or not the super category should be displayed
The list of categories associated with the super category
A category is a secondary level of organization in the Glovo menu, and it is mandatory to have at least one collection in your menu. A collection is composed of sections and must have at least one section to contain other items. Examples of collections include beverages, burgers, salads, desserts, and pasta.
object
The name of the category
The position of the category in the menu
The URL of the category image. Must use HTTPS schema
The list of sections within the category
Model for a section component of the menu.
object
The name of the section.
The position of the section.
List of products belonging to this section.
A product is a fundamental element of the Glovo menu, typically representing a physical item available in a store. However, the store has the freedom to decide what it wants to offer as products. Each product is associated with a section of the menu.
object
The ID of the product.
The name of the product.
The price of the product.
The URL of the main image of the product. Must use HTTPS schema.
A list of URLs of additional images of the product. Must use HTTPS schema.
The description of the product.
Whether the product is currently available.
Example
trueA list of attribute groups of the product.
Attribute groups allow grouping similar customizations into generic sets, each of which can have a minimum and maximum number of options for the customer. For example, attribute groups can be used to categorize toppings, such as sauces, including mayonnaise, mustard, or ketchup, or beverages, such as water, cola, or lemonade.
object
The ID of the group
The name of the group
The minimum number of attributes that can be selected
The maximum number of attributes that can be selected
Whether the group should be collapsed or expanded by default
The list of attributes for this group
Products can be customized in various ways, such as adding mayonnaise, including a beverage, or adding extra meat, and each of these customizations is known as an attribute. Products are not required to have attributes, but each attribute can have a different impact on the price. Attribute groups are created to group similar attributes together.
object
The ID of the attribute
The name of the attribute
Whether the attribute is available
Whether the attribute is selected by default
The price of the attribute
Whether multiple attributes can be selected
The list of super categories of the menu update
A “super-category” is the highest level of categorization in the Glovo menu.
object
The name of the super category
The position of the super category in the menu
The URL of the image associated with the super category. Must use HTTPS schema
Whether or not the super category should be displayed
The list of categories associated with the super category
A category is a secondary level of organization in the Glovo menu, and it is mandatory to have at least one collection in your menu. A collection is composed of sections and must have at least one section to contain other items. Examples of collections include beverages, burgers, salads, desserts, and pasta.
object
The name of the category
The position of the category in the menu
The URL of the category image. Must use HTTPS schema
The list of sections within the category
Model for a section component of the menu.
object
The name of the section.
The position of the section.
List of products belonging to this section.
A product is a fundamental element of the Glovo menu, typically representing a physical item available in a store. However, the store has the freedom to decide what it wants to offer as products. Each product is associated with a section of the menu.
object
The ID of the product.
The name of the product.
The price of the product.
The URL of the main image of the product. Must use HTTPS schema.
A list of URLs of additional images of the product. Must use HTTPS schema.
The description of the product.
Whether the product is currently available.
Example
trueA list of attribute groups of the product.
Attribute groups allow grouping similar customizations into generic sets, each of which can have a minimum and maximum number of options for the customer. For example, attribute groups can be used to categorize toppings, such as sauces, including mayonnaise, mustard, or ketchup, or beverages, such as water, cola, or lemonade.
object
The ID of the group
The name of the group
The minimum number of attributes that can be selected
The maximum number of attributes that can be selected
Whether the group should be collapsed or expanded by default
The list of attributes for this group
Products can be customized in various ways, such as adding mayonnaise, including a beverage, or adding extra meat, and each of these customizations is known as an attribute. Products are not required to have attributes, but each attribute can have a different impact on the price. Attribute groups are created to group similar attributes together.
object
The ID of the attribute
The name of the attribute
Whether the attribute is available
Whether the attribute is selected by default
The price of the attribute
Whether multiple attributes can be selected
Responses
Section titled “Responses”Status check result
object
Examplegenerated
{ "status": "example", "transaction_id": "example", "message": "example", "detail": "example"}Internal error
Examplegenerated
example