get method
Retrieves the processed product from your Merchant Center account.
After inserting, updating, or deleting a product input, it may take several minutes before the updated final product can be retrieved.
Request parameters:
name - 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.
Value must have pattern ^accounts/\[^/\]+/products/\[^/\]+$.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a Product.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<Product> get(core.String name, {core.String? $fields}) async {
final queryParams_ = <core.String, core.List<core.String>>{
'fields': ?$fields == null ? null : [$fields],
};
final url_ = 'products/v1/' + core.Uri.encodeFull('$name');
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return Product.fromJson(response_ as core.Map<core.String, core.dynamic>);
}