Menu Items Integration
Overview
The Menu Items API in the Grubtech platform is designed to manage and interact with the various aspects of a restaurant's menu.
- The Upload Menu Items endpoint is used to create or update menu items, along with their associated modifiers, for a specific store.
- The Get Menu Items endpoint is used to retrieve menu items and modifiers in bulk.
- The Update Prices in Bulk endpoint is designed to enable the efficient updates of prices for multiple menu items and modifiers in a single request.
- The Update Item Availability endpoint is used to mark items or modifiers as available or unavailable in the Grubtech Platform.
- The Get Status of a Specific Request endpoint is used to retrieve the current status of a particular request to create or update an item or modifier or for bulk price updates.
Menu Items Flow
Upload Menu Items
Purpose: Create or update menu items and their associated modifiers for a specific store.
Request: Send a request with the details of the menu items and modifiers.
Processing: The server processes the request and either creates new items/modifiers or updates existing ones.
Response: The server acknowledges the request. Since this is a sync process, the response is sent to your callback URL or you can retrieve the status by making a specific request for the item with the request_id.
Update Item Availability
Purpose: Mark items, modifiers or stores as available or unavailable in the system.
Request: Send a request specifying the items, modifiers or stores and their new availability status.
Processing: The server processes the request and updates the availability status of the specified items/modifiers.
Response: The server responds with the status of the availability update.
Get Menu Items
Purpose: Retrieve menu items and modifiers in bulk for a specific store created on the Grubtech platform.
Request: Send a request to get the details of all menu items and modifiers.
Processing: The server gathers the required data.
Response: The server responds with a list of menu items and their associated modifiers.
Update Prices in Bulk
Purpose: Update prices for multiple menu items and modifiers in a single request.
Request: Send a request with the new prices for multiple items and modifiers.
Processing: The server processes the request and updates the prices accordingly.
Response: The server acknowledges the request. Since this is a sync process, the response is sent to your callback URL or you can retrieve the status by making a specific request for the item with the request_id.
Get Status of a Specific Request
Purpose: Retrieve the current status of a specific request to create, update an item or modifier or for bulk price updates.
Request: Send a request with the specific request_id that you mentioned in the upload step.
Processing: The server fetches the status of the specific request.
Response: The server responds with the current status, which could be "processing," "completed," "failed," etc.
APIs
The Upload Menu Items endpoint is used to create or update menu items, along with their associated modifiers, for a specific store. If the ID you're sending has not been specified in the Grubtech Platform before, then this endpoint will create a new menu item. If you're sending an ID that already exists in Grubtech and was created before, then this same endpoint is used to update the specific menu item. This endpoint helps you to maintain accurate and up-to-date menu item details.
Use this endpoint to:
- Create a New Menu Item: When introducing a new dish, you can create it on Grubtech platform.
- Update an Existing Menu Item: When there is a price change, a menu description to change, or any other update that is required for an existing menu item.
Create New Menu Items
You can create menu items using the Upload Menu Items endpoint. Once the menu items are created, you can login to Grub Center and select these menu items to create a menu. Images and translations for the menu items can be added from your POS.
Update Existing Menu Items
This endpoint is used to update menu items and modifiers separately. If you want to create a menu, you must create it manually in Grub Center using the imported menu items.
The request payload for this endpoint is a JSON object that contains details about the menu items and their modifiers. The payload can include multiple menu items, each with its own set of properties and modifiers.
This endpoint ensures that the menu items and its modifiers are accurately represented in the system, providing a seamless experience for both you and your customers.
The Update Prices in Bulk endpoint is designed to update prices for multiple menu items and modifiers in a single request. This endpoint streamlines the process of price management by allowing bulk updates rather than requiring individual updates for each item or modifier.
In this endpoint, you will find a callbackUrl. It is used when you push the price of items to Grubtech. We then send the status of that request back to you with the details of whether the prices pushed succeeded or failed.
If the callbackUrl is not sent, you can request the specific status for that bulk price update. In that case, you can use the Get status of a specific request end point.
Use this endpoint to:
- Perform Frequent Price Updates - Useful if you need to frequently update your pricing due to changes in costs, promotions, or market conditions.
- Perform Bulk Price Updates - Ideal for seasonal price adjustments, menu overhauls, or bulk price updates following changes in your strategy or market positioning.
Key Features
Bulk Update Capability
- Allows you to update prices for multiple menu items and modifiers in one API call.
- Saves time and reduces the complexity of managing a large menu with numerous items and modifiers.
Input Data Structure
- The request body typically includes a list of items and modifiers, each with their unique identifier and the new price to be set.
- This can be formatted in JSON, where each item or modifier is represented by an object containing its ID and the new price.
Validation
- The endpoint validates the provided data to ensure that all specified items and modifiers exist.
- It checks for completeness and correctness of the data before applying any changes.
Atomicity
- Process updates one by one where two updates are successful, and one may fail.
- If there is an error with any item or modifier, the request may fail one by one, prompting the user to correct the issues and retry.
Response
- A callbackUrl is used when you push the price of items to the Grubtech Platform. Grubtech then sends the status of that request back to you with the details of whether the prices pushed succeeded or failed.
This endpoint greatly simplifies the management of menu pricing, providing a robust and efficient solution for businesses that require frequent or large-scale price updates.
The Get Menu Items endpoint is used to retrieve menu items and modifiers in bulk for restaurants. This endpoint allows you to retrieve a comprehensive list of all the menu items and its associated modifiers for a specific store or location.
Use this endpoint to:
- Manage Orders - Retrieves the menu items and updates the kitchen display with the order.
Key Features
- Retrieve Menu Items
This endpoint can be used to fetch the details of all menu items offered by a specific store. This includes:- ID
- Name
- Description
- Classifications
- Image Url
- Price Info
- Fetch Modifiers
Modifiers are options or customizations that can be applied to menu items. The endpoint also retrieves information about these modifiers, which can include:- Size options (e.g., small, medium, large)
- Add-ons (e.g., extra cheese, bacon)
- Customizable attributes (e.g., cooking preferences, sauce types)
The Get Menu Items endpoint provides detailed information about menu items and modifiers and enhances your experience by allowing this end point to be used as per the logic in your platform.
The Update Item Availability endpoint is used to mark items or modifiers as available or unavailable in the Grubtech platform. It helps to keep track of the current status of items or modifiers when you submit accurate availability information.
Once an item is marked unavailable on your POS system and submitted to Grubtech, it will be marked as unavailable on the Grubtech platform. This can be done for multiple locations in a single API call. At this point Grubtech sends a notification to connect aggregators.
Use this endpoint to:
- Manage Inventory: A store manager can update the availability of items based on stock levels.
- Manage Menus: A restaurant can mark certain dishes or modifiers (like extra cheese) as unavailable when they run out.
This endpoint ensures that users always see the most up-to-date information regarding the availability of items and modifiers. It helps to prevent customer frustration and maintain operational efficiency.
The Get Status of a Specific Request endpoint is used to retrieve the current status of a particular request for creating, updating an item or modifier and for bulk updates. It is useful for monitoring the progress of requests that may take some time to process or for debugging purposes.
For example, in Upload Menu Items, you will find a call back URL. The callbackUrl is used when you push a set of items to Grubtech. We send the status of that request back to you with the details of whether the items pushed succeeded or failed. If the callbackUrl is not sent, you can request the specific status for that creation, update or bulk price update. In that case you can use the Get status of a specific request end point.
Key Features
- Accepts a Request Identifier: It takes a unique identifier (such as a request ID) that was assigned to the creation or update request when it was originally submitted.
- Retrieves Status Information: It queries the system to retrieve the current status of the request. This could include statuses like "Pending," "In Progress," "Completed," "Failed," etc.
- Returns Status Details: It returns the status information, which may also include additional details such as timestamps, error messages (if any), and other relevant metadata.
This endpoint allows you to check the progress and final outcome of your requests, ensuring you have the necessary information to take further actions if needed.
Updated 6 months ago