feat: update products_common fields to include `handling_cutoff_timez… · googleapis/googleapis@256b575 · GitHub
Skip to content

Commit 256b575

Browse files
Google APIscopybara-github
authored andcommitted
feat: update products_common fields to include handling_cutoff_timezone , shipping_handling_business_days, shipping_transit_business_days
docs: comment for messages for products_common are changed PiperOrigin-RevId: 881874426
1 parent a08d87f commit 256b575

3 files changed

Lines changed: 201 additions & 36 deletions

File tree

google/shopping/merchant/products/v1/productinputs.proto

Lines changed: 86 additions & 23 deletions

google/shopping/merchant/products/v1/products.proto

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 Google LLC
1+
// Copyright 2026 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -164,16 +164,42 @@ message Product {
164164

165165
// Request message for the GetProduct method.
166166
message GetProductRequest {
167-
// Required. The name of the product to retrieve.
168-
// Format:
169-
// `accounts/{account}/products/{product}` where the last
170-
// section `product` consists of:
171-
// `content_language~feed_label~offer_id`
172-
// example for product name is `accounts/123/products/en~US~sku123`. A legacy
173-
// local product name would be `accounts/123/products/local~en~US~sku123`.
174-
// Note: For calls to the v1beta version, the `product` section consists
175-
// of: `channel~content_language~feed_label~offer_id`, for example:
176-
// `accounts/123/products/online~en~US~sku123`.
167+
// Required. The name of the product.
168+
// Format: `accounts/{account}/products/{product}`
169+
//
170+
// The `{product}` segment is a unique identifier for the product.
171+
// This identifier must be unique within a merchant account and generally
172+
// follows the structure: `content_language~feed_label~offer_id`. Example:
173+
// `en~US~sku123` For legacy local products, the structure is:
174+
// `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123`
175+
//
176+
// The format of the `{product}` segment in the URL is automatically detected
177+
// by the server, supporting two options:
178+
//
179+
// 1. **Encoded Format**: The `{product}` segment is an unpadded base64url
180+
// encoded string (RFC 4648 Section 5). The decoded string must result
181+
// in the `content_language~feed_label~offer_id` structure. This encoding
182+
// MUST be used if any part of the product identifier (like `offer_id`)
183+
// contains characters such as `/`, `%`, or `~`.
184+
// * Example: To represent the product ID `en~US~sku/123`, the
185+
// `{product}` segment must be the base64url encoding of this
186+
// string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name
187+
// for the product would be
188+
// `accounts/123/products/ZW5-VVMtc2t1LzEyMw`.
189+
//
190+
// 2. **Plain Format**: The `{product}` segment is the tilde-separated string
191+
// `content_language~feed_label~offer_id`. This format is suitable only
192+
// when `content_language`, `feed_label`, and `offer_id` do not contain
193+
// URL-problematic characters like `/`, `%`, or `~`.
194+
//
195+
// We recommend using the **Encoded Format** for all product IDs to ensure
196+
// correct parsing, especially those containing special characters. The
197+
// presence of tilde (`~`) characters in the `{product}` segment is used to
198+
// differentiate between the two formats.
199+
//
200+
// Note: For calls to the v1beta version, the plain format is
201+
// `channel~content_language~feed_label~offer_id`, for example:
202+
// `accounts/123/products/online~en~US~sku123`.
177203
string name = 1 [
178204
(google.api.field_behavior) = REQUIRED,
179205
(google.api.resource_reference) = {

google/shopping/merchant/products/v1/products_common.proto

Lines changed: 78 additions & 2 deletions

0 commit comments

Comments
 (0)