Cómo migrar los informes desde Content API for Shopping

Puedes usar la API de Merchant Reports para obtener información sobre tus productos, su rendimiento y su entorno competitivo en Google a través de la vista de datos que ofrece.

Puedes usar la API de Merchant Reports para hacer lo siguiente:

A continuación, se explica cómo puedes integrar la API de Merchant Reports con tu implementación existente de la Content API for Shopping.

Solicitudes

Usa el siguiente formato de URL de solicitud para la API de Merchant Reports:

POST https://merchantapi.googleapis.com/reports/v1/{PARENT}/reports:search

Aquí tienes una comparación de ejemplo de la Content API for Shopping con la API de Merchant Reports para las solicitudes search:

Content API API de Merchant
URL https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/reports/search https://merchantapi.googleapis.com/reports/v1/{PARENT}/reports:search
Identificadores {MERCHANT_ID} {PARENT}

Métodos

Puedes consultar la API de Merchant Reports llamando al método ReportService.Search.

Vistas

En la API de Merchant, los nombres de las tablas se cambian de CamelCase a snake_case.

MerchantPerformanceView ahora es product_performance_view

Aquí tienes una asignación entre los nombres de las tablas en la Content API for Shopping y la API de Merchant:

Content API API de Merchant
MerchantPerformanceView product_performance_view
ProductView product_view
PriceCompetitivenesProductView price_competitiveness_product_view
PriceInsightsProductView price_insights_product_view
BestSellersBrandView best_sellers_brand_view
BestSellersProductClusterView best_sellers_product_cluster_view
CompetitiveVisibilityCompetitorView competitive_visibility_competitor_view
CompetitiveVisibilityTopMerchantView competitive_visibility_top_merchant_view
CompetitiveVisibilityBenchmarkView competitive_visibility_benchmark_view

En la API de Merchant, ya no es necesario especificar un prefijo de campo, por ejemplo, segments.offer_id. En su lugar, solo usa el nombre del campo, offer_id.

A continuación, se muestra una comparación de ejemplo de las consultas en la API de Content para Shopping y la API de Merchant:

Content API API de Merchant
   SELECT
     segments.offer_id,
     metrics.clicks
   FROM MerchantPerformanceView
   WHERE segments.date DURING LAST_7_DAYS
   
   SELECT
     offer_id,
     clicks
   FROM product_performance_view
   WHERE date DURING LAST_7_DAYS
   

Esta es una respuesta de ejemplo:

Content API API de Merchant
{
  "segments":{
    "offerId":"abc"
  },
  "metrics":{
    "clicks":"123"
  }
}
{
  "productPerformanceView" : {
    "offerId": "abc",
    "clicks": "123"
  }
}

El nombre de la tabla se puede usar como prefijo de campo. Por ejemplo, se aceptan offer_id y product_performance_view.offer_id en la consulta a la API de Merchant.

Rendimiento

Estos son los cambios en la vista de rendimiento de la API de Merchant Reports:

Content API API de Merchant Descripción
segments.program: string marketing_method: string El segmento program se reemplaza por un nuevo campo marketing_method. Consulta los nuevos valores de marketing method para obtener más detalles.
metrics.ctr: doble clickThroughRate: doble Se cambió el nombre de la métrica ctr por clickThroughRate.
metrics.conversionValueMicros: número entero
segments.currencyCode: cadena
conversionValue: {
object (Price)
}
Los campos de importe en micros y de moneda se combinan en un solo campo con el tipo Price
metrics.orders,
metrics.orderedItems,
…
No se permite Las métricas de Comprar con Google no son compatibles con la API de Merchant Reports

Nuevos valores de métodos de marketing

Esta es la asignación entre los valores de segments.program y marketing_method:

Content API API de Merchant
SHOPPING_ADS ADS
FREE_PRODUCT_LISTING ORGANIC
FREE_LOCAL_PRODUCT_LISTING ORGANIC
BUY_ON_GOOGLE_LISTING No se permite

Producto

Estos son los cambios en la vista de productos de la API de Merchant Reports:

Content API API de Merchant Descripción
productView.id: string id: string El formato del campo cambia de channel:language:targetCountry:offerId a
channel~language~feedLabel~offerId
productView.priceMicros: número entero
productView.currencyCode: cadena
price: {
object (Price)
}
Los campos de importe en micros y de moneda se combinan en un solo campo con el tipo Price
productView.aggregated_destination_status: string aggregated_reporting_context_status: string Se cambió el nombre del campo aggregated_destination_status a aggregated_reporting_context_status, pero los valores no cambiaron.
productView.item_issues: [
{
object (ItemIssue)
}
]
item_issues: [
{
object (ItemIssue)
}
]
Cambió la definición de ItemIssue
No se permite feedLabel: string Se introduce el campo feedLabel

Información sobre precios

A continuación, se indican los cambios en la vista de información sobre precios en la API de Merchant Reports:

Content API API de Merchant Descripción
productView.id: string id: string El formato del campo cambia de channel:language:targetCountry:offerId a channel~language~feedLabel~offerId
productView.priceMicros: número entero
productView.currencyCode: cadena
price: {
object (Price)
}
Los campos de importe en micros y de moneda se combinan en un solo campo con el tipo Price
priceInsights.suggestedPriceMicros: número entero
priceInsights.suggestedPriceCurrencyCode: cadena
suggestedPrice: {
object (Price)
}
Los campos de importe en micros y de moneda se combinan en un solo campo con el tipo Price
priceInsights.predictedGrossProfitChangeFraction: double
priceInsights.predictedMonthlyGrossProfitChangeMicros: integer
priceInsights.predictedMonthlyGrossProfitChangeCurrencyCode: string
No se permite Los campos relacionados con el cambio en las ganancias brutas no se admiten en la API de Merchant Reports

Competitividad de precios

A continuación, se indican los cambios en la vista de competitividad de los precios en la API de Merchant Reports:

Content API API de Merchant Descripción
productView.id: string id: string El formato del campo cambia de channel:language:targetCountry:offerId a channel~language~feedLabel~offerId
productView.priceMicros: número entero
productView.currencyCode: cadena
price: {
object (Price)
}
Los campos de importe en micros y de moneda se combinan en un solo campo con el tipo Price
priceCompetitiveness.countryCode: string reportCountryCode: string Se cambió el nombre del campo countryCode por reportCountryCode
priceCompetitiveness.benchmarkPriceMicros: número entero
priceCompetitiveness.benchmarkPriceCurrencyCode: cadena
benchmarkPrice: {
object (Price)
}
Los campos de importe en micros y de moneda se combinan en un solo campo con el tipo Price

Los más vendidos

Estos son los cambios en las vistas de los más vendidos en la API de Merchant Reports:

Content API API de Merchant Descripción
bestSellers.countryCode: string reportCountryCode: string Se cambió el nombre del campo countryCode por reportCountryCode
bestSellers.categoryId: int reportCategoryId: int Se cambió el nombre del campo categoryId por reportCategoryId

Visibilidad respecto de la competencia

A continuación, se indican los cambios en las vistas de visibilidad competitiva en la API de Merchant Reports:

Content API API de Merchant Descripción
competitiveVisibility.countryCode: string reportCountryCode: string Se cambió el nombre del campo countryCode por reportCountryCode
competitiveVisibility.categoryId: número entero reportCategoryId: número entero Se cambió el nombre del campo categoryId por reportCategoryId