This article covers the process of enabling the menu API for your account and integrating with it. Below is a detailed overview of the onboarding process and launch prerequisites. Please reference this page when planning the integration effort.
The onboarding process consists of three stages:- Setup - account configuration and planning of the development process.
- Development - data feed development and testing.
- Launch - data evaluation before the launch.
Setup
On this stage it is important to confirm that your account on Partner Portal is fully configured and ready to accept data feeds relevant for static menu data. If you have an existing active OwG Redirect or RwG integration to which you are adding the menus metadata, then your existing account will be reused for this integration. In cases with OwG Direct integration on this platform or no integration at all, a new account is created and the access details are shared over email.
Access your account on the Partner Portal and navigate to the dropbox configuration page Configuration > Feeds. There are two dropboxes relevant for menu data feed integration: Generic and Merchants. Please check that both dropboxes have the SSH public key configured. For more information on how to configure SSH keys, see this page.
The
Generic dropbox
can accept various feeds that can follow different data schemas. The feed type
accepting structured menu data is named google.food_menu
and it
is usually enabled for your account by default at the start of your
onboarding. In case you attempt to submit a feed and see this error message -
"Feed processing failed. We ran into an internal problem while parsing your
feed. 'google.food_menu' is not enabled. Please fix and try again.", please reach out to your Google point of contact to enable this feed type.
Lastly, please navigate to the Configuration > Contact Information page and make sure all your contact details are up to date.
Development
The development stage contains the main part of the implementation effort - generating and testing the data feeds. Data feeds have to be created and submitted to the target dropbox every day. Feeds submitted in sandbox are expected to start processing within an hour after submission. Production feeds are processed once every day at 12pm in the PST time zone - only the latest submitted feed is taken for processing. Please refer to the data feed specification and samples when working on generating your feeds. Although the specification is presented in protobuf format, we recommend uploading feed files in JSON format, because it is easier to troubleshoot. For that reason the feed samples are also provided in JSON format.
One data feed file can be tested quickly using the feed validator online tool that verifies if that file corresponds to the specification. The tool shows whether the file matches the data schema and if not - it outputs the list of errors. In order to test an entire data feed that consists of multiple files, upload that feed in the sandbox environment and after the ingestion is completed, see the results on the Partner Portal. During the feed ingestion there are additional validation rules applied to test some business logic and the quality of data.
Launch
The launch stage can be initiated after all integration work is complete and the production feed reflects correctly the entire inventory of restaurant menus.
Launch prerequisites
These conditions have to be met for the integration to launch:
- Data feeds are processed in production environment with 0 errors.
- The production data feed contains the full inventory scoped for this integration at the start of this integration.
- The majority of your merchant data matches with Google Maps locations.
- The production feeds passed data quality evaluation.
- The integration meets all Food Menu Policies and Requirements.
Data evaluation
After the production data feeds are being ingested without errors, there may be an internal process to evaluate the quality of menu data. This process aims to find inconsistencies in the data quality, such as non food related content in dish descriptions, mismatch in dish names, prices etc. In case of such findings the feedback will be shared with the development team.