| Index: generated/googleapis/lib/content/v2.dart
|
| diff --git a/generated/googleapis/lib/content/v2.dart b/generated/googleapis/lib/content/v2.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..098b4aea46210b3c39378174c0475f1c71faf355
|
| --- /dev/null
|
| +++ b/generated/googleapis/lib/content/v2.dart
|
| @@ -0,0 +1,5314 @@
|
| +library googleapis.content.v2;
|
| +
|
| +import "dart:core" as core;
|
| +import "dart:collection" as collection;
|
| +import "dart:async" as async;
|
| +import "dart:convert" as convert;
|
| +
|
| +import "package:crypto/crypto.dart" as crypto;
|
| +import 'package:http/http.dart' as http;
|
| +import '../src/common_internal.dart' as common_internal;
|
| +import '../common/common.dart' as common;
|
| +
|
| +export '../common/common.dart' show ApiRequestError;
|
| +export '../common/common.dart' show DetailedApiRequestError;
|
| +
|
| +/**
|
| + * Manage product items, inventory, and Merchant Center accounts for Google
|
| + * Shopping.
|
| + */
|
| +class ContentApi {
|
| + /** Manage your product listings and accounts for Google Shopping */
|
| + static const ContentScope = "https://www.googleapis.com/auth/content";
|
| +
|
| +
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + AccountsResourceApi get accounts => new AccountsResourceApi(_requester);
|
| + AccountstatusesResourceApi get accountstatuses => new AccountstatusesResourceApi(_requester);
|
| + DatafeedsResourceApi get datafeeds => new DatafeedsResourceApi(_requester);
|
| + DatafeedstatusesResourceApi get datafeedstatuses => new DatafeedstatusesResourceApi(_requester);
|
| + InventoryResourceApi get inventory => new InventoryResourceApi(_requester);
|
| + ProductsResourceApi get products => new ProductsResourceApi(_requester);
|
| + ProductstatusesResourceApi get productstatuses => new ProductstatusesResourceApi(_requester);
|
| +
|
| + ContentApi(http.Client client) :
|
| + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/content/v2/");
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + AccountsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieves, inserts, updates, and deletes multiple Merchant Center
|
| + * (sub-)accounts in a single request.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [AccountsCustomBatchResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<AccountsCustomBatchResponse> custombatch(AccountsCustomBatchRequest request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'accounts/batch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AccountsCustomBatchResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Deletes a Merchant Center sub-account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [accountId] - The ID of the account.
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future delete(core.String merchantId, core.String accountId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (accountId == null) {
|
| + throw new core.ArgumentError("Parameter accountId is required.");
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accounts/' + common_internal.Escaper.ecapeVariable('$accountId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "DELETE",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| + /**
|
| + * Retrieves a Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [accountId] - The ID of the account.
|
| + *
|
| + * Completes with a [Account].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Account> get(core.String merchantId, core.String accountId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (accountId == null) {
|
| + throw new core.ArgumentError("Parameter accountId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accounts/' + common_internal.Escaper.ecapeVariable('$accountId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Account.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Creates a Merchant Center sub-account.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * Completes with a [Account].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Account> insert(Account request, core.String merchantId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accounts';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Account.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the sub-accounts in your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [maxResults] - The maximum number of accounts to return in the response,
|
| + * used for paging.
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [AccountsListResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<AccountsListResponse> list(core.String merchantId, {core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accounts';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AccountsListResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates a Merchant Center account. This method supports patch semantics.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [accountId] - The ID of the account.
|
| + *
|
| + * Completes with a [Account].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Account> patch(Account request, core.String merchantId, core.String accountId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (accountId == null) {
|
| + throw new core.ArgumentError("Parameter accountId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accounts/' + common_internal.Escaper.ecapeVariable('$accountId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PATCH",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Account.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates a Merchant Center account.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [accountId] - The ID of the account.
|
| + *
|
| + * Completes with a [Account].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Account> update(Account request, core.String merchantId, core.String accountId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (accountId == null) {
|
| + throw new core.ArgumentError("Parameter accountId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accounts/' + common_internal.Escaper.ecapeVariable('$accountId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Account.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountstatusesResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + AccountstatusesResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Not documented yet.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [AccountstatusesCustomBatchResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<AccountstatusesCustomBatchResponse> custombatch(AccountstatusesCustomBatchRequest request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'accountstatuses/batch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AccountstatusesCustomBatchResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Retrieves the status of a Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [accountId] - The ID of the account.
|
| + *
|
| + * Completes with a [AccountStatus].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<AccountStatus> get(core.String merchantId, core.String accountId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (accountId == null) {
|
| + throw new core.ArgumentError("Parameter accountId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accountstatuses/' + common_internal.Escaper.ecapeVariable('$accountId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AccountStatus.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the statuses of the sub-accounts in your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [maxResults] - The maximum number of account statuses to return in the
|
| + * response, used for paging.
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [AccountstatusesListResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<AccountstatusesListResponse> list(core.String merchantId, {core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/accountstatuses';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AccountstatusesListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + DatafeedsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Not documented yet.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [DatafeedsCustomBatchResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<DatafeedsCustomBatchResponse> custombatch(DatafeedsCustomBatchRequest request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'datafeeds/batch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new DatafeedsCustomBatchResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Deletes a datafeed from your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * [datafeedId] - null
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future delete(core.String merchantId, core.String datafeedId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (datafeedId == null) {
|
| + throw new core.ArgumentError("Parameter datafeedId is required.");
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeeds/' + common_internal.Escaper.ecapeVariable('$datafeedId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "DELETE",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| + /**
|
| + * Retrieves a datafeed from your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * [datafeedId] - null
|
| + *
|
| + * Completes with a [Datafeed].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Datafeed> get(core.String merchantId, core.String datafeedId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (datafeedId == null) {
|
| + throw new core.ArgumentError("Parameter datafeedId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeeds/' + common_internal.Escaper.ecapeVariable('$datafeedId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Datafeed.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Registers a datafeed with your Merchant Center account.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * Completes with a [Datafeed].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Datafeed> insert(Datafeed request, core.String merchantId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeeds';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Datafeed.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the datafeeds in your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * Completes with a [DatafeedsListResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<DatafeedsListResponse> list(core.String merchantId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeeds';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new DatafeedsListResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates a datafeed of your Merchant Center account. This method supports
|
| + * patch semantics.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * [datafeedId] - null
|
| + *
|
| + * Completes with a [Datafeed].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Datafeed> patch(Datafeed request, core.String merchantId, core.String datafeedId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (datafeedId == null) {
|
| + throw new core.ArgumentError("Parameter datafeedId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeeds/' + common_internal.Escaper.ecapeVariable('$datafeedId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PATCH",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Datafeed.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates a datafeed of your Merchant Center account.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * [datafeedId] - null
|
| + *
|
| + * Completes with a [Datafeed].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Datafeed> update(Datafeed request, core.String merchantId, core.String datafeedId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (datafeedId == null) {
|
| + throw new core.ArgumentError("Parameter datafeedId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeeds/' + common_internal.Escaper.ecapeVariable('$datafeedId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Datafeed.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedstatusesResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + DatafeedstatusesResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Not documented yet.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [DatafeedstatusesCustomBatchResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<DatafeedstatusesCustomBatchResponse> custombatch(DatafeedstatusesCustomBatchRequest request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'datafeedstatuses/batch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new DatafeedstatusesCustomBatchResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Retrieves the status of a datafeed from your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * [datafeedId] - null
|
| + *
|
| + * Completes with a [DatafeedStatus].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<DatafeedStatus> get(core.String merchantId, core.String datafeedId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (datafeedId == null) {
|
| + throw new core.ArgumentError("Parameter datafeedId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeedstatuses/' + common_internal.Escaper.ecapeVariable('$datafeedId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new DatafeedStatus.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the statuses of the datafeeds in your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - null
|
| + *
|
| + * Completes with a [DatafeedstatusesListResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<DatafeedstatusesListResponse> list(core.String merchantId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/datafeedstatuses';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new DatafeedstatusesListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class InventoryResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + InventoryResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Updates price and availability for multiple products or stores in a single
|
| + * request.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [InventoryCustomBatchResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<InventoryCustomBatchResponse> custombatch(InventoryCustomBatchRequest request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'inventory/batch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new InventoryCustomBatchResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates price and availability of a product in your Merchant Center
|
| + * account.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [storeCode] - The code of the store for which to update price and
|
| + * availability. Use online to update price and availability of an online
|
| + * product.
|
| + *
|
| + * [productId] - The ID of the product for which to update price and
|
| + * availability.
|
| + *
|
| + * Completes with a [InventorySetResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<InventorySetResponse> set(InventorySetRequest request, core.String merchantId, core.String storeCode, core.String productId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (storeCode == null) {
|
| + throw new core.ArgumentError("Parameter storeCode is required.");
|
| + }
|
| + if (productId == null) {
|
| + throw new core.ArgumentError("Parameter productId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/inventory/' + common_internal.Escaper.ecapeVariable('$storeCode') + '/products/' + common_internal.Escaper.ecapeVariable('$productId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new InventorySetResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + ProductsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieves, inserts, and deletes multiple products in a single request.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [dryRun] - Flag to run the request in dry-run mode.
|
| + *
|
| + * Completes with a [ProductsCustomBatchResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<ProductsCustomBatchResponse> custombatch(ProductsCustomBatchRequest request, {core.bool dryRun}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (dryRun != null) {
|
| + _queryParams["dryRun"] = ["${dryRun}"];
|
| + }
|
| +
|
| +
|
| + _url = 'products/batch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ProductsCustomBatchResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Deletes a product from your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [productId] - The ID of the product.
|
| + *
|
| + * [dryRun] - Flag to run the request in dry-run mode.
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future delete(core.String merchantId, core.String productId, {core.bool dryRun}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (productId == null) {
|
| + throw new core.ArgumentError("Parameter productId is required.");
|
| + }
|
| + if (dryRun != null) {
|
| + _queryParams["dryRun"] = ["${dryRun}"];
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/products/' + common_internal.Escaper.ecapeVariable('$productId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "DELETE",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| + /**
|
| + * Retrieves a product from your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [productId] - The ID of the product.
|
| + *
|
| + * Completes with a [Product].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Product> get(core.String merchantId, core.String productId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (productId == null) {
|
| + throw new core.ArgumentError("Parameter productId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/products/' + common_internal.Escaper.ecapeVariable('$productId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Product.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Uploads a product to your Merchant Center account.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [dryRun] - Flag to run the request in dry-run mode.
|
| + *
|
| + * Completes with a [Product].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<Product> insert(Product request, core.String merchantId, {core.bool dryRun}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (dryRun != null) {
|
| + _queryParams["dryRun"] = ["${dryRun}"];
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/products';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Product.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the products in your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [maxResults] - The maximum number of products to return in the response,
|
| + * used for paging.
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [ProductsListResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<ProductsListResponse> list(core.String merchantId, {core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/products';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ProductsListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductstatusesResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + ProductstatusesResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Gets the statuses of multiple products in a single request.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [ProductstatusesCustomBatchResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<ProductstatusesCustomBatchResponse> custombatch(ProductstatusesCustomBatchRequest request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'productstatuses/batch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ProductstatusesCustomBatchResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets the status of a product from your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [productId] - The ID of the product.
|
| + *
|
| + * Completes with a [ProductStatus].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<ProductStatus> get(core.String merchantId, core.String productId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (productId == null) {
|
| + throw new core.ArgumentError("Parameter productId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/productstatuses/' + common_internal.Escaper.ecapeVariable('$productId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ProductStatus.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the statuses of the products in your Merchant Center account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [merchantId] - The ID of the managing account.
|
| + *
|
| + * [maxResults] - The maximum number of product statuses to return in the
|
| + * response, used for paging.
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [ProductstatusesListResponse].
|
| + *
|
| + * Completes with a [common.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.
|
| + */
|
| + async.Future<ProductstatusesListResponse> list(core.String merchantId, {core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (merchantId == null) {
|
| + throw new core.ArgumentError("Parameter merchantId is required.");
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$merchantId') + '/productstatuses';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ProductstatusesListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Account {
|
| + /** Indicates whether the merchant sells adult content. */
|
| + core.bool adultContent;
|
| +
|
| + /** List of linked AdWords accounts. */
|
| + core.List<AccountAdwordsLink> adwordsLinks;
|
| +
|
| + /** Merchant Center account ID. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#account".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Display name for the account. */
|
| + core.String name;
|
| +
|
| + /**
|
| + * URL for individual seller reviews, i.e., reviews for each child account.
|
| + */
|
| + core.String reviewsUrl;
|
| +
|
| + /** Client-specific, locally-unique, internal ID for the child account. */
|
| + core.String sellerId;
|
| +
|
| + /**
|
| + * Users with access to the account. Every account (except for subaccounts)
|
| + * must have at least one admin user.
|
| + */
|
| + core.List<AccountUser> users;
|
| +
|
| + /** The merchant's website. */
|
| + core.String websiteUrl;
|
| +
|
| +
|
| + Account();
|
| +
|
| + Account.fromJson(core.Map _json) {
|
| + if (_json.containsKey("adultContent")) {
|
| + adultContent = _json["adultContent"];
|
| + }
|
| + if (_json.containsKey("adwordsLinks")) {
|
| + adwordsLinks = _json["adwordsLinks"].map((value) => new AccountAdwordsLink.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("reviewsUrl")) {
|
| + reviewsUrl = _json["reviewsUrl"];
|
| + }
|
| + if (_json.containsKey("sellerId")) {
|
| + sellerId = _json["sellerId"];
|
| + }
|
| + if (_json.containsKey("users")) {
|
| + users = _json["users"].map((value) => new AccountUser.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("websiteUrl")) {
|
| + websiteUrl = _json["websiteUrl"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (adultContent != null) {
|
| + _json["adultContent"] = adultContent;
|
| + }
|
| + if (adwordsLinks != null) {
|
| + _json["adwordsLinks"] = adwordsLinks.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (reviewsUrl != null) {
|
| + _json["reviewsUrl"] = reviewsUrl;
|
| + }
|
| + if (sellerId != null) {
|
| + _json["sellerId"] = sellerId;
|
| + }
|
| + if (users != null) {
|
| + _json["users"] = users.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (websiteUrl != null) {
|
| + _json["websiteUrl"] = websiteUrl;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountAdwordsLink {
|
| + /** Customer ID of the AdWords account. */
|
| + core.String adwordsId;
|
| +
|
| + /**
|
| + * Status of the link between this Merchant Center account and the AdWords
|
| + * account.
|
| + */
|
| + core.String status;
|
| +
|
| +
|
| + AccountAdwordsLink();
|
| +
|
| + AccountAdwordsLink.fromJson(core.Map _json) {
|
| + if (_json.containsKey("adwordsId")) {
|
| + adwordsId = _json["adwordsId"];
|
| + }
|
| + if (_json.containsKey("status")) {
|
| + status = _json["status"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (adwordsId != null) {
|
| + _json["adwordsId"] = adwordsId;
|
| + }
|
| + if (status != null) {
|
| + _json["status"] = status;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * The status of an account, i.e., information about its products, which is
|
| + * computed offline and not returned immediately at insertion time.
|
| + */
|
| +class AccountStatus {
|
| + /** The ID of the account for which the status is reported. */
|
| + core.String accountId;
|
| +
|
| + /** A list of data quality issues. */
|
| + core.List<AccountStatusDataQualityIssue> dataQualityIssues;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#accountStatus".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + AccountStatus();
|
| +
|
| + AccountStatus.fromJson(core.Map _json) {
|
| + if (_json.containsKey("accountId")) {
|
| + accountId = _json["accountId"];
|
| + }
|
| + if (_json.containsKey("dataQualityIssues")) {
|
| + dataQualityIssues = _json["dataQualityIssues"].map((value) => new AccountStatusDataQualityIssue.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (accountId != null) {
|
| + _json["accountId"] = accountId;
|
| + }
|
| + if (dataQualityIssues != null) {
|
| + _json["dataQualityIssues"] = dataQualityIssues.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountStatusDataQualityIssue {
|
| + /** Country for which this issue is reported. */
|
| + core.String country;
|
| +
|
| + /** Actual value displayed on the landing page. */
|
| + core.String displayedValue;
|
| +
|
| + /** Example items featuring the issue. */
|
| + core.List<AccountStatusExampleItem> exampleItems;
|
| +
|
| + /** Issue identifier. */
|
| + core.String id;
|
| +
|
| + /** Last time the account was checked for this issue. */
|
| + core.String lastChecked;
|
| +
|
| + /** Number of items in the account found to have the said issue. */
|
| + core.int numItems;
|
| +
|
| + /** Severity of the problem. */
|
| + core.String severity;
|
| +
|
| + /** Submitted value that causes the issue. */
|
| + core.String submittedValue;
|
| +
|
| +
|
| + AccountStatusDataQualityIssue();
|
| +
|
| + AccountStatusDataQualityIssue.fromJson(core.Map _json) {
|
| + if (_json.containsKey("country")) {
|
| + country = _json["country"];
|
| + }
|
| + if (_json.containsKey("displayedValue")) {
|
| + displayedValue = _json["displayedValue"];
|
| + }
|
| + if (_json.containsKey("exampleItems")) {
|
| + exampleItems = _json["exampleItems"].map((value) => new AccountStatusExampleItem.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("lastChecked")) {
|
| + lastChecked = _json["lastChecked"];
|
| + }
|
| + if (_json.containsKey("numItems")) {
|
| + numItems = _json["numItems"];
|
| + }
|
| + if (_json.containsKey("severity")) {
|
| + severity = _json["severity"];
|
| + }
|
| + if (_json.containsKey("submittedValue")) {
|
| + submittedValue = _json["submittedValue"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (country != null) {
|
| + _json["country"] = country;
|
| + }
|
| + if (displayedValue != null) {
|
| + _json["displayedValue"] = displayedValue;
|
| + }
|
| + if (exampleItems != null) {
|
| + _json["exampleItems"] = exampleItems.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (lastChecked != null) {
|
| + _json["lastChecked"] = lastChecked;
|
| + }
|
| + if (numItems != null) {
|
| + _json["numItems"] = numItems;
|
| + }
|
| + if (severity != null) {
|
| + _json["severity"] = severity;
|
| + }
|
| + if (submittedValue != null) {
|
| + _json["submittedValue"] = submittedValue;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * An example of an item that has poor data quality. An item value on the
|
| + * landing page differs from what is submitted, or conflicts with a policy.
|
| + */
|
| +class AccountStatusExampleItem {
|
| + /** Unique item ID as specified in the uploaded product data. */
|
| + core.String itemId;
|
| +
|
| + /** Landing page of the item. */
|
| + core.String link;
|
| +
|
| + /** The item value that was submitted. */
|
| + core.String submittedValue;
|
| +
|
| + /** Title of the item. */
|
| + core.String title;
|
| +
|
| + /** The actual value on the landing page. */
|
| + core.String valueOnLandingPage;
|
| +
|
| +
|
| + AccountStatusExampleItem();
|
| +
|
| + AccountStatusExampleItem.fromJson(core.Map _json) {
|
| + if (_json.containsKey("itemId")) {
|
| + itemId = _json["itemId"];
|
| + }
|
| + if (_json.containsKey("link")) {
|
| + link = _json["link"];
|
| + }
|
| + if (_json.containsKey("submittedValue")) {
|
| + submittedValue = _json["submittedValue"];
|
| + }
|
| + if (_json.containsKey("title")) {
|
| + title = _json["title"];
|
| + }
|
| + if (_json.containsKey("valueOnLandingPage")) {
|
| + valueOnLandingPage = _json["valueOnLandingPage"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (itemId != null) {
|
| + _json["itemId"] = itemId;
|
| + }
|
| + if (link != null) {
|
| + _json["link"] = link;
|
| + }
|
| + if (submittedValue != null) {
|
| + _json["submittedValue"] = submittedValue;
|
| + }
|
| + if (title != null) {
|
| + _json["title"] = title;
|
| + }
|
| + if (valueOnLandingPage != null) {
|
| + _json["valueOnLandingPage"] = valueOnLandingPage;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountUser {
|
| + /** Whether user is an admin. */
|
| + core.bool admin;
|
| +
|
| + /** User's email address. */
|
| + core.String emailAddress;
|
| +
|
| +
|
| + AccountUser();
|
| +
|
| + AccountUser.fromJson(core.Map _json) {
|
| + if (_json.containsKey("admin")) {
|
| + admin = _json["admin"];
|
| + }
|
| + if (_json.containsKey("emailAddress")) {
|
| + emailAddress = _json["emailAddress"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (admin != null) {
|
| + _json["admin"] = admin;
|
| + }
|
| + if (emailAddress != null) {
|
| + _json["emailAddress"] = emailAddress;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountsCustomBatchRequest {
|
| + /** Not documented yet. */
|
| + core.List<AccountsCustomBatchRequestEntry> entries;
|
| +
|
| +
|
| + AccountsCustomBatchRequest();
|
| +
|
| + AccountsCustomBatchRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new AccountsCustomBatchRequestEntry.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch request to the accounts service of
|
| + * the Content API for Shopping.
|
| + */
|
| +class AccountsCustomBatchRequestEntry {
|
| + /**
|
| + * The account to create or update. Only defined if the method is insert or
|
| + * update.
|
| + */
|
| + Account account;
|
| +
|
| + /**
|
| + * The ID of the account to get or delete. Only defined if the method is get
|
| + * or delete.
|
| + */
|
| + core.String accountId;
|
| +
|
| + /** An entry ID, unique within the batch request. */
|
| + core.int batchId;
|
| +
|
| + /** The ID of the managing account. */
|
| + core.String merchantId;
|
| +
|
| + /** The method (get, insert, update, or delete). */
|
| + core.String method;
|
| +
|
| +
|
| + AccountsCustomBatchRequestEntry();
|
| +
|
| + AccountsCustomBatchRequestEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("account")) {
|
| + account = new Account.fromJson(_json["account"]);
|
| + }
|
| + if (_json.containsKey("accountId")) {
|
| + accountId = _json["accountId"];
|
| + }
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("merchantId")) {
|
| + merchantId = _json["merchantId"];
|
| + }
|
| + if (_json.containsKey("method")) {
|
| + method = _json["method"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (account != null) {
|
| + _json["account"] = (account).toJson();
|
| + }
|
| + if (accountId != null) {
|
| + _json["accountId"] = accountId;
|
| + }
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (merchantId != null) {
|
| + _json["merchantId"] = merchantId;
|
| + }
|
| + if (method != null) {
|
| + _json["method"] = method;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountsCustomBatchResponse {
|
| + /** Not documented yet. */
|
| + core.List<AccountsCustomBatchResponseEntry> entries;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#accountsCustomBatchResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + AccountsCustomBatchResponse();
|
| +
|
| + AccountsCustomBatchResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new AccountsCustomBatchResponseEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch response from the accounts service
|
| + * of the Content API for Shopping.
|
| + */
|
| +class AccountsCustomBatchResponseEntry {
|
| + /**
|
| + * The retrieved, created, or updated account. Not defined if the method was
|
| + * delete.
|
| + */
|
| + Account account;
|
| +
|
| + /** The ID of the request entry this entry responds to. */
|
| + core.int batchId;
|
| +
|
| + /** A list of errors defined if and only if the request failed. */
|
| + Errors errors;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#accountsCustomBatchResponseEntry".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + AccountsCustomBatchResponseEntry();
|
| +
|
| + AccountsCustomBatchResponseEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("account")) {
|
| + account = new Account.fromJson(_json["account"]);
|
| + }
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = new Errors.fromJson(_json["errors"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (account != null) {
|
| + _json["account"] = (account).toJson();
|
| + }
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = (errors).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountsListResponse {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#accountsListResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Not documented yet. */
|
| + core.String nextPageToken;
|
| +
|
| + /** Not documented yet. */
|
| + core.List<Account> resources;
|
| +
|
| +
|
| + AccountsListResponse();
|
| +
|
| + AccountsListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("resources")) {
|
| + resources = _json["resources"].map((value) => new Account.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (resources != null) {
|
| + _json["resources"] = resources.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountstatusesCustomBatchRequest {
|
| + /** Not documented yet. */
|
| + core.List<AccountstatusesCustomBatchRequestEntry> entries;
|
| +
|
| +
|
| + AccountstatusesCustomBatchRequest();
|
| +
|
| + AccountstatusesCustomBatchRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new AccountstatusesCustomBatchRequestEntry.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch request to the accountstatuses
|
| + * service of the Content API for Shopping.
|
| + */
|
| +class AccountstatusesCustomBatchRequestEntry {
|
| + /** The ID of the (sub-)account whose status to get. */
|
| + core.String accountId;
|
| +
|
| + /** An entry ID, unique within the batch request. */
|
| + core.int batchId;
|
| +
|
| + /** The ID of the managing account. */
|
| + core.String merchantId;
|
| +
|
| + /** The method (get). */
|
| + core.String method;
|
| +
|
| +
|
| + AccountstatusesCustomBatchRequestEntry();
|
| +
|
| + AccountstatusesCustomBatchRequestEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("accountId")) {
|
| + accountId = _json["accountId"];
|
| + }
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("merchantId")) {
|
| + merchantId = _json["merchantId"];
|
| + }
|
| + if (_json.containsKey("method")) {
|
| + method = _json["method"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (accountId != null) {
|
| + _json["accountId"] = accountId;
|
| + }
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (merchantId != null) {
|
| + _json["merchantId"] = merchantId;
|
| + }
|
| + if (method != null) {
|
| + _json["method"] = method;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountstatusesCustomBatchResponse {
|
| + /** Not documented yet. */
|
| + core.List<AccountstatusesCustomBatchResponseEntry> entries;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#accountstatusesCustomBatchResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + AccountstatusesCustomBatchResponse();
|
| +
|
| + AccountstatusesCustomBatchResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new AccountstatusesCustomBatchResponseEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch response from the accountstatuses
|
| + * service of the Content API for Shopping.
|
| + */
|
| +class AccountstatusesCustomBatchResponseEntry {
|
| + /**
|
| + * The requested account status. Defined if and only if the request was
|
| + * successful.
|
| + */
|
| + AccountStatus accountStatus;
|
| +
|
| + /** The ID of the request entry this entry responds to. */
|
| + core.int batchId;
|
| +
|
| + /** A list of errors defined if and only if the request failed. */
|
| + Errors errors;
|
| +
|
| +
|
| + AccountstatusesCustomBatchResponseEntry();
|
| +
|
| + AccountstatusesCustomBatchResponseEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("accountStatus")) {
|
| + accountStatus = new AccountStatus.fromJson(_json["accountStatus"]);
|
| + }
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = new Errors.fromJson(_json["errors"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (accountStatus != null) {
|
| + _json["accountStatus"] = (accountStatus).toJson();
|
| + }
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = (errors).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AccountstatusesListResponse {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#accountstatusesListResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Not documented yet. */
|
| + core.String nextPageToken;
|
| +
|
| + /** Not documented yet. */
|
| + core.List<AccountStatus> resources;
|
| +
|
| +
|
| + AccountstatusesListResponse();
|
| +
|
| + AccountstatusesListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("resources")) {
|
| + resources = _json["resources"].map((value) => new AccountStatus.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (resources != null) {
|
| + _json["resources"] = resources.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Datafeed {
|
| + /**
|
| + * The two-letter ISO 639-1 language in which the attributes are defined in
|
| + * the data feed.
|
| + */
|
| + core.String attributeLanguage;
|
| +
|
| + /** The two-letter ISO 639-1 language of the items in the feed. */
|
| + core.String contentLanguage;
|
| +
|
| + /** The type of data feed. */
|
| + core.String contentType;
|
| +
|
| + /** Fetch schedule for the feed file. */
|
| + DatafeedFetchSchedule fetchSchedule;
|
| +
|
| + /** The filename of the feed. All feeds must have a unique file name. */
|
| + core.String fileName;
|
| +
|
| + /** Format of the feed file. */
|
| + DatafeedFormat format;
|
| +
|
| + /** The ID of the data feed. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * The list of intended destinations (corresponds to checked check boxes in
|
| + * Merchant Center).
|
| + */
|
| + core.List<core.String> intendedDestinations;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#datafeed".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** A descriptive name of the data feed. */
|
| + core.String name;
|
| +
|
| + /**
|
| + * The two-letter ISO 3166 country where the items in the feed will be
|
| + * included in the search index.
|
| + */
|
| + core.String targetCountry;
|
| +
|
| +
|
| + Datafeed();
|
| +
|
| + Datafeed.fromJson(core.Map _json) {
|
| + if (_json.containsKey("attributeLanguage")) {
|
| + attributeLanguage = _json["attributeLanguage"];
|
| + }
|
| + if (_json.containsKey("contentLanguage")) {
|
| + contentLanguage = _json["contentLanguage"];
|
| + }
|
| + if (_json.containsKey("contentType")) {
|
| + contentType = _json["contentType"];
|
| + }
|
| + if (_json.containsKey("fetchSchedule")) {
|
| + fetchSchedule = new DatafeedFetchSchedule.fromJson(_json["fetchSchedule"]);
|
| + }
|
| + if (_json.containsKey("fileName")) {
|
| + fileName = _json["fileName"];
|
| + }
|
| + if (_json.containsKey("format")) {
|
| + format = new DatafeedFormat.fromJson(_json["format"]);
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("intendedDestinations")) {
|
| + intendedDestinations = _json["intendedDestinations"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("targetCountry")) {
|
| + targetCountry = _json["targetCountry"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (attributeLanguage != null) {
|
| + _json["attributeLanguage"] = attributeLanguage;
|
| + }
|
| + if (contentLanguage != null) {
|
| + _json["contentLanguage"] = contentLanguage;
|
| + }
|
| + if (contentType != null) {
|
| + _json["contentType"] = contentType;
|
| + }
|
| + if (fetchSchedule != null) {
|
| + _json["fetchSchedule"] = (fetchSchedule).toJson();
|
| + }
|
| + if (fileName != null) {
|
| + _json["fileName"] = fileName;
|
| + }
|
| + if (format != null) {
|
| + _json["format"] = (format).toJson();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (intendedDestinations != null) {
|
| + _json["intendedDestinations"] = intendedDestinations;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (targetCountry != null) {
|
| + _json["targetCountry"] = targetCountry;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * The required fields vary based on the frequency of fetching. For a monthly
|
| + * fetch schedule, day_of_month and hour are required. For a weekly fetch
|
| + * schedule, weekday and hour are required. For a daily fetch schedule, only
|
| + * hour is required.
|
| + */
|
| +class DatafeedFetchSchedule {
|
| + /** The day of the month the feed file should be fetched (1-31). */
|
| + core.int dayOfMonth;
|
| +
|
| + /**
|
| + * The URL where the feed file can be fetched. Google Merchant Center will
|
| + * support automatic scheduled uploads using the HTTP, HTTPS, FTP, or SFTP
|
| + * protocols, so the value will need to be a valid link using one of those
|
| + * four protocols.
|
| + */
|
| + core.String fetchUrl;
|
| +
|
| + /** The hour of the day the feed file should be fetched (0-24). */
|
| + core.int hour;
|
| +
|
| + /** An optional password for fetch_url. */
|
| + core.String password;
|
| +
|
| + /**
|
| + * Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles".
|
| + */
|
| + core.String timeZone;
|
| +
|
| + /** An optional user name for fetch_url. */
|
| + core.String username;
|
| +
|
| + /** The day of the week the feed file should be fetched. */
|
| + core.String weekday;
|
| +
|
| +
|
| + DatafeedFetchSchedule();
|
| +
|
| + DatafeedFetchSchedule.fromJson(core.Map _json) {
|
| + if (_json.containsKey("dayOfMonth")) {
|
| + dayOfMonth = _json["dayOfMonth"];
|
| + }
|
| + if (_json.containsKey("fetchUrl")) {
|
| + fetchUrl = _json["fetchUrl"];
|
| + }
|
| + if (_json.containsKey("hour")) {
|
| + hour = _json["hour"];
|
| + }
|
| + if (_json.containsKey("password")) {
|
| + password = _json["password"];
|
| + }
|
| + if (_json.containsKey("timeZone")) {
|
| + timeZone = _json["timeZone"];
|
| + }
|
| + if (_json.containsKey("username")) {
|
| + username = _json["username"];
|
| + }
|
| + if (_json.containsKey("weekday")) {
|
| + weekday = _json["weekday"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (dayOfMonth != null) {
|
| + _json["dayOfMonth"] = dayOfMonth;
|
| + }
|
| + if (fetchUrl != null) {
|
| + _json["fetchUrl"] = fetchUrl;
|
| + }
|
| + if (hour != null) {
|
| + _json["hour"] = hour;
|
| + }
|
| + if (password != null) {
|
| + _json["password"] = password;
|
| + }
|
| + if (timeZone != null) {
|
| + _json["timeZone"] = timeZone;
|
| + }
|
| + if (username != null) {
|
| + _json["username"] = username;
|
| + }
|
| + if (weekday != null) {
|
| + _json["weekday"] = weekday;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedFormat {
|
| + /**
|
| + * Delimiter for the separation of values in a delimiter-separated values
|
| + * feed. If not specified, the delimiter will be auto-detected. Ignored for
|
| + * non-DSV data feeds.
|
| + */
|
| + core.String columnDelimiter;
|
| +
|
| + /**
|
| + * Character encoding scheme of the data feed. If not specified, the encoding
|
| + * will be auto-detected.
|
| + */
|
| + core.String fileEncoding;
|
| +
|
| + /**
|
| + * Specifies how double quotes are interpreted. If not specified, the mode
|
| + * will be auto-detected. Ignored for non-DSV data feeds.
|
| + */
|
| + core.String quotingMode;
|
| +
|
| +
|
| + DatafeedFormat();
|
| +
|
| + DatafeedFormat.fromJson(core.Map _json) {
|
| + if (_json.containsKey("columnDelimiter")) {
|
| + columnDelimiter = _json["columnDelimiter"];
|
| + }
|
| + if (_json.containsKey("fileEncoding")) {
|
| + fileEncoding = _json["fileEncoding"];
|
| + }
|
| + if (_json.containsKey("quotingMode")) {
|
| + quotingMode = _json["quotingMode"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (columnDelimiter != null) {
|
| + _json["columnDelimiter"] = columnDelimiter;
|
| + }
|
| + if (fileEncoding != null) {
|
| + _json["fileEncoding"] = fileEncoding;
|
| + }
|
| + if (quotingMode != null) {
|
| + _json["quotingMode"] = quotingMode;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedStatus {
|
| + /** The ID of the feed for which the status is reported. */
|
| + core.String datafeedId;
|
| +
|
| + /** The list of errors occurring in the feed. */
|
| + core.List<DatafeedStatusError> errors;
|
| +
|
| + /** The number of items in the feed that were processed. */
|
| + core.String itemsTotal;
|
| +
|
| + /** The number of items in the feed that were valid. */
|
| + core.String itemsValid;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#datafeedStatus".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The processing status of the feed. */
|
| + core.String processingStatus;
|
| +
|
| + /** The list of errors occurring in the feed. */
|
| + core.List<DatafeedStatusError> warnings;
|
| +
|
| +
|
| + DatafeedStatus();
|
| +
|
| + DatafeedStatus.fromJson(core.Map _json) {
|
| + if (_json.containsKey("datafeedId")) {
|
| + datafeedId = _json["datafeedId"];
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = _json["errors"].map((value) => new DatafeedStatusError.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("itemsTotal")) {
|
| + itemsTotal = _json["itemsTotal"];
|
| + }
|
| + if (_json.containsKey("itemsValid")) {
|
| + itemsValid = _json["itemsValid"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("processingStatus")) {
|
| + processingStatus = _json["processingStatus"];
|
| + }
|
| + if (_json.containsKey("warnings")) {
|
| + warnings = _json["warnings"].map((value) => new DatafeedStatusError.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (datafeedId != null) {
|
| + _json["datafeedId"] = datafeedId;
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = errors.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (itemsTotal != null) {
|
| + _json["itemsTotal"] = itemsTotal;
|
| + }
|
| + if (itemsValid != null) {
|
| + _json["itemsValid"] = itemsValid;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (processingStatus != null) {
|
| + _json["processingStatus"] = processingStatus;
|
| + }
|
| + if (warnings != null) {
|
| + _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** An error occurring in the feed, like "invalid price". */
|
| +class DatafeedStatusError {
|
| + /** The code of the error, e.g., "validation/invalid_value". */
|
| + core.String code;
|
| +
|
| + /** The number of occurrences of the error in the feed. */
|
| + core.String count;
|
| +
|
| + /** A list of example occurrences of the error, grouped by product. */
|
| + core.List<DatafeedStatusExample> examples;
|
| +
|
| + /** The error message, e.g., "Invalid price". */
|
| + core.String message;
|
| +
|
| +
|
| + DatafeedStatusError();
|
| +
|
| + DatafeedStatusError.fromJson(core.Map _json) {
|
| + if (_json.containsKey("code")) {
|
| + code = _json["code"];
|
| + }
|
| + if (_json.containsKey("count")) {
|
| + count = _json["count"];
|
| + }
|
| + if (_json.containsKey("examples")) {
|
| + examples = _json["examples"].map((value) => new DatafeedStatusExample.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("message")) {
|
| + message = _json["message"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (code != null) {
|
| + _json["code"] = code;
|
| + }
|
| + if (count != null) {
|
| + _json["count"] = count;
|
| + }
|
| + if (examples != null) {
|
| + _json["examples"] = examples.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (message != null) {
|
| + _json["message"] = message;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** An example occurrence for a particular error. */
|
| +class DatafeedStatusExample {
|
| + /** The ID of the example item. */
|
| + core.String itemId;
|
| +
|
| + /** Line number in the data feed where the example is found. */
|
| + core.String lineNumber;
|
| +
|
| + /** The problematic value. */
|
| + core.String value;
|
| +
|
| +
|
| + DatafeedStatusExample();
|
| +
|
| + DatafeedStatusExample.fromJson(core.Map _json) {
|
| + if (_json.containsKey("itemId")) {
|
| + itemId = _json["itemId"];
|
| + }
|
| + if (_json.containsKey("lineNumber")) {
|
| + lineNumber = _json["lineNumber"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (itemId != null) {
|
| + _json["itemId"] = itemId;
|
| + }
|
| + if (lineNumber != null) {
|
| + _json["lineNumber"] = lineNumber;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedsCustomBatchRequest {
|
| + /** Not documented yet. */
|
| + core.List<DatafeedsCustomBatchRequestEntry> entries;
|
| +
|
| +
|
| + DatafeedsCustomBatchRequest();
|
| +
|
| + DatafeedsCustomBatchRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new DatafeedsCustomBatchRequestEntry.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch request to the datafeeds service of
|
| + * the Content API for Shopping.
|
| + */
|
| +class DatafeedsCustomBatchRequestEntry {
|
| + /** An entry ID, unique within the batch request. */
|
| + core.int batchId;
|
| +
|
| + /** The data feed to insert. */
|
| + Datafeed datafeed;
|
| +
|
| + /** The ID of the data feed to get or delete. */
|
| + core.String datafeedId;
|
| +
|
| + /** The ID of the managing account. */
|
| + core.String merchantId;
|
| +
|
| + /** The method (get, insert, update, or delete). */
|
| + core.String method;
|
| +
|
| +
|
| + DatafeedsCustomBatchRequestEntry();
|
| +
|
| + DatafeedsCustomBatchRequestEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("datafeed")) {
|
| + datafeed = new Datafeed.fromJson(_json["datafeed"]);
|
| + }
|
| + if (_json.containsKey("datafeedId")) {
|
| + datafeedId = _json["datafeedId"];
|
| + }
|
| + if (_json.containsKey("merchantId")) {
|
| + merchantId = _json["merchantId"];
|
| + }
|
| + if (_json.containsKey("method")) {
|
| + method = _json["method"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (datafeed != null) {
|
| + _json["datafeed"] = (datafeed).toJson();
|
| + }
|
| + if (datafeedId != null) {
|
| + _json["datafeedId"] = datafeedId;
|
| + }
|
| + if (merchantId != null) {
|
| + _json["merchantId"] = merchantId;
|
| + }
|
| + if (method != null) {
|
| + _json["method"] = method;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedsCustomBatchResponse {
|
| + /** Not documented yet. */
|
| + core.List<DatafeedsCustomBatchResponseEntry> entries;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#datafeedsCustomBatchResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + DatafeedsCustomBatchResponse();
|
| +
|
| + DatafeedsCustomBatchResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new DatafeedsCustomBatchResponseEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch response from the datafeeds service
|
| + * of the Content API for Shopping.
|
| + */
|
| +class DatafeedsCustomBatchResponseEntry {
|
| + /** The ID of the request entry this entry responds to. */
|
| + core.int batchId;
|
| +
|
| + /**
|
| + * The requested data feed. Defined if and only if the request was successful.
|
| + */
|
| + Datafeed datafeed;
|
| +
|
| + /** A list of errors defined if and only if the request failed. */
|
| + Errors errors;
|
| +
|
| +
|
| + DatafeedsCustomBatchResponseEntry();
|
| +
|
| + DatafeedsCustomBatchResponseEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("datafeed")) {
|
| + datafeed = new Datafeed.fromJson(_json["datafeed"]);
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = new Errors.fromJson(_json["errors"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (datafeed != null) {
|
| + _json["datafeed"] = (datafeed).toJson();
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = (errors).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedsListResponse {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#datafeedsListResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Not documented yet. */
|
| + core.List<Datafeed> resources;
|
| +
|
| +
|
| + DatafeedsListResponse();
|
| +
|
| + DatafeedsListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("resources")) {
|
| + resources = _json["resources"].map((value) => new Datafeed.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (resources != null) {
|
| + _json["resources"] = resources.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedstatusesCustomBatchRequest {
|
| + /** Not documented yet. */
|
| + core.List<DatafeedstatusesCustomBatchRequestEntry> entries;
|
| +
|
| +
|
| + DatafeedstatusesCustomBatchRequest();
|
| +
|
| + DatafeedstatusesCustomBatchRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new DatafeedstatusesCustomBatchRequestEntry.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch request to the datafeedstatuses
|
| + * service of the Content API for Shopping.
|
| + */
|
| +class DatafeedstatusesCustomBatchRequestEntry {
|
| + /** An entry ID, unique within the batch request. */
|
| + core.int batchId;
|
| +
|
| + /** The ID of the data feed to get or delete. */
|
| + core.String datafeedId;
|
| +
|
| + /** The ID of the managing account. */
|
| + core.String merchantId;
|
| +
|
| + /** The method (get). */
|
| + core.String method;
|
| +
|
| +
|
| + DatafeedstatusesCustomBatchRequestEntry();
|
| +
|
| + DatafeedstatusesCustomBatchRequestEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("datafeedId")) {
|
| + datafeedId = _json["datafeedId"];
|
| + }
|
| + if (_json.containsKey("merchantId")) {
|
| + merchantId = _json["merchantId"];
|
| + }
|
| + if (_json.containsKey("method")) {
|
| + method = _json["method"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (datafeedId != null) {
|
| + _json["datafeedId"] = datafeedId;
|
| + }
|
| + if (merchantId != null) {
|
| + _json["merchantId"] = merchantId;
|
| + }
|
| + if (method != null) {
|
| + _json["method"] = method;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedstatusesCustomBatchResponse {
|
| + /** Not documented yet. */
|
| + core.List<DatafeedstatusesCustomBatchResponseEntry> entries;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#datafeedstatusesCustomBatchResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + DatafeedstatusesCustomBatchResponse();
|
| +
|
| + DatafeedstatusesCustomBatchResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new DatafeedstatusesCustomBatchResponseEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch response from the datafeedstatuses
|
| + * service of the Content API for Shopping.
|
| + */
|
| +class DatafeedstatusesCustomBatchResponseEntry {
|
| + /** The ID of the request entry this entry responds to. */
|
| + core.int batchId;
|
| +
|
| + /**
|
| + * The requested data feed status. Defined if and only if the request was
|
| + * successful.
|
| + */
|
| + DatafeedStatus datafeedStatus;
|
| +
|
| + /** A list of errors defined if and only if the request failed. */
|
| + Errors errors;
|
| +
|
| +
|
| + DatafeedstatusesCustomBatchResponseEntry();
|
| +
|
| + DatafeedstatusesCustomBatchResponseEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("datafeedStatus")) {
|
| + datafeedStatus = new DatafeedStatus.fromJson(_json["datafeedStatus"]);
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = new Errors.fromJson(_json["errors"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (datafeedStatus != null) {
|
| + _json["datafeedStatus"] = (datafeedStatus).toJson();
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = (errors).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatafeedstatusesListResponse {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#datafeedstatusesListResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Not documented yet. */
|
| + core.List<DatafeedStatus> resources;
|
| +
|
| +
|
| + DatafeedstatusesListResponse();
|
| +
|
| + DatafeedstatusesListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("resources")) {
|
| + resources = _json["resources"].map((value) => new DatafeedStatus.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (resources != null) {
|
| + _json["resources"] = resources.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** An error returned by the API. */
|
| +class Error {
|
| + /** The domain of the error. */
|
| + core.String domain;
|
| +
|
| + /** A description of the error. */
|
| + core.String message;
|
| +
|
| + /** The error code. */
|
| + core.String reason;
|
| +
|
| +
|
| + Error();
|
| +
|
| + Error.fromJson(core.Map _json) {
|
| + if (_json.containsKey("domain")) {
|
| + domain = _json["domain"];
|
| + }
|
| + if (_json.containsKey("message")) {
|
| + message = _json["message"];
|
| + }
|
| + if (_json.containsKey("reason")) {
|
| + reason = _json["reason"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (domain != null) {
|
| + _json["domain"] = domain;
|
| + }
|
| + if (message != null) {
|
| + _json["message"] = message;
|
| + }
|
| + if (reason != null) {
|
| + _json["reason"] = reason;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A list of errors returned by a failed batch entry. */
|
| +class Errors {
|
| + /** The HTTP status of the first error in errors. */
|
| + core.int code;
|
| +
|
| + /** A list of errors. */
|
| + core.List<Error> errors;
|
| +
|
| + /** The message of the first error in errors. */
|
| + core.String message;
|
| +
|
| +
|
| + Errors();
|
| +
|
| + Errors.fromJson(core.Map _json) {
|
| + if (_json.containsKey("code")) {
|
| + code = _json["code"];
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = _json["errors"].map((value) => new Error.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("message")) {
|
| + message = _json["message"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (code != null) {
|
| + _json["code"] = code;
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = errors.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (message != null) {
|
| + _json["message"] = message;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Inventory {
|
| + /** The availability of the product. */
|
| + core.String availability;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#inventory".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The price of the product. */
|
| + Price price;
|
| +
|
| + /**
|
| + * The quantity of the product. Must be equal to or greater than zero.
|
| + * Supported only for local products.
|
| + */
|
| + core.int quantity;
|
| +
|
| + /**
|
| + * The sale price of the product. Mandatory if sale_price_effective_date is
|
| + * defined.
|
| + */
|
| + Price salePrice;
|
| +
|
| + /**
|
| + * A date range represented by a pair of ISO 8601 dates separated by a space,
|
| + * comma, or slash. Both dates might be specified as 'null' if undecided.
|
| + */
|
| + core.String salePriceEffectiveDate;
|
| +
|
| +
|
| + Inventory();
|
| +
|
| + Inventory.fromJson(core.Map _json) {
|
| + if (_json.containsKey("availability")) {
|
| + availability = _json["availability"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("price")) {
|
| + price = new Price.fromJson(_json["price"]);
|
| + }
|
| + if (_json.containsKey("quantity")) {
|
| + quantity = _json["quantity"];
|
| + }
|
| + if (_json.containsKey("salePrice")) {
|
| + salePrice = new Price.fromJson(_json["salePrice"]);
|
| + }
|
| + if (_json.containsKey("salePriceEffectiveDate")) {
|
| + salePriceEffectiveDate = _json["salePriceEffectiveDate"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (availability != null) {
|
| + _json["availability"] = availability;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (price != null) {
|
| + _json["price"] = (price).toJson();
|
| + }
|
| + if (quantity != null) {
|
| + _json["quantity"] = quantity;
|
| + }
|
| + if (salePrice != null) {
|
| + _json["salePrice"] = (salePrice).toJson();
|
| + }
|
| + if (salePriceEffectiveDate != null) {
|
| + _json["salePriceEffectiveDate"] = salePriceEffectiveDate;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class InventoryCustomBatchRequest {
|
| + /** Not documented yet. */
|
| + core.List<InventoryCustomBatchRequestEntry> entries;
|
| +
|
| +
|
| + InventoryCustomBatchRequest();
|
| +
|
| + InventoryCustomBatchRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new InventoryCustomBatchRequestEntry.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch request to the inventory service of
|
| + * the Content API for Shopping.
|
| + */
|
| +class InventoryCustomBatchRequestEntry {
|
| + /** An entry ID, unique within the batch request. */
|
| + core.int batchId;
|
| +
|
| + /** Price and availability of the product. */
|
| + Inventory inventory;
|
| +
|
| + /** The ID of the managing account. */
|
| + core.String merchantId;
|
| +
|
| + /** The ID of the product for which to update price and availability. */
|
| + core.String productId;
|
| +
|
| + /**
|
| + * The code of the store for which to update price and availability. Use
|
| + * online to update price and availability of an online product.
|
| + */
|
| + core.String storeCode;
|
| +
|
| +
|
| + InventoryCustomBatchRequestEntry();
|
| +
|
| + InventoryCustomBatchRequestEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("inventory")) {
|
| + inventory = new Inventory.fromJson(_json["inventory"]);
|
| + }
|
| + if (_json.containsKey("merchantId")) {
|
| + merchantId = _json["merchantId"];
|
| + }
|
| + if (_json.containsKey("productId")) {
|
| + productId = _json["productId"];
|
| + }
|
| + if (_json.containsKey("storeCode")) {
|
| + storeCode = _json["storeCode"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (inventory != null) {
|
| + _json["inventory"] = (inventory).toJson();
|
| + }
|
| + if (merchantId != null) {
|
| + _json["merchantId"] = merchantId;
|
| + }
|
| + if (productId != null) {
|
| + _json["productId"] = productId;
|
| + }
|
| + if (storeCode != null) {
|
| + _json["storeCode"] = storeCode;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class InventoryCustomBatchResponse {
|
| + /** Not documented yet. */
|
| + core.List<InventoryCustomBatchResponseEntry> entries;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#inventoryCustomBatchResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + InventoryCustomBatchResponse();
|
| +
|
| + InventoryCustomBatchResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new InventoryCustomBatchResponseEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch response from the inventory service
|
| + * of the Content API for Shopping.
|
| + */
|
| +class InventoryCustomBatchResponseEntry {
|
| + /** The ID of the request entry this entry responds to. */
|
| + core.int batchId;
|
| +
|
| + /** A list of errors defined if and only if the request failed. */
|
| + Errors errors;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#inventoryCustomBatchResponseEntry".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + InventoryCustomBatchResponseEntry();
|
| +
|
| + InventoryCustomBatchResponseEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = new Errors.fromJson(_json["errors"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = (errors).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class InventorySetRequest {
|
| + /** The availability of the product. */
|
| + core.String availability;
|
| +
|
| + /** The price of the product. */
|
| + Price price;
|
| +
|
| + /**
|
| + * The quantity of the product. Must be equal to or greater than zero.
|
| + * Supported only for local products.
|
| + */
|
| + core.int quantity;
|
| +
|
| + /**
|
| + * The sale price of the product. Mandatory if sale_price_effective_date is
|
| + * defined.
|
| + */
|
| + Price salePrice;
|
| +
|
| + /**
|
| + * A date range represented by a pair of ISO 8601 dates separated by a space,
|
| + * comma, or slash. Both dates might be specified as 'null' if undecided.
|
| + */
|
| + core.String salePriceEffectiveDate;
|
| +
|
| +
|
| + InventorySetRequest();
|
| +
|
| + InventorySetRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("availability")) {
|
| + availability = _json["availability"];
|
| + }
|
| + if (_json.containsKey("price")) {
|
| + price = new Price.fromJson(_json["price"]);
|
| + }
|
| + if (_json.containsKey("quantity")) {
|
| + quantity = _json["quantity"];
|
| + }
|
| + if (_json.containsKey("salePrice")) {
|
| + salePrice = new Price.fromJson(_json["salePrice"]);
|
| + }
|
| + if (_json.containsKey("salePriceEffectiveDate")) {
|
| + salePriceEffectiveDate = _json["salePriceEffectiveDate"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (availability != null) {
|
| + _json["availability"] = availability;
|
| + }
|
| + if (price != null) {
|
| + _json["price"] = (price).toJson();
|
| + }
|
| + if (quantity != null) {
|
| + _json["quantity"] = quantity;
|
| + }
|
| + if (salePrice != null) {
|
| + _json["salePrice"] = (salePrice).toJson();
|
| + }
|
| + if (salePriceEffectiveDate != null) {
|
| + _json["salePriceEffectiveDate"] = salePriceEffectiveDate;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class InventorySetResponse {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#inventorySetResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + InventorySetResponse();
|
| +
|
| + InventorySetResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class LoyaltyPoints {
|
| + /**
|
| + * Name of loyalty points program. It is recommended to limit the name to 12
|
| + * full-width characters or 24 Roman characters.
|
| + */
|
| + core.String name;
|
| +
|
| + /** The retailer's loyalty points in absolute value. */
|
| + core.String pointsValue;
|
| +
|
| + /**
|
| + * The ratio of a point when converted to currency. Google assumes currency
|
| + * based on Merchant Center settings. If ratio is left out, it defaults to
|
| + * 1.0.
|
| + */
|
| + core.double ratio;
|
| +
|
| +
|
| + LoyaltyPoints();
|
| +
|
| + LoyaltyPoints.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("pointsValue")) {
|
| + pointsValue = _json["pointsValue"];
|
| + }
|
| + if (_json.containsKey("ratio")) {
|
| + ratio = _json["ratio"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (pointsValue != null) {
|
| + _json["pointsValue"] = pointsValue;
|
| + }
|
| + if (ratio != null) {
|
| + _json["ratio"] = ratio;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Price {
|
| + /** The currency of the price. */
|
| + core.String currency;
|
| +
|
| + /** The price represented as a number. */
|
| + core.String value;
|
| +
|
| +
|
| + Price();
|
| +
|
| + Price.fromJson(core.Map _json) {
|
| + if (_json.containsKey("currency")) {
|
| + currency = _json["currency"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (currency != null) {
|
| + _json["currency"] = currency;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Product data. */
|
| +class Product {
|
| + /** Additional URLs of images of the item. */
|
| + core.List<core.String> additionalImageLinks;
|
| +
|
| + /** Set to true if the item is targeted towards adults. */
|
| + core.bool adult;
|
| +
|
| + /**
|
| + * Used to group items in an arbitrary way. Only for CPA%, discouraged
|
| + * otherwise.
|
| + */
|
| + core.String adwordsGrouping;
|
| +
|
| + /** Similar to adwords_grouping, but only works on CPC. */
|
| + core.List<core.String> adwordsLabels;
|
| +
|
| + /**
|
| + * Allows advertisers to override the item URL when the product is shown
|
| + * within the context of Product Ads.
|
| + */
|
| + core.String adwordsRedirect;
|
| +
|
| + /** Target age group of the item. */
|
| + core.String ageGroup;
|
| +
|
| + /** Availability status of the item. */
|
| + core.String availability;
|
| +
|
| + /** The day a pre-ordered product becomes available for delivery. */
|
| + core.String availabilityDate;
|
| +
|
| + /** Brand of the item. */
|
| + core.String brand;
|
| +
|
| + /** The item's channel (online or local). */
|
| + core.String channel;
|
| +
|
| + /** Color of the item. */
|
| + core.String color;
|
| +
|
| + /** Condition or state of the item. */
|
| + core.String condition;
|
| +
|
| + /** The two-letter ISO 639-1 language code for the item. */
|
| + core.String contentLanguage;
|
| +
|
| + /** A list of custom (merchant-provided) attributes. */
|
| + core.List<ProductCustomAttribute> customAttributes;
|
| +
|
| + /** A list of custom (merchant-provided) custom attribute groups. */
|
| + core.List<ProductCustomGroup> customGroups;
|
| +
|
| + /** Custom label 0 for custom grouping of items in a Shopping campaign. */
|
| + core.String customLabel0;
|
| +
|
| + /** Custom label 1 for custom grouping of items in a Shopping campaign. */
|
| + core.String customLabel1;
|
| +
|
| + /** Custom label 2 for custom grouping of items in a Shopping campaign. */
|
| + core.String customLabel2;
|
| +
|
| + /** Custom label 3 for custom grouping of items in a Shopping campaign. */
|
| + core.String customLabel3;
|
| +
|
| + /** Custom label 4 for custom grouping of items in a Shopping campaign. */
|
| + core.String customLabel4;
|
| +
|
| + /** Description of the item. */
|
| + core.String description;
|
| +
|
| + /** Specifies the intended destinations for the product. */
|
| + core.List<ProductDestination> destinations;
|
| +
|
| + /** The energy efficiency class as defined in EU directive 2010/30/EU. */
|
| + core.String energyEfficiencyClass;
|
| +
|
| + /** Date that an item will expire. */
|
| + core.String expirationDate;
|
| +
|
| + /** Target gender of the item. */
|
| + core.String gender;
|
| +
|
| + /** Google's category of the item. */
|
| + core.String googleProductCategory;
|
| +
|
| + /** Global Trade Item Number (GTIN) of the item. */
|
| + core.String gtin;
|
| +
|
| + /** The REST id of the product. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * False when the item does not have unique product identifiers appropriate to
|
| + * its category, such as GTIN, MPN, and brand. Required according to the
|
| + * Unique Product Identifier Rules for all target countries except for Canada.
|
| + */
|
| + core.bool identifierExists;
|
| +
|
| + /** URL of an image of the item. */
|
| + core.String imageLink;
|
| +
|
| + /** Number and amount of installments to pay for an item. Brazil only. */
|
| + ProductInstallment installment;
|
| +
|
| + /**
|
| + * Whether the item is a merchant-defined bundle. A bundle is a custom
|
| + * grouping of different products sold by a merchant for a single price.
|
| + */
|
| + core.bool isBundle;
|
| +
|
| + /** Shared identifier for all variants of the same product. */
|
| + core.String itemGroupId;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#product".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** URL directly linking to your item's page on your website. */
|
| + core.String link;
|
| +
|
| + /**
|
| + * Loyalty points that users receive after purchasing the item. Japan only.
|
| + */
|
| + LoyaltyPoints loyaltyPoints;
|
| +
|
| + /** The material of which the item is made. */
|
| + core.String material;
|
| +
|
| + /** Link to a mobile-optimized version of the landing page. */
|
| + core.String mobileLink;
|
| +
|
| + /** Manufacturer Part Number (MPN) of the item. */
|
| + core.String mpn;
|
| +
|
| + /** The number of identical products in a merchant-defined multipack. */
|
| + core.String multipack;
|
| +
|
| + /** An identifier of the item. */
|
| + core.String offerId;
|
| +
|
| + /** Whether an item is available for purchase only online. */
|
| + core.bool onlineOnly;
|
| +
|
| + /** The item's pattern (e.g. polka dots). */
|
| + core.String pattern;
|
| +
|
| + /** Price of the item. */
|
| + Price price;
|
| +
|
| + /** Your category of the item. */
|
| + core.String productType;
|
| +
|
| + /** Advertised sale price of the item. */
|
| + Price salePrice;
|
| +
|
| + /** Date range during which the item is on sale. */
|
| + core.String salePriceEffectiveDate;
|
| +
|
| + /** Shipping rules. */
|
| + core.List<ProductShipping> shipping;
|
| +
|
| + /**
|
| + * The shipping label of the product, used to group product in account-level
|
| + * shipping rules.
|
| + */
|
| + core.String shippingLabel;
|
| +
|
| + /** Weight of the item for shipping. */
|
| + ProductShippingWeight shippingWeight;
|
| +
|
| + /** System in which the size is specified. Recommended for apparel items. */
|
| + core.String sizeSystem;
|
| +
|
| + /** The cut of the item. Recommended for apparel items. */
|
| + core.String sizeType;
|
| +
|
| + /** Size of the item. */
|
| + core.List<core.String> sizes;
|
| +
|
| + /** The two-letter ISO 3166 country code for the item. */
|
| + core.String targetCountry;
|
| +
|
| + /** Tax information. */
|
| + core.List<ProductTax> taxes;
|
| +
|
| + /** Title of the item. */
|
| + core.String title;
|
| +
|
| + /** The preference of the denominator of the unit price. */
|
| + ProductUnitPricingBaseMeasure unitPricingBaseMeasure;
|
| +
|
| + /** The measure and dimension of an item. */
|
| + ProductUnitPricingMeasure unitPricingMeasure;
|
| +
|
| + /** The read-only list of intended destinations which passed validation. */
|
| + core.List<core.String> validatedDestinations;
|
| +
|
| + /** Read-only warnings. */
|
| + core.List<Error> warnings;
|
| +
|
| +
|
| + Product();
|
| +
|
| + Product.fromJson(core.Map _json) {
|
| + if (_json.containsKey("additionalImageLinks")) {
|
| + additionalImageLinks = _json["additionalImageLinks"];
|
| + }
|
| + if (_json.containsKey("adult")) {
|
| + adult = _json["adult"];
|
| + }
|
| + if (_json.containsKey("adwordsGrouping")) {
|
| + adwordsGrouping = _json["adwordsGrouping"];
|
| + }
|
| + if (_json.containsKey("adwordsLabels")) {
|
| + adwordsLabels = _json["adwordsLabels"];
|
| + }
|
| + if (_json.containsKey("adwordsRedirect")) {
|
| + adwordsRedirect = _json["adwordsRedirect"];
|
| + }
|
| + if (_json.containsKey("ageGroup")) {
|
| + ageGroup = _json["ageGroup"];
|
| + }
|
| + if (_json.containsKey("availability")) {
|
| + availability = _json["availability"];
|
| + }
|
| + if (_json.containsKey("availabilityDate")) {
|
| + availabilityDate = _json["availabilityDate"];
|
| + }
|
| + if (_json.containsKey("brand")) {
|
| + brand = _json["brand"];
|
| + }
|
| + if (_json.containsKey("channel")) {
|
| + channel = _json["channel"];
|
| + }
|
| + if (_json.containsKey("color")) {
|
| + color = _json["color"];
|
| + }
|
| + if (_json.containsKey("condition")) {
|
| + condition = _json["condition"];
|
| + }
|
| + if (_json.containsKey("contentLanguage")) {
|
| + contentLanguage = _json["contentLanguage"];
|
| + }
|
| + if (_json.containsKey("customAttributes")) {
|
| + customAttributes = _json["customAttributes"].map((value) => new ProductCustomAttribute.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("customGroups")) {
|
| + customGroups = _json["customGroups"].map((value) => new ProductCustomGroup.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("customLabel0")) {
|
| + customLabel0 = _json["customLabel0"];
|
| + }
|
| + if (_json.containsKey("customLabel1")) {
|
| + customLabel1 = _json["customLabel1"];
|
| + }
|
| + if (_json.containsKey("customLabel2")) {
|
| + customLabel2 = _json["customLabel2"];
|
| + }
|
| + if (_json.containsKey("customLabel3")) {
|
| + customLabel3 = _json["customLabel3"];
|
| + }
|
| + if (_json.containsKey("customLabel4")) {
|
| + customLabel4 = _json["customLabel4"];
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("destinations")) {
|
| + destinations = _json["destinations"].map((value) => new ProductDestination.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("energyEfficiencyClass")) {
|
| + energyEfficiencyClass = _json["energyEfficiencyClass"];
|
| + }
|
| + if (_json.containsKey("expirationDate")) {
|
| + expirationDate = _json["expirationDate"];
|
| + }
|
| + if (_json.containsKey("gender")) {
|
| + gender = _json["gender"];
|
| + }
|
| + if (_json.containsKey("googleProductCategory")) {
|
| + googleProductCategory = _json["googleProductCategory"];
|
| + }
|
| + if (_json.containsKey("gtin")) {
|
| + gtin = _json["gtin"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("identifierExists")) {
|
| + identifierExists = _json["identifierExists"];
|
| + }
|
| + if (_json.containsKey("imageLink")) {
|
| + imageLink = _json["imageLink"];
|
| + }
|
| + if (_json.containsKey("installment")) {
|
| + installment = new ProductInstallment.fromJson(_json["installment"]);
|
| + }
|
| + if (_json.containsKey("isBundle")) {
|
| + isBundle = _json["isBundle"];
|
| + }
|
| + if (_json.containsKey("itemGroupId")) {
|
| + itemGroupId = _json["itemGroupId"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("link")) {
|
| + link = _json["link"];
|
| + }
|
| + if (_json.containsKey("loyaltyPoints")) {
|
| + loyaltyPoints = new LoyaltyPoints.fromJson(_json["loyaltyPoints"]);
|
| + }
|
| + if (_json.containsKey("material")) {
|
| + material = _json["material"];
|
| + }
|
| + if (_json.containsKey("mobileLink")) {
|
| + mobileLink = _json["mobileLink"];
|
| + }
|
| + if (_json.containsKey("mpn")) {
|
| + mpn = _json["mpn"];
|
| + }
|
| + if (_json.containsKey("multipack")) {
|
| + multipack = _json["multipack"];
|
| + }
|
| + if (_json.containsKey("offerId")) {
|
| + offerId = _json["offerId"];
|
| + }
|
| + if (_json.containsKey("onlineOnly")) {
|
| + onlineOnly = _json["onlineOnly"];
|
| + }
|
| + if (_json.containsKey("pattern")) {
|
| + pattern = _json["pattern"];
|
| + }
|
| + if (_json.containsKey("price")) {
|
| + price = new Price.fromJson(_json["price"]);
|
| + }
|
| + if (_json.containsKey("productType")) {
|
| + productType = _json["productType"];
|
| + }
|
| + if (_json.containsKey("salePrice")) {
|
| + salePrice = new Price.fromJson(_json["salePrice"]);
|
| + }
|
| + if (_json.containsKey("salePriceEffectiveDate")) {
|
| + salePriceEffectiveDate = _json["salePriceEffectiveDate"];
|
| + }
|
| + if (_json.containsKey("shipping")) {
|
| + shipping = _json["shipping"].map((value) => new ProductShipping.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("shippingLabel")) {
|
| + shippingLabel = _json["shippingLabel"];
|
| + }
|
| + if (_json.containsKey("shippingWeight")) {
|
| + shippingWeight = new ProductShippingWeight.fromJson(_json["shippingWeight"]);
|
| + }
|
| + if (_json.containsKey("sizeSystem")) {
|
| + sizeSystem = _json["sizeSystem"];
|
| + }
|
| + if (_json.containsKey("sizeType")) {
|
| + sizeType = _json["sizeType"];
|
| + }
|
| + if (_json.containsKey("sizes")) {
|
| + sizes = _json["sizes"];
|
| + }
|
| + if (_json.containsKey("targetCountry")) {
|
| + targetCountry = _json["targetCountry"];
|
| + }
|
| + if (_json.containsKey("taxes")) {
|
| + taxes = _json["taxes"].map((value) => new ProductTax.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("title")) {
|
| + title = _json["title"];
|
| + }
|
| + if (_json.containsKey("unitPricingBaseMeasure")) {
|
| + unitPricingBaseMeasure = new ProductUnitPricingBaseMeasure.fromJson(_json["unitPricingBaseMeasure"]);
|
| + }
|
| + if (_json.containsKey("unitPricingMeasure")) {
|
| + unitPricingMeasure = new ProductUnitPricingMeasure.fromJson(_json["unitPricingMeasure"]);
|
| + }
|
| + if (_json.containsKey("validatedDestinations")) {
|
| + validatedDestinations = _json["validatedDestinations"];
|
| + }
|
| + if (_json.containsKey("warnings")) {
|
| + warnings = _json["warnings"].map((value) => new Error.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (additionalImageLinks != null) {
|
| + _json["additionalImageLinks"] = additionalImageLinks;
|
| + }
|
| + if (adult != null) {
|
| + _json["adult"] = adult;
|
| + }
|
| + if (adwordsGrouping != null) {
|
| + _json["adwordsGrouping"] = adwordsGrouping;
|
| + }
|
| + if (adwordsLabels != null) {
|
| + _json["adwordsLabels"] = adwordsLabels;
|
| + }
|
| + if (adwordsRedirect != null) {
|
| + _json["adwordsRedirect"] = adwordsRedirect;
|
| + }
|
| + if (ageGroup != null) {
|
| + _json["ageGroup"] = ageGroup;
|
| + }
|
| + if (availability != null) {
|
| + _json["availability"] = availability;
|
| + }
|
| + if (availabilityDate != null) {
|
| + _json["availabilityDate"] = availabilityDate;
|
| + }
|
| + if (brand != null) {
|
| + _json["brand"] = brand;
|
| + }
|
| + if (channel != null) {
|
| + _json["channel"] = channel;
|
| + }
|
| + if (color != null) {
|
| + _json["color"] = color;
|
| + }
|
| + if (condition != null) {
|
| + _json["condition"] = condition;
|
| + }
|
| + if (contentLanguage != null) {
|
| + _json["contentLanguage"] = contentLanguage;
|
| + }
|
| + if (customAttributes != null) {
|
| + _json["customAttributes"] = customAttributes.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (customGroups != null) {
|
| + _json["customGroups"] = customGroups.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (customLabel0 != null) {
|
| + _json["customLabel0"] = customLabel0;
|
| + }
|
| + if (customLabel1 != null) {
|
| + _json["customLabel1"] = customLabel1;
|
| + }
|
| + if (customLabel2 != null) {
|
| + _json["customLabel2"] = customLabel2;
|
| + }
|
| + if (customLabel3 != null) {
|
| + _json["customLabel3"] = customLabel3;
|
| + }
|
| + if (customLabel4 != null) {
|
| + _json["customLabel4"] = customLabel4;
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (destinations != null) {
|
| + _json["destinations"] = destinations.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (energyEfficiencyClass != null) {
|
| + _json["energyEfficiencyClass"] = energyEfficiencyClass;
|
| + }
|
| + if (expirationDate != null) {
|
| + _json["expirationDate"] = expirationDate;
|
| + }
|
| + if (gender != null) {
|
| + _json["gender"] = gender;
|
| + }
|
| + if (googleProductCategory != null) {
|
| + _json["googleProductCategory"] = googleProductCategory;
|
| + }
|
| + if (gtin != null) {
|
| + _json["gtin"] = gtin;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (identifierExists != null) {
|
| + _json["identifierExists"] = identifierExists;
|
| + }
|
| + if (imageLink != null) {
|
| + _json["imageLink"] = imageLink;
|
| + }
|
| + if (installment != null) {
|
| + _json["installment"] = (installment).toJson();
|
| + }
|
| + if (isBundle != null) {
|
| + _json["isBundle"] = isBundle;
|
| + }
|
| + if (itemGroupId != null) {
|
| + _json["itemGroupId"] = itemGroupId;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (link != null) {
|
| + _json["link"] = link;
|
| + }
|
| + if (loyaltyPoints != null) {
|
| + _json["loyaltyPoints"] = (loyaltyPoints).toJson();
|
| + }
|
| + if (material != null) {
|
| + _json["material"] = material;
|
| + }
|
| + if (mobileLink != null) {
|
| + _json["mobileLink"] = mobileLink;
|
| + }
|
| + if (mpn != null) {
|
| + _json["mpn"] = mpn;
|
| + }
|
| + if (multipack != null) {
|
| + _json["multipack"] = multipack;
|
| + }
|
| + if (offerId != null) {
|
| + _json["offerId"] = offerId;
|
| + }
|
| + if (onlineOnly != null) {
|
| + _json["onlineOnly"] = onlineOnly;
|
| + }
|
| + if (pattern != null) {
|
| + _json["pattern"] = pattern;
|
| + }
|
| + if (price != null) {
|
| + _json["price"] = (price).toJson();
|
| + }
|
| + if (productType != null) {
|
| + _json["productType"] = productType;
|
| + }
|
| + if (salePrice != null) {
|
| + _json["salePrice"] = (salePrice).toJson();
|
| + }
|
| + if (salePriceEffectiveDate != null) {
|
| + _json["salePriceEffectiveDate"] = salePriceEffectiveDate;
|
| + }
|
| + if (shipping != null) {
|
| + _json["shipping"] = shipping.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (shippingLabel != null) {
|
| + _json["shippingLabel"] = shippingLabel;
|
| + }
|
| + if (shippingWeight != null) {
|
| + _json["shippingWeight"] = (shippingWeight).toJson();
|
| + }
|
| + if (sizeSystem != null) {
|
| + _json["sizeSystem"] = sizeSystem;
|
| + }
|
| + if (sizeType != null) {
|
| + _json["sizeType"] = sizeType;
|
| + }
|
| + if (sizes != null) {
|
| + _json["sizes"] = sizes;
|
| + }
|
| + if (targetCountry != null) {
|
| + _json["targetCountry"] = targetCountry;
|
| + }
|
| + if (taxes != null) {
|
| + _json["taxes"] = taxes.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (title != null) {
|
| + _json["title"] = title;
|
| + }
|
| + if (unitPricingBaseMeasure != null) {
|
| + _json["unitPricingBaseMeasure"] = (unitPricingBaseMeasure).toJson();
|
| + }
|
| + if (unitPricingMeasure != null) {
|
| + _json["unitPricingMeasure"] = (unitPricingMeasure).toJson();
|
| + }
|
| + if (validatedDestinations != null) {
|
| + _json["validatedDestinations"] = validatedDestinations;
|
| + }
|
| + if (warnings != null) {
|
| + _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductCustomAttribute {
|
| + /** The name of the attribute. */
|
| + core.String name;
|
| +
|
| + /** The type of the attribute. */
|
| + core.String type;
|
| +
|
| + /**
|
| + * Free-form unit of the attribute. Unit can only be used for values of type
|
| + * INT or FLOAT.
|
| + */
|
| + core.String unit;
|
| +
|
| + /** The value of the attribute. */
|
| + core.String value;
|
| +
|
| +
|
| + ProductCustomAttribute();
|
| +
|
| + ProductCustomAttribute.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("type")) {
|
| + type = _json["type"];
|
| + }
|
| + if (_json.containsKey("unit")) {
|
| + unit = _json["unit"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (type != null) {
|
| + _json["type"] = type;
|
| + }
|
| + if (unit != null) {
|
| + _json["unit"] = unit;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductCustomGroup {
|
| + /** The sub-attributes. */
|
| + core.List<ProductCustomAttribute> attributes;
|
| +
|
| + /** The name of the group. */
|
| + core.String name;
|
| +
|
| +
|
| + ProductCustomGroup();
|
| +
|
| + ProductCustomGroup.fromJson(core.Map _json) {
|
| + if (_json.containsKey("attributes")) {
|
| + attributes = _json["attributes"].map((value) => new ProductCustomAttribute.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (attributes != null) {
|
| + _json["attributes"] = attributes.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductDestination {
|
| + /** The name of the destination. */
|
| + core.String destinationName;
|
| +
|
| + /** Whether the destination is required, excluded or should be validated. */
|
| + core.String intention;
|
| +
|
| +
|
| + ProductDestination();
|
| +
|
| + ProductDestination.fromJson(core.Map _json) {
|
| + if (_json.containsKey("destinationName")) {
|
| + destinationName = _json["destinationName"];
|
| + }
|
| + if (_json.containsKey("intention")) {
|
| + intention = _json["intention"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (destinationName != null) {
|
| + _json["destinationName"] = destinationName;
|
| + }
|
| + if (intention != null) {
|
| + _json["intention"] = intention;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductInstallment {
|
| + /** The amount the buyer has to pay per month. */
|
| + Price amount;
|
| +
|
| + /** The number of installments the buyer has to pay. */
|
| + core.String months;
|
| +
|
| +
|
| + ProductInstallment();
|
| +
|
| + ProductInstallment.fromJson(core.Map _json) {
|
| + if (_json.containsKey("amount")) {
|
| + amount = new Price.fromJson(_json["amount"]);
|
| + }
|
| + if (_json.containsKey("months")) {
|
| + months = _json["months"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (amount != null) {
|
| + _json["amount"] = (amount).toJson();
|
| + }
|
| + if (months != null) {
|
| + _json["months"] = months;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductShipping {
|
| + /**
|
| + * The two-letter ISO 3166 country code for the country to which an item will
|
| + * ship.
|
| + */
|
| + core.String country;
|
| +
|
| + /**
|
| + * The location where the shipping is applicable, represented by a location
|
| + * group name.
|
| + */
|
| + core.String locationGroupName;
|
| +
|
| + /**
|
| + * The numeric id of a location that the shipping rate applies to as defined
|
| + * in the AdWords API.
|
| + */
|
| + core.String locationId;
|
| +
|
| + /**
|
| + * The postal code range that the shipping rate applies to, represented by a
|
| + * postal code, a postal code prefix using * wildcard, a range between two
|
| + * postal codes or two postal code prefixes of equal length.
|
| + */
|
| + core.String postalCode;
|
| +
|
| + /** Fixed shipping price, represented as a number. */
|
| + Price price;
|
| +
|
| + /**
|
| + * The geographic region to which a shipping rate applies (e.g. zip code).
|
| + */
|
| + core.String region;
|
| +
|
| + /** A free-form description of the service class or delivery speed. */
|
| + core.String service;
|
| +
|
| +
|
| + ProductShipping();
|
| +
|
| + ProductShipping.fromJson(core.Map _json) {
|
| + if (_json.containsKey("country")) {
|
| + country = _json["country"];
|
| + }
|
| + if (_json.containsKey("locationGroupName")) {
|
| + locationGroupName = _json["locationGroupName"];
|
| + }
|
| + if (_json.containsKey("locationId")) {
|
| + locationId = _json["locationId"];
|
| + }
|
| + if (_json.containsKey("postalCode")) {
|
| + postalCode = _json["postalCode"];
|
| + }
|
| + if (_json.containsKey("price")) {
|
| + price = new Price.fromJson(_json["price"]);
|
| + }
|
| + if (_json.containsKey("region")) {
|
| + region = _json["region"];
|
| + }
|
| + if (_json.containsKey("service")) {
|
| + service = _json["service"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (country != null) {
|
| + _json["country"] = country;
|
| + }
|
| + if (locationGroupName != null) {
|
| + _json["locationGroupName"] = locationGroupName;
|
| + }
|
| + if (locationId != null) {
|
| + _json["locationId"] = locationId;
|
| + }
|
| + if (postalCode != null) {
|
| + _json["postalCode"] = postalCode;
|
| + }
|
| + if (price != null) {
|
| + _json["price"] = (price).toJson();
|
| + }
|
| + if (region != null) {
|
| + _json["region"] = region;
|
| + }
|
| + if (service != null) {
|
| + _json["service"] = service;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductShippingWeight {
|
| + /** The unit of value. */
|
| + core.String unit;
|
| +
|
| + /**
|
| + * The weight of the product used to calculate the shipping cost of the item.
|
| + */
|
| + core.double value;
|
| +
|
| +
|
| + ProductShippingWeight();
|
| +
|
| + ProductShippingWeight.fromJson(core.Map _json) {
|
| + if (_json.containsKey("unit")) {
|
| + unit = _json["unit"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (unit != null) {
|
| + _json["unit"] = unit;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * The status of a product, i.e., information about a product computed
|
| + * asynchronously by the data quality analysis.
|
| + */
|
| +class ProductStatus {
|
| + /** A list of data quality issues associated with the product. */
|
| + core.List<ProductStatusDataQualityIssue> dataQualityIssues;
|
| +
|
| + /** The intended destinations for the product. */
|
| + core.List<ProductStatusDestinationStatus> destinationStatuses;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#productStatus".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The link to the product. */
|
| + core.String link;
|
| +
|
| + /** The id of the product for which status is reported. */
|
| + core.String productId;
|
| +
|
| + /** The title of the product. */
|
| + core.String title;
|
| +
|
| +
|
| + ProductStatus();
|
| +
|
| + ProductStatus.fromJson(core.Map _json) {
|
| + if (_json.containsKey("dataQualityIssues")) {
|
| + dataQualityIssues = _json["dataQualityIssues"].map((value) => new ProductStatusDataQualityIssue.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("destinationStatuses")) {
|
| + destinationStatuses = _json["destinationStatuses"].map((value) => new ProductStatusDestinationStatus.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("link")) {
|
| + link = _json["link"];
|
| + }
|
| + if (_json.containsKey("productId")) {
|
| + productId = _json["productId"];
|
| + }
|
| + if (_json.containsKey("title")) {
|
| + title = _json["title"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (dataQualityIssues != null) {
|
| + _json["dataQualityIssues"] = dataQualityIssues.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (destinationStatuses != null) {
|
| + _json["destinationStatuses"] = destinationStatuses.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (link != null) {
|
| + _json["link"] = link;
|
| + }
|
| + if (productId != null) {
|
| + _json["productId"] = productId;
|
| + }
|
| + if (title != null) {
|
| + _json["title"] = title;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductStatusDataQualityIssue {
|
| + /** A more detailed error string. */
|
| + core.String detail;
|
| +
|
| + /** The fetch status for landing_page_errors. */
|
| + core.String fetchStatus;
|
| +
|
| + /** The id of the data quality issue. */
|
| + core.String id;
|
| +
|
| + /** The attribute name that is relevant for the issue. */
|
| + core.String location;
|
| +
|
| + /** The time stamp of the data quality issue. */
|
| + core.String timestamp;
|
| +
|
| + /** The value of that attribute that was found on the landing page */
|
| + core.String valueOnLandingPage;
|
| +
|
| + /** The value the attribute had at time of evaluation. */
|
| + core.String valueProvided;
|
| +
|
| +
|
| + ProductStatusDataQualityIssue();
|
| +
|
| + ProductStatusDataQualityIssue.fromJson(core.Map _json) {
|
| + if (_json.containsKey("detail")) {
|
| + detail = _json["detail"];
|
| + }
|
| + if (_json.containsKey("fetchStatus")) {
|
| + fetchStatus = _json["fetchStatus"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("location")) {
|
| + location = _json["location"];
|
| + }
|
| + if (_json.containsKey("timestamp")) {
|
| + timestamp = _json["timestamp"];
|
| + }
|
| + if (_json.containsKey("valueOnLandingPage")) {
|
| + valueOnLandingPage = _json["valueOnLandingPage"];
|
| + }
|
| + if (_json.containsKey("valueProvided")) {
|
| + valueProvided = _json["valueProvided"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (detail != null) {
|
| + _json["detail"] = detail;
|
| + }
|
| + if (fetchStatus != null) {
|
| + _json["fetchStatus"] = fetchStatus;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (location != null) {
|
| + _json["location"] = location;
|
| + }
|
| + if (timestamp != null) {
|
| + _json["timestamp"] = timestamp;
|
| + }
|
| + if (valueOnLandingPage != null) {
|
| + _json["valueOnLandingPage"] = valueOnLandingPage;
|
| + }
|
| + if (valueProvided != null) {
|
| + _json["valueProvided"] = valueProvided;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductStatusDestinationStatus {
|
| + /** The destination's approval status. */
|
| + core.String approvalStatus;
|
| +
|
| + /** The name of the destination */
|
| + core.String destination;
|
| +
|
| + /**
|
| + * Whether the destination is required, excluded, selected by default or
|
| + * should be validated.
|
| + */
|
| + core.String intention;
|
| +
|
| +
|
| + ProductStatusDestinationStatus();
|
| +
|
| + ProductStatusDestinationStatus.fromJson(core.Map _json) {
|
| + if (_json.containsKey("approvalStatus")) {
|
| + approvalStatus = _json["approvalStatus"];
|
| + }
|
| + if (_json.containsKey("destination")) {
|
| + destination = _json["destination"];
|
| + }
|
| + if (_json.containsKey("intention")) {
|
| + intention = _json["intention"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (approvalStatus != null) {
|
| + _json["approvalStatus"] = approvalStatus;
|
| + }
|
| + if (destination != null) {
|
| + _json["destination"] = destination;
|
| + }
|
| + if (intention != null) {
|
| + _json["intention"] = intention;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductTax {
|
| + /**
|
| + * The country within which the item is taxed, specified with a two-letter ISO
|
| + * 3166 country code.
|
| + */
|
| + core.String country;
|
| +
|
| + /**
|
| + * The numeric id of a location that the tax rate applies to as defined in the
|
| + * Adwords API
|
| + * (https://developers.google.com/adwords/api/docs/appendix/geotargeting).
|
| + */
|
| + core.String locationId;
|
| +
|
| + /**
|
| + * The postal code range that the tax rate applies to, represented by a ZIP
|
| + * code, a ZIP code prefix using * wildcard, a range between two ZIP codes or
|
| + * two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460,
|
| + * 94*-95*.
|
| + */
|
| + core.String postalCode;
|
| +
|
| + /** The percentage of tax rate that applies to the item price. */
|
| + core.double rate;
|
| +
|
| + /** The geographic region to which the tax rate applies. */
|
| + core.String region;
|
| +
|
| + /** Set to true if tax is charged on shipping. */
|
| + core.bool taxShip;
|
| +
|
| +
|
| + ProductTax();
|
| +
|
| + ProductTax.fromJson(core.Map _json) {
|
| + if (_json.containsKey("country")) {
|
| + country = _json["country"];
|
| + }
|
| + if (_json.containsKey("locationId")) {
|
| + locationId = _json["locationId"];
|
| + }
|
| + if (_json.containsKey("postalCode")) {
|
| + postalCode = _json["postalCode"];
|
| + }
|
| + if (_json.containsKey("rate")) {
|
| + rate = _json["rate"];
|
| + }
|
| + if (_json.containsKey("region")) {
|
| + region = _json["region"];
|
| + }
|
| + if (_json.containsKey("taxShip")) {
|
| + taxShip = _json["taxShip"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (country != null) {
|
| + _json["country"] = country;
|
| + }
|
| + if (locationId != null) {
|
| + _json["locationId"] = locationId;
|
| + }
|
| + if (postalCode != null) {
|
| + _json["postalCode"] = postalCode;
|
| + }
|
| + if (rate != null) {
|
| + _json["rate"] = rate;
|
| + }
|
| + if (region != null) {
|
| + _json["region"] = region;
|
| + }
|
| + if (taxShip != null) {
|
| + _json["taxShip"] = taxShip;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductUnitPricingBaseMeasure {
|
| + /** The unit of the denominator. */
|
| + core.String unit;
|
| +
|
| + /** The denominator of the unit price. */
|
| + core.String value;
|
| +
|
| +
|
| + ProductUnitPricingBaseMeasure();
|
| +
|
| + ProductUnitPricingBaseMeasure.fromJson(core.Map _json) {
|
| + if (_json.containsKey("unit")) {
|
| + unit = _json["unit"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (unit != null) {
|
| + _json["unit"] = unit;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductUnitPricingMeasure {
|
| + /** The unit of the measure. */
|
| + core.String unit;
|
| +
|
| + /** The measure of an item. */
|
| + core.double value;
|
| +
|
| +
|
| + ProductUnitPricingMeasure();
|
| +
|
| + ProductUnitPricingMeasure.fromJson(core.Map _json) {
|
| + if (_json.containsKey("unit")) {
|
| + unit = _json["unit"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (unit != null) {
|
| + _json["unit"] = unit;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductsCustomBatchRequest {
|
| + /** Not documented yet. */
|
| + core.List<ProductsCustomBatchRequestEntry> entries;
|
| +
|
| +
|
| + ProductsCustomBatchRequest();
|
| +
|
| + ProductsCustomBatchRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new ProductsCustomBatchRequestEntry.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch request to the products service of
|
| + * the Content API for Shopping.
|
| + */
|
| +class ProductsCustomBatchRequestEntry {
|
| + /** An entry ID, unique within the batch request. */
|
| + core.int batchId;
|
| +
|
| + /** The ID of the managing account. */
|
| + core.String merchantId;
|
| +
|
| + /** The method (get, insert or delete). */
|
| + core.String method;
|
| +
|
| + /** The product to insert. Only required if the method is insert. */
|
| + Product product;
|
| +
|
| + /**
|
| + * The ID of the product to get or delete. Only defined if the method is get
|
| + * or delete.
|
| + */
|
| + core.String productId;
|
| +
|
| +
|
| + ProductsCustomBatchRequestEntry();
|
| +
|
| + ProductsCustomBatchRequestEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("merchantId")) {
|
| + merchantId = _json["merchantId"];
|
| + }
|
| + if (_json.containsKey("method")) {
|
| + method = _json["method"];
|
| + }
|
| + if (_json.containsKey("product")) {
|
| + product = new Product.fromJson(_json["product"]);
|
| + }
|
| + if (_json.containsKey("productId")) {
|
| + productId = _json["productId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (merchantId != null) {
|
| + _json["merchantId"] = merchantId;
|
| + }
|
| + if (method != null) {
|
| + _json["method"] = method;
|
| + }
|
| + if (product != null) {
|
| + _json["product"] = (product).toJson();
|
| + }
|
| + if (productId != null) {
|
| + _json["productId"] = productId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductsCustomBatchResponse {
|
| + /** Not documented yet. */
|
| + core.List<ProductsCustomBatchResponseEntry> entries;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#productsCustomBatchResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + ProductsCustomBatchResponse();
|
| +
|
| + ProductsCustomBatchResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new ProductsCustomBatchResponseEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch response from the products service
|
| + * of the Content API for Shopping.
|
| + */
|
| +class ProductsCustomBatchResponseEntry {
|
| + /** The ID of the request entry this entry responds to. */
|
| + core.int batchId;
|
| +
|
| + /** A list of errors defined if and only if the request failed. */
|
| + Errors errors;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#productsCustomBatchResponseEntry".
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The inserted product. Only defined if the method is insert and if the
|
| + * request was successful.
|
| + */
|
| + Product product;
|
| +
|
| +
|
| + ProductsCustomBatchResponseEntry();
|
| +
|
| + ProductsCustomBatchResponseEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = new Errors.fromJson(_json["errors"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("product")) {
|
| + product = new Product.fromJson(_json["product"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = (errors).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (product != null) {
|
| + _json["product"] = (product).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductsListResponse {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#productsListResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Not documented yet. */
|
| + core.String nextPageToken;
|
| +
|
| + /** Not documented yet. */
|
| + core.List<Product> resources;
|
| +
|
| +
|
| + ProductsListResponse();
|
| +
|
| + ProductsListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("resources")) {
|
| + resources = _json["resources"].map((value) => new Product.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (resources != null) {
|
| + _json["resources"] = resources.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductstatusesCustomBatchRequest {
|
| + /** Not documented yet. */
|
| + core.List<ProductstatusesCustomBatchRequestEntry> entries;
|
| +
|
| +
|
| + ProductstatusesCustomBatchRequest();
|
| +
|
| + ProductstatusesCustomBatchRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new ProductstatusesCustomBatchRequestEntry.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch request to the productstatuses
|
| + * service of the Content API for Shopping.
|
| + */
|
| +class ProductstatusesCustomBatchRequestEntry {
|
| + /** An entry ID, unique within the batch request. */
|
| + core.int batchId;
|
| +
|
| + /** The ID of the managing account. */
|
| + core.String merchantId;
|
| +
|
| + /** The method (get). */
|
| + core.String method;
|
| +
|
| + /** The ID of the product whose status to get. */
|
| + core.String productId;
|
| +
|
| +
|
| + ProductstatusesCustomBatchRequestEntry();
|
| +
|
| + ProductstatusesCustomBatchRequestEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("merchantId")) {
|
| + merchantId = _json["merchantId"];
|
| + }
|
| + if (_json.containsKey("method")) {
|
| + method = _json["method"];
|
| + }
|
| + if (_json.containsKey("productId")) {
|
| + productId = _json["productId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (merchantId != null) {
|
| + _json["merchantId"] = merchantId;
|
| + }
|
| + if (method != null) {
|
| + _json["method"] = method;
|
| + }
|
| + if (productId != null) {
|
| + _json["productId"] = productId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductstatusesCustomBatchResponse {
|
| + /** Not documented yet. */
|
| + core.List<ProductstatusesCustomBatchResponseEntry> entries;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#productstatusesCustomBatchResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + ProductstatusesCustomBatchResponse();
|
| +
|
| + ProductstatusesCustomBatchResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entries")) {
|
| + entries = _json["entries"].map((value) => new ProductstatusesCustomBatchResponseEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entries != null) {
|
| + _json["entries"] = entries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A batch entry encoding a single non-batch response from the productstatuses
|
| + * service of the Content API for Shopping.
|
| + */
|
| +class ProductstatusesCustomBatchResponseEntry {
|
| + /** The ID of the request entry this entry responds to. */
|
| + core.int batchId;
|
| +
|
| + /** A list of errors, if the request failed. */
|
| + Errors errors;
|
| +
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#productstatusesCustomBatchResponseEntry".
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The requested product status. Only defined if the request was successful.
|
| + */
|
| + ProductStatus productStatus;
|
| +
|
| +
|
| + ProductstatusesCustomBatchResponseEntry();
|
| +
|
| + ProductstatusesCustomBatchResponseEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchId")) {
|
| + batchId = _json["batchId"];
|
| + }
|
| + if (_json.containsKey("errors")) {
|
| + errors = new Errors.fromJson(_json["errors"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("productStatus")) {
|
| + productStatus = new ProductStatus.fromJson(_json["productStatus"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchId != null) {
|
| + _json["batchId"] = batchId;
|
| + }
|
| + if (errors != null) {
|
| + _json["errors"] = (errors).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (productStatus != null) {
|
| + _json["productStatus"] = (productStatus).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ProductstatusesListResponse {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "content#productstatusesListResponse".
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Not documented yet. */
|
| + core.String nextPageToken;
|
| +
|
| + /** Not documented yet. */
|
| + core.List<ProductStatus> resources;
|
| +
|
| +
|
| + ProductstatusesListResponse();
|
| +
|
| + ProductstatusesListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("resources")) {
|
| + resources = _json["resources"].map((value) => new ProductStatus.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (resources != null) {
|
| + _json["resources"] = resources.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
|
|