| Index: generated/googleapis/lib/doubleclicksearch/v2.dart
|
| diff --git a/generated/googleapis/lib/doubleclicksearch/v2.dart b/generated/googleapis/lib/doubleclicksearch/v2.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..759ac8676c8255fd7197c5415dd8c26cd91488a5
|
| --- /dev/null
|
| +++ b/generated/googleapis/lib/doubleclicksearch/v2.dart
|
| @@ -0,0 +1,1884 @@
|
| +library googleapis.doubleclicksearch.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;
|
| +
|
| +/**
|
| + * Report and modify your advertising data in DoubleClick Search (for example,
|
| + * campaigns, ad groups, keywords, and conversions).
|
| + */
|
| +class DoubleclicksearchApi {
|
| + /** View and manage your advertising data in DoubleClick Search */
|
| + static const DoubleclicksearchScope = "https://www.googleapis.com/auth/doubleclicksearch";
|
| +
|
| +
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + ConversionResourceApi get conversion => new ConversionResourceApi(_requester);
|
| + ReportsResourceApi get reports => new ReportsResourceApi(_requester);
|
| + SavedColumnsResourceApi get savedColumns => new SavedColumnsResourceApi(_requester);
|
| +
|
| + DoubleclicksearchApi(http.Client client) :
|
| + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/doubleclicksearch/v2/");
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ConversionResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + ConversionResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieves a list of conversions from a DoubleClick Search engine account.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [agencyId] - Numeric ID of the agency.
|
| + *
|
| + * [advertiserId] - Numeric ID of the advertiser.
|
| + *
|
| + * [engineAccountId] - Numeric ID of the engine account.
|
| + *
|
| + * [endDate] - Last date (inclusive) on which to retrieve conversions. Format
|
| + * is yyyymmdd.
|
| + * Value must be between "20091101" and "99991231".
|
| + *
|
| + * [rowCount] - The number of conversions to return per call.
|
| + * Value must be between "1" and "1000".
|
| + *
|
| + * [startDate] - First date (inclusive) on which to retrieve conversions.
|
| + * Format is yyyymmdd.
|
| + * Value must be between "20091101" and "99991231".
|
| + *
|
| + * [startRow] - The 0-based starting index for retrieving conversions results.
|
| + *
|
| + * [adGroupId] - Numeric ID of the ad group.
|
| + *
|
| + * [adId] - Numeric ID of the ad.
|
| + *
|
| + * [campaignId] - Numeric ID of the campaign.
|
| + *
|
| + * [criterionId] - Numeric ID of the criterion.
|
| + *
|
| + * Completes with a [ConversionList].
|
| + *
|
| + * 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<ConversionList> get(core.String agencyId, core.String advertiserId, core.String engineAccountId, core.int endDate, core.int rowCount, core.int startDate, core.int startRow, {core.String adGroupId, core.String adId, core.String campaignId, core.String criterionId}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (agencyId == null) {
|
| + throw new core.ArgumentError("Parameter agencyId is required.");
|
| + }
|
| + if (advertiserId == null) {
|
| + throw new core.ArgumentError("Parameter advertiserId is required.");
|
| + }
|
| + if (engineAccountId == null) {
|
| + throw new core.ArgumentError("Parameter engineAccountId is required.");
|
| + }
|
| + if (endDate == null) {
|
| + throw new core.ArgumentError("Parameter endDate is required.");
|
| + }
|
| + _queryParams["endDate"] = ["${endDate}"];
|
| + if (rowCount == null) {
|
| + throw new core.ArgumentError("Parameter rowCount is required.");
|
| + }
|
| + _queryParams["rowCount"] = ["${rowCount}"];
|
| + if (startDate == null) {
|
| + throw new core.ArgumentError("Parameter startDate is required.");
|
| + }
|
| + _queryParams["startDate"] = ["${startDate}"];
|
| + if (startRow == null) {
|
| + throw new core.ArgumentError("Parameter startRow is required.");
|
| + }
|
| + _queryParams["startRow"] = ["${startRow}"];
|
| + if (adGroupId != null) {
|
| + _queryParams["adGroupId"] = [adGroupId];
|
| + }
|
| + if (adId != null) {
|
| + _queryParams["adId"] = [adId];
|
| + }
|
| + if (campaignId != null) {
|
| + _queryParams["campaignId"] = [campaignId];
|
| + }
|
| + if (criterionId != null) {
|
| + _queryParams["criterionId"] = [criterionId];
|
| + }
|
| +
|
| +
|
| + _url = 'agency/' + common_internal.Escaper.ecapeVariable('$agencyId') + '/advertiser/' + common_internal.Escaper.ecapeVariable('$advertiserId') + '/engine/' + common_internal.Escaper.ecapeVariable('$engineAccountId') + '/conversion';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ConversionList.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Inserts a batch of new conversions into DoubleClick Search.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [ConversionList].
|
| + *
|
| + * 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<ConversionList> insert(ConversionList 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 = 'conversion';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ConversionList.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates a batch of conversions in DoubleClick Search. This method supports
|
| + * patch semantics.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [advertiserId] - Numeric ID of the advertiser.
|
| + *
|
| + * [agencyId] - Numeric ID of the agency.
|
| + *
|
| + * [endDate] - Last date (inclusive) on which to retrieve conversions. Format
|
| + * is yyyymmdd.
|
| + * Value must be between "20091101" and "99991231".
|
| + *
|
| + * [engineAccountId] - Numeric ID of the engine account.
|
| + *
|
| + * [rowCount] - The number of conversions to return per call.
|
| + * Value must be between "1" and "1000".
|
| + *
|
| + * [startDate] - First date (inclusive) on which to retrieve conversions.
|
| + * Format is yyyymmdd.
|
| + * Value must be between "20091101" and "99991231".
|
| + *
|
| + * [startRow] - The 0-based starting index for retrieving conversions results.
|
| + *
|
| + * Completes with a [ConversionList].
|
| + *
|
| + * 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<ConversionList> patch(ConversionList request, core.String advertiserId, core.String agencyId, core.int endDate, core.String engineAccountId, core.int rowCount, core.int startDate, core.int startRow) {
|
| + 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 (advertiserId == null) {
|
| + throw new core.ArgumentError("Parameter advertiserId is required.");
|
| + }
|
| + _queryParams["advertiserId"] = [advertiserId];
|
| + if (agencyId == null) {
|
| + throw new core.ArgumentError("Parameter agencyId is required.");
|
| + }
|
| + _queryParams["agencyId"] = [agencyId];
|
| + if (endDate == null) {
|
| + throw new core.ArgumentError("Parameter endDate is required.");
|
| + }
|
| + _queryParams["endDate"] = ["${endDate}"];
|
| + if (engineAccountId == null) {
|
| + throw new core.ArgumentError("Parameter engineAccountId is required.");
|
| + }
|
| + _queryParams["engineAccountId"] = [engineAccountId];
|
| + if (rowCount == null) {
|
| + throw new core.ArgumentError("Parameter rowCount is required.");
|
| + }
|
| + _queryParams["rowCount"] = ["${rowCount}"];
|
| + if (startDate == null) {
|
| + throw new core.ArgumentError("Parameter startDate is required.");
|
| + }
|
| + _queryParams["startDate"] = ["${startDate}"];
|
| + if (startRow == null) {
|
| + throw new core.ArgumentError("Parameter startRow is required.");
|
| + }
|
| + _queryParams["startRow"] = ["${startRow}"];
|
| +
|
| +
|
| + _url = 'conversion';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PATCH",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ConversionList.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates a batch of conversions in DoubleClick Search.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [ConversionList].
|
| + *
|
| + * 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<ConversionList> update(ConversionList 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 = 'conversion';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ConversionList.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates the availabilities of a batch of floodlight activities in
|
| + * DoubleClick Search.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [UpdateAvailabilityResponse].
|
| + *
|
| + * 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<UpdateAvailabilityResponse> updateAvailability(UpdateAvailabilityRequest 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 = 'conversion/updateAvailability';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new UpdateAvailabilityResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ReportsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + ReportsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Generates and returns a report immediately.
|
| + *
|
| + * [request_1] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [Report].
|
| + *
|
| + * 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<Report> generate(ReportRequest request_1) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request_1 != null) {
|
| + _body = convert.JSON.encode((request_1).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'reports/generate';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Report.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Polls for the status of a report request.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [reportId] - ID of the report request being polled.
|
| + *
|
| + * Completes with a [Report].
|
| + *
|
| + * 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<Report> get(core.String reportId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (reportId == null) {
|
| + throw new core.ArgumentError("Parameter reportId is required.");
|
| + }
|
| +
|
| +
|
| + _url = 'reports/' + common_internal.Escaper.ecapeVariable('$reportId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Report.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Downloads a report file.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [reportId] - ID of the report.
|
| + *
|
| + * [reportFragment] - The index of the report fragment to download.
|
| + *
|
| + * [downloadOptions] - Options for downloading. A download can be either a
|
| + * Metadata (default) or Media download. Partial Media downloads are possible
|
| + * as well.
|
| + *
|
| + * 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 getFile(core.String reportId, core.int reportFragment, {common.DownloadOptions downloadOptions: common.DownloadOptions.Metadata}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (reportId == null) {
|
| + throw new core.ArgumentError("Parameter reportId is required.");
|
| + }
|
| + if (reportFragment == null) {
|
| + throw new core.ArgumentError("Parameter reportFragment is required.");
|
| + }
|
| +
|
| + _downloadOptions = downloadOptions;
|
| +
|
| + _url = 'reports/' + common_internal.Escaper.ecapeVariable('$reportId') + '/files/' + common_internal.Escaper.ecapeVariable('$reportFragment');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + if (_downloadOptions == null ||
|
| + _downloadOptions == common.DownloadOptions.Metadata) {
|
| + return _response.then((data) => null);
|
| + } else {
|
| + return _response;
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * Inserts a report request into the reporting system.
|
| + *
|
| + * [request_1] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [Report].
|
| + *
|
| + * 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<Report> request(ReportRequest request_1) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request_1 != null) {
|
| + _body = convert.JSON.encode((request_1).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'reports';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Report.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class SavedColumnsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + SavedColumnsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieve the list of saved columns for a specified advertiser.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [agencyId] - DS ID of the agency.
|
| + *
|
| + * [advertiserId] - DS ID of the advertiser.
|
| + *
|
| + * Completes with a [SavedColumnList].
|
| + *
|
| + * 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<SavedColumnList> list(core.String agencyId, core.String advertiserId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (agencyId == null) {
|
| + throw new core.ArgumentError("Parameter agencyId is required.");
|
| + }
|
| + if (advertiserId == null) {
|
| + throw new core.ArgumentError("Parameter advertiserId is required.");
|
| + }
|
| +
|
| +
|
| + _url = 'agency/' + common_internal.Escaper.ecapeVariable('$agencyId') + '/advertiser/' + common_internal.Escaper.ecapeVariable('$advertiserId') + '/savedcolumns';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new SavedColumnList.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +
|
| +/** A message containing availability data relevant to DoubleClick Search. */
|
| +class Availability {
|
| + /** DS advertiser ID. */
|
| + core.String advertiserId;
|
| +
|
| + /** DS agency ID. */
|
| + core.String agencyId;
|
| +
|
| + /**
|
| + * The time by which all conversions have been uploaded, in epoch millis UTC.
|
| + */
|
| + core.String availabilityTimestamp;
|
| +
|
| + /**
|
| + * The numeric segmentation identifier (for example, DoubleClick Search
|
| + * Floodlight activity ID).
|
| + */
|
| + core.String segmentationId;
|
| +
|
| + /**
|
| + * The friendly segmentation identifier (for example, DoubleClick Search
|
| + * Floodlight activity name).
|
| + */
|
| + core.String segmentationName;
|
| +
|
| + /**
|
| + * The segmentation type that this availability is for (its default value is
|
| + * FLOODLIGHT).
|
| + */
|
| + core.String segmentationType;
|
| +
|
| +
|
| + Availability();
|
| +
|
| + Availability.fromJson(core.Map _json) {
|
| + if (_json.containsKey("advertiserId")) {
|
| + advertiserId = _json["advertiserId"];
|
| + }
|
| + if (_json.containsKey("agencyId")) {
|
| + agencyId = _json["agencyId"];
|
| + }
|
| + if (_json.containsKey("availabilityTimestamp")) {
|
| + availabilityTimestamp = _json["availabilityTimestamp"];
|
| + }
|
| + if (_json.containsKey("segmentationId")) {
|
| + segmentationId = _json["segmentationId"];
|
| + }
|
| + if (_json.containsKey("segmentationName")) {
|
| + segmentationName = _json["segmentationName"];
|
| + }
|
| + if (_json.containsKey("segmentationType")) {
|
| + segmentationType = _json["segmentationType"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (advertiserId != null) {
|
| + _json["advertiserId"] = advertiserId;
|
| + }
|
| + if (agencyId != null) {
|
| + _json["agencyId"] = agencyId;
|
| + }
|
| + if (availabilityTimestamp != null) {
|
| + _json["availabilityTimestamp"] = availabilityTimestamp;
|
| + }
|
| + if (segmentationId != null) {
|
| + _json["segmentationId"] = segmentationId;
|
| + }
|
| + if (segmentationName != null) {
|
| + _json["segmentationName"] = segmentationName;
|
| + }
|
| + if (segmentationType != null) {
|
| + _json["segmentationType"] = segmentationType;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A conversion containing data relevant to DoubleClick Search. */
|
| +class Conversion {
|
| + /** DS ad group ID. */
|
| + core.String adGroupId;
|
| +
|
| + /** DS ad ID. */
|
| + core.String adId;
|
| +
|
| + /** DS advertiser ID. */
|
| + core.String advertiserId;
|
| +
|
| + /** DS agency ID. */
|
| + core.String agencyId;
|
| +
|
| + /** DS campaign ID. */
|
| + core.String campaignId;
|
| +
|
| + /** DS click ID for the conversion. */
|
| + core.String clickId;
|
| +
|
| + /** Advertiser-provided ID for the conversion, also known as the order ID. */
|
| + core.String conversionId;
|
| +
|
| + /**
|
| + * The time at which the conversion was last modified, in epoch millis UTC.
|
| + */
|
| + core.String conversionModifiedTimestamp;
|
| +
|
| + /** The time at which the conversion took place, in epoch millis UTC. */
|
| + core.String conversionTimestamp;
|
| +
|
| + /** DS criterion (keyword) ID. */
|
| + core.String criterionId;
|
| +
|
| + /**
|
| + * The currency code for the conversion's revenue. Should be in ISO 4217
|
| + * alphabetic (3-char) format.
|
| + */
|
| + core.String currencyCode;
|
| +
|
| + /**
|
| + * Custom dimensions for the conversion, which can be used to filter data in a
|
| + * report.
|
| + */
|
| + core.List<CustomDimension> customDimension;
|
| +
|
| + /** Custom metrics for the conversion. */
|
| + core.List<CustomMetric> customMetric;
|
| +
|
| + /** DS conversion ID. */
|
| + core.String dsConversionId;
|
| +
|
| + /** DS engine account ID. */
|
| + core.String engineAccountId;
|
| +
|
| + /** The advertiser-provided order id for the conversion. */
|
| + core.String floodlightOrderId;
|
| +
|
| + /** The quantity of this conversion, in millis. */
|
| + core.String quantityMillis;
|
| +
|
| + /** The revenue amount of this TRANSACTION conversion, in micros. */
|
| + core.String revenueMicros;
|
| +
|
| + /**
|
| + * The numeric segmentation identifier (for example, DoubleClick Search
|
| + * Floodlight activity ID).
|
| + */
|
| + core.String segmentationId;
|
| +
|
| + /**
|
| + * The friendly segmentation identifier (for example, DoubleClick Search
|
| + * Floodlight activity name).
|
| + */
|
| + core.String segmentationName;
|
| +
|
| + /** The segmentation type of this conversion (for example, FLOODLIGHT). */
|
| + core.String segmentationType;
|
| +
|
| + /** The state of the conversion, that is, either ACTIVE or DELETED. */
|
| + core.String state;
|
| +
|
| + /**
|
| + * The type of the conversion, that is, either ACTION or TRANSACTION. An
|
| + * ACTION conversion is an action by the user that has no monetarily
|
| + * quantifiable value, while a TRANSACTION conversion is an action that does
|
| + * have a monetarily quantifiable value. Examples are email list signups
|
| + * (ACTION) versus ecommerce purchases (TRANSACTION).
|
| + */
|
| + core.String type;
|
| +
|
| +
|
| + Conversion();
|
| +
|
| + Conversion.fromJson(core.Map _json) {
|
| + if (_json.containsKey("adGroupId")) {
|
| + adGroupId = _json["adGroupId"];
|
| + }
|
| + if (_json.containsKey("adId")) {
|
| + adId = _json["adId"];
|
| + }
|
| + if (_json.containsKey("advertiserId")) {
|
| + advertiserId = _json["advertiserId"];
|
| + }
|
| + if (_json.containsKey("agencyId")) {
|
| + agencyId = _json["agencyId"];
|
| + }
|
| + if (_json.containsKey("campaignId")) {
|
| + campaignId = _json["campaignId"];
|
| + }
|
| + if (_json.containsKey("clickId")) {
|
| + clickId = _json["clickId"];
|
| + }
|
| + if (_json.containsKey("conversionId")) {
|
| + conversionId = _json["conversionId"];
|
| + }
|
| + if (_json.containsKey("conversionModifiedTimestamp")) {
|
| + conversionModifiedTimestamp = _json["conversionModifiedTimestamp"];
|
| + }
|
| + if (_json.containsKey("conversionTimestamp")) {
|
| + conversionTimestamp = _json["conversionTimestamp"];
|
| + }
|
| + if (_json.containsKey("criterionId")) {
|
| + criterionId = _json["criterionId"];
|
| + }
|
| + if (_json.containsKey("currencyCode")) {
|
| + currencyCode = _json["currencyCode"];
|
| + }
|
| + if (_json.containsKey("customDimension")) {
|
| + customDimension = _json["customDimension"].map((value) => new CustomDimension.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("customMetric")) {
|
| + customMetric = _json["customMetric"].map((value) => new CustomMetric.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("dsConversionId")) {
|
| + dsConversionId = _json["dsConversionId"];
|
| + }
|
| + if (_json.containsKey("engineAccountId")) {
|
| + engineAccountId = _json["engineAccountId"];
|
| + }
|
| + if (_json.containsKey("floodlightOrderId")) {
|
| + floodlightOrderId = _json["floodlightOrderId"];
|
| + }
|
| + if (_json.containsKey("quantityMillis")) {
|
| + quantityMillis = _json["quantityMillis"];
|
| + }
|
| + if (_json.containsKey("revenueMicros")) {
|
| + revenueMicros = _json["revenueMicros"];
|
| + }
|
| + if (_json.containsKey("segmentationId")) {
|
| + segmentationId = _json["segmentationId"];
|
| + }
|
| + if (_json.containsKey("segmentationName")) {
|
| + segmentationName = _json["segmentationName"];
|
| + }
|
| + if (_json.containsKey("segmentationType")) {
|
| + segmentationType = _json["segmentationType"];
|
| + }
|
| + if (_json.containsKey("state")) {
|
| + state = _json["state"];
|
| + }
|
| + if (_json.containsKey("type")) {
|
| + type = _json["type"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (adGroupId != null) {
|
| + _json["adGroupId"] = adGroupId;
|
| + }
|
| + if (adId != null) {
|
| + _json["adId"] = adId;
|
| + }
|
| + if (advertiserId != null) {
|
| + _json["advertiserId"] = advertiserId;
|
| + }
|
| + if (agencyId != null) {
|
| + _json["agencyId"] = agencyId;
|
| + }
|
| + if (campaignId != null) {
|
| + _json["campaignId"] = campaignId;
|
| + }
|
| + if (clickId != null) {
|
| + _json["clickId"] = clickId;
|
| + }
|
| + if (conversionId != null) {
|
| + _json["conversionId"] = conversionId;
|
| + }
|
| + if (conversionModifiedTimestamp != null) {
|
| + _json["conversionModifiedTimestamp"] = conversionModifiedTimestamp;
|
| + }
|
| + if (conversionTimestamp != null) {
|
| + _json["conversionTimestamp"] = conversionTimestamp;
|
| + }
|
| + if (criterionId != null) {
|
| + _json["criterionId"] = criterionId;
|
| + }
|
| + if (currencyCode != null) {
|
| + _json["currencyCode"] = currencyCode;
|
| + }
|
| + if (customDimension != null) {
|
| + _json["customDimension"] = customDimension.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (customMetric != null) {
|
| + _json["customMetric"] = customMetric.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (dsConversionId != null) {
|
| + _json["dsConversionId"] = dsConversionId;
|
| + }
|
| + if (engineAccountId != null) {
|
| + _json["engineAccountId"] = engineAccountId;
|
| + }
|
| + if (floodlightOrderId != null) {
|
| + _json["floodlightOrderId"] = floodlightOrderId;
|
| + }
|
| + if (quantityMillis != null) {
|
| + _json["quantityMillis"] = quantityMillis;
|
| + }
|
| + if (revenueMicros != null) {
|
| + _json["revenueMicros"] = revenueMicros;
|
| + }
|
| + if (segmentationId != null) {
|
| + _json["segmentationId"] = segmentationId;
|
| + }
|
| + if (segmentationName != null) {
|
| + _json["segmentationName"] = segmentationName;
|
| + }
|
| + if (segmentationType != null) {
|
| + _json["segmentationType"] = segmentationType;
|
| + }
|
| + if (state != null) {
|
| + _json["state"] = state;
|
| + }
|
| + if (type != null) {
|
| + _json["type"] = type;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A list of conversions. */
|
| +class ConversionList {
|
| + /** The conversions being requested. */
|
| + core.List<Conversion> conversion;
|
| +
|
| + /**
|
| + * Identifies this as a ConversionList resource. Value: the fixed string
|
| + * doubleclicksearch#conversionList.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + ConversionList();
|
| +
|
| + ConversionList.fromJson(core.Map _json) {
|
| + if (_json.containsKey("conversion")) {
|
| + conversion = _json["conversion"].map((value) => new Conversion.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (conversion != null) {
|
| + _json["conversion"] = conversion.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A message containing the custome dimension. */
|
| +class CustomDimension {
|
| + /** Custom dimension name. */
|
| + core.String name;
|
| +
|
| + /** Custom dimension value. */
|
| + core.String value;
|
| +
|
| +
|
| + CustomDimension();
|
| +
|
| + CustomDimension.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A message containing the custome metric. */
|
| +class CustomMetric {
|
| + /** Custom metric name. */
|
| + core.String name;
|
| +
|
| + /** Custom metric numeric value. */
|
| + core.double value;
|
| +
|
| +
|
| + CustomMetric();
|
| +
|
| + CustomMetric.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ReportFiles {
|
| + /** The size of this report file in bytes. */
|
| + core.String byteCount;
|
| +
|
| + /** Use this url to download the report file. */
|
| + core.String url;
|
| +
|
| +
|
| + ReportFiles();
|
| +
|
| + ReportFiles.fromJson(core.Map _json) {
|
| + if (_json.containsKey("byteCount")) {
|
| + byteCount = _json["byteCount"];
|
| + }
|
| + if (_json.containsKey("url")) {
|
| + url = _json["url"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (byteCount != null) {
|
| + _json["byteCount"] = byteCount;
|
| + }
|
| + if (url != null) {
|
| + _json["url"] = url;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A DoubleClick Search report. This object contains the report request, some
|
| + * report metadata such as currency code, and the generated report rows or
|
| + * report files.
|
| + */
|
| +class Report {
|
| + /**
|
| + * Asynchronous report only. Contains a list of generated report files once
|
| + * the report has succesfully completed.
|
| + */
|
| + core.List<ReportFiles> files;
|
| +
|
| + /** Asynchronous report only. Id of the report. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Asynchronous report only. True if and only if the report has completed
|
| + * successfully and the report files are ready to be downloaded.
|
| + */
|
| + core.bool isReportReady;
|
| +
|
| + /**
|
| + * Identifies this as a Report resource. Value: the fixed string
|
| + * doubleclicksearch#report.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The request that created the report. Optional fields not specified in the
|
| + * original request are filled with default values.
|
| + */
|
| + ReportRequest request;
|
| +
|
| + /**
|
| + * The number of report rows generated by the report, not including headers.
|
| + */
|
| + core.int rowCount;
|
| +
|
| + /** Synchronous report only. Generated report rows. */
|
| + core.List<ReportRow> rows;
|
| +
|
| + /**
|
| + * The currency code of all monetary values produced in the report, including
|
| + * values that are set by users (e.g., keyword bid settings) and metrics
|
| + * (e.g., cost and revenue). The currency code of a report is determined by
|
| + * the statisticsCurrency field of the report request.
|
| + */
|
| + core.String statisticsCurrencyCode;
|
| +
|
| + /**
|
| + * If all statistics of the report are sourced from the same time zone, this
|
| + * would be it. Otherwise the field is unset.
|
| + */
|
| + core.String statisticsTimeZone;
|
| +
|
| +
|
| + Report();
|
| +
|
| + Report.fromJson(core.Map _json) {
|
| + if (_json.containsKey("files")) {
|
| + files = _json["files"].map((value) => new ReportFiles.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("isReportReady")) {
|
| + isReportReady = _json["isReportReady"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("request")) {
|
| + request = new ReportRequest.fromJson(_json["request"]);
|
| + }
|
| + if (_json.containsKey("rowCount")) {
|
| + rowCount = _json["rowCount"];
|
| + }
|
| + if (_json.containsKey("rows")) {
|
| + rows = _json["rows"].map((value) => new ReportRow.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("statisticsCurrencyCode")) {
|
| + statisticsCurrencyCode = _json["statisticsCurrencyCode"];
|
| + }
|
| + if (_json.containsKey("statisticsTimeZone")) {
|
| + statisticsTimeZone = _json["statisticsTimeZone"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (files != null) {
|
| + _json["files"] = files.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (isReportReady != null) {
|
| + _json["isReportReady"] = isReportReady;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (request != null) {
|
| + _json["request"] = (request).toJson();
|
| + }
|
| + if (rowCount != null) {
|
| + _json["rowCount"] = rowCount;
|
| + }
|
| + if (rows != null) {
|
| + _json["rows"] = rows;
|
| + }
|
| + if (statisticsCurrencyCode != null) {
|
| + _json["statisticsCurrencyCode"] = statisticsCurrencyCode;
|
| + }
|
| + if (statisticsTimeZone != null) {
|
| + _json["statisticsTimeZone"] = statisticsTimeZone;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A request object used to create a DoubleClick Search report. */
|
| +class ReportApiColumnSpec {
|
| + /** Name of a DoubleClick Search column to include in the report. */
|
| + core.String columnName;
|
| +
|
| + /**
|
| + * Segments a report by a custom dimension. The report must be scoped to an
|
| + * advertiser or lower, and the custom dimension must already be set up in
|
| + * DoubleClick Search. The custom dimension name, which appears in DoubleClick
|
| + * Search, is case sensitive.
|
| + */
|
| + core.String customDimensionName;
|
| +
|
| + /**
|
| + * Inclusive day in YYYY-MM-DD format. When provided, this overrides the
|
| + * overall time range of the report for this column only. Must be provided
|
| + * together with startDate.
|
| + */
|
| + core.String endDate;
|
| +
|
| + /**
|
| + * Synchronous report only. Set to true to group by this column. Defaults to
|
| + * false.
|
| + */
|
| + core.bool groupByColumn;
|
| +
|
| + /**
|
| + * Text used to identify this column in the report output; defaults to
|
| + * columnName or savedColumnName when not specified. This can be used to
|
| + * prevent collisions between DoubleClick Search columns and saved columns
|
| + * with the same name.
|
| + */
|
| + core.String headerText;
|
| +
|
| + /**
|
| + * The platform that is used to provide data for the custom dimension.
|
| + * Acceptable values are "Floodlight".
|
| + */
|
| + core.String platformSource;
|
| +
|
| + /**
|
| + * Name of a saved column to include in the report. The report must be scoped
|
| + * at advertiser or lower, and this saved column must already be created in
|
| + * the DoubleClick Search UI.
|
| + */
|
| + core.String savedColumnName;
|
| +
|
| + /**
|
| + * Inclusive date in YYYY-MM-DD format. When provided, this overrides the
|
| + * overall time range of the report for this column only. Must be provided
|
| + * together with endDate.
|
| + */
|
| + core.String startDate;
|
| +
|
| +
|
| + ReportApiColumnSpec();
|
| +
|
| + ReportApiColumnSpec.fromJson(core.Map _json) {
|
| + if (_json.containsKey("columnName")) {
|
| + columnName = _json["columnName"];
|
| + }
|
| + if (_json.containsKey("customDimensionName")) {
|
| + customDimensionName = _json["customDimensionName"];
|
| + }
|
| + if (_json.containsKey("endDate")) {
|
| + endDate = _json["endDate"];
|
| + }
|
| + if (_json.containsKey("groupByColumn")) {
|
| + groupByColumn = _json["groupByColumn"];
|
| + }
|
| + if (_json.containsKey("headerText")) {
|
| + headerText = _json["headerText"];
|
| + }
|
| + if (_json.containsKey("platformSource")) {
|
| + platformSource = _json["platformSource"];
|
| + }
|
| + if (_json.containsKey("savedColumnName")) {
|
| + savedColumnName = _json["savedColumnName"];
|
| + }
|
| + if (_json.containsKey("startDate")) {
|
| + startDate = _json["startDate"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (columnName != null) {
|
| + _json["columnName"] = columnName;
|
| + }
|
| + if (customDimensionName != null) {
|
| + _json["customDimensionName"] = customDimensionName;
|
| + }
|
| + if (endDate != null) {
|
| + _json["endDate"] = endDate;
|
| + }
|
| + if (groupByColumn != null) {
|
| + _json["groupByColumn"] = groupByColumn;
|
| + }
|
| + if (headerText != null) {
|
| + _json["headerText"] = headerText;
|
| + }
|
| + if (platformSource != null) {
|
| + _json["platformSource"] = platformSource;
|
| + }
|
| + if (savedColumnName != null) {
|
| + _json["savedColumnName"] = savedColumnName;
|
| + }
|
| + if (startDate != null) {
|
| + _json["startDate"] = startDate;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ReportRequestFilters {
|
| + /**
|
| + * Column to perform the filter on. This can be a DoubleClick Search column or
|
| + * a saved column.
|
| + */
|
| + ReportApiColumnSpec column;
|
| +
|
| + /**
|
| + * Operator to use in the filter. See the filter reference for a list of
|
| + * available operators.
|
| + */
|
| + core.String operator;
|
| +
|
| + /**
|
| + * A list of values to filter the column value against.
|
| + *
|
| + * The values for Object must be JSON objects. It can consist of `num`,
|
| + * `String`, `bool` and `null` as well as `Map` and `List` values.
|
| + */
|
| + core.List<core.Object> values;
|
| +
|
| +
|
| + ReportRequestFilters();
|
| +
|
| + ReportRequestFilters.fromJson(core.Map _json) {
|
| + if (_json.containsKey("column")) {
|
| + column = new ReportApiColumnSpec.fromJson(_json["column"]);
|
| + }
|
| + if (_json.containsKey("operator")) {
|
| + operator = _json["operator"];
|
| + }
|
| + if (_json.containsKey("values")) {
|
| + values = _json["values"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (column != null) {
|
| + _json["column"] = (column).toJson();
|
| + }
|
| + if (operator != null) {
|
| + _json["operator"] = operator;
|
| + }
|
| + if (values != null) {
|
| + _json["values"] = values;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ReportRequestOrderBy {
|
| + /**
|
| + * Column to perform the sort on. This can be a DoubleClick Search-defined
|
| + * column or a saved column.
|
| + */
|
| + ReportApiColumnSpec column;
|
| +
|
| + /** The sort direction, which is either ascending or descending. */
|
| + core.String sortOrder;
|
| +
|
| +
|
| + ReportRequestOrderBy();
|
| +
|
| + ReportRequestOrderBy.fromJson(core.Map _json) {
|
| + if (_json.containsKey("column")) {
|
| + column = new ReportApiColumnSpec.fromJson(_json["column"]);
|
| + }
|
| + if (_json.containsKey("sortOrder")) {
|
| + sortOrder = _json["sortOrder"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (column != null) {
|
| + _json["column"] = (column).toJson();
|
| + }
|
| + if (sortOrder != null) {
|
| + _json["sortOrder"] = sortOrder;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * The reportScope is a set of IDs that are used to determine which subset of
|
| + * entities will be returned in the report. The full lineage of IDs from the
|
| + * lowest scoped level desired up through agency is required.
|
| + */
|
| +class ReportRequestReportScope {
|
| + /** DS ad group ID. */
|
| + core.String adGroupId;
|
| +
|
| + /** DS ad ID. */
|
| + core.String adId;
|
| +
|
| + /** DS advertiser ID. */
|
| + core.String advertiserId;
|
| +
|
| + /** DS agency ID. */
|
| + core.String agencyId;
|
| +
|
| + /** DS campaign ID. */
|
| + core.String campaignId;
|
| +
|
| + /** DS engine account ID. */
|
| + core.String engineAccountId;
|
| +
|
| + /** DS keyword ID. */
|
| + core.String keywordId;
|
| +
|
| +
|
| + ReportRequestReportScope();
|
| +
|
| + ReportRequestReportScope.fromJson(core.Map _json) {
|
| + if (_json.containsKey("adGroupId")) {
|
| + adGroupId = _json["adGroupId"];
|
| + }
|
| + if (_json.containsKey("adId")) {
|
| + adId = _json["adId"];
|
| + }
|
| + if (_json.containsKey("advertiserId")) {
|
| + advertiserId = _json["advertiserId"];
|
| + }
|
| + if (_json.containsKey("agencyId")) {
|
| + agencyId = _json["agencyId"];
|
| + }
|
| + if (_json.containsKey("campaignId")) {
|
| + campaignId = _json["campaignId"];
|
| + }
|
| + if (_json.containsKey("engineAccountId")) {
|
| + engineAccountId = _json["engineAccountId"];
|
| + }
|
| + if (_json.containsKey("keywordId")) {
|
| + keywordId = _json["keywordId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (adGroupId != null) {
|
| + _json["adGroupId"] = adGroupId;
|
| + }
|
| + if (adId != null) {
|
| + _json["adId"] = adId;
|
| + }
|
| + if (advertiserId != null) {
|
| + _json["advertiserId"] = advertiserId;
|
| + }
|
| + if (agencyId != null) {
|
| + _json["agencyId"] = agencyId;
|
| + }
|
| + if (campaignId != null) {
|
| + _json["campaignId"] = campaignId;
|
| + }
|
| + if (engineAccountId != null) {
|
| + _json["engineAccountId"] = engineAccountId;
|
| + }
|
| + if (keywordId != null) {
|
| + _json["keywordId"] = keywordId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * If metrics are requested in a report, this argument will be used to restrict
|
| + * the metrics to a specific time range.
|
| + */
|
| +class ReportRequestTimeRange {
|
| + /**
|
| + * Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See
|
| + * additional references on how changed attribute reports work.
|
| + */
|
| + core.DateTime changedAttributesSinceTimestamp;
|
| +
|
| + /**
|
| + * Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See
|
| + * additional references on how changed metrics reports work.
|
| + */
|
| + core.DateTime changedMetricsSinceTimestamp;
|
| +
|
| + /** Inclusive date in YYYY-MM-DD format. */
|
| + core.String endDate;
|
| +
|
| + /** Inclusive date in YYYY-MM-DD format. */
|
| + core.String startDate;
|
| +
|
| +
|
| + ReportRequestTimeRange();
|
| +
|
| + ReportRequestTimeRange.fromJson(core.Map _json) {
|
| + if (_json.containsKey("changedAttributesSinceTimestamp")) {
|
| + changedAttributesSinceTimestamp = core.DateTime.parse(_json["changedAttributesSinceTimestamp"]);
|
| + }
|
| + if (_json.containsKey("changedMetricsSinceTimestamp")) {
|
| + changedMetricsSinceTimestamp = core.DateTime.parse(_json["changedMetricsSinceTimestamp"]);
|
| + }
|
| + if (_json.containsKey("endDate")) {
|
| + endDate = _json["endDate"];
|
| + }
|
| + if (_json.containsKey("startDate")) {
|
| + startDate = _json["startDate"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (changedAttributesSinceTimestamp != null) {
|
| + _json["changedAttributesSinceTimestamp"] = (changedAttributesSinceTimestamp).toIso8601String();
|
| + }
|
| + if (changedMetricsSinceTimestamp != null) {
|
| + _json["changedMetricsSinceTimestamp"] = (changedMetricsSinceTimestamp).toIso8601String();
|
| + }
|
| + if (endDate != null) {
|
| + _json["endDate"] = endDate;
|
| + }
|
| + if (startDate != null) {
|
| + _json["startDate"] = startDate;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A request object used to create a DoubleClick Search report. */
|
| +class ReportRequest {
|
| + /**
|
| + * The columns to include in the report. This includes both DoubleClick Search
|
| + * columns and saved columns. For DoubleClick Search columns, only the
|
| + * columnName parameter is required. For saved columns only the
|
| + * savedColumnName parameter is required. Both columnName and savedColumnName
|
| + * cannot be set in the same stanza.
|
| + */
|
| + core.List<ReportApiColumnSpec> columns;
|
| +
|
| + /**
|
| + * Format that the report should be returned in. Currently csv or tsv is
|
| + * supported.
|
| + */
|
| + core.String downloadFormat;
|
| +
|
| + /** A list of filters to be applied to the report. */
|
| + core.List<ReportRequestFilters> filters;
|
| +
|
| + /**
|
| + * Determines if removed entities should be included in the report. Defaults
|
| + * to false. Deprecated, please use includeRemovedEntities instead.
|
| + */
|
| + core.bool includeDeletedEntities;
|
| +
|
| + /**
|
| + * Determines if removed entities should be included in the report. Defaults
|
| + * to false.
|
| + */
|
| + core.bool includeRemovedEntities;
|
| +
|
| + /**
|
| + * Asynchronous report only. The maximum number of rows per report file. A
|
| + * large report is split into many files based on this field. Acceptable
|
| + * values are 1000000 to 100000000, inclusive.
|
| + */
|
| + core.int maxRowsPerFile;
|
| +
|
| + /**
|
| + * Synchronous report only. A list of columns and directions defining sorting
|
| + * to be performed on the report rows.
|
| + */
|
| + core.List<ReportRequestOrderBy> orderBy;
|
| +
|
| + /**
|
| + * The reportScope is a set of IDs that are used to determine which subset of
|
| + * entities will be returned in the report. The full lineage of IDs from the
|
| + * lowest scoped level desired up through agency is required.
|
| + */
|
| + ReportRequestReportScope reportScope;
|
| +
|
| + /**
|
| + * Determines the type of rows that are returned in the report. For example,
|
| + * if you specify reportType: keyword, each row in the report will contain
|
| + * data about a keyword. See the Types of Reports reference for the columns
|
| + * that are available for each type.
|
| + */
|
| + core.String reportType;
|
| +
|
| + /**
|
| + * Synchronous report only. The maxinum number of rows to return; additional
|
| + * rows are dropped. Acceptable values are 0 to 10000, inclusive. Defaults to
|
| + * 10000.
|
| + */
|
| + core.int rowCount;
|
| +
|
| + /**
|
| + * Synchronous report only. Zero-based index of the first row to return.
|
| + * Acceptable values are 0 to 50000, inclusive. Defaults to 0.
|
| + */
|
| + core.int startRow;
|
| +
|
| + /**
|
| + * Specifies the currency in which monetary will be returned. Possible values
|
| + * are: usd, agency (valid if the report is scoped to agency or lower),
|
| + * advertiser (valid if the report is scoped to * advertiser or lower), or
|
| + * account (valid if the report is scoped to engine account or lower).
|
| + */
|
| + core.String statisticsCurrency;
|
| +
|
| + /**
|
| + * If metrics are requested in a report, this argument will be used to
|
| + * restrict the metrics to a specific time range.
|
| + */
|
| + ReportRequestTimeRange timeRange;
|
| +
|
| + /**
|
| + * If true, the report would only be created if all the requested stat data
|
| + * are sourced from a single timezone. Defaults to false.
|
| + */
|
| + core.bool verifySingleTimeZone;
|
| +
|
| +
|
| + ReportRequest();
|
| +
|
| + ReportRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("columns")) {
|
| + columns = _json["columns"].map((value) => new ReportApiColumnSpec.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("downloadFormat")) {
|
| + downloadFormat = _json["downloadFormat"];
|
| + }
|
| + if (_json.containsKey("filters")) {
|
| + filters = _json["filters"].map((value) => new ReportRequestFilters.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("includeDeletedEntities")) {
|
| + includeDeletedEntities = _json["includeDeletedEntities"];
|
| + }
|
| + if (_json.containsKey("includeRemovedEntities")) {
|
| + includeRemovedEntities = _json["includeRemovedEntities"];
|
| + }
|
| + if (_json.containsKey("maxRowsPerFile")) {
|
| + maxRowsPerFile = _json["maxRowsPerFile"];
|
| + }
|
| + if (_json.containsKey("orderBy")) {
|
| + orderBy = _json["orderBy"].map((value) => new ReportRequestOrderBy.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("reportScope")) {
|
| + reportScope = new ReportRequestReportScope.fromJson(_json["reportScope"]);
|
| + }
|
| + if (_json.containsKey("reportType")) {
|
| + reportType = _json["reportType"];
|
| + }
|
| + if (_json.containsKey("rowCount")) {
|
| + rowCount = _json["rowCount"];
|
| + }
|
| + if (_json.containsKey("startRow")) {
|
| + startRow = _json["startRow"];
|
| + }
|
| + if (_json.containsKey("statisticsCurrency")) {
|
| + statisticsCurrency = _json["statisticsCurrency"];
|
| + }
|
| + if (_json.containsKey("timeRange")) {
|
| + timeRange = new ReportRequestTimeRange.fromJson(_json["timeRange"]);
|
| + }
|
| + if (_json.containsKey("verifySingleTimeZone")) {
|
| + verifySingleTimeZone = _json["verifySingleTimeZone"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (columns != null) {
|
| + _json["columns"] = columns.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (downloadFormat != null) {
|
| + _json["downloadFormat"] = downloadFormat;
|
| + }
|
| + if (filters != null) {
|
| + _json["filters"] = filters.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (includeDeletedEntities != null) {
|
| + _json["includeDeletedEntities"] = includeDeletedEntities;
|
| + }
|
| + if (includeRemovedEntities != null) {
|
| + _json["includeRemovedEntities"] = includeRemovedEntities;
|
| + }
|
| + if (maxRowsPerFile != null) {
|
| + _json["maxRowsPerFile"] = maxRowsPerFile;
|
| + }
|
| + if (orderBy != null) {
|
| + _json["orderBy"] = orderBy.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (reportScope != null) {
|
| + _json["reportScope"] = (reportScope).toJson();
|
| + }
|
| + if (reportType != null) {
|
| + _json["reportType"] = reportType;
|
| + }
|
| + if (rowCount != null) {
|
| + _json["rowCount"] = rowCount;
|
| + }
|
| + if (startRow != null) {
|
| + _json["startRow"] = startRow;
|
| + }
|
| + if (statisticsCurrency != null) {
|
| + _json["statisticsCurrency"] = statisticsCurrency;
|
| + }
|
| + if (timeRange != null) {
|
| + _json["timeRange"] = (timeRange).toJson();
|
| + }
|
| + if (verifySingleTimeZone != null) {
|
| + _json["verifySingleTimeZone"] = verifySingleTimeZone;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A row in a DoubleClick Search report.
|
| + *
|
| + * Indicates the columns that are represented in this row. That is, each key
|
| + * corresponds to a column with a non-empty cell in this row.
|
| + */
|
| +class ReportRow
|
| + extends collection.MapBase<core.String, core.Object> {
|
| + final core.Map _innerMap = {};
|
| +
|
| + ReportRow();
|
| +
|
| + ReportRow.fromJson(core.Map _json) {
|
| + _json.forEach((core.String key, value) {
|
| + this[key] = value;
|
| + });
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = {};
|
| + this.forEach((core.String key, value) {
|
| + _json[key] = value;
|
| + });
|
| + return _json;
|
| + }
|
| +
|
| + core.Object operator [](core.Object key)
|
| + => _innerMap[key];
|
| +
|
| + operator []=(core.String key, core.Object value) {
|
| + _innerMap[key] = value;
|
| + }
|
| +
|
| + void clear() {
|
| + _innerMap.clear();
|
| + }
|
| +
|
| + core.Iterable<core.String> get keys => _innerMap.keys;
|
| +
|
| + core.Object remove(core.Object key) => _innerMap.remove(key);
|
| +}
|
| +
|
| +
|
| +/** A saved column */
|
| +class SavedColumn {
|
| + /**
|
| + * Identifies this as a SavedColumn resource. Value: the fixed string
|
| + * doubleclicksearch#savedColumn.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The name of the saved column. */
|
| + core.String savedColumnName;
|
| +
|
| + /** The type of data this saved column will produce. */
|
| + core.String type;
|
| +
|
| +
|
| + SavedColumn();
|
| +
|
| + SavedColumn.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("savedColumnName")) {
|
| + savedColumnName = _json["savedColumnName"];
|
| + }
|
| + if (_json.containsKey("type")) {
|
| + type = _json["type"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (savedColumnName != null) {
|
| + _json["savedColumnName"] = savedColumnName;
|
| + }
|
| + if (type != null) {
|
| + _json["type"] = type;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A list of saved columns. Advertisers create saved columns to report on
|
| + * Floodlight activities, Google Analytics goals, or custom KPIs. To request
|
| + * reports with saved columns, you'll need the saved column names that are
|
| + * available from this list.
|
| + */
|
| +class SavedColumnList {
|
| + /** The saved columns being requested. */
|
| + core.List<SavedColumn> items;
|
| +
|
| + /**
|
| + * Identifies this as a SavedColumnList resource. Value: the fixed string
|
| + * doubleclicksearch#savedColumnList.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + SavedColumnList();
|
| +
|
| + SavedColumnList.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new SavedColumn.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** The request to update availability. */
|
| +class UpdateAvailabilityRequest {
|
| + /** The availabilities being requested. */
|
| + core.List<Availability> availabilities;
|
| +
|
| +
|
| + UpdateAvailabilityRequest();
|
| +
|
| + UpdateAvailabilityRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("availabilities")) {
|
| + availabilities = _json["availabilities"].map((value) => new Availability.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (availabilities != null) {
|
| + _json["availabilities"] = availabilities.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** The response to a update availability request. */
|
| +class UpdateAvailabilityResponse {
|
| + /** The availabilities being returned. */
|
| + core.List<Availability> availabilities;
|
| +
|
| +
|
| + UpdateAvailabilityResponse();
|
| +
|
| + UpdateAvailabilityResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("availabilities")) {
|
| + availabilities = _json["availabilities"].map((value) => new Availability.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (availabilities != null) {
|
| + _json["availabilities"] = availabilities.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
|
|