@googleapis/merchantapi 16.1.0 → 17.0.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 (65) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/accounts_v1.ts +344 -501
  3. package/accounts_v1beta.ts +342 -136
  4. package/build/accounts_v1.d.ts +194 -196
  5. package/build/accounts_v1.js +41 -73
  6. package/build/accounts_v1.js.map +1 -1
  7. package/build/accounts_v1beta.d.ts +194 -0
  8. package/build/accounts_v1beta.js +41 -0
  9. package/build/accounts_v1beta.js.map +1 -1
  10. package/build/conversions_v1.js.map +1 -1
  11. package/build/conversions_v1beta.js.map +1 -1
  12. package/build/datasources_v1.js.map +1 -1
  13. package/build/datasources_v1beta.js.map +1 -1
  14. package/build/inventories_v1.d.ts +14 -50
  15. package/build/inventories_v1.js.map +1 -1
  16. package/build/inventories_v1beta.d.ts +14 -50
  17. package/build/inventories_v1beta.js.map +1 -1
  18. package/build/issueresolution_v1.d.ts +2 -8
  19. package/build/issueresolution_v1.js.map +1 -1
  20. package/build/issueresolution_v1beta.d.ts +2 -8
  21. package/build/issueresolution_v1beta.js.map +1 -1
  22. package/build/lfp_v1.js.map +1 -1
  23. package/build/lfp_v1beta.js.map +1 -1
  24. package/build/notifications_v1.js.map +1 -1
  25. package/build/notifications_v1beta.js.map +1 -1
  26. package/build/ordertracking_v1.js.map +1 -1
  27. package/build/ordertracking_v1beta.js.map +1 -1
  28. package/build/products_v1.d.ts +9 -27
  29. package/build/products_v1.js.map +1 -1
  30. package/build/products_v1beta.d.ts +9 -27
  31. package/build/products_v1beta.js.map +1 -1
  32. package/build/promotions_v1.js.map +1 -1
  33. package/build/promotions_v1beta.js.map +1 -1
  34. package/build/quota_v1.d.ts +196 -0
  35. package/build/quota_v1.js +73 -0
  36. package/build/quota_v1.js.map +1 -1
  37. package/build/quota_v1beta.js.map +1 -1
  38. package/build/reports_v1.js.map +1 -1
  39. package/build/reports_v1beta.js.map +1 -1
  40. package/build/reviews_v1beta.js.map +1 -1
  41. package/build/tsconfig.tsbuildinfo +1 -1
  42. package/conversions_v1.ts +6 -12
  43. package/conversions_v1beta.ts +6 -12
  44. package/datasources_v1.ts +7 -14
  45. package/datasources_v1beta.ts +7 -14
  46. package/inventories_v1.ts +20 -62
  47. package/inventories_v1beta.ts +20 -62
  48. package/issueresolution_v1.ts +6 -16
  49. package/issueresolution_v1beta.ts +6 -16
  50. package/lfp_v1.ts +7 -14
  51. package/lfp_v1beta.ts +7 -14
  52. package/notifications_v1.ts +5 -10
  53. package/notifications_v1beta.ts +5 -10
  54. package/ordertracking_v1.ts +1 -2
  55. package/ordertracking_v1beta.ts +1 -2
  56. package/package.json +1 -1
  57. package/products_v1.ts +14 -37
  58. package/products_v1beta.ts +14 -37
  59. package/promotions_v1.ts +3 -6
  60. package/promotions_v1beta.ts +3 -6
  61. package/quota_v1.ts +357 -2
  62. package/quota_v1beta.ts +1 -2
  63. package/reports_v1.ts +1 -2
  64. package/reports_v1beta.ts +1 -2
  65. package/reviews_v1beta.ts +8 -16
@@ -745,7 +745,7 @@ export namespace merchantapi_products_v1beta {
745
745
  ratio?: number | null;
746
746
  }
747
747
  /**
748
- * A message that represents loyalty program.
748
+ * LINT.IfChange(LoyaltyProgram) A message that represents loyalty program.
749
749
  */
750
750
  export interface Schema$LoyaltyProgram {
751
751
  /**
@@ -915,7 +915,7 @@ export namespace merchantapi_products_v1beta {
915
915
  */
916
916
  feedLabel?: string | null;
917
917
  /**
918
- * Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`.
918
+ * 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`.
919
919
  */
920
920
  name?: string | null;
921
921
  /**
@@ -1259,10 +1259,8 @@ export namespace merchantapi_products_v1beta {
1259
1259
  * const res = await merchantapi.accounts.productInputs.delete({
1260
1260
  * // 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`.
1261
1261
  * dataSource: 'placeholder-value',
1262
- * // Required. The name of the product input resource to delete. Format: `accounts/{account\}/productInputs/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/en~US~sku123`.
1262
+ * // 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`.
1263
1263
  * name: 'accounts/my-account/productInputs/my-productInput',
1264
- * // Optional. If true, the `{productInput\}` in the `name` field of the request will be interpreted as unpadded base64url-encoded and decoded during request processing to match the decoded value. Default value is `false`. Use this if your `{productInput\}` contains special characters, such as forward slash `/` or other characters that are unpadded base64url-encoded (as per RFC 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2). Note that future versions of the API will only accept unpadded base64url-encoded product ids, so we strongly recommend proactively setting this to `true` and encoding the product ids.
1265
- * productIdBase64UrlEncoded: 'placeholder-value',
1266
1264
  * });
1267
1265
  * console.log(res.data);
1268
1266
  *
@@ -1528,7 +1526,7 @@ export namespace merchantapi_products_v1beta {
1528
1526
  }
1529
1527
 
1530
1528
  /**
1531
- * Updates the existing product input in your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.
1529
+ * Updates the existing product input in your Merchant Center account. The name of the product input to update is taken from the `name` field within the `ProductInput` resource. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.
1532
1530
  * @example
1533
1531
  * ```js
1534
1532
  * // Before running the sample:
@@ -1560,10 +1558,8 @@ export namespace merchantapi_products_v1beta {
1560
1558
  * const res = await merchantapi.accounts.productInputs.patch({
1561
1559
  * // 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`.
1562
1560
  * dataSource: 'placeholder-value',
1563
- * // Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`.
1561
+ * // 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`.
1564
1562
  * name: 'accounts/my-account/productInputs/my-productInput',
1565
- * // Optional. If true, the `{productInput\}` in the `name` field of the request will be interpreted as unpadded base64url-encoded and decoded during request processing to match the decoded value. Default value is `false`. Use this if your `{productInput\}` contains special characters, such as forward slash `/` or other characters that are unpadded base64url-encoded (as per RFC 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2). Note that future versions of the API will only accept unpadded base64url-encoded product ids, so we strongly recommend proactively setting this to `true` and encoding the product ids.
1566
- * productIdBase64UrlEncoded: 'placeholder-value',
1567
1563
  * // 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.
1568
1564
  * updateMask: 'placeholder-value',
1569
1565
  *
@@ -1695,23 +1691,17 @@ export namespace merchantapi_products_v1beta {
1695
1691
  }
1696
1692
  }
1697
1693
 
1698
- export interface Params$Resource$Accounts$Productinputs$Delete
1699
- extends StandardParameters {
1694
+ export interface Params$Resource$Accounts$Productinputs$Delete extends StandardParameters {
1700
1695
  /**
1701
1696
  * 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`.
1702
1697
  */
1703
1698
  dataSource?: string;
1704
1699
  /**
1705
- * Required. The name of the product input resource to delete. Format: `accounts/{account\}/productInputs/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/en~US~sku123`.
1700
+ * 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`.
1706
1701
  */
1707
1702
  name?: string;
1708
- /**
1709
- * Optional. If true, the `{productInput\}` in the `name` field of the request will be interpreted as unpadded base64url-encoded and decoded during request processing to match the decoded value. Default value is `false`. Use this if your `{productInput\}` contains special characters, such as forward slash `/` or other characters that are unpadded base64url-encoded (as per RFC 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2). Note that future versions of the API will only accept unpadded base64url-encoded product ids, so we strongly recommend proactively setting this to `true` and encoding the product ids.
1710
- */
1711
- productIdBase64UrlEncoded?: boolean;
1712
1703
  }
1713
- export interface Params$Resource$Accounts$Productinputs$Insert
1714
- extends StandardParameters {
1704
+ export interface Params$Resource$Accounts$Productinputs$Insert extends StandardParameters {
1715
1705
  /**
1716
1706
  * Required. The primary or supplemental product data source name. If the product already exists and data source provided is different, then the product will be moved to a new data source. For more information, see [Create a primary data source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source). Only API data sources are supported. Format: `accounts/{account\}/dataSources/{datasource\}`. For example, `accounts/123456/dataSources/104628`.
1717
1707
  */
@@ -1726,20 +1716,15 @@ export namespace merchantapi_products_v1beta {
1726
1716
  */
1727
1717
  requestBody?: Schema$ProductInput;
1728
1718
  }
1729
- export interface Params$Resource$Accounts$Productinputs$Patch
1730
- extends StandardParameters {
1719
+ export interface Params$Resource$Accounts$Productinputs$Patch extends StandardParameters {
1731
1720
  /**
1732
1721
  * 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`.
1733
1722
  */
1734
1723
  dataSource?: string;
1735
1724
  /**
1736
- * Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`.
1725
+ * 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`.
1737
1726
  */
1738
1727
  name?: string;
1739
- /**
1740
- * Optional. If true, the `{productInput\}` in the `name` field of the request will be interpreted as unpadded base64url-encoded and decoded during request processing to match the decoded value. Default value is `false`. Use this if your `{productInput\}` contains special characters, such as forward slash `/` or other characters that are unpadded base64url-encoded (as per RFC 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2). Note that future versions of the API will only accept unpadded base64url-encoded product ids, so we strongly recommend proactively setting this to `true` and encoding the product ids.
1741
- */
1742
- productIdBase64UrlEncoded?: boolean;
1743
1728
  /**
1744
1729
  * 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.
1745
1730
  */
@@ -1788,10 +1773,8 @@ export namespace merchantapi_products_v1beta {
1788
1773
  *
1789
1774
  * // Do the magic
1790
1775
  * const res = await merchantapi.accounts.products.get({
1791
- * // Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/products/en~US~sku123`. A legacy local product name would be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta version, the `product` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.
1776
+ * // 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`.
1792
1777
  * name: 'accounts/my-account/products/my-product',
1793
- * // Optional. If true, the `{product\}` in the `name` field of the request will be interpreted as unpadded base64url-encoded and decoded during request processing to match the decoded value. Default value is `false`. Use this if your `{product\}` contains special characters, such as forward slash `/` or other characters that are unpadded base64url-encoded (as per RFC 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2). Note that future versions of the API will only accept unpadded base64url-encoded product ids, so we strongly recommend proactively setting this to `true` and encoding the product ids.
1794
- * productIdBase64UrlEncoded: 'placeholder-value',
1795
1778
  * });
1796
1779
  * console.log(res.data);
1797
1780
  *
@@ -2051,19 +2034,13 @@ export namespace merchantapi_products_v1beta {
2051
2034
  }
2052
2035
  }
2053
2036
 
2054
- export interface Params$Resource$Accounts$Products$Get
2055
- extends StandardParameters {
2037
+ export interface Params$Resource$Accounts$Products$Get extends StandardParameters {
2056
2038
  /**
2057
- * Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/products/en~US~sku123`. A legacy local product name would be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta version, the `product` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.
2039
+ * 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`.
2058
2040
  */
2059
2041
  name?: string;
2060
- /**
2061
- * Optional. If true, the `{product\}` in the `name` field of the request will be interpreted as unpadded base64url-encoded and decoded during request processing to match the decoded value. Default value is `false`. Use this if your `{product\}` contains special characters, such as forward slash `/` or other characters that are unpadded base64url-encoded (as per RFC 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2). Note that future versions of the API will only accept unpadded base64url-encoded product ids, so we strongly recommend proactively setting this to `true` and encoding the product ids.
2062
- */
2063
- productIdBase64UrlEncoded?: boolean;
2064
2042
  }
2065
- export interface Params$Resource$Accounts$Products$List
2066
- extends StandardParameters {
2043
+ export interface Params$Resource$Accounts$Products$List extends StandardParameters {
2067
2044
  /**
2068
2045
  * The maximum number of products to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the default page size of 25 products will be returned.
2069
2046
  */
package/promotions_v1.ts CHANGED
@@ -958,15 +958,13 @@ export namespace merchantapi_promotions_v1 {
958
958
  }
959
959
  }
960
960
 
961
- export interface Params$Resource$Accounts$Promotions$Get
962
- extends StandardParameters {
961
+ export interface Params$Resource$Accounts$Promotions$Get extends StandardParameters {
963
962
  /**
964
963
  * Required. The name of the promotion to retrieve. Format: `accounts/{account\}/promotions/{promotions\}`
965
964
  */
966
965
  name?: string;
967
966
  }
968
- export interface Params$Resource$Accounts$Promotions$Insert
969
- extends StandardParameters {
967
+ export interface Params$Resource$Accounts$Promotions$Insert extends StandardParameters {
970
968
  /**
971
969
  * Required. The account where the promotion will be inserted. Format: accounts/{account\}
972
970
  */
@@ -977,8 +975,7 @@ export namespace merchantapi_promotions_v1 {
977
975
  */
978
976
  requestBody?: Schema$InsertPromotionRequest;
979
977
  }
980
- export interface Params$Resource$Accounts$Promotions$List
981
- extends StandardParameters {
978
+ export interface Params$Resource$Accounts$Promotions$List extends StandardParameters {
982
979
  /**
983
980
  * Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.
984
981
  */
@@ -958,15 +958,13 @@ export namespace merchantapi_promotions_v1beta {
958
958
  }
959
959
  }
960
960
 
961
- export interface Params$Resource$Accounts$Promotions$Get
962
- extends StandardParameters {
961
+ export interface Params$Resource$Accounts$Promotions$Get extends StandardParameters {
963
962
  /**
964
963
  * Required. The name of the promotion to retrieve. Format: `accounts/{account\}/promotions/{promotions\}`
965
964
  */
966
965
  name?: string;
967
966
  }
968
- export interface Params$Resource$Accounts$Promotions$Insert
969
- extends StandardParameters {
967
+ export interface Params$Resource$Accounts$Promotions$Insert extends StandardParameters {
970
968
  /**
971
969
  * Required. The account where the promotion will be inserted. Format: accounts/{account\}
972
970
  */
@@ -977,8 +975,7 @@ export namespace merchantapi_promotions_v1beta {
977
975
  */
978
976
  requestBody?: Schema$InsertPromotionRequest;
979
977
  }
980
- export interface Params$Resource$Accounts$Promotions$List
981
- extends StandardParameters {
978
+ export interface Params$Resource$Accounts$Promotions$List extends StandardParameters {
982
979
  /**
983
980
  * Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.
984
981
  */
package/quota_v1.ts CHANGED
@@ -124,6 +124,32 @@ export namespace merchantapi_quota_v1 {
124
124
  }
125
125
  }
126
126
 
127
+ /**
128
+ * A limit of a certain type that is applied to an account.
129
+ */
130
+ export interface Schema$AccountLimit {
131
+ /**
132
+ * Identifier. The limit part of the name will be a combination of the type and the scope. For example: `accounts/123/limits/products~ADS_NON_EEA` Format: `accounts/{account\}/limits/{limit\}`
133
+ */
134
+ name?: string | null;
135
+ /**
136
+ * The limit for products.
137
+ */
138
+ products?: Schema$ProductLimit;
139
+ }
140
+ /**
141
+ * Response message for the `ListAccountLimits` method.
142
+ */
143
+ export interface Schema$ListAccountLimitsResponse {
144
+ /**
145
+ * The limits for the given account.
146
+ */
147
+ accountLimits?: Schema$AccountLimit[];
148
+ /**
149
+ * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
150
+ */
151
+ nextPageToken?: string | null;
152
+ }
127
153
  /**
128
154
  * Response message for the ListMethodGroups method.
129
155
  */
@@ -179,6 +205,19 @@ export namespace merchantapi_quota_v1 {
179
205
  */
180
206
  reportingContext?: string | null;
181
207
  }
208
+ /**
209
+ * The limit for products.
210
+ */
211
+ export interface Schema$ProductLimit {
212
+ /**
213
+ * Required. The maximum number of products that are allowed in the account in the given scope.
214
+ */
215
+ limit?: string | null;
216
+ /**
217
+ * Required. The scope of the product limit.
218
+ */
219
+ scope?: string | null;
220
+ }
182
221
  /**
183
222
  * The message that the merchant will receive to notify about product status change event
184
223
  */
@@ -248,13 +287,330 @@ export namespace merchantapi_quota_v1 {
248
287
 
249
288
  export class Resource$Accounts {
250
289
  context: APIRequestContext;
290
+ limits: Resource$Accounts$Limits;
251
291
  quotas: Resource$Accounts$Quotas;
252
292
  constructor(context: APIRequestContext) {
253
293
  this.context = context;
294
+ this.limits = new Resource$Accounts$Limits(this.context);
254
295
  this.quotas = new Resource$Accounts$Quotas(this.context);
255
296
  }
256
297
  }
257
298
 
299
+ export class Resource$Accounts$Limits {
300
+ context: APIRequestContext;
301
+ constructor(context: APIRequestContext) {
302
+ this.context = context;
303
+ }
304
+
305
+ /**
306
+ * Retrieves an account limit.
307
+ * @example
308
+ * ```js
309
+ * // Before running the sample:
310
+ * // - Enable the API at:
311
+ * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com
312
+ * // - Login into gcloud by running:
313
+ * // ```sh
314
+ * // $ gcloud auth application-default login
315
+ * // ```
316
+ * // - Install the npm module by running:
317
+ * // ```sh
318
+ * // $ npm install googleapis
319
+ * // ```
320
+ *
321
+ * const {google} = require('googleapis');
322
+ * const merchantapi = google.merchantapi('quota_v1');
323
+ *
324
+ * async function main() {
325
+ * const auth = new google.auth.GoogleAuth({
326
+ * // Scopes can be specified either as an array or as a single, space-delimited string.
327
+ * scopes: ['https://www.googleapis.com/auth/content'],
328
+ * });
329
+ *
330
+ * // Acquire an auth client, and bind it to all future calls
331
+ * const authClient = await auth.getClient();
332
+ * google.options({auth: authClient});
333
+ *
334
+ * // Do the magic
335
+ * const res = await merchantapi.accounts.limits.get({
336
+ * // Required. The name of the limit to retrieve. Format: `accounts/{account\}/limits/{limit\}` For example: `accounts/123/limits/products~ADS_NON_EEA`
337
+ * name: 'accounts/my-account/limits/my-limit',
338
+ * });
339
+ * console.log(res.data);
340
+ *
341
+ * // Example response
342
+ * // {
343
+ * // "name": "my_name",
344
+ * // "products": {}
345
+ * // }
346
+ * }
347
+ *
348
+ * main().catch(e => {
349
+ * console.error(e);
350
+ * throw e;
351
+ * });
352
+ *
353
+ * ```
354
+ *
355
+ * @param params - Parameters for request
356
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
357
+ * @param callback - Optional callback that handles the response.
358
+ * @returns A promise if used with async/await, or void if used with a callback.
359
+ */
360
+ get(
361
+ params: Params$Resource$Accounts$Limits$Get,
362
+ options: StreamMethodOptions
363
+ ): Promise<GaxiosResponseWithHTTP2<Readable>>;
364
+ get(
365
+ params?: Params$Resource$Accounts$Limits$Get,
366
+ options?: MethodOptions
367
+ ): Promise<GaxiosResponseWithHTTP2<Schema$AccountLimit>>;
368
+ get(
369
+ params: Params$Resource$Accounts$Limits$Get,
370
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
371
+ callback: BodyResponseCallback<Readable>
372
+ ): void;
373
+ get(
374
+ params: Params$Resource$Accounts$Limits$Get,
375
+ options: MethodOptions | BodyResponseCallback<Schema$AccountLimit>,
376
+ callback: BodyResponseCallback<Schema$AccountLimit>
377
+ ): void;
378
+ get(
379
+ params: Params$Resource$Accounts$Limits$Get,
380
+ callback: BodyResponseCallback<Schema$AccountLimit>
381
+ ): void;
382
+ get(callback: BodyResponseCallback<Schema$AccountLimit>): void;
383
+ get(
384
+ paramsOrCallback?:
385
+ | Params$Resource$Accounts$Limits$Get
386
+ | BodyResponseCallback<Schema$AccountLimit>
387
+ | BodyResponseCallback<Readable>,
388
+ optionsOrCallback?:
389
+ | MethodOptions
390
+ | StreamMethodOptions
391
+ | BodyResponseCallback<Schema$AccountLimit>
392
+ | BodyResponseCallback<Readable>,
393
+ callback?:
394
+ | BodyResponseCallback<Schema$AccountLimit>
395
+ | BodyResponseCallback<Readable>
396
+ ):
397
+ | void
398
+ | Promise<GaxiosResponseWithHTTP2<Schema$AccountLimit>>
399
+ | Promise<GaxiosResponseWithHTTP2<Readable>> {
400
+ let params = (paramsOrCallback ||
401
+ {}) as Params$Resource$Accounts$Limits$Get;
402
+ let options = (optionsOrCallback || {}) as MethodOptions;
403
+
404
+ if (typeof paramsOrCallback === 'function') {
405
+ callback = paramsOrCallback;
406
+ params = {} as Params$Resource$Accounts$Limits$Get;
407
+ options = {};
408
+ }
409
+
410
+ if (typeof optionsOrCallback === 'function') {
411
+ callback = optionsOrCallback;
412
+ options = {};
413
+ }
414
+
415
+ const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/';
416
+ const parameters = {
417
+ options: Object.assign(
418
+ {
419
+ url: (rootUrl + '/quota/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'),
420
+ method: 'GET',
421
+ apiVersion: '',
422
+ },
423
+ options
424
+ ),
425
+ params,
426
+ requiredParams: ['name'],
427
+ pathParams: ['name'],
428
+ context: this.context,
429
+ };
430
+ if (callback) {
431
+ createAPIRequest<Schema$AccountLimit>(
432
+ parameters,
433
+ callback as BodyResponseCallback<unknown>
434
+ );
435
+ } else {
436
+ return createAPIRequest<Schema$AccountLimit>(parameters);
437
+ }
438
+ }
439
+
440
+ /**
441
+ * Lists the limits of an account.
442
+ * @example
443
+ * ```js
444
+ * // Before running the sample:
445
+ * // - Enable the API at:
446
+ * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com
447
+ * // - Login into gcloud by running:
448
+ * // ```sh
449
+ * // $ gcloud auth application-default login
450
+ * // ```
451
+ * // - Install the npm module by running:
452
+ * // ```sh
453
+ * // $ npm install googleapis
454
+ * // ```
455
+ *
456
+ * const {google} = require('googleapis');
457
+ * const merchantapi = google.merchantapi('quota_v1');
458
+ *
459
+ * async function main() {
460
+ * const auth = new google.auth.GoogleAuth({
461
+ * // Scopes can be specified either as an array or as a single, space-delimited string.
462
+ * scopes: ['https://www.googleapis.com/auth/content'],
463
+ * });
464
+ *
465
+ * // Acquire an auth client, and bind it to all future calls
466
+ * const authClient = await auth.getClient();
467
+ * google.options({auth: authClient});
468
+ *
469
+ * // Do the magic
470
+ * const res = await merchantapi.accounts.limits.list({
471
+ * // Required. A filter on the limit `type` is required, for example, `type = "products"`.
472
+ * filter: 'placeholder-value',
473
+ * // Optional. The maximum number of limits to return. The service may return fewer than this value. If unspecified, at most 100 limits will be returned. The maximum value is 100; values above 100 will be coerced to 100.
474
+ * pageSize: 'placeholder-value',
475
+ * // Optional. A page token, received from a previous `ListAccountLimits` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountLimits` must match the call that provided the page token.
476
+ * pageToken: 'placeholder-value',
477
+ * // Required. The parent account. Format: `accounts/{account\}`
478
+ * parent: 'accounts/my-account',
479
+ * });
480
+ * console.log(res.data);
481
+ *
482
+ * // Example response
483
+ * // {
484
+ * // "accountLimits": [],
485
+ * // "nextPageToken": "my_nextPageToken"
486
+ * // }
487
+ * }
488
+ *
489
+ * main().catch(e => {
490
+ * console.error(e);
491
+ * throw e;
492
+ * });
493
+ *
494
+ * ```
495
+ *
496
+ * @param params - Parameters for request
497
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
498
+ * @param callback - Optional callback that handles the response.
499
+ * @returns A promise if used with async/await, or void if used with a callback.
500
+ */
501
+ list(
502
+ params: Params$Resource$Accounts$Limits$List,
503
+ options: StreamMethodOptions
504
+ ): Promise<GaxiosResponseWithHTTP2<Readable>>;
505
+ list(
506
+ params?: Params$Resource$Accounts$Limits$List,
507
+ options?: MethodOptions
508
+ ): Promise<GaxiosResponseWithHTTP2<Schema$ListAccountLimitsResponse>>;
509
+ list(
510
+ params: Params$Resource$Accounts$Limits$List,
511
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
512
+ callback: BodyResponseCallback<Readable>
513
+ ): void;
514
+ list(
515
+ params: Params$Resource$Accounts$Limits$List,
516
+ options:
517
+ | MethodOptions
518
+ | BodyResponseCallback<Schema$ListAccountLimitsResponse>,
519
+ callback: BodyResponseCallback<Schema$ListAccountLimitsResponse>
520
+ ): void;
521
+ list(
522
+ params: Params$Resource$Accounts$Limits$List,
523
+ callback: BodyResponseCallback<Schema$ListAccountLimitsResponse>
524
+ ): void;
525
+ list(
526
+ callback: BodyResponseCallback<Schema$ListAccountLimitsResponse>
527
+ ): void;
528
+ list(
529
+ paramsOrCallback?:
530
+ | Params$Resource$Accounts$Limits$List
531
+ | BodyResponseCallback<Schema$ListAccountLimitsResponse>
532
+ | BodyResponseCallback<Readable>,
533
+ optionsOrCallback?:
534
+ | MethodOptions
535
+ | StreamMethodOptions
536
+ | BodyResponseCallback<Schema$ListAccountLimitsResponse>
537
+ | BodyResponseCallback<Readable>,
538
+ callback?:
539
+ | BodyResponseCallback<Schema$ListAccountLimitsResponse>
540
+ | BodyResponseCallback<Readable>
541
+ ):
542
+ | void
543
+ | Promise<GaxiosResponseWithHTTP2<Schema$ListAccountLimitsResponse>>
544
+ | Promise<GaxiosResponseWithHTTP2<Readable>> {
545
+ let params = (paramsOrCallback ||
546
+ {}) as Params$Resource$Accounts$Limits$List;
547
+ let options = (optionsOrCallback || {}) as MethodOptions;
548
+
549
+ if (typeof paramsOrCallback === 'function') {
550
+ callback = paramsOrCallback;
551
+ params = {} as Params$Resource$Accounts$Limits$List;
552
+ options = {};
553
+ }
554
+
555
+ if (typeof optionsOrCallback === 'function') {
556
+ callback = optionsOrCallback;
557
+ options = {};
558
+ }
559
+
560
+ const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/';
561
+ const parameters = {
562
+ options: Object.assign(
563
+ {
564
+ url: (rootUrl + '/quota/v1/{+parent}/limits').replace(
565
+ /([^:]\/)\/+/g,
566
+ '$1'
567
+ ),
568
+ method: 'GET',
569
+ apiVersion: '',
570
+ },
571
+ options
572
+ ),
573
+ params,
574
+ requiredParams: ['parent'],
575
+ pathParams: ['parent'],
576
+ context: this.context,
577
+ };
578
+ if (callback) {
579
+ createAPIRequest<Schema$ListAccountLimitsResponse>(
580
+ parameters,
581
+ callback as BodyResponseCallback<unknown>
582
+ );
583
+ } else {
584
+ return createAPIRequest<Schema$ListAccountLimitsResponse>(parameters);
585
+ }
586
+ }
587
+ }
588
+
589
+ export interface Params$Resource$Accounts$Limits$Get extends StandardParameters {
590
+ /**
591
+ * Required. The name of the limit to retrieve. Format: `accounts/{account\}/limits/{limit\}` For example: `accounts/123/limits/products~ADS_NON_EEA`
592
+ */
593
+ name?: string;
594
+ }
595
+ export interface Params$Resource$Accounts$Limits$List extends StandardParameters {
596
+ /**
597
+ * Required. A filter on the limit `type` is required, for example, `type = "products"`.
598
+ */
599
+ filter?: string;
600
+ /**
601
+ * Optional. The maximum number of limits to return. The service may return fewer than this value. If unspecified, at most 100 limits will be returned. The maximum value is 100; values above 100 will be coerced to 100.
602
+ */
603
+ pageSize?: number;
604
+ /**
605
+ * Optional. A page token, received from a previous `ListAccountLimits` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountLimits` must match the call that provided the page token.
606
+ */
607
+ pageToken?: string;
608
+ /**
609
+ * Required. The parent account. Format: `accounts/{account\}`
610
+ */
611
+ parent?: string;
612
+ }
613
+
258
614
  export class Resource$Accounts$Quotas {
259
615
  context: APIRequestContext;
260
616
  constructor(context: APIRequestContext) {
@@ -406,8 +762,7 @@ export namespace merchantapi_quota_v1 {
406
762
  }
407
763
  }
408
764
 
409
- export interface Params$Resource$Accounts$Quotas$List
410
- extends StandardParameters {
765
+ export interface Params$Resource$Accounts$Quotas$List extends StandardParameters {
411
766
  /**
412
767
  * Optional. The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000.
413
768
  */
package/quota_v1beta.ts CHANGED
@@ -406,8 +406,7 @@ export namespace merchantapi_quota_v1beta {
406
406
  }
407
407
  }
408
408
 
409
- export interface Params$Resource$Accounts$Quotas$List
410
- extends StandardParameters {
409
+ export interface Params$Resource$Accounts$Quotas$List extends StandardParameters {
411
410
  /**
412
411
  * Optional. The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000.
413
412
  */
package/reports_v1.ts CHANGED
@@ -1190,8 +1190,7 @@ export namespace merchantapi_reports_v1 {
1190
1190
  }
1191
1191
  }
1192
1192
 
1193
- export interface Params$Resource$Accounts$Reports$Search
1194
- extends StandardParameters {
1193
+ export interface Params$Resource$Accounts$Reports$Search extends StandardParameters {
1195
1194
  /**
1196
1195
  * Required. Id of the account making the call. Must be a standalone account or an MCA subaccount. Format: accounts/{account\}
1197
1196
  */
package/reports_v1beta.ts CHANGED
@@ -1190,8 +1190,7 @@ export namespace merchantapi_reports_v1beta {
1190
1190
  }
1191
1191
  }
1192
1192
 
1193
- export interface Params$Resource$Accounts$Reports$Search
1194
- extends StandardParameters {
1193
+ export interface Params$Resource$Accounts$Reports$Search extends StandardParameters {
1195
1194
  /**
1196
1195
  * Required. Id of the account making the call. Must be a standalone account or an MCA subaccount. Format: accounts/{account\}
1197
1196
  */