- Posts on Google
- You can now create Posts on Google directly through the API.
- Media Upload
- Photos can now be uploaded directly via the API in addition to the existing URL upload.
- Notifications Filtering/Opt-in
- You can now filter which notifications are sent to pubsub topics. Future notifications will use this mechanism to be opt-in rather than being sent to all users.
- You can now subscribe to real-time notifications for updates to customer reviews.
- A list of attributes to be updated can be provided on Location PATCH calls. Only attributes in the mask will be updated. Providing an empty mask will update all attributes, as with v3.
- Photo Insights
- Two new insight types:
PHOTOS_COUNT_MERCHANT: Count of merchant provided photos on the location
PHOTOS_VIEWS_MERCHANT: Total view count for merchant photos on the location
- Support for User Groups
- Google My Business API now supports User Group type accounts.
Photos, previously a field of
locationobjects, are now a resource under location (
Previously co-owners of accounts and locations were indistinguishable from primary owners through the API (all appeared as
OWNER). Now primary owners will be given the
OWNERrole and other owners will be given the
AccountType.BUSINESSis now named
When using a field mask for updating locations, provide
update_maskin place of the existing
The category message used for
additional_categoriesno longer contains the human-readable form. Users should use the categories service of the Google My Business API to get translated, human-readable category names.
preferredPhotoenum is removed from the
UpdateReviewReplynow uses the
PUTverb rather than
LocationState.can_deletenow indicates if a given location can be deleted via the Google My Business API (previously indicated ability to delete via UI).
- Structured Menus
- You can now add, update, or delete:
Multiple menus on a given location
Include multiple menu sections within a menu
List menu items with name, description, price, and photos
- You can now retrieve location insights and driving metrics through the API.
- You can now subscribe to real-time notifications for new Google Updates.
The previously unused
UrlAttributeValuehave been removed.
SAMEin the deprecated Ownership enum now only applies if the location that this duplicates has the same primary owner. Previously, the behavior was based on a more complex ownership calculation.
- You can now subscribe to real-time notifications for new reviews.
- Maps URLs
- Google Maps URLs are included in location responses allowing users to easily link to Google Maps.
- Location States
- Additional Location States indicating when the listing is published, disabled, pending verification.
- Reopen Flag
canReopenflag indicates permanently closed locations that can be reopened vs. those that cannot.
- Support for URL and Enum attributes.
- Category Endpoint
- Get a list of supported categories by country and language (replaces CSV files).
- You can now retrieve and respond to business reviews through the API.
- Provide additional, category-specific information about locations.
- Find Matching Location
- Find and manually associate existing maps locations with your business location.
- Transfer Location
- New action on
Location :transfer. Allows transferring a location from one account (business or personal) to another.
- Preferred Photo
- Indicate which photo you'd prefer to show up first in Google Maps and Search.
- New Search Filters
- New search filters include
- New Location States
- Location states now also include
- Photo URL Improvements
- The API now accepts photo URLs without an image format suffix.
Photos can now only be updated for locations with a Google+ page (these were accepted and silently dropped before).
category_namefields are now output only. Only use category IDs when setting categories.
Field masks should no longer include the
location.prefix for included fields.
Create/update operations now take the location as the body payload; other parameters are moved to the query string.
You must now specify a
request_idin CreateLocation calls. This ID must be unique for each location; it helps prevent duplicate locations being created in your account. Attempts to create a location where the request ID matches a previously created location simply returns the existing location, and avoids creating a duplicate in your account.
business_hoursin Location has been renamed to