Tag Archives: content_api

Important changes to Google Contact Policy for Merchant Center

Following feedback from our merchants, we are relaxing our contact policy website requirements for merchants. Currently we require merchants to publicly display on their website at least two methods of contact information (such as an email, business address, or phone number).

To give merchants more flexibility in the information they share with customers, beginning August 2, 2021, we will require merchants to provide on their website a minimum of one form of customer-facing contact information, for example:
  • A “contact us” form
  • A link to a social media business profile
  • An email address
  • A phone number
In addition to this change, all new merchants will be required to provide their business address and phone number on creation of their Merchant Center account, as well as for any existing accounts that require a review. This private contact information can be entered manually in the Merchant Center user interface or via Content API for Shopping.

To update the private contact information using Content API for Shopping, provide both the address and phoneNumber fields via the AccountBusinessInformation object (nested under the Account object) using the following methods: Important: Take care when updating existing accounts. Any fields that are not provided to Accounts.update will be deleted from the resource.

Note: If you have made contact information changes to an existing Merchant Center account that has an account-level disapproval, you may need to request an account re-review. See the following article on Understanding account-level enforcement for product data quality violations to find the steps to make the request.
If you require further support implementing this change, please visit the Content API for Shopping forum.

Partial product updates now available in v2.1 of the Content API for Shopping

Today we are launching a new feature in Content API for Shopping v2.1: products.update.
The products.update method allows you to submit a subset of changes for a given product using the Products API. It works similarly to products.insert, but only requires the fields you would like to modify.

Users of inventory.set in Content API v2, will be familiar with the ability to provide updates to price, availability and other limited fields. The products.update method goes one step further and allows you to modify any fields that are mutable with products.insert. Users that are migrating from v2 to v2.1 ahead of the September 30, 2021 sunset date, might find this new functionality useful.

Products.update utilizes the HTTP PATCH method. Here is an example of updating the salePrice using REST:

HTTP request:

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}


Example request body:

{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}

You can also provide product update operations as part of a products.custombatch request. For more examples and use-cases, see the products.update guide in the documentation.

If you require further support using this feature, please visit the Content API for Shopping forum.


Partial product updates now available in v2.1 of the Content API for Shopping

Today we are launching a new feature in Content API for Shopping v2.1: products.update.
The products.update method allows you to submit a subset of changes for a given product using the Products API. It works similarly to products.insert, but only requires the fields you would like to modify.

Users of inventory.set in Content API v2, will be familiar with the ability to provide updates to price, availability and other limited fields. The products.update method goes one step further and allows you to modify any fields that are mutable with products.insert. Users that are migrating from v2 to v2.1 ahead of the September 30, 2021 sunset date, might find this new functionality useful.

Products.update utilizes the HTTP PATCH method. Here is an example of updating the salePrice using REST:

HTTP request:

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}


Example request body:

{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}

You can also provide product update operations as part of a products.custombatch request. For more examples and use-cases, see the products.update guide in the documentation.

If you require further support using this feature, please visit the Content API for Shopping forum.


Reminder: Using v2.0 of the Content API for Shopping with new accounts ends on April 30, 2021

In March, we announced that beginning April 30, 2021 we will no longer allow new merchant accounts onto v2.0 of the Content API for Shopping as part of the sunset process. With less than two weeks to go until the April deadline, here is a quick reminder of the details.

What do I need to know?
  • This account restriction will not impact users accessing new sub-accounts via an existing multi-client account (MCA), provided that MCA has been actively making v2.0 requests.
  • New accounts using v2.1 of the Content API for Shopping will not be affected.
  • The sunset date for existing merchant accounts actively using v2.0 is September 30, 2021.
What do I need to do?
  • Migrate to v2.1 of the Content API for Shopping in order to continue interacting with new merchant accounts after April 30, 2021.
  • If you are concerned you won’t be able to meet the April deadline, please fill out this form to request an exemption.
If you have any questions or issues during migration, contact your Google representative for Merchant Center programs, or ask questions in the Content API for Shopping forum.

Sunset grace period for existing v2 users of the Content API for Shopping

As we’ve previously announced, we will stop supporting legacy v2.0 of the Content API for Shopping in favor of v2.1, which has been available since March 2019.

As this has been a difficult year for all of us, in order to provide you ample time to migrate to v2.1 we will be extending the sunset date for existing merchant accounts actively using v2.0 to September 30, 2021. However, we will not allow new merchant accounts onto v2.0 after April 30, 2021. The account restrictions will not impact users accessing new sub-accounts via an existing multi-client account (MCA), provided that MCA has been actively making v2.0 requests.

We will publish another blog post in the coming weeks with a process for requesting an exemption to add new accounts to your v2.0 integration after April 30, 2021.

Throughout this grace period, we will continue to provide support for your efforts to migrate to v2.1. We strongly encourage you to migrate to v2.1 as soon as possible.

What do I need to know?
In March 2019, we released version 2.1 of the Content API for Shopping with major improvements to the API management experience for Merchant Center programs, including: See the complete list of changes in the release notes and the migration guide to help with the transition.

If you have any questions or issues during migration, contact your Google representative for Merchant Center programs, or ask questions in the Content API for Shopping forum.

What do I need to do?
Migrate to v2.1 of the Content API as soon as possible.

Changes to Content API request validation

What’s changing?

The Content API for Shopping will gradually roll out improvements to request validation from January 1, 2021 to February 15, 2021. These changes will be applied to a growing percentage of requests during that time, reaching 100% by February 15, 2021. The validation improvements will ensure that certain requests that are not in the proper format result in an error instead of having the Content API attempt to infer the request's intent. As long as you are submitting the proper type and structure for each field, you will not be affected by this change.

The following sections describe two examples of incorrectly formatted requests that may fail after January 1st, 2021. If your requests start to fail after January 1st, 2021, please refer to the error message returned and correct the formatting issue.

Example: Providing an invalid structure for a repeated field

This error applies to providing any invalid type for a repeated field, such as providing a list of objects instead of a list of strings, or vice versa.

Example invalid v2.1 request

The following request is invalid because the includedDestinations field requires a list of strings, not a list of objects:

{
"targetCountry": "US",
"offerId": "123",
"contentLanguage": "en",
"channel": "online",
"includedDestinations": [{"destinationName": "Shopping", "intention": "default"}]
}

Example valid v2.1 request

To correct this issue, change the list of objects to a list of strings:

{
"targetCountry": "US",
"offerId": "123",
"contentLanguage": "en",
"channel": "online",
"includedDestinations": ["Shopping", "SurfacesAcrossGoogle"]
}

Other common fields affected by this change

  • v2.1:
    • product.excluded_destinations (a common mistake is providing the v2 format of this field for requests to v2.1)
  • v2:
    • product.destinations (a common mistake is providing the v2.1 format of this field for requests to v2)
    • product.sizes
    • product.additional_image_links
    • product.shipping

Example: Submitting a string that represents a float instead of an integer

This error applies to providing a string containing a floating point number when an integer is required.

Example invalid v2.1 request

The following request is invalid because the sellOnGoogleQuantity requires a string in int64 format, but the string “100.0” is a float:

{
"targetCountry": "US",
"offerId": "123",
"contentLanguage": "en",
"channel": "online",
"sellOnGoogleQuantity": "100.0"
}

Example valid v2.1 request

To correct this issue, change the value to an integer:

{
"targetCountry": "US",
"offerId": "123",
"contentLanguage": "en",
"channel": "online",
"sellOnGoogleQuantity": "100"
}

Other common fields affected by this change

  • v2.1:
    • product.unit_pricing_base_measure.value
  • v2:
    • inventory.sell_on_google_quantity
    • product.unit_pricing_base_measure.value

What do I do?

We recommend that you address any incorrectly formatted requests before January 1st, 2021 to avoid any disruptions to your application.

If you are already submitting the proper type for each field as described in the Content API for Shopping reference docs, no action is required.

Need More Help?

If you have any questions or need assistance, please reach out to us on the forum.

Sunset approaching for v2 of the Content API for Shopping

We are writing to remind you that the Content API for Shopping v2 will sunset on March 29, 2021. On this date, all requests made against v2 of the Content API will fail. Please migrate to v2.1 as soon as possible to ensure your applications are unaffected.

To help with the migration to v2.1, we have prepared the following resources:

  • Migration guide -- Explains how to update your applications for v2.1.
  • Supplemental feeds guide — In v2.1, supplemental feeds replace the v2 inventory service for partial updates to online products.
  • Local inventory service guide — In v2.1, the local inventory service replaces the v2 inventory service for updates to local inventory.
  • Release notes -- Lists all changes and new features added in v2.1, organized by release date.

If you have questions about the migration or encounter challenges that prevent you from migrating, we want to hear from you. Please reach out to us on the forum so we can help.

Use the Content API for Shopping to serve Shopping ads and free listings in multiple countries

What's changed for Shopping ads

In August 2020, we simplified how you use product data across countries. In the past, you needed to submit duplicate products with separate targetCountry values for each country in which you wanted to serve Shopping ads. Now you can simply configure additional countries of sale for each primary feed in Google Merchant Center to serve ads for the same product in multiple countries. You can also add additional countries on a per-product basis by using the shipping field.

What's changed for free product listings

In October 2020, we announced that free listings will soon be available across the world. We also removed the ability to use account-level shipping settings to allow ads and free listings to be served in multiple countries. For more information, see the Merchant Center announcement: Use additional countries to determine your reach.

What you should do

As a result of these recent enhancements, we recommend that you do the following when serving ads and listing your products in multiple countries:

  • Stop submitting duplicate products with separate targetCountry values for each country you want to advertise in.
  • If you want all of the products in your primary feed to be eligible for ads and free listings in multiple countries, add the additional countries to the feed in Merchant Center.
  • If you only want specific products to be eligible for ads and free listings in multiple countries, add the additional countries on the shipping field of each product.

Check out our Content API guide, Targeting Shopping ads and free listings in multiple countries, for examples and additional details.

If you have any questions or need assistance, please reach out to us on the forum.

Content API upgrading authorization scope to "sensitive"

Beginning October 1, 2020, any new Google Cloud app with a unique OAuth 2.0 Client ID used to obtain credentials for the Google Content API scope (https://www.googleapis.com/auth/content) in its projects will need to undergo a Google OAuth verification to avoid an unverified app screen for its users. Users of unverified apps that access the Content API will see warnings and the apps will have limited functionality.

There is no cost for app verification and the process typically takes 3 to 5 business days. For more information about how app verification fits into the broader process of authorizing requests, see our Using OAuth guide.

Apps already using the Content API scope prior to October 1, 2020 are not currently affected by this policy. However, this policy will be applied to all apps at a later date in 2021, and we recommend that all apps undergo the Google OAuth verification process at their earliest convenience to avoid any business interruptions.

For more information about app verification, see OAuth API verification FAQs. If you have any questions or need additional help, please reach out to us on the forum.

Sunset of v2 for the Content API for Shopping

The Content API for Shopping v2 will sunset on March 29, 2021. On this date, all requests made against v2 of the Content API for Shopping will fail. Please migrate to v2.1 as soon as possible to ensure your applications are unaffected.

To help with the migration to v2.1, we have prepared the following resources:
  • Migration guide -- Explains how to update your applications for v2.1
  • Supplemental feeds guide — In v2.1, supplemental feeds replace the v2 inventory service for partial updates to online products.
  • Local inventory service guide — In v2.1, the local inventory service replaces the v2 inventory service for updates to local inventory.
  • Release notes -- Lists all changes and new features added in v2.1, organized by release date.
If you have questions about migration, please reach out to us on the forum.