Method: merchantsupport.renderproductissues

Provide a list of issues for merchant's product with a support content and available actions. This content and actions are meant to be rendered and shown in third-party applications.

HTTP request

POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/merchantsupport/renderproductissues/{productId}

Path parameters

Parameters
merchantId

string (int64 format)

Required. The ID of the account that contains the product.

productId

string

Required. The REST_ID of the product to fetch issues for.

Query parameters

Parameters
languageCode

string

Optional. The IETF BCP-47 language code used to localize support content. If not set, the result will be in default language en-US.

timeZone

string

Optional. The IANA timezone used to localize times in support content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC.

Request body

The request body contains an instance of RenderProductIssuesRequestPayload.

Response body

Response containing support content and actions for listed product issues.

If successful, the response body contains data with the following structure:

JSON representation
{
  "issues": [
    {
      object (ProductIssue)
    }
  ],
  "alternateDisputeResolution": {
    object (AlternateDisputeResolution)
  }
}
Fields
issues[]

object (ProductIssue)

List of issues for a given product.

This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered.

alternateDisputeResolution
(deprecated)

object (AlternateDisputeResolution)

Alternate Dispute Resolution (ADR) is deprecated. Use prerenderedOutOfCourtDisputeSettlement instead.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/content

For more information, see the OAuth 2.0 Overview.

RenderProductIssuesRequestPayload

The payload for configuring how the content should be rendered.

JSON representation
{
  "contentOption": enum (ContentOption),
  "userInputActionOption": enum (UserInputActionRenderingOption)
}
Fields
contentOption

enum (ContentOption)

Optional. How the detailed content should be returned. Default option is to return the content as a pre-rendered HTML text.

userInputActionOption

enum (UserInputActionRenderingOption)

Optional. How actions with user input form should be handled. If not provided, actions will be returned as links that points merchant to Merchant Center where they can request the action.

ProductIssue

An issue affecting specific product.

JSON representation
{
  "title": string,
  "impact": {
    object (ProductIssueImpact)
  },
  "actions": [
    {
      object (Action)
    }
  ],

  // Union field content can be only one of the following:
  "prerenderedContent": string
  // End of list of possible types for union field content.

  // Union field out_of_court_dispute_settlement can be only one of the
  // following:
  "prerenderedOutOfCourtDisputeSettlement": string
  // End of list of possible types for union field
  // out_of_court_dispute_settlement.
}
Fields
title

string

Title of the issue.

impact

object (ProductIssueImpact)

Clarifies the severity of the issue.

The summarizing message, if present, should be shown right under the title for each issue. It helps merchants to quickly understand the impact of the issue.

The detailed breakdown helps the merchant to fully understand the impact of the issue. It can be rendered as dialog that opens when the merchant mouse over the summarized impact statement.

Issues with different severity can be styled differently. They may use a different color or icon to signal the difference between ERROR, WARNING and INFO.

actions[]

object (Action)

A list of actionable steps that can be executed to solve the issue. An example is requesting a re-review or providing arguments when merchant disagrees with the issue.

Actions that are supported in (your) third-party application can be rendered as buttons and should be available to merchant when they expand the issue.

Union field content. Detailed content of the issue. Should be shown to the merchant when they expand the issue. The form in which the content is returned is specified with the content option request field. content can be only one of the following:
prerenderedContent

string

Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content.

Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: div, span, p, a, ul, li, table, tr, td. For example, you can use DOMPurify.

CSS classes:

  • issue-detail - top level container for the detail of the issue
  • callout-banners - section of the issue-detail with callout banners
  • callout-banner - single callout banner, inside callout-banners
  • callout-banner-info - callout with important information (default)
  • callout-banner-warning - callout with a warning
  • callout-banner-error - callout informing about an error (most severe)
  • issue-content - section of the issue-detail, contains multiple content-element
  • content-element - content element such as a list, link or paragraph, inside issue-content
  • root-causes - unordered list with items describing root causes of the issue, inside issue-content
  • root-causes-intro - intro text before the root-causes list, inside issue-content
  • segment - section of the text, span inside paragraph
  • segment-attribute - section of the text that represents a product attribute, for example 'image_link'
  • segment-literal - section of the text that contains a special value, for example '0-1000 kg'
  • segment-bold - section of the text that should be rendered as bold
  • segment-italic - section of the text that should be rendered as italic
  • tooltip - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class tooltip-text and is intended to be shown in a mouse over dialog. If the style is not used, the tooltip-text section would be shown on a new line, after the main part of the text.
  • tooltip-text - marks a section of the text within a tooltip, that is intended to be shown in a mouse over dialog.
  • tooltip-icon - marks a section of the text within a tooltip, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a br tag, that is separating the main text and the tooltip text when the style is not used.
  • tooltip-style-question - the tooltip shows helpful information, can use the '?' as an icon.
  • tooltip-style-info - the tooltip adds additional information fitting to the context, can use the 'i' as an icon.
  • content-moderation - marks the paragraph that explains how the issue was identified.
  • list-intro - marks the paragraph that contains an intro for a list. This paragraph will be always followed by a list.
  • new-element - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class.

Union field out_of_court_dispute_settlement. Out-of-court dispute settlement (ODS) contains a link to a page where merchant can bring their appeal to an external body. It may contains a detailed instructions and any values needed for merchant to proceed with their request.

The ODS is a part of the EU's Digital Service ACT (DSA). If present, it should be shown to the merchant.

The ODS may differ for individual issues and thus it should be by default shown in the detail of the issue. It could be shown next to actions for the issue.

In some cases the ODS could be the same for all issues in the list. If the values for individual issues do not differ, then the ODS could be shown only once. For example under the list with issues. This is an optional UX improvement. If values differ, then ODS needs to be shown in details of individual issues. out_of_court_dispute_settlement can be only one of the following:

prerenderedOutOfCourtDisputeSettlement

string

Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet.

Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: div, span, p, a, ul, li, table, tr, td. For example, you can use DOMPurify.

CSS classes:

  • ods-section* - wrapper around the out-of-court dispute resolution section
  • ods-description* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link.
  • ods-param* - wrapper around the header-value pair for parameters that merchant may need to provide during the ODS process.
  • ods-routing-id* - ods param for the Routing ID.
  • ods-reference-id* - ods param for the Routing ID.
  • ods-param-header* - header for the ODS parameter
  • ods-param-value* - value of the ODS parameter. This value should be rendered in a way that it is easy for merchants to identify and copy.
  • segment - section of the text, span inside paragraph
  • segment-attribute - section of the text that represents a product attribute, for example 'image_link'
  • segment-literal - section of the text that contains a special value, for example '0-1000 kg'
  • segment-bold - section of the text that should be rendered as bold
  • segment-italic - section of the text that should be rendered as italic
  • tooltip - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class tooltip-text and is intended to be shown in a mouse over dialog. If the style is not used, the tooltip-text section would be shown on a new line, after the main part of the text.
  • tooltip-text - marks a section of the text within a tooltip, that is intended to be shown in a mouse over dialog.
  • tooltip-icon - marks a section of the text within a tooltip, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a br tag, that is separating the main text and the tooltip text when the style is not used.
  • tooltip-style-question - the tooltip shows helpful information, can use the '?' as an icon.
  • tooltip-style-info - the tooltip adds additional information fitting to the context, can use the 'i' as an icon.

ProductIssueImpact

Overall impact of product issue.

JSON representation
{
  "message": string,
  "severity": enum (Severity),
  "breakdowns": [
    {
      object (Breakdown)
    }
  ]
}
Fields
message

string

Optional. Message summarizing the overall impact of the issue. If present, it should be rendered to the merchant. For example: "Limits visibility in France"

severity

enum (Severity)

The severity of the issue.

breakdowns[]

object (Breakdown)

Detailed impact breakdown. Explains the types of restriction the issue has in different shopping destinations and territory. If present, it should be rendered to the merchant. Can be shown as a mouse over dropdown or a dialog. Each breakdown item represents a group of regions with the same impact details.