| 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 REMOVED. Note: state |
| * DELETED is deprecated. |
| */ |
| 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. |
| * If used in a conversion report, returns the value of the specified custom |
| * dimension for the given conversion, if set. This column does not segment |
| * the conversion report. |
| */ |
| core.String customDimensionName; |
| |
| /** |
| * Name of a custom metric to include in the report. The report must be scoped |
| * to an advertiser or lower, and the custom metric must already be set up in |
| * DoubleClick Search. The custom metric name, which appears in DoubleClick |
| * Search, is case sensitive. |
| */ |
| core.String customMetricName; |
| |
| /** |
| * 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("customMetricName")) { |
| customMetricName = _json["customMetricName"]; |
| } |
| 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 (customMetricName != null) { |
| _json["customMetricName"] = customMetricName; |
| } |
| 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; |
| } |
| } |
| |
| |