#Review feeds
GET /review-feeds/google
Get the Google product review feed for each site: the address to add in Google Merchant Center, how many reviews it carries, how many it leaves out and why, and how many of its products carry the identifiers Google matches reviews by. The feed itself is served at the address, from the widget API.
Requires the reviews:read permission.
Request
curl \
"https://your-store.meisei.app/api/review-feeds/google" \
-H "Authorization: Bearer sk_YOUR_SECRET_KEY"Request
import { client } from "@meisei/api/admin/client"
import { getReviewFeedsGoogle } from "@meisei/api/admin"
client.setConfig({
baseUrl: "https://your-store.meisei.app/api",
headers: { Authorization: "Bearer sk_YOUR_SECRET_KEY" },
})
const { data, error } = await getReviewFeedsGoogle()Request
require "meisei"
meisei = Meisei::Client.new(
secret_key: "sk_YOUR_SECRET_KEY",
base_url: "https://your-store.meisei.app/api",
)
result = meisei.review_feeds.googleRequest
from meisei import Client
meisei = Client(
secret_key="sk_YOUR_SECRET_KEY",
base_url="https://your-store.meisei.app/api",
)
result = meisei.review_feeds.google()Response
{
"sites": [
{
"id": "A4Ws1igz",
"slug": "string",
"name": "string",
"url": "string"
}
],
"reviewCount": 0,
"minimumReviewCount": 0,
"missingText": 0,
"missingProductLink": 0,
"productCount": 0,
"productsWithGtin": 0,
"productsWithBrandAndMpn": 0
}Response schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sites": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The site's ID.",
"idCodec": "sqid"
},
"slug": {
"type": "string",
"description": "The site's slug."
},
"name": {
"type": "string",
"description": "The site's name, which the feed gives as its publisher."
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The feed's address for this site, to add in Google Merchant Center as a product review source. Null while the organization has no publishable key, which the address carries."
}
},
"required": ["id", "slug", "name", "url"],
"additionalProperties": false
},
"description": "One feed per site, oldest site first. Every site's feed holds the same reviews."
},
"reviewCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many reviews the feed carries: published, rated, with text, of a product with a page."
},
"minimumReviewCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many reviews Google wants in a feed before it shows any of them, counted across the whole catalog."
},
"missingText": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Published, rated reviews left out because they have no text. Google needs words, not just stars."
},
"missingProductLink": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Published, rated reviews with text left out because their product has no storefront link (`url`)."
},
"productCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many products the feed's reviews are about."
},
"productsWithGtin": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many of those products have a GTIN on at least one variant, which is how Google matches best."
},
"productsWithBrandAndMpn": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many of those products have a brand and a manufacturer part number on at least one variant, which Google takes in place of a GTIN."
}
},
"required": [
"sites",
"reviewCount",
"minimumReviewCount",
"missingText",
"missingProductLink",
"productCount",
"productsWithGtin",
"productsWithBrandAndMpn"
],
"additionalProperties": false,
"description": "The organization's Google review feeds."
}