@googleapis/merchantapi 17.2.0 → 17.4.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/accounts_v1.ts +180 -12
  3. package/accounts_v1beta.ts +179 -12
  4. package/build/accounts_v1.d.ts +102 -12
  5. package/build/accounts_v1.js +32 -0
  6. package/build/accounts_v1.js.map +1 -1
  7. package/build/accounts_v1beta.d.ts +102 -12
  8. package/build/accounts_v1beta.js +32 -0
  9. package/build/accounts_v1beta.js.map +1 -1
  10. package/build/datasources_v1.d.ts +4 -4
  11. package/build/datasources_v1beta.d.ts +4 -4
  12. package/build/inventories_v1.d.ts +67 -14
  13. package/build/inventories_v1.js.map +1 -1
  14. package/build/inventories_v1beta.d.ts +26 -14
  15. package/build/inventories_v1beta.js.map +1 -1
  16. package/build/issueresolution_v1.d.ts +3 -3
  17. package/build/issueresolution_v1beta.d.ts +3 -3
  18. package/build/notifications_v1.d.ts +2 -2
  19. package/build/notifications_v1beta.d.ts +2 -2
  20. package/build/products_v1.d.ts +231 -12
  21. package/build/products_v1.js.map +1 -1
  22. package/build/products_v1beta.d.ts +41 -12
  23. package/build/products_v1beta.js.map +1 -1
  24. package/build/promotions_v1.d.ts +66 -22
  25. package/build/promotions_v1.js.map +1 -1
  26. package/build/promotions_v1beta.d.ts +66 -22
  27. package/build/promotions_v1beta.js.map +1 -1
  28. package/build/reports_v1.d.ts +39 -6
  29. package/build/reports_v1.js.map +1 -1
  30. package/build/reports_v1beta.d.ts +39 -6
  31. package/build/reports_v1beta.js.map +1 -1
  32. package/build/tsconfig.tsbuildinfo +1 -1
  33. package/datasources_v1.ts +4 -4
  34. package/datasources_v1beta.ts +4 -4
  35. package/inventories_v1.ts +67 -14
  36. package/inventories_v1beta.ts +26 -14
  37. package/issueresolution_v1.ts +3 -3
  38. package/issueresolution_v1beta.ts +3 -3
  39. package/notifications_v1.ts +2 -2
  40. package/notifications_v1beta.ts +2 -2
  41. package/package.json +1 -1
  42. package/products_v1.ts +231 -12
  43. package/products_v1beta.ts +41 -12
  44. package/promotions_v1.ts +66 -22
  45. package/promotions_v1beta.ts +66 -22
  46. package/reports_v1.ts +39 -6
  47. package/reports_v1beta.ts +39 -6
package/products_v1.ts CHANGED
@@ -235,6 +235,19 @@ export namespace merchantapi_products_v1 {
235
235
  */
236
236
  unitCode?: string | null;
237
237
  }
238
+ /**
239
+ * The co2 emission of the vehicle.
240
+ */
241
+ export interface Schema$Co2Emissions {
242
+ /**
243
+ * The unit of the co2 emission.
244
+ */
245
+ unit?: string | null;
246
+ /**
247
+ * The co2 emission value.
248
+ */
249
+ value?: string | null;
250
+ }
238
251
  /**
239
252
  * A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.
240
253
  */
@@ -253,7 +266,7 @@ export namespace merchantapi_products_v1 {
253
266
  value?: string | null;
254
267
  }
255
268
  /**
256
- * The destination status of the product status.
269
+ * The destination status of the product status. Equivalent to `StatusPerReportingContext` in Reports API.
257
270
  */
258
271
  export interface Schema$DestinationStatus {
259
272
  /**
@@ -277,6 +290,19 @@ export namespace merchantapi_products_v1 {
277
290
  * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
278
291
  */
279
292
  export interface Schema$Empty {}
293
+ /**
294
+ * The energy consumption of the vehicle.
295
+ */
296
+ export interface Schema$EnergyConsumption {
297
+ /**
298
+ * The unit of the energy consumption.
299
+ */
300
+ unit?: string | null;
301
+ /**
302
+ * The energy consumption value.
303
+ */
304
+ value?: number | null;
305
+ }
280
306
  /**
281
307
  * Conditions to be met for a product to have free shipping.
282
308
  */
@@ -290,6 +316,19 @@ export namespace merchantapi_products_v1 {
290
316
  */
291
317
  priceThreshold?: Schema$Price;
292
318
  }
319
+ /**
320
+ * The fuel consumption of the vehicle.
321
+ */
322
+ export interface Schema$FuelConsumption {
323
+ /**
324
+ * The unit of the fuel consumption.
325
+ */
326
+ unit?: string | null;
327
+ /**
328
+ * The fuel consumption value.
329
+ */
330
+ value?: number | null;
331
+ }
293
332
  /**
294
333
  * Configuration for offer or offer-country level shipping handling cutoff time.
295
334
  */
@@ -396,7 +435,7 @@ export namespace merchantapi_products_v1 {
396
435
  ratio?: number | null;
397
436
  }
398
437
  /**
399
- * LINT.IfChange(LoyaltyProgram) A message that represents loyalty program.
438
+ * A message that represents loyalty program.
400
439
  */
401
440
  export interface Schema$LoyaltyProgram {
402
441
  /**
@@ -428,6 +467,19 @@ export namespace merchantapi_products_v1 {
428
467
  */
429
468
  tierLabel?: string | null;
430
469
  }
470
+ /**
471
+ * The mileage of the vehicle.
472
+ */
473
+ export interface Schema$Mileage {
474
+ /**
475
+ * The unit of the mileage.
476
+ */
477
+ unit?: string | null;
478
+ /**
479
+ * The distance value.
480
+ */
481
+ value?: string | null;
482
+ }
431
483
  /**
432
484
  * The price represented as a number and currency.
433
485
  */
@@ -449,6 +501,10 @@ export namespace merchantapi_products_v1 {
449
501
  * Output only. The automated discounts information for the product.
450
502
  */
451
503
  automatedDiscounts?: Schema$AutomatedDiscounts;
504
+ /**
505
+ * Output only. The **unpadded base64url encoded name** of the product. Format: `accounts/{account\}/products/{product\}` where the last section `product` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/products/ZW5-VVN-c2t1LzEyMw` for the decoded product name `accounts/123/products/en~US~sku/123`. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example [`GetProduct`](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.products/get).
506
+ */
507
+ base64EncodedName?: string | null;
452
508
  /**
453
509
  * Output only. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.
454
510
  */
@@ -530,6 +586,10 @@ export namespace merchantapi_products_v1 {
530
586
  * The day a pre-ordered product becomes available for delivery, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
531
587
  */
532
588
  availabilityDate?: string | null;
589
+ /**
590
+ * The [body style](https://support.google.com/google-ads/answer/14157085) of the vehicle.
591
+ */
592
+ bodyStyle?: string | null;
533
593
  /**
534
594
  * [Brand](https://support.google.com/merchants/answer/6324351) of the item. For example, "Google".
535
595
  */
@@ -546,10 +606,18 @@ export namespace merchantapi_products_v1 {
546
606
  * Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.
547
607
  */
548
608
  certifications?: Schema$ProductCertification[];
609
+ /**
610
+ * Whether the vehicle is OEM [certified pre-owned](https://support.google.com/google-ads/answer/14156475).
611
+ */
612
+ certifiedPreOwned?: boolean | null;
549
613
  /**
550
614
  * Extra fields to export to the Cloud Retail program.
551
615
  */
552
616
  cloudExportAdditionalProperties?: Schema$CloudExportAdditionalProperties[];
617
+ /**
618
+ * The [co2 emission](https://support.google.com/google-ads/answer/14546146) of the vehicle.
619
+ */
620
+ co2Emissions?: Schema$Co2Emissions;
553
621
  /**
554
622
  * [Color](https://support.google.com/merchants/answer/6324487) of the item. For example, "red".
555
623
  */
@@ -582,6 +650,10 @@ export namespace merchantapi_products_v1 {
582
650
  * [Custom label 4](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
583
651
  */
584
652
  customLabel4?: string | null;
653
+ /**
654
+ * The date the vehicle was first registered. Format: `YYYY-MM`. See the [Date first registered](https://support.google.com/google-ads/answer/14546138) for more information.
655
+ */
656
+ dateFirstRegistered?: string | null;
585
657
  /**
586
658
  * Description of the item.
587
659
  */
@@ -610,10 +682,26 @@ export namespace merchantapi_products_v1 {
610
682
  * Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
611
683
  */
612
684
  displayAdsValue?: number | null;
685
+ /**
686
+ * The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms.
687
+ */
688
+ electricRange?: Schema$Mileage;
689
+ /**
690
+ * The [emission standard](https://support.google.com/google-ads/answer/14869021) of the vehicle.
691
+ */
692
+ emissionsStandard?: string | null;
693
+ /**
694
+ * The [energy consumption](https://support.google.com/google-ads/answer/14546149) of the vehicle.
695
+ */
696
+ energyConsumption?: Schema$EnergyConsumption;
613
697
  /**
614
698
  * The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU.
615
699
  */
616
700
  energyEfficiencyClass?: string | null;
701
+ /**
702
+ * The [engine](https://support.google.com/google-ads/answer/14156068) type of the vehicle.
703
+ */
704
+ engine?: string | null;
617
705
  /**
618
706
  * The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see [Excluded destination](https://support.google.com/merchants/answer/6324486). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
619
707
  */
@@ -630,6 +718,14 @@ export namespace merchantapi_products_v1 {
630
718
  * Conditions to be met for a product to have free shipping.
631
719
  */
632
720
  freeShippingThreshold?: Schema$FreeShippingThreshold[];
721
+ /**
722
+ * The [fuel consumption](https://support.google.com/google-ads/answer/14543580) of the vehicle.
723
+ */
724
+ fuelConsumption?: Schema$FuelConsumption;
725
+ /**
726
+ * The fuel consumption of the vehicle when the hybrid battery is discharged. See the [Help Center article](https://support.google.com/google-ads/answer/15162033) for more information.
727
+ */
728
+ fuelConsumptionDischargedBattery?: Schema$FuelConsumption;
633
729
  /**
634
730
  * Target [gender](https://support.google.com/merchants/answer/6324479) of the item.
635
731
  */
@@ -639,7 +735,7 @@ export namespace merchantapi_products_v1 {
639
735
  */
640
736
  googleProductCategory?: string | null;
641
737
  /**
642
- * Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the item. You can provide up to 10 GTINs.
738
+ * Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs.
643
739
  */
644
740
  gtins?: string[] | null;
645
741
  /**
@@ -706,6 +802,10 @@ export namespace merchantapi_products_v1 {
706
802
  * Maximum retail price (MRP) of the item. Applicable to India only.
707
803
  */
708
804
  maximumRetailPrice?: Schema$Price;
805
+ /**
806
+ * The number of miles/kms on the vehicle. See the [Mileage](https://support.google.com/google-ads/answer/14156166) for more information.
807
+ */
808
+ mileage?: Schema$Mileage;
709
809
  /**
710
810
  * The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU.
711
811
  */
@@ -714,6 +814,10 @@ export namespace merchantapi_products_v1 {
714
814
  * Minimal product handling time (in business days).
715
815
  */
716
816
  minHandlingTime?: string | null;
817
+ /**
818
+ * The [minimum value](https://support.google.com/merchants/answer/16989009) in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100.
819
+ */
820
+ minimumOrderValues?: Schema$ProductMinimumOrderValue[];
717
821
  /**
718
822
  * URL for the mobile-optimized version of your item's landing page.
719
823
  */
@@ -723,7 +827,11 @@ export namespace merchantapi_products_v1 {
723
827
  */
724
828
  mobileLinkTemplate?: string | null;
725
829
  /**
726
- * Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the item.
830
+ * The [Model](https://support.google.com/google-ads/answer/14154511) of the vehicle, such as `LX`, `EX`, and others.
831
+ */
832
+ model?: string | null;
833
+ /**
834
+ * Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/6324482)) of the item.
727
835
  */
728
836
  mpn?: string | null;
729
837
  /**
@@ -782,6 +890,10 @@ export namespace merchantapi_products_v1 {
782
890
  * The unique ID of a promotion.
783
891
  */
784
892
  promotionIds?: string[] | null;
893
+ /**
894
+ * The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425).
895
+ */
896
+ returnPolicyLabel?: string | null;
785
897
  /**
786
898
  * Advertised sale price of the item.
787
899
  */
@@ -807,7 +919,7 @@ export namespace merchantapi_products_v1 {
807
919
  */
808
920
  shippingHeight?: Schema$ShippingDimension;
809
921
  /**
810
- * The shipping label of the product, used to group product in account-level shipping rules.
922
+ * The shipping label of the product, used to group products in account-level shipping rules. Max. 100 characters. For more information, see [Shipping label](https://support.google.com/merchants/answer/6324504).
811
923
  */
812
924
  shippingLabel?: string | null;
813
925
  /**
@@ -866,6 +978,10 @@ export namespace merchantapi_products_v1 {
866
978
  * The transit time label of the product, used to group product in account-level transit time tables.
867
979
  */
868
980
  transitTimeLabel?: string | null;
981
+ /**
982
+ * The [Trim](https://support.google.com/google-ads/answer/14154176) of the vehicle model, such as `S`, `SV`, `SL` and others.
983
+ */
984
+ trim?: string | null;
869
985
  /**
870
986
  * The preference of the denominator of the unit price.
871
987
  */
@@ -874,10 +990,46 @@ export namespace merchantapi_products_v1 {
874
990
  * The measure and dimension of an item.
875
991
  */
876
992
  unitPricingMeasure?: Schema$UnitPricingMeasure;
993
+ /**
994
+ * The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information.
995
+ */
996
+ vehicleAllInPrice?: Schema$Price;
997
+ /**
998
+ * The miscellaneous expenses like insurance and registration fees of the vehicle. See the [Vehicle expenses](https://support.google.com/google-ads/answer/15957154) for more information.
999
+ */
1000
+ vehicleExpenses?: Schema$Price;
1001
+ /**
1002
+ * Whether the vehicle is sold with mandatory inspection and maintenance performed before delivery. See the [Vehicle mandatory inspection included](https://support.google.com/google-ads/answer/15956630) for more information.`
1003
+ */
1004
+ vehicleMandatoryInspectionIncluded?: boolean | null;
1005
+ /**
1006
+ * The MSRP (Manufacturer Suggested Retail Price) for the vehicle in its current configuration. See the [Vehicle MSRP](https://support.google.com/google-ads/answer/14154171) for more information.
1007
+ */
1008
+ vehicleMsrp?: Schema$Price;
1009
+ /**
1010
+ * The [price type](https://support.google.com/google-ads/answer/14592783) of the vehicle.
1011
+ */
1012
+ vehiclePriceType?: string | null;
1013
+ /**
1014
+ * Optional. A list of video URLs for the item. Use this attribute to provide more visuals for your product beyond your image attributes. See the [Help Center article](https://support.google.com/merchants/answer/15216925) for more information.
1015
+ */
1016
+ videoLinks?: string[] | null;
1017
+ /**
1018
+ * The [Vehicle Identification Number (VIN)](https://support.google.com/google-ads/answer/14154510) of the vehicle.
1019
+ */
1020
+ vin?: string | null;
877
1021
  /**
878
1022
  * URL of the 3D image of the item. See the [Help Center article](https://support.google.com/merchants/answer/13674896) for more information.
879
1023
  */
880
1024
  virtualModelLink?: string | null;
1025
+ /**
1026
+ * The [warranty](https://support.google.com/google-ads/answer/15957626) of the vehicle.
1027
+ */
1028
+ warranty?: Schema$Warranty;
1029
+ /**
1030
+ * The [Year](https://support.google.com/google-ads/answer/14152816) of the vehicle model.
1031
+ */
1032
+ year?: string | null;
881
1033
  }
882
1034
  /**
883
1035
  * Product [certification](https://support.google.com/merchants/answer/13528839), initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.
@@ -955,6 +1107,14 @@ export namespace merchantapi_products_v1 {
955
1107
  * This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. For more information, see [Manage products](/merchant/api/guides/products/overview). Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the [Products Data Specification](https://support.google.com/merchants/answer/188494) with [some exceptions](https://support.google.com/merchants/answer/7052112). The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style.
956
1108
  */
957
1109
  export interface Schema$ProductInput {
1110
+ /**
1111
+ * Output only. The **unpadded base64url encoded name** of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw` for the decoded product input name `accounts/123/productInputs/en~US~sku/123`. This field can be used directly as input to the API methods that require the product input name to be encoded if it contains special characters, for example [`GetProductInput`](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/get).
1112
+ */
1113
+ base64EncodedName?: string | null;
1114
+ /**
1115
+ * Output only. The **unpadded base64url encoded name** of the processed product. Format: `accounts/{account\}/products/{product\}` where the last section `product` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/products/ZW5-VVN-c2t1LzEyMw` for the decoded product name `accounts/123/products/en~US~sku/123`. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example [`GetProduct`](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.products/get).
1116
+ */
1117
+ base64EncodedProduct?: string | null;
958
1118
  /**
959
1119
  * Required. Immutable. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.
960
1120
  */
@@ -972,7 +1132,7 @@ export namespace merchantapi_products_v1 {
972
1132
  */
973
1133
  legacyLocal?: boolean | null;
974
1134
  /**
975
- * Identifier. The name of the product. Format: `accounts/{account\}/productInputs/{productinput\}` The {productinput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput\}` segment must be the base64url encoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for the product would be `accounts/123/productinputs/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The `{productinput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productinput\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productinputs/online~en~US~sku123`.
1135
+ * Identifier. The name of the product. Format: `accounts/{account\}/productInputs/{productinput\}` The {productinput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput\}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productinput\}` segment is used to differentiate between the two formats.
976
1136
  */
977
1137
  name?: string | null;
978
1138
  /**
@@ -1000,6 +1160,10 @@ export namespace merchantapi_products_v1 {
1000
1160
  * The amount the buyer has to pay per month.
1001
1161
  */
1002
1162
  amount?: Schema$Price;
1163
+ /**
1164
+ * Optional. Annual percentage rate for `credit_type` finance
1165
+ */
1166
+ annualPercentageRate?: number | null;
1003
1167
  /**
1004
1168
  * Type of installment payments.
1005
1169
  */
@@ -1012,6 +1176,31 @@ export namespace merchantapi_products_v1 {
1012
1176
  * The number of installments the buyer has to pay.
1013
1177
  */
1014
1178
  months?: string | null;
1179
+ /**
1180
+ * Optional. Total amount the buyer has to pay, including interest.
1181
+ */
1182
+ totalAmount?: Schema$Price;
1183
+ }
1184
+ /**
1185
+ * The minimum order value in the cart before the checkout is permitted.
1186
+ */
1187
+ export interface Schema$ProductMinimumOrderValue {
1188
+ /**
1189
+ * Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
1190
+ */
1191
+ country?: string | null;
1192
+ /**
1193
+ * Required. The minimum cart or basket value before the checkout is permitted.
1194
+ */
1195
+ price?: Schema$Price;
1196
+ /**
1197
+ * A free-form description of the service class or delivery speed. This should match the service value set for the Shipping attribute. See service.
1198
+ */
1199
+ service?: string | null;
1200
+ /**
1201
+ * The surface to which the minimum order value applies. Defaults to `ONLINE_LOCAL` if not configured.
1202
+ */
1203
+ surface?: string | null;
1015
1204
  }
1016
1205
  /**
1017
1206
  * The status of a product, data validation issues, that is, information about a product computed asynchronously.
@@ -1133,6 +1322,14 @@ export namespace merchantapi_products_v1 {
1133
1322
  * The numeric ID of a location that the shipping rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
1134
1323
  */
1135
1324
  locationId?: string | null;
1325
+ /**
1326
+ * Optional. The label of the [loyalty program](https://support.google.com/merchants/answer/6324484). Must match one of the program labels set in loyalty_programs. When set (in combination with [loyalty_tier_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
1327
+ */
1328
+ loyaltyProgramLabel?: string | null;
1329
+ /**
1330
+ * Optional. The label of the [loyalty tier](https://support.google.com/merchants/answer/6324484) within the loyalty program. Must match one of the tiers set in the loyalty_programs. When set (in combination with [loyalty_program_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
1331
+ */
1332
+ loyaltyTierLabel?: string | null;
1136
1333
  /**
1137
1334
  * Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minHandlingTime is optional if maxHandlingTime is present.
1138
1335
  */
@@ -1274,6 +1471,19 @@ export namespace merchantapi_products_v1 {
1274
1471
  */
1275
1472
  value?: number | null;
1276
1473
  }
1474
+ /**
1475
+ * The warranty of the vehicle.
1476
+ */
1477
+ export interface Schema$Warranty {
1478
+ /**
1479
+ * The warranty duration in months.
1480
+ */
1481
+ duration?: string | null;
1482
+ /**
1483
+ * The warranty mileage.
1484
+ */
1485
+ mileage?: Schema$Mileage;
1486
+ }
1277
1487
 
1278
1488
  export class Resource$Accounts {
1279
1489
  context: APIRequestContext;
@@ -1325,7 +1535,7 @@ export namespace merchantapi_products_v1 {
1325
1535
  * const res = await merchantapi.accounts.productInputs.delete({
1326
1536
  * // Required. The primary or supplemental data source from which the product input should be deleted. Format: `accounts/{account\}/dataSources/{datasource\}`. For example, `accounts/123456/dataSources/104628`.
1327
1537
  * dataSource: 'placeholder-value',
1328
- * // Required. The name of the product input to delete. Format: `accounts/{account\}/productInputs/{productInput\}` The {productInput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productInput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productInput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productInput\}` segment must be the base64url encoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The `{productInput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productInput\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productinputs/online~en~US~sku123`.
1538
+ * // Required. The name of the product input to delete. Format: `accounts/{account\}/productInputs/{productInput\}` The {productInput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productInput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productInput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productInput\}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productInput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productInput\}` segment is used to differentiate between the two formats.
1329
1539
  * name: 'accounts/my-account/productInputs/my-productInput',
1330
1540
  * });
1331
1541
  * console.log(res.data);
@@ -1469,6 +1679,8 @@ export namespace merchantapi_products_v1 {
1469
1679
  * requestBody: {
1470
1680
  * // request body parameters
1471
1681
  * // {
1682
+ * // "base64EncodedName": "my_base64EncodedName",
1683
+ * // "base64EncodedProduct": "my_base64EncodedProduct",
1472
1684
  * // "contentLanguage": "my_contentLanguage",
1473
1685
  * // "customAttributes": [],
1474
1686
  * // "feedLabel": "my_feedLabel",
@@ -1485,6 +1697,8 @@ export namespace merchantapi_products_v1 {
1485
1697
  *
1486
1698
  * // Example response
1487
1699
  * // {
1700
+ * // "base64EncodedName": "my_base64EncodedName",
1701
+ * // "base64EncodedProduct": "my_base64EncodedProduct",
1488
1702
  * // "contentLanguage": "my_contentLanguage",
1489
1703
  * // "customAttributes": [],
1490
1704
  * // "feedLabel": "my_feedLabel",
@@ -1624,7 +1838,7 @@ export namespace merchantapi_products_v1 {
1624
1838
  * const res = await merchantapi.accounts.productInputs.patch({
1625
1839
  * // Required. The primary or supplemental product data source where `data_source` name identifies the product input to be updated. Only API data sources are supported. Format: `accounts/{account\}/dataSources/{datasource\}`. For example, `accounts/123456/dataSources/104628`.
1626
1840
  * dataSource: 'placeholder-value',
1627
- * // Identifier. The name of the product. Format: `accounts/{account\}/productInputs/{productinput\}` The {productinput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput\}` segment must be the base64url encoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for the product would be `accounts/123/productinputs/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The `{productinput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productinput\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productinputs/online~en~US~sku123`.
1841
+ * // Identifier. The name of the product. Format: `accounts/{account\}/productInputs/{productinput\}` The {productinput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput\}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productinput\}` segment is used to differentiate between the two formats.
1628
1842
  * name: 'accounts/my-account/productInputs/my-productInput',
1629
1843
  * // Optional. The list of product attributes to be updated. If the update mask is omitted, then it is treated as implied field mask equivalent to all fields that are populated (have a non-empty value). Attributes specified in the update mask without a value specified in the body will be deleted from the product. Update mask can only be specified for top level fields in attributes and custom attributes. To specify the update mask for custom attributes you need to add the `custom_attribute.` prefix. Providing special "*" value for full product replacement is not supported.
1630
1844
  * updateMask: 'placeholder-value',
@@ -1633,6 +1847,8 @@ export namespace merchantapi_products_v1 {
1633
1847
  * requestBody: {
1634
1848
  * // request body parameters
1635
1849
  * // {
1850
+ * // "base64EncodedName": "my_base64EncodedName",
1851
+ * // "base64EncodedProduct": "my_base64EncodedProduct",
1636
1852
  * // "contentLanguage": "my_contentLanguage",
1637
1853
  * // "customAttributes": [],
1638
1854
  * // "feedLabel": "my_feedLabel",
@@ -1649,6 +1865,8 @@ export namespace merchantapi_products_v1 {
1649
1865
  *
1650
1866
  * // Example response
1651
1867
  * // {
1868
+ * // "base64EncodedName": "my_base64EncodedName",
1869
+ * // "base64EncodedProduct": "my_base64EncodedProduct",
1652
1870
  * // "contentLanguage": "my_contentLanguage",
1653
1871
  * // "customAttributes": [],
1654
1872
  * // "feedLabel": "my_feedLabel",
@@ -1763,7 +1981,7 @@ export namespace merchantapi_products_v1 {
1763
1981
  */
1764
1982
  dataSource?: string;
1765
1983
  /**
1766
- * Required. The name of the product input to delete. Format: `accounts/{account\}/productInputs/{productInput\}` The {productInput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productInput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productInput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productInput\}` segment must be the base64url encoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The `{productInput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productInput\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productinputs/online~en~US~sku123`.
1984
+ * Required. The name of the product input to delete. Format: `accounts/{account\}/productInputs/{productInput\}` The {productInput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productInput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productInput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productInput\}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productInput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productInput\}` segment is used to differentiate between the two formats.
1767
1985
  */
1768
1986
  name?: string;
1769
1987
  }
@@ -1788,7 +2006,7 @@ export namespace merchantapi_products_v1 {
1788
2006
  */
1789
2007
  dataSource?: string;
1790
2008
  /**
1791
- * Identifier. The name of the product. Format: `accounts/{account\}/productInputs/{productinput\}` The {productinput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput\}` segment must be the base64url encoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for the product would be `accounts/123/productinputs/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The `{productinput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productinput\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productinputs/online~en~US~sku123`.
2009
+ * Identifier. The name of the product. Format: `accounts/{account\}/productInputs/{productinput\}` The {productinput\} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput\} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput\}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{productinput\}` segment is used to differentiate between the two formats.
1792
2010
  */
1793
2011
  name?: string;
1794
2012
  /**
@@ -1839,7 +2057,7 @@ export namespace merchantapi_products_v1 {
1839
2057
  *
1840
2058
  * // Do the magic
1841
2059
  * const res = await merchantapi.accounts.products.get({
1842
- * // Required. The name of the product. Format: `accounts/{account\}/products/{product\}` The `{product\}` segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the `{product\}` segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{product\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{product\}` segment must be the base64url encoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for the product would be `accounts/123/products/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The `{product\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{product\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.
2060
+ * // Required. The name of the product. Format: `accounts/{account\}/products/{product\}` The `{product\}` segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the `{product\}` segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{product\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{product\}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/products/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{product\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{product\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.
1843
2061
  * name: 'accounts/my-account/products/my-product',
1844
2062
  * });
1845
2063
  * console.log(res.data);
@@ -1847,6 +2065,7 @@ export namespace merchantapi_products_v1 {
1847
2065
  * // Example response
1848
2066
  * // {
1849
2067
  * // "automatedDiscounts": {},
2068
+ * // "base64EncodedName": "my_base64EncodedName",
1850
2069
  * // "contentLanguage": "my_contentLanguage",
1851
2070
  * // "customAttributes": [],
1852
2071
  * // "dataSource": "my_dataSource",
@@ -2102,7 +2321,7 @@ export namespace merchantapi_products_v1 {
2102
2321
 
2103
2322
  export interface Params$Resource$Accounts$Products$Get extends StandardParameters {
2104
2323
  /**
2105
- * Required. The name of the product. Format: `accounts/{account\}/products/{product\}` The `{product\}` segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the `{product\}` segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{product\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{product\}` segment must be the base64url encoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for the product would be `accounts/123/products/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The `{product\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{product\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.
2324
+ * Required. The name of the product. Format: `accounts/{account\}/products/{product\}` The `{product\}` segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the `{product\}` segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{product\}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{product\}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/products/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{product\}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` do not contain URL-problematic characters like `/`, `%`, or `~`. We recommend using the **Encoded Format** for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (`~`) characters in the `{product\}` segment is used to differentiate between the two formats. Note: For calls to the v1beta version, the plain format is `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.
2106
2325
  */
2107
2326
  name?: string;
2108
2327
  }