Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: generated/googleapis/lib/content/v2.dart

Issue 559053002: Generate 0.1.0 version of googleapis/googleapis_beta (Closed) Base URL: git@github.com:dart-lang/googleapis.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
+ }
+}
+
+

Powered by Google App Engine
This is Rietveld 408576698