delete method
Deletes a product input from your Merchant Center account.
After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.
Request parameters:
name - 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.
Value must have pattern ^accounts/\[^/\]+/productInputs/\[^/\]+$.
dataSource - 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.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a Empty.
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<Empty> delete(
core.String name, {
core.String? dataSource,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
'dataSource': ?dataSource == null ? null : [dataSource],
'fields': ?$fields == null ? null : [$fields],
};
final url_ = 'products/v1/' + core.Uri.encodeFull('$name');
final response_ = await _requester.request(
url_,
'DELETE',
queryParams: queryParams_,
);
return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>);
}