@google-shopping/reports 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -60,11 +60,11 @@ message SearchRequest {
60
60
  // For details on how to construct your query, see the [Query Language
61
61
  // guide](/merchant/api/guides/reports/query-language). For the full list of
62
62
  // available tables and fields, see the [Available
63
- // fields](/merchant/api/reference/rest/reports_v1/accounts.reports).
63
+ // fields][google.shopping.merchant.reports.v1.ReportRow].
64
64
  string query = 2 [(google.api.field_behavior) = REQUIRED];
65
65
 
66
66
  // Optional. Number of `ReportRows` to retrieve in a single page. Defaults to
67
- // 1000. Values above 5000 are coerced to 5000.
67
+ // 1000. Values above 100,000 are coerced to 100,000.
68
68
  int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
69
69
 
70
70
  // Optional. Token of the page to retrieve. If not specified, the first page
@@ -158,6 +158,13 @@ message ProductPerformanceView {
158
158
  // returned.
159
159
  optional string customer_country_code = 4;
160
160
 
161
+ // Store type to which metrics apply. Can be `ONLINE_STORE` or
162
+ // `LOCAL_STORES`. Segment.
163
+ //
164
+ // For `LOCAL_STORES` store type, further segmentation by a specific store
165
+ // is not available.
166
+ optional StoreType.StoreTypeEnum store_type = 32;
167
+
161
168
  // Merchant-provided id of the product. Segment.
162
169
  optional string offer_id = 5;
163
170
 
@@ -266,16 +273,16 @@ message ProductPerformanceView {
266
273
 
267
274
  // Fields available for query in `product_view` table.
268
275
  //
269
- // Products in the current inventory. Products in this table are the same as in
270
- // Products sub-API but not all product attributes from Products sub-API are
271
- // available for query in this table. In contrast to Products sub-API, this
272
- // table allows to filter the returned list of products by product attributes.
273
- // To retrieve a single product by `id` or list all products, Products sub-API
274
- // should be used.
276
+ // Products in the current inventory. Products in this table are the
277
+ // same as a [Product resource in Products
278
+ // sub-API](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.products)
279
+ // but not all product attributes from Products sub-API are available for query
280
+ // in this table. In contrast to Products sub-API, this table allows to filter
281
+ // the returned list of products by product attributes. To retrieve a single
282
+ // product by `id` or list all products, Products sub-API should be used.
275
283
  //
276
284
  // Values are only set for fields requested explicitly in the request's search
277
285
  // query.
278
- //
279
286
  message ProductView {
280
287
  // Item issue associated with the product.
281
288
  message ItemIssue {
@@ -322,11 +329,18 @@ message ProductView {
322
329
  }
323
330
 
324
331
  // Issue severity per reporting context.
332
+ //
333
+ // Reporting contexts included in this list can be restricted using a
334
+ // filter on the `reporting_context` field.
325
335
  repeated IssueSeverityPerReportingContext severity_per_reporting_context =
326
336
  1;
327
337
 
328
338
  // Aggregated severity of the issue for all reporting contexts it affects.
329
339
  //
340
+ // Reporting contexts included in the computation of the aggregated
341
+ // severity can be restricted using a filter on the `reporting_context`
342
+ // field.
343
+ //
330
344
  // **This field can be used for filtering the results.**
331
345
  optional AggregatedIssueSeverity aggregated_severity = 2;
332
346
  }
@@ -355,8 +369,37 @@ message ProductView {
355
369
  optional ItemIssueResolution resolution = 3;
356
370
  }
357
371
 
372
+ // Status of the product for a specific reporting context.
373
+ //
374
+ // Equivalent to
375
+ // [`DestinationStatus`][google.shopping.merchant.products.v1.ProductStatus.DestinationStatus]
376
+ // in Products API.
377
+ message StatusPerReportingContext {
378
+ // Reporting context the status applies to.
379
+ optional google.shopping.type.ReportingContext.ReportingContextEnum
380
+ reporting_context = 1;
381
+
382
+ // List of approved countries in the reporting context, represented in
383
+ // [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format, for
384
+ // example, `US`.
385
+ repeated string approved_countries = 2;
386
+
387
+ // List of disapproved countries in the reporting context, represented in
388
+ // [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format, for
389
+ // example, `US`.
390
+ repeated string disapproved_countries = 3;
391
+
392
+ // List of pending countries in the reporting context, represented in
393
+ // [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format, for
394
+ // example, `US`.
395
+ repeated string pending_countries = 4;
396
+ }
397
+
358
398
  // Status of the product aggregated for all reporting contexts.
359
399
  //
400
+ // Reporting contexts included in the computation of the aggregated status can
401
+ // be restricted using a filter on the `reporting_context` field.
402
+ //
360
403
  // Here's an example of how the aggregated status is computed:
361
404
  //
362
405
  // Free listings | Shopping ads | Status
@@ -372,16 +415,18 @@ message ProductView {
372
415
  // Not specified.
373
416
  AGGREGATED_REPORTING_CONTEXT_STATUS_UNSPECIFIED = 0;
374
417
 
375
- // Product is not eligible or is disapproved for all reporting contexts.
418
+ // Product is not eligible or is disapproved for all reporting contexts and
419
+ // countries.
376
420
  NOT_ELIGIBLE_OR_DISAPPROVED = 1;
377
421
 
378
- // Product's status is pending in all reporting contexts.
422
+ // Product's status is pending in all reporting contexts and countries.
379
423
  PENDING = 2;
380
424
 
381
- // Product is eligible for some (but not all) reporting contexts.
425
+ // Product is eligible for some (but not all) reporting contexts and
426
+ // countries.
382
427
  ELIGIBLE_LIMITED = 3;
383
428
 
384
- // Product is eligible for all reporting contexts.
429
+ // Product is eligible for all reporting contexts and countries.
385
430
  ELIGIBLE = 4;
386
431
  }
387
432
 
@@ -506,10 +551,36 @@ message ProductView {
506
551
  // Expiration date for the product, specified on insertion.
507
552
  google.type.Date expiration_date = 25;
508
553
 
509
- // Aggregated status.
554
+ // Aggregated status across all reporting contexts.
555
+ //
556
+ // Reporting contexts included in the computation of the aggregated status can
557
+ // be restricted using a filter on the `reporting_context` field.
510
558
  optional AggregatedReportingContextStatus
511
559
  aggregated_reporting_context_status = 26;
512
560
 
561
+ // Detailed product status per reporting context.
562
+ //
563
+ // Reporting contexts included in this list can be restricted using a filter
564
+ // on the `reporting_context` field.
565
+ //
566
+ // Equivalent to
567
+ // [`ProductStatus.destination_statuses`][google.shopping.merchant.products.v1.ProductStatus]
568
+ // in Products API.
569
+ //
570
+ // **This field cannot be used for sorting or filtering the results.**
571
+ repeated StatusPerReportingContext status_per_reporting_context = 32;
572
+
573
+ // Reporting context to restrict the query to.
574
+ //
575
+ // Restricts the reporting contexts returned in `status_per_reporting_context`
576
+ // and `item_issues`, and used to compute
577
+ // `aggregated_reporting_context_status`.
578
+ //
579
+ // **This field can only be used in the `WHERE` clause and cannot be selected
580
+ // in the `SELECT` clause.**
581
+ optional google.shopping.type.ReportingContext.ReportingContextEnum
582
+ reporting_context = 33;
583
+
513
584
  // List of item issues for the product.
514
585
  //
515
586
  // **This field cannot be used for sorting the results.**
@@ -523,9 +594,8 @@ message ProductView {
523
594
  // the merchant.
524
595
  ClickPotential click_potential = 29;
525
596
 
526
- // Rank of the product based on its click potential. A product with
527
- // `click_potential_rank` 1 has the highest click potential among the
528
- // merchant's products that fulfill the search query conditions.
597
+ // Normalized click potential of the product. Values range from 1 to 1000,
598
+ // where 1 is the highest click potential and 1000 is the theoretical lowest.
529
599
  optional int64 click_potential_rank = 30;
530
600
  }
531
601
 
@@ -1175,6 +1245,21 @@ message MarketingMethod {
1175
1245
  }
1176
1246
  }
1177
1247
 
1248
+ // Store where the product is sold (online versus local stores).
1249
+ message StoreType {
1250
+ // Store types.
1251
+ enum StoreTypeEnum {
1252
+ // Not specified.
1253
+ STORE_TYPE_ENUM_UNSPECIFIED = 0;
1254
+
1255
+ // Online store.
1256
+ ONLINE_STORE = 1;
1257
+
1258
+ // Local (physical) stores.
1259
+ LOCAL_STORES = 2;
1260
+ }
1261
+ }
1262
+
1178
1263
  // Granularity of the Best sellers report. Best sellers reports are computed
1179
1264
  // over a week and a month timeframe.
1180
1265
  message ReportGranularity {
@@ -458,6 +458,9 @@ export namespace google {
458
458
  /** ProductPerformanceView customerCountryCode */
459
459
  customerCountryCode?: (string|null);
460
460
 
461
+ /** ProductPerformanceView storeType */
462
+ storeType?: (google.shopping.merchant.reports.v1.StoreType.StoreTypeEnum|keyof typeof google.shopping.merchant.reports.v1.StoreType.StoreTypeEnum|null);
463
+
461
464
  /** ProductPerformanceView offerId */
462
465
  offerId?: (string|null);
463
466
 
@@ -552,6 +555,9 @@ export namespace google {
552
555
  /** ProductPerformanceView customerCountryCode. */
553
556
  public customerCountryCode?: (string|null);
554
557
 
558
+ /** ProductPerformanceView storeType. */
559
+ public storeType?: (google.shopping.merchant.reports.v1.StoreType.StoreTypeEnum|keyof typeof google.shopping.merchant.reports.v1.StoreType.StoreTypeEnum|null);
560
+
555
561
  /** ProductPerformanceView offerId. */
556
562
  public offerId?: (string|null);
557
563
 
@@ -786,6 +792,12 @@ export namespace google {
786
792
  /** ProductView aggregatedReportingContextStatus */
787
793
  aggregatedReportingContextStatus?: (google.shopping.merchant.reports.v1.ProductView.AggregatedReportingContextStatus|keyof typeof google.shopping.merchant.reports.v1.ProductView.AggregatedReportingContextStatus|null);
788
794
 
795
+ /** ProductView statusPerReportingContext */
796
+ statusPerReportingContext?: (google.shopping.merchant.reports.v1.ProductView.IStatusPerReportingContext[]|null);
797
+
798
+ /** ProductView reportingContext */
799
+ reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
800
+
789
801
  /** ProductView itemIssues */
790
802
  itemIssues?: (google.shopping.merchant.reports.v1.ProductView.IItemIssue[]|null);
791
803
 
@@ -886,6 +898,12 @@ export namespace google {
886
898
  /** ProductView aggregatedReportingContextStatus. */
887
899
  public aggregatedReportingContextStatus?: (google.shopping.merchant.reports.v1.ProductView.AggregatedReportingContextStatus|keyof typeof google.shopping.merchant.reports.v1.ProductView.AggregatedReportingContextStatus|null);
888
900
 
901
+ /** ProductView statusPerReportingContext. */
902
+ public statusPerReportingContext: google.shopping.merchant.reports.v1.ProductView.IStatusPerReportingContext[];
903
+
904
+ /** ProductView reportingContext. */
905
+ public reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
906
+
889
907
  /** ProductView itemIssues. */
890
908
  public itemIssues: google.shopping.merchant.reports.v1.ProductView.IItemIssue[];
891
909
 
@@ -1420,6 +1438,121 @@ export namespace google {
1420
1438
  }
1421
1439
  }
1422
1440
 
1441
+ /** Properties of a StatusPerReportingContext. */
1442
+ interface IStatusPerReportingContext {
1443
+
1444
+ /** StatusPerReportingContext reportingContext */
1445
+ reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
1446
+
1447
+ /** StatusPerReportingContext approvedCountries */
1448
+ approvedCountries?: (string[]|null);
1449
+
1450
+ /** StatusPerReportingContext disapprovedCountries */
1451
+ disapprovedCountries?: (string[]|null);
1452
+
1453
+ /** StatusPerReportingContext pendingCountries */
1454
+ pendingCountries?: (string[]|null);
1455
+ }
1456
+
1457
+ /** Represents a StatusPerReportingContext. */
1458
+ class StatusPerReportingContext implements IStatusPerReportingContext {
1459
+
1460
+ /**
1461
+ * Constructs a new StatusPerReportingContext.
1462
+ * @param [properties] Properties to set
1463
+ */
1464
+ constructor(properties?: google.shopping.merchant.reports.v1.ProductView.IStatusPerReportingContext);
1465
+
1466
+ /** StatusPerReportingContext reportingContext. */
1467
+ public reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
1468
+
1469
+ /** StatusPerReportingContext approvedCountries. */
1470
+ public approvedCountries: string[];
1471
+
1472
+ /** StatusPerReportingContext disapprovedCountries. */
1473
+ public disapprovedCountries: string[];
1474
+
1475
+ /** StatusPerReportingContext pendingCountries. */
1476
+ public pendingCountries: string[];
1477
+
1478
+ /**
1479
+ * Creates a new StatusPerReportingContext instance using the specified properties.
1480
+ * @param [properties] Properties to set
1481
+ * @returns StatusPerReportingContext instance
1482
+ */
1483
+ public static create(properties?: google.shopping.merchant.reports.v1.ProductView.IStatusPerReportingContext): google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext;
1484
+
1485
+ /**
1486
+ * Encodes the specified StatusPerReportingContext message. Does not implicitly {@link google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext.verify|verify} messages.
1487
+ * @param message StatusPerReportingContext message or plain object to encode
1488
+ * @param [writer] Writer to encode to
1489
+ * @returns Writer
1490
+ */
1491
+ public static encode(message: google.shopping.merchant.reports.v1.ProductView.IStatusPerReportingContext, writer?: $protobuf.Writer): $protobuf.Writer;
1492
+
1493
+ /**
1494
+ * Encodes the specified StatusPerReportingContext message, length delimited. Does not implicitly {@link google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext.verify|verify} messages.
1495
+ * @param message StatusPerReportingContext message or plain object to encode
1496
+ * @param [writer] Writer to encode to
1497
+ * @returns Writer
1498
+ */
1499
+ public static encodeDelimited(message: google.shopping.merchant.reports.v1.ProductView.IStatusPerReportingContext, writer?: $protobuf.Writer): $protobuf.Writer;
1500
+
1501
+ /**
1502
+ * Decodes a StatusPerReportingContext message from the specified reader or buffer.
1503
+ * @param reader Reader or buffer to decode from
1504
+ * @param [length] Message length if known beforehand
1505
+ * @returns StatusPerReportingContext
1506
+ * @throws {Error} If the payload is not a reader or valid buffer
1507
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1508
+ */
1509
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext;
1510
+
1511
+ /**
1512
+ * Decodes a StatusPerReportingContext message from the specified reader or buffer, length delimited.
1513
+ * @param reader Reader or buffer to decode from
1514
+ * @returns StatusPerReportingContext
1515
+ * @throws {Error} If the payload is not a reader or valid buffer
1516
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1517
+ */
1518
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext;
1519
+
1520
+ /**
1521
+ * Verifies a StatusPerReportingContext message.
1522
+ * @param message Plain object to verify
1523
+ * @returns `null` if valid, otherwise the reason why it is not
1524
+ */
1525
+ public static verify(message: { [k: string]: any }): (string|null);
1526
+
1527
+ /**
1528
+ * Creates a StatusPerReportingContext message from a plain object. Also converts values to their respective internal types.
1529
+ * @param object Plain object
1530
+ * @returns StatusPerReportingContext
1531
+ */
1532
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext;
1533
+
1534
+ /**
1535
+ * Creates a plain object from a StatusPerReportingContext message. Also converts values to other types if specified.
1536
+ * @param message StatusPerReportingContext
1537
+ * @param [options] Conversion options
1538
+ * @returns Plain object
1539
+ */
1540
+ public static toObject(message: google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
1541
+
1542
+ /**
1543
+ * Converts this StatusPerReportingContext to JSON.
1544
+ * @returns JSON object
1545
+ */
1546
+ public toJSON(): { [k: string]: any };
1547
+
1548
+ /**
1549
+ * Gets the default type url for StatusPerReportingContext
1550
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1551
+ * @returns The default type url
1552
+ */
1553
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1554
+ }
1555
+
1423
1556
  /** AggregatedReportingContextStatus enum. */
1424
1557
  enum AggregatedReportingContextStatus {
1425
1558
  AGGREGATED_REPORTING_CONTEXT_STATUS_UNSPECIFIED = 0,
@@ -2877,6 +3010,107 @@ export namespace google {
2877
3010
  }
2878
3011
  }
2879
3012
 
3013
+ /** Properties of a StoreType. */
3014
+ interface IStoreType {
3015
+ }
3016
+
3017
+ /** Represents a StoreType. */
3018
+ class StoreType implements IStoreType {
3019
+
3020
+ /**
3021
+ * Constructs a new StoreType.
3022
+ * @param [properties] Properties to set
3023
+ */
3024
+ constructor(properties?: google.shopping.merchant.reports.v1.IStoreType);
3025
+
3026
+ /**
3027
+ * Creates a new StoreType instance using the specified properties.
3028
+ * @param [properties] Properties to set
3029
+ * @returns StoreType instance
3030
+ */
3031
+ public static create(properties?: google.shopping.merchant.reports.v1.IStoreType): google.shopping.merchant.reports.v1.StoreType;
3032
+
3033
+ /**
3034
+ * Encodes the specified StoreType message. Does not implicitly {@link google.shopping.merchant.reports.v1.StoreType.verify|verify} messages.
3035
+ * @param message StoreType message or plain object to encode
3036
+ * @param [writer] Writer to encode to
3037
+ * @returns Writer
3038
+ */
3039
+ public static encode(message: google.shopping.merchant.reports.v1.IStoreType, writer?: $protobuf.Writer): $protobuf.Writer;
3040
+
3041
+ /**
3042
+ * Encodes the specified StoreType message, length delimited. Does not implicitly {@link google.shopping.merchant.reports.v1.StoreType.verify|verify} messages.
3043
+ * @param message StoreType message or plain object to encode
3044
+ * @param [writer] Writer to encode to
3045
+ * @returns Writer
3046
+ */
3047
+ public static encodeDelimited(message: google.shopping.merchant.reports.v1.IStoreType, writer?: $protobuf.Writer): $protobuf.Writer;
3048
+
3049
+ /**
3050
+ * Decodes a StoreType message from the specified reader or buffer.
3051
+ * @param reader Reader or buffer to decode from
3052
+ * @param [length] Message length if known beforehand
3053
+ * @returns StoreType
3054
+ * @throws {Error} If the payload is not a reader or valid buffer
3055
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
3056
+ */
3057
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reports.v1.StoreType;
3058
+
3059
+ /**
3060
+ * Decodes a StoreType message from the specified reader or buffer, length delimited.
3061
+ * @param reader Reader or buffer to decode from
3062
+ * @returns StoreType
3063
+ * @throws {Error} If the payload is not a reader or valid buffer
3064
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
3065
+ */
3066
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reports.v1.StoreType;
3067
+
3068
+ /**
3069
+ * Verifies a StoreType message.
3070
+ * @param message Plain object to verify
3071
+ * @returns `null` if valid, otherwise the reason why it is not
3072
+ */
3073
+ public static verify(message: { [k: string]: any }): (string|null);
3074
+
3075
+ /**
3076
+ * Creates a StoreType message from a plain object. Also converts values to their respective internal types.
3077
+ * @param object Plain object
3078
+ * @returns StoreType
3079
+ */
3080
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reports.v1.StoreType;
3081
+
3082
+ /**
3083
+ * Creates a plain object from a StoreType message. Also converts values to other types if specified.
3084
+ * @param message StoreType
3085
+ * @param [options] Conversion options
3086
+ * @returns Plain object
3087
+ */
3088
+ public static toObject(message: google.shopping.merchant.reports.v1.StoreType, options?: $protobuf.IConversionOptions): { [k: string]: any };
3089
+
3090
+ /**
3091
+ * Converts this StoreType to JSON.
3092
+ * @returns JSON object
3093
+ */
3094
+ public toJSON(): { [k: string]: any };
3095
+
3096
+ /**
3097
+ * Gets the default type url for StoreType
3098
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
3099
+ * @returns The default type url
3100
+ */
3101
+ public static getTypeUrl(typeUrlPrefix?: string): string;
3102
+ }
3103
+
3104
+ namespace StoreType {
3105
+
3106
+ /** StoreTypeEnum enum. */
3107
+ enum StoreTypeEnum {
3108
+ STORE_TYPE_ENUM_UNSPECIFIED = 0,
3109
+ ONLINE_STORE = 1,
3110
+ LOCAL_STORES = 2
3111
+ }
3112
+ }
3113
+
2880
3114
  /** Properties of a ReportGranularity. */
2881
3115
  interface IReportGranularity {
2882
3116
  }