gogol-doubleclick-search (empty) → 0.0.1
raw patch · 18 files changed
+3918/−0 lines, 18 filesdep +basedep +gogol-coresetup-changed
Dependencies added: base, gogol-core
Files
- LICENSE +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/DoubleClickSearch.hs +266/−0
- gen/Network/Google/DoubleClickSearch/Types.hs +213/−0
- gen/Network/Google/DoubleClickSearch/Types/Product.hs +1818/−0
- gen/Network/Google/DoubleClickSearch/Types/Sum.hs +19/−0
- gen/Network/Google/Resource/DoubleClickSearch/Conversion/Get.hs +230/−0
- gen/Network/Google/Resource/DoubleClickSearch/Conversion/Insert.hs +85/−0
- gen/Network/Google/Resource/DoubleClickSearch/Conversion/Patch.hs +189/−0
- gen/Network/Google/Resource/DoubleClickSearch/Conversion/Update.hs +85/−0
- gen/Network/Google/Resource/DoubleClickSearch/Conversion/UpdateAvailability.hs +90/−0
- gen/Network/Google/Resource/DoubleClickSearch/Reports/Generate.hs +85/−0
- gen/Network/Google/Resource/DoubleClickSearch/Reports/Get.hs +83/−0
- gen/Network/Google/Resource/DoubleClickSearch/Reports/GetFile.hs +117/−0
- gen/Network/Google/Resource/DoubleClickSearch/Reports/Request.hs +83/−0
- gen/Network/Google/Resource/DoubleClickSearch/SavedColumns/List.hs +102/−0
- gogol-doubleclick-search.cabal +56/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-doubleclick-search++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google DoubleClick Search.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-doubleclick-search` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ gen/Network/Google/DoubleClickSearch.hs view
@@ -0,0 +1,266 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.DoubleClickSearch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Report and modify your advertising data in DoubleClick Search (for+-- example, campaigns, ad groups, keywords, and conversions).+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference>+module Network.Google.DoubleClickSearch+ (+ -- * Service Configuration+ doubleClickSearchService++ -- * API Declaration+ , DoubleClickSearchAPI++ -- * Resources++ -- ** doubleclicksearch.conversion.get+ , module Network.Google.Resource.DoubleClickSearch.Conversion.Get++ -- ** doubleclicksearch.conversion.insert+ , module Network.Google.Resource.DoubleClickSearch.Conversion.Insert++ -- ** doubleclicksearch.conversion.patch+ , module Network.Google.Resource.DoubleClickSearch.Conversion.Patch++ -- ** doubleclicksearch.conversion.update+ , module Network.Google.Resource.DoubleClickSearch.Conversion.Update++ -- ** doubleclicksearch.conversion.updateAvailability+ , module Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability++ -- ** doubleclicksearch.reports.generate+ , module Network.Google.Resource.DoubleClickSearch.Reports.Generate++ -- ** doubleclicksearch.reports.get+ , module Network.Google.Resource.DoubleClickSearch.Reports.Get++ -- ** doubleclicksearch.reports.getFile+ , module Network.Google.Resource.DoubleClickSearch.Reports.GetFile++ -- ** doubleclicksearch.reports.request+ , module Network.Google.Resource.DoubleClickSearch.Reports.Request++ -- ** doubleclicksearch.savedColumns.list+ , module Network.Google.Resource.DoubleClickSearch.SavedColumns.List++ -- * Types++ -- ** ReportRow+ , ReportRow+ , reportRow+ , rrAddtional++ -- ** ReportRequest+ , ReportRequest+ , reportRequest+ , rrMaxRowsPerFile+ , rrReportScope+ , rrStatisticsCurrency+ , rrTimeRange+ , rrOrderBy+ , rrFilters+ , rrIncludeRemovedEntities+ , rrIncludeDeletedEntities+ , rrDownloadFormat+ , rrStartRow+ , rrColumns+ , rrReportType+ , rrVerifySingleTimeZone+ , rrRowCount++ -- ** ReportRequestOrderByItem+ , ReportRequestOrderByItem+ , reportRequestOrderByItem+ , rrobiSortOrder+ , rrobiColumn++ -- ** Report+ , Report+ , report+ , rKind+ , rRows+ , rStatisticsCurrencyCode+ , rIsReportReady+ , rFiles+ , rId+ , rStatisticsTimeZone+ , rRowCount+ , rRequest++ -- ** ReportFilesItem+ , ReportFilesItem+ , reportFilesItem+ , rfiURL+ , rfiByteCount++ -- ** ReportRequestFiltersItem+ , ReportRequestFiltersItem+ , reportRequestFiltersItem+ , rrfiOperator+ , rrfiValues+ , rrfiColumn++ -- ** Availability+ , Availability+ , availability+ , aAgencyId+ , aAdvertiserId+ , aSegmentationId+ , aSegmentationName+ , aAvailabilityTimestamp+ , aSegmentationType++ -- ** UpdateAvailabilityRequest+ , UpdateAvailabilityRequest+ , updateAvailabilityRequest+ , uarAvailabilities++ -- ** CustomMetric+ , CustomMetric+ , customMetric+ , cmValue+ , cmName++ -- ** ConversionList+ , ConversionList+ , conversionList+ , clKind+ , clConversion++ -- ** ReportAPIColumnSpec+ , ReportAPIColumnSpec+ , reportAPIColumnSpec+ , racsCustomDimensionName+ , racsSavedColumnName+ , racsGroupByColumn+ , racsCustomMetricName+ , racsEndDate+ , racsProductReportPerspective+ , racsStartDate+ , racsHeaderText+ , racsPlatformSource+ , racsColumnName++ -- ** ReportRequestTimeRange+ , ReportRequestTimeRange+ , reportRequestTimeRange+ , rrtrEndDate+ , rrtrChangedAttributesSinceTimestamp+ , rrtrStartDate+ , rrtrChangedMetricsSinceTimestamp++ -- ** Conversion+ , Conversion+ , conversion+ , cAdGroupId+ , cConversionModifiedTimestamp+ , cState+ , cEngineAccountId+ , cAgencyId+ , cCurrencyCode+ , cStoreId+ , cDsConversionId+ , cConversionId+ , cAdvertiserId+ , cSegmentationId+ , cChannel+ , cProductCountry+ , cCampaignId+ , cCriterionId+ , cConversionTimestamp+ , cAttributionModel+ , cSegmentationName+ , cProductLanguage+ , cCustomMetric+ , cCountMillis+ , cQuantityMillis+ , cAdId+ , cDeviceType+ , cType+ , cCustomDimension+ , cFloodlightOrderId+ , cRevenueMicros+ , cClickId+ , cInventoryAccountId+ , cSegmentationType+ , cProductId+ , cProductGroupId++ -- ** SavedColumn+ , SavedColumn+ , savedColumn+ , scSavedColumnName+ , scKind+ , scType++ -- ** CustomDimension+ , CustomDimension+ , customDimension+ , cdValue+ , cdName++ -- ** UpdateAvailabilityResponse+ , UpdateAvailabilityResponse+ , updateAvailabilityResponse+ , uAvailabilities++ -- ** ReportRequestReportScope+ , ReportRequestReportScope+ , reportRequestReportScope+ , rrrsKeywordId+ , rrrsAdGroupId+ , rrrsEngineAccountId+ , rrrsAgencyId+ , rrrsAdvertiserId+ , rrrsCampaignId+ , rrrsAdId++ -- ** SavedColumnList+ , SavedColumnList+ , savedColumnList+ , sclKind+ , sclItems+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude+import Network.Google.Resource.DoubleClickSearch.Conversion.Get+import Network.Google.Resource.DoubleClickSearch.Conversion.Insert+import Network.Google.Resource.DoubleClickSearch.Conversion.Patch+import Network.Google.Resource.DoubleClickSearch.Conversion.Update+import Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability+import Network.Google.Resource.DoubleClickSearch.Reports.Generate+import Network.Google.Resource.DoubleClickSearch.Reports.Get+import Network.Google.Resource.DoubleClickSearch.Reports.GetFile+import Network.Google.Resource.DoubleClickSearch.Reports.Request+import Network.Google.Resource.DoubleClickSearch.SavedColumns.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the DoubleClick Search API service.+type DoubleClickSearchAPI =+ ReportsGetResource :<|> ReportsGetFileResource :<|>+ ReportsGenerateResource+ :<|> ReportsRequestResource+ :<|> SavedColumnsListResource+ :<|> ConversionInsertResource+ :<|> ConversionPatchResource+ :<|> ConversionGetResource+ :<|> ConversionUpdateAvailabilityResource+ :<|> ConversionUpdateResource
+ gen/Network/Google/DoubleClickSearch/Types.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.DoubleClickSearch.Types+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.DoubleClickSearch.Types+ (+ -- * Service Configuration+ doubleClickSearchService++ -- * OAuth Scopes+ , doubleclicksearchScope++ -- * ReportRow+ , ReportRow+ , reportRow+ , rrAddtional++ -- * ReportRequest+ , ReportRequest+ , reportRequest+ , rrMaxRowsPerFile+ , rrReportScope+ , rrStatisticsCurrency+ , rrTimeRange+ , rrOrderBy+ , rrFilters+ , rrIncludeRemovedEntities+ , rrIncludeDeletedEntities+ , rrDownloadFormat+ , rrStartRow+ , rrColumns+ , rrReportType+ , rrVerifySingleTimeZone+ , rrRowCount++ -- * ReportRequestOrderByItem+ , ReportRequestOrderByItem+ , reportRequestOrderByItem+ , rrobiSortOrder+ , rrobiColumn++ -- * Report+ , Report+ , report+ , rKind+ , rRows+ , rStatisticsCurrencyCode+ , rIsReportReady+ , rFiles+ , rId+ , rStatisticsTimeZone+ , rRowCount+ , rRequest++ -- * ReportFilesItem+ , ReportFilesItem+ , reportFilesItem+ , rfiURL+ , rfiByteCount++ -- * ReportRequestFiltersItem+ , ReportRequestFiltersItem+ , reportRequestFiltersItem+ , rrfiOperator+ , rrfiValues+ , rrfiColumn++ -- * Availability+ , Availability+ , availability+ , aAgencyId+ , aAdvertiserId+ , aSegmentationId+ , aSegmentationName+ , aAvailabilityTimestamp+ , aSegmentationType++ -- * UpdateAvailabilityRequest+ , UpdateAvailabilityRequest+ , updateAvailabilityRequest+ , uarAvailabilities++ -- * CustomMetric+ , CustomMetric+ , customMetric+ , cmValue+ , cmName++ -- * ConversionList+ , ConversionList+ , conversionList+ , clKind+ , clConversion++ -- * ReportAPIColumnSpec+ , ReportAPIColumnSpec+ , reportAPIColumnSpec+ , racsCustomDimensionName+ , racsSavedColumnName+ , racsGroupByColumn+ , racsCustomMetricName+ , racsEndDate+ , racsProductReportPerspective+ , racsStartDate+ , racsHeaderText+ , racsPlatformSource+ , racsColumnName++ -- * ReportRequestTimeRange+ , ReportRequestTimeRange+ , reportRequestTimeRange+ , rrtrEndDate+ , rrtrChangedAttributesSinceTimestamp+ , rrtrStartDate+ , rrtrChangedMetricsSinceTimestamp++ -- * Conversion+ , Conversion+ , conversion+ , cAdGroupId+ , cConversionModifiedTimestamp+ , cState+ , cEngineAccountId+ , cAgencyId+ , cCurrencyCode+ , cStoreId+ , cDsConversionId+ , cConversionId+ , cAdvertiserId+ , cSegmentationId+ , cChannel+ , cProductCountry+ , cCampaignId+ , cCriterionId+ , cConversionTimestamp+ , cAttributionModel+ , cSegmentationName+ , cProductLanguage+ , cCustomMetric+ , cCountMillis+ , cQuantityMillis+ , cAdId+ , cDeviceType+ , cType+ , cCustomDimension+ , cFloodlightOrderId+ , cRevenueMicros+ , cClickId+ , cInventoryAccountId+ , cSegmentationType+ , cProductId+ , cProductGroupId++ -- * SavedColumn+ , SavedColumn+ , savedColumn+ , scSavedColumnName+ , scKind+ , scType++ -- * CustomDimension+ , CustomDimension+ , customDimension+ , cdValue+ , cdName++ -- * UpdateAvailabilityResponse+ , UpdateAvailabilityResponse+ , updateAvailabilityResponse+ , uAvailabilities++ -- * ReportRequestReportScope+ , ReportRequestReportScope+ , reportRequestReportScope+ , rrrsKeywordId+ , rrrsAdGroupId+ , rrrsEngineAccountId+ , rrrsAgencyId+ , rrrsAdvertiserId+ , rrrsCampaignId+ , rrrsAdId++ -- * SavedColumnList+ , SavedColumnList+ , savedColumnList+ , sclKind+ , sclItems+ ) where++import Network.Google.DoubleClickSearch.Types.Product+import Network.Google.DoubleClickSearch.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v2' of the DoubleClick Search API. This contains the host and root path used as a starting point for constructing service requests.+doubleClickSearchService :: Service+doubleClickSearchService+ = defaultService (ServiceId "doubleclicksearch:v2")+ "www.googleapis.com"++-- | View and manage your advertising data in DoubleClick Search+doubleclicksearchScope :: OAuthScope+doubleclicksearchScope = "https://www.googleapis.com/auth/doubleclicksearch";
+ gen/Network/Google/DoubleClickSearch/Types/Product.hs view
@@ -0,0 +1,1818 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.DoubleClickSearch.Types.Product+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.DoubleClickSearch.Types.Product where++import Network.Google.DoubleClickSearch.Types.Sum+import Network.Google.Prelude++-- | A row in a DoubleClick Search report.+--+-- /See:/ 'reportRow' smart constructor.+newtype ReportRow = ReportRow+ { _rrAddtional :: HashMap Text JSONValue+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportRow' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrAddtional'+reportRow+ :: HashMap Text JSONValue -- ^ 'rrAddtional'+ -> ReportRow+reportRow pRrAddtional_ =+ ReportRow+ { _rrAddtional = _Coerce # pRrAddtional_+ }++-- | 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.+rrAddtional :: Lens' ReportRow (HashMap Text JSONValue)+rrAddtional+ = lens _rrAddtional (\ s a -> s{_rrAddtional = a}) .+ _Coerce++instance FromJSON ReportRow where+ parseJSON+ = withObject "ReportRow"+ (\ o -> ReportRow <$> (parseJSONObject o))++instance ToJSON ReportRow where+ toJSON = toJSON . _rrAddtional++-- | A request object used to create a DoubleClick Search report.+--+-- /See:/ 'reportRequest' smart constructor.+data ReportRequest = ReportRequest+ { _rrMaxRowsPerFile :: !(Maybe (Textual Int32))+ , _rrReportScope :: !(Maybe ReportRequestReportScope)+ , _rrStatisticsCurrency :: !(Maybe Text)+ , _rrTimeRange :: !(Maybe ReportRequestTimeRange)+ , _rrOrderBy :: !(Maybe [ReportRequestOrderByItem])+ , _rrFilters :: !(Maybe [ReportRequestFiltersItem])+ , _rrIncludeRemovedEntities :: !Bool+ , _rrIncludeDeletedEntities :: !Bool+ , _rrDownloadFormat :: !(Maybe Text)+ , _rrStartRow :: !(Textual Int32)+ , _rrColumns :: !(Maybe [ReportAPIColumnSpec])+ , _rrReportType :: !(Maybe Text)+ , _rrVerifySingleTimeZone :: !Bool+ , _rrRowCount :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrMaxRowsPerFile'+--+-- * 'rrReportScope'+--+-- * 'rrStatisticsCurrency'+--+-- * 'rrTimeRange'+--+-- * 'rrOrderBy'+--+-- * 'rrFilters'+--+-- * 'rrIncludeRemovedEntities'+--+-- * 'rrIncludeDeletedEntities'+--+-- * 'rrDownloadFormat'+--+-- * 'rrStartRow'+--+-- * 'rrColumns'+--+-- * 'rrReportType'+--+-- * 'rrVerifySingleTimeZone'+--+-- * 'rrRowCount'+reportRequest+ :: ReportRequest+reportRequest =+ ReportRequest+ { _rrMaxRowsPerFile = Nothing+ , _rrReportScope = Nothing+ , _rrStatisticsCurrency = Nothing+ , _rrTimeRange = Nothing+ , _rrOrderBy = Nothing+ , _rrFilters = Nothing+ , _rrIncludeRemovedEntities = False+ , _rrIncludeDeletedEntities = False+ , _rrDownloadFormat = Nothing+ , _rrStartRow = 0+ , _rrColumns = Nothing+ , _rrReportType = Nothing+ , _rrVerifySingleTimeZone = False+ , _rrRowCount = 10000+ }++-- | 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.+rrMaxRowsPerFile :: Lens' ReportRequest (Maybe Int32)+rrMaxRowsPerFile+ = lens _rrMaxRowsPerFile+ (\ s a -> s{_rrMaxRowsPerFile = a})+ . mapping _Coerce++-- | 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.+rrReportScope :: Lens' ReportRequest (Maybe ReportRequestReportScope)+rrReportScope+ = lens _rrReportScope+ (\ s a -> s{_rrReportScope = a})++-- | 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).+rrStatisticsCurrency :: Lens' ReportRequest (Maybe Text)+rrStatisticsCurrency+ = lens _rrStatisticsCurrency+ (\ s a -> s{_rrStatisticsCurrency = a})++-- | If metrics are requested in a report, this argument will be used to+-- restrict the metrics to a specific time range.+rrTimeRange :: Lens' ReportRequest (Maybe ReportRequestTimeRange)+rrTimeRange+ = lens _rrTimeRange (\ s a -> s{_rrTimeRange = a})++-- | Synchronous report only. A list of columns and directions defining+-- sorting to be performed on the report rows.+rrOrderBy :: Lens' ReportRequest [ReportRequestOrderByItem]+rrOrderBy+ = lens _rrOrderBy (\ s a -> s{_rrOrderBy = a}) .+ _Default+ . _Coerce++-- | A list of filters to be applied to the report.+rrFilters :: Lens' ReportRequest [ReportRequestFiltersItem]+rrFilters+ = lens _rrFilters (\ s a -> s{_rrFilters = a}) .+ _Default+ . _Coerce++-- | Determines if removed entities should be included in the report.+-- Defaults to false.+rrIncludeRemovedEntities :: Lens' ReportRequest Bool+rrIncludeRemovedEntities+ = lens _rrIncludeRemovedEntities+ (\ s a -> s{_rrIncludeRemovedEntities = a})++-- | Determines if removed entities should be included in the report.+-- Defaults to false. Deprecated, please use includeRemovedEntities+-- instead.+rrIncludeDeletedEntities :: Lens' ReportRequest Bool+rrIncludeDeletedEntities+ = lens _rrIncludeDeletedEntities+ (\ s a -> s{_rrIncludeDeletedEntities = a})++-- | Format that the report should be returned in. Currently csv or tsv is+-- supported.+rrDownloadFormat :: Lens' ReportRequest (Maybe Text)+rrDownloadFormat+ = lens _rrDownloadFormat+ (\ s a -> s{_rrDownloadFormat = a})++-- | Synchronous report only. Zero-based index of the first row to return.+-- Acceptable values are 0 to 50000, inclusive. Defaults to 0.+rrStartRow :: Lens' ReportRequest Int32+rrStartRow+ = lens _rrStartRow (\ s a -> s{_rrStartRow = a}) .+ _Coerce++-- | 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.+rrColumns :: Lens' ReportRequest [ReportAPIColumnSpec]+rrColumns+ = lens _rrColumns (\ s a -> s{_rrColumns = a}) .+ _Default+ . _Coerce++-- | 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.+rrReportType :: Lens' ReportRequest (Maybe Text)+rrReportType+ = lens _rrReportType (\ s a -> s{_rrReportType = a})++-- | If true, the report would only be created if all the requested stat data+-- are sourced from a single timezone. Defaults to false.+rrVerifySingleTimeZone :: Lens' ReportRequest Bool+rrVerifySingleTimeZone+ = lens _rrVerifySingleTimeZone+ (\ s a -> s{_rrVerifySingleTimeZone = a})++-- | Synchronous report only. The maxinum number of rows to return;+-- additional rows are dropped. Acceptable values are 0 to 10000,+-- inclusive. Defaults to 10000.+rrRowCount :: Lens' ReportRequest Int32+rrRowCount+ = lens _rrRowCount (\ s a -> s{_rrRowCount = a}) .+ _Coerce++instance FromJSON ReportRequest where+ parseJSON+ = withObject "ReportRequest"+ (\ o ->+ ReportRequest <$>+ (o .:? "maxRowsPerFile") <*> (o .:? "reportScope")+ <*> (o .:? "statisticsCurrency")+ <*> (o .:? "timeRange")+ <*> (o .:? "orderBy" .!= mempty)+ <*> (o .:? "filters" .!= mempty)+ <*> (o .:? "includeRemovedEntities" .!= False)+ <*> (o .:? "includeDeletedEntities" .!= False)+ <*> (o .:? "downloadFormat")+ <*> (o .:? "startRow" .!= 0)+ <*> (o .:? "columns" .!= mempty)+ <*> (o .:? "reportType")+ <*> (o .:? "verifySingleTimeZone" .!= False)+ <*> (o .:? "rowCount" .!= 10000))++instance ToJSON ReportRequest where+ toJSON ReportRequest{..}+ = object+ (catMaybes+ [("maxRowsPerFile" .=) <$> _rrMaxRowsPerFile,+ ("reportScope" .=) <$> _rrReportScope,+ ("statisticsCurrency" .=) <$> _rrStatisticsCurrency,+ ("timeRange" .=) <$> _rrTimeRange,+ ("orderBy" .=) <$> _rrOrderBy,+ ("filters" .=) <$> _rrFilters,+ Just+ ("includeRemovedEntities" .=+ _rrIncludeRemovedEntities),+ Just+ ("includeDeletedEntities" .=+ _rrIncludeDeletedEntities),+ ("downloadFormat" .=) <$> _rrDownloadFormat,+ Just ("startRow" .= _rrStartRow),+ ("columns" .=) <$> _rrColumns,+ ("reportType" .=) <$> _rrReportType,+ Just+ ("verifySingleTimeZone" .= _rrVerifySingleTimeZone),+ Just ("rowCount" .= _rrRowCount)])++--+-- /See:/ 'reportRequestOrderByItem' smart constructor.+data ReportRequestOrderByItem = ReportRequestOrderByItem+ { _rrobiSortOrder :: !(Maybe Text)+ , _rrobiColumn :: !(Maybe ReportAPIColumnSpec)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportRequestOrderByItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrobiSortOrder'+--+-- * 'rrobiColumn'+reportRequestOrderByItem+ :: ReportRequestOrderByItem+reportRequestOrderByItem =+ ReportRequestOrderByItem+ { _rrobiSortOrder = Nothing+ , _rrobiColumn = Nothing+ }++-- | The sort direction, which is either ascending or descending.+rrobiSortOrder :: Lens' ReportRequestOrderByItem (Maybe Text)+rrobiSortOrder+ = lens _rrobiSortOrder+ (\ s a -> s{_rrobiSortOrder = a})++-- | Column to perform the sort on. This can be a DoubleClick Search-defined+-- column or a saved column.+rrobiColumn :: Lens' ReportRequestOrderByItem (Maybe ReportAPIColumnSpec)+rrobiColumn+ = lens _rrobiColumn (\ s a -> s{_rrobiColumn = a})++instance FromJSON ReportRequestOrderByItem where+ parseJSON+ = withObject "ReportRequestOrderByItem"+ (\ o ->+ ReportRequestOrderByItem <$>+ (o .:? "sortOrder") <*> (o .:? "column"))++instance ToJSON ReportRequestOrderByItem where+ toJSON ReportRequestOrderByItem{..}+ = object+ (catMaybes+ [("sortOrder" .=) <$> _rrobiSortOrder,+ ("column" .=) <$> _rrobiColumn])++-- | 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.+--+-- /See:/ 'report' smart constructor.+data Report = Report+ { _rKind :: !Text+ , _rRows :: !(Maybe [ReportRow])+ , _rStatisticsCurrencyCode :: !(Maybe Text)+ , _rIsReportReady :: !(Maybe Bool)+ , _rFiles :: !(Maybe [ReportFilesItem])+ , _rId :: !(Maybe Text)+ , _rStatisticsTimeZone :: !(Maybe Text)+ , _rRowCount :: !(Maybe (Textual Int32))+ , _rRequest :: !(Maybe ReportRequest)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Report' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rKind'+--+-- * 'rRows'+--+-- * 'rStatisticsCurrencyCode'+--+-- * 'rIsReportReady'+--+-- * 'rFiles'+--+-- * 'rId'+--+-- * 'rStatisticsTimeZone'+--+-- * 'rRowCount'+--+-- * 'rRequest'+report+ :: Report+report =+ Report+ { _rKind = "doubleclicksearch#report"+ , _rRows = Nothing+ , _rStatisticsCurrencyCode = Nothing+ , _rIsReportReady = Nothing+ , _rFiles = Nothing+ , _rId = Nothing+ , _rStatisticsTimeZone = Nothing+ , _rRowCount = Nothing+ , _rRequest = Nothing+ }++-- | Identifies this as a Report resource. Value: the fixed string+-- doubleclicksearch#report.+rKind :: Lens' Report Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | Synchronous report only. Generated report rows.+rRows :: Lens' Report [ReportRow]+rRows+ = lens _rRows (\ s a -> s{_rRows = a}) . _Default .+ _Coerce++-- | 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.+rStatisticsCurrencyCode :: Lens' Report (Maybe Text)+rStatisticsCurrencyCode+ = lens _rStatisticsCurrencyCode+ (\ s a -> s{_rStatisticsCurrencyCode = a})++-- | Asynchronous report only. True if and only if the report has completed+-- successfully and the report files are ready to be downloaded.+rIsReportReady :: Lens' Report (Maybe Bool)+rIsReportReady+ = lens _rIsReportReady+ (\ s a -> s{_rIsReportReady = a})++-- | Asynchronous report only. Contains a list of generated report files once+-- the report has succesfully completed.+rFiles :: Lens' Report [ReportFilesItem]+rFiles+ = lens _rFiles (\ s a -> s{_rFiles = a}) . _Default .+ _Coerce++-- | Asynchronous report only. Id of the report.+rId :: Lens' Report (Maybe Text)+rId = lens _rId (\ s a -> s{_rId = a})++-- | If all statistics of the report are sourced from the same time zone,+-- this would be it. Otherwise the field is unset.+rStatisticsTimeZone :: Lens' Report (Maybe Text)+rStatisticsTimeZone+ = lens _rStatisticsTimeZone+ (\ s a -> s{_rStatisticsTimeZone = a})++-- | The number of report rows generated by the report, not including+-- headers.+rRowCount :: Lens' Report (Maybe Int32)+rRowCount+ = lens _rRowCount (\ s a -> s{_rRowCount = a}) .+ mapping _Coerce++-- | The request that created the report. Optional fields not specified in+-- the original request are filled with default values.+rRequest :: Lens' Report (Maybe ReportRequest)+rRequest = lens _rRequest (\ s a -> s{_rRequest = a})++instance FromJSON Report where+ parseJSON+ = withObject "Report"+ (\ o ->+ Report <$>+ (o .:? "kind" .!= "doubleclicksearch#report") <*>+ (o .:? "rows" .!= mempty)+ <*> (o .:? "statisticsCurrencyCode")+ <*> (o .:? "isReportReady")+ <*> (o .:? "files" .!= mempty)+ <*> (o .:? "id")+ <*> (o .:? "statisticsTimeZone")+ <*> (o .:? "rowCount")+ <*> (o .:? "request"))++instance ToJSON Report where+ toJSON Report{..}+ = object+ (catMaybes+ [Just ("kind" .= _rKind), ("rows" .=) <$> _rRows,+ ("statisticsCurrencyCode" .=) <$>+ _rStatisticsCurrencyCode,+ ("isReportReady" .=) <$> _rIsReportReady,+ ("files" .=) <$> _rFiles, ("id" .=) <$> _rId,+ ("statisticsTimeZone" .=) <$> _rStatisticsTimeZone,+ ("rowCount" .=) <$> _rRowCount,+ ("request" .=) <$> _rRequest])++--+-- /See:/ 'reportFilesItem' smart constructor.+data ReportFilesItem = ReportFilesItem+ { _rfiURL :: !(Maybe Text)+ , _rfiByteCount :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportFilesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfiURL'+--+-- * 'rfiByteCount'+reportFilesItem+ :: ReportFilesItem+reportFilesItem =+ ReportFilesItem+ { _rfiURL = Nothing+ , _rfiByteCount = Nothing+ }++-- | Use this url to download the report file.+rfiURL :: Lens' ReportFilesItem (Maybe Text)+rfiURL = lens _rfiURL (\ s a -> s{_rfiURL = a})++-- | The size of this report file in bytes.+rfiByteCount :: Lens' ReportFilesItem (Maybe Int64)+rfiByteCount+ = lens _rfiByteCount (\ s a -> s{_rfiByteCount = a})+ . mapping _Coerce++instance FromJSON ReportFilesItem where+ parseJSON+ = withObject "ReportFilesItem"+ (\ o ->+ ReportFilesItem <$>+ (o .:? "url") <*> (o .:? "byteCount"))++instance ToJSON ReportFilesItem where+ toJSON ReportFilesItem{..}+ = object+ (catMaybes+ [("url" .=) <$> _rfiURL,+ ("byteCount" .=) <$> _rfiByteCount])++--+-- /See:/ 'reportRequestFiltersItem' smart constructor.+data ReportRequestFiltersItem = ReportRequestFiltersItem+ { _rrfiOperator :: !(Maybe Text)+ , _rrfiValues :: !(Maybe [JSONValue])+ , _rrfiColumn :: !(Maybe ReportAPIColumnSpec)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportRequestFiltersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrfiOperator'+--+-- * 'rrfiValues'+--+-- * 'rrfiColumn'+reportRequestFiltersItem+ :: ReportRequestFiltersItem+reportRequestFiltersItem =+ ReportRequestFiltersItem+ { _rrfiOperator = Nothing+ , _rrfiValues = Nothing+ , _rrfiColumn = Nothing+ }++-- | Operator to use in the filter. See the filter reference for a list of+-- available operators.+rrfiOperator :: Lens' ReportRequestFiltersItem (Maybe Text)+rrfiOperator+ = lens _rrfiOperator (\ s a -> s{_rrfiOperator = a})++-- | A list of values to filter the column value against.+rrfiValues :: Lens' ReportRequestFiltersItem [JSONValue]+rrfiValues+ = lens _rrfiValues (\ s a -> s{_rrfiValues = a}) .+ _Default+ . _Coerce++-- | Column to perform the filter on. This can be a DoubleClick Search column+-- or a saved column.+rrfiColumn :: Lens' ReportRequestFiltersItem (Maybe ReportAPIColumnSpec)+rrfiColumn+ = lens _rrfiColumn (\ s a -> s{_rrfiColumn = a})++instance FromJSON ReportRequestFiltersItem where+ parseJSON+ = withObject "ReportRequestFiltersItem"+ (\ o ->+ ReportRequestFiltersItem <$>+ (o .:? "operator") <*> (o .:? "values" .!= mempty)+ <*> (o .:? "column"))++instance ToJSON ReportRequestFiltersItem where+ toJSON ReportRequestFiltersItem{..}+ = object+ (catMaybes+ [("operator" .=) <$> _rrfiOperator,+ ("values" .=) <$> _rrfiValues,+ ("column" .=) <$> _rrfiColumn])++-- | A message containing availability data relevant to DoubleClick Search.+--+-- /See:/ 'availability' smart constructor.+data Availability = Availability+ { _aAgencyId :: !(Maybe (Textual Int64))+ , _aAdvertiserId :: !(Maybe (Textual Int64))+ , _aSegmentationId :: !(Maybe (Textual Int64))+ , _aSegmentationName :: !(Maybe Text)+ , _aAvailabilityTimestamp :: !(Maybe (Textual Word64))+ , _aSegmentationType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Availability' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAgencyId'+--+-- * 'aAdvertiserId'+--+-- * 'aSegmentationId'+--+-- * 'aSegmentationName'+--+-- * 'aAvailabilityTimestamp'+--+-- * 'aSegmentationType'+availability+ :: Availability+availability =+ Availability+ { _aAgencyId = Nothing+ , _aAdvertiserId = Nothing+ , _aSegmentationId = Nothing+ , _aSegmentationName = Nothing+ , _aAvailabilityTimestamp = Nothing+ , _aSegmentationType = Nothing+ }++-- | DS agency ID.+aAgencyId :: Lens' Availability (Maybe Int64)+aAgencyId+ = lens _aAgencyId (\ s a -> s{_aAgencyId = a}) .+ mapping _Coerce++-- | DS advertiser ID.+aAdvertiserId :: Lens' Availability (Maybe Int64)+aAdvertiserId+ = lens _aAdvertiserId+ (\ s a -> s{_aAdvertiserId = a})+ . mapping _Coerce++-- | The numeric segmentation identifier (for example, DoubleClick Search+-- Floodlight activity ID).+aSegmentationId :: Lens' Availability (Maybe Int64)+aSegmentationId+ = lens _aSegmentationId+ (\ s a -> s{_aSegmentationId = a})+ . mapping _Coerce++-- | The friendly segmentation identifier (for example, DoubleClick Search+-- Floodlight activity name).+aSegmentationName :: Lens' Availability (Maybe Text)+aSegmentationName+ = lens _aSegmentationName+ (\ s a -> s{_aSegmentationName = a})++-- | The time by which all conversions have been uploaded, in epoch millis+-- UTC.+aAvailabilityTimestamp :: Lens' Availability (Maybe Word64)+aAvailabilityTimestamp+ = lens _aAvailabilityTimestamp+ (\ s a -> s{_aAvailabilityTimestamp = a})+ . mapping _Coerce++-- | The segmentation type that this availability is for (its default value+-- is FLOODLIGHT).+aSegmentationType :: Lens' Availability (Maybe Text)+aSegmentationType+ = lens _aSegmentationType+ (\ s a -> s{_aSegmentationType = a})++instance FromJSON Availability where+ parseJSON+ = withObject "Availability"+ (\ o ->+ Availability <$>+ (o .:? "agencyId") <*> (o .:? "advertiserId") <*>+ (o .:? "segmentationId")+ <*> (o .:? "segmentationName")+ <*> (o .:? "availabilityTimestamp")+ <*> (o .:? "segmentationType"))++instance ToJSON Availability where+ toJSON Availability{..}+ = object+ (catMaybes+ [("agencyId" .=) <$> _aAgencyId,+ ("advertiserId" .=) <$> _aAdvertiserId,+ ("segmentationId" .=) <$> _aSegmentationId,+ ("segmentationName" .=) <$> _aSegmentationName,+ ("availabilityTimestamp" .=) <$>+ _aAvailabilityTimestamp,+ ("segmentationType" .=) <$> _aSegmentationType])++-- | The request to update availability.+--+-- /See:/ 'updateAvailabilityRequest' smart constructor.+newtype UpdateAvailabilityRequest = UpdateAvailabilityRequest+ { _uarAvailabilities :: Maybe [Availability]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateAvailabilityRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uarAvailabilities'+updateAvailabilityRequest+ :: UpdateAvailabilityRequest+updateAvailabilityRequest =+ UpdateAvailabilityRequest+ { _uarAvailabilities = Nothing+ }++-- | The availabilities being requested.+uarAvailabilities :: Lens' UpdateAvailabilityRequest [Availability]+uarAvailabilities+ = lens _uarAvailabilities+ (\ s a -> s{_uarAvailabilities = a})+ . _Default+ . _Coerce++instance FromJSON UpdateAvailabilityRequest where+ parseJSON+ = withObject "UpdateAvailabilityRequest"+ (\ o ->+ UpdateAvailabilityRequest <$>+ (o .:? "availabilities" .!= mempty))++instance ToJSON UpdateAvailabilityRequest where+ toJSON UpdateAvailabilityRequest{..}+ = object+ (catMaybes+ [("availabilities" .=) <$> _uarAvailabilities])++-- | A message containing the custome metric.+--+-- /See:/ 'customMetric' smart constructor.+data CustomMetric = CustomMetric+ { _cmValue :: !(Maybe (Textual Double))+ , _cmName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomMetric' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmValue'+--+-- * 'cmName'+customMetric+ :: CustomMetric+customMetric =+ CustomMetric+ { _cmValue = Nothing+ , _cmName = Nothing+ }++-- | Custom metric numeric value.+cmValue :: Lens' CustomMetric (Maybe Double)+cmValue+ = lens _cmValue (\ s a -> s{_cmValue = a}) .+ mapping _Coerce++-- | Custom metric name.+cmName :: Lens' CustomMetric (Maybe Text)+cmName = lens _cmName (\ s a -> s{_cmName = a})++instance FromJSON CustomMetric where+ parseJSON+ = withObject "CustomMetric"+ (\ o ->+ CustomMetric <$> (o .:? "value") <*> (o .:? "name"))++instance ToJSON CustomMetric where+ toJSON CustomMetric{..}+ = object+ (catMaybes+ [("value" .=) <$> _cmValue, ("name" .=) <$> _cmName])++-- | A list of conversions.+--+-- /See:/ 'conversionList' smart constructor.+data ConversionList = ConversionList+ { _clKind :: !Text+ , _clConversion :: !(Maybe [Conversion])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clKind'+--+-- * 'clConversion'+conversionList+ :: ConversionList+conversionList =+ ConversionList+ { _clKind = "doubleclicksearch#conversionList"+ , _clConversion = Nothing+ }++-- | Identifies this as a ConversionList resource. Value: the fixed string+-- doubleclicksearch#conversionList.+clKind :: Lens' ConversionList Text+clKind = lens _clKind (\ s a -> s{_clKind = a})++-- | The conversions being requested.+clConversion :: Lens' ConversionList [Conversion]+clConversion+ = lens _clConversion (\ s a -> s{_clConversion = a})+ . _Default+ . _Coerce++instance FromJSON ConversionList where+ parseJSON+ = withObject "ConversionList"+ (\ o ->+ ConversionList <$>+ (o .:? "kind" .!= "doubleclicksearch#conversionList")+ <*> (o .:? "conversion" .!= mempty))++instance ToJSON ConversionList where+ toJSON ConversionList{..}+ = object+ (catMaybes+ [Just ("kind" .= _clKind),+ ("conversion" .=) <$> _clConversion])++-- | A request object used to create a DoubleClick Search report.+--+-- /See:/ 'reportAPIColumnSpec' smart constructor.+data ReportAPIColumnSpec = ReportAPIColumnSpec+ { _racsCustomDimensionName :: !(Maybe Text)+ , _racsSavedColumnName :: !(Maybe Text)+ , _racsGroupByColumn :: !Bool+ , _racsCustomMetricName :: !(Maybe Text)+ , _racsEndDate :: !(Maybe Text)+ , _racsProductReportPerspective :: !(Maybe Text)+ , _racsStartDate :: !(Maybe Text)+ , _racsHeaderText :: !(Maybe Text)+ , _racsPlatformSource :: !(Maybe Text)+ , _racsColumnName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportAPIColumnSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'racsCustomDimensionName'+--+-- * 'racsSavedColumnName'+--+-- * 'racsGroupByColumn'+--+-- * 'racsCustomMetricName'+--+-- * 'racsEndDate'+--+-- * 'racsProductReportPerspective'+--+-- * 'racsStartDate'+--+-- * 'racsHeaderText'+--+-- * 'racsPlatformSource'+--+-- * 'racsColumnName'+reportAPIColumnSpec+ :: ReportAPIColumnSpec+reportAPIColumnSpec =+ ReportAPIColumnSpec+ { _racsCustomDimensionName = Nothing+ , _racsSavedColumnName = Nothing+ , _racsGroupByColumn = False+ , _racsCustomMetricName = Nothing+ , _racsEndDate = Nothing+ , _racsProductReportPerspective = Nothing+ , _racsStartDate = Nothing+ , _racsHeaderText = Nothing+ , _racsPlatformSource = Nothing+ , _racsColumnName = Nothing+ }++-- | 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.+racsCustomDimensionName :: Lens' ReportAPIColumnSpec (Maybe Text)+racsCustomDimensionName+ = lens _racsCustomDimensionName+ (\ s a -> s{_racsCustomDimensionName = a})++-- | 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.+racsSavedColumnName :: Lens' ReportAPIColumnSpec (Maybe Text)+racsSavedColumnName+ = lens _racsSavedColumnName+ (\ s a -> s{_racsSavedColumnName = a})++-- | Synchronous report only. Set to true to group by this column. Defaults+-- to false.+racsGroupByColumn :: Lens' ReportAPIColumnSpec Bool+racsGroupByColumn+ = lens _racsGroupByColumn+ (\ s a -> s{_racsGroupByColumn = a})++-- | 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.+racsCustomMetricName :: Lens' ReportAPIColumnSpec (Maybe Text)+racsCustomMetricName+ = lens _racsCustomMetricName+ (\ s a -> s{_racsCustomMetricName = a})++-- | 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.+racsEndDate :: Lens' ReportAPIColumnSpec (Maybe Text)+racsEndDate+ = lens _racsEndDate (\ s a -> s{_racsEndDate = a})++-- | Provide different source for product items. Acceptable values are+-- \"advertised\" and \"sold\".+racsProductReportPerspective :: Lens' ReportAPIColumnSpec (Maybe Text)+racsProductReportPerspective+ = lens _racsProductReportPerspective+ (\ s a -> s{_racsProductReportPerspective = a})++-- | 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.+racsStartDate :: Lens' ReportAPIColumnSpec (Maybe Text)+racsStartDate+ = lens _racsStartDate+ (\ s a -> s{_racsStartDate = a})++-- | 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.+racsHeaderText :: Lens' ReportAPIColumnSpec (Maybe Text)+racsHeaderText+ = lens _racsHeaderText+ (\ s a -> s{_racsHeaderText = a})++-- | The platform that is used to provide data for the custom dimension.+-- Acceptable values are \"floodlight\".+racsPlatformSource :: Lens' ReportAPIColumnSpec (Maybe Text)+racsPlatformSource+ = lens _racsPlatformSource+ (\ s a -> s{_racsPlatformSource = a})++-- | Name of a DoubleClick Search column to include in the report.+racsColumnName :: Lens' ReportAPIColumnSpec (Maybe Text)+racsColumnName+ = lens _racsColumnName+ (\ s a -> s{_racsColumnName = a})++instance FromJSON ReportAPIColumnSpec where+ parseJSON+ = withObject "ReportAPIColumnSpec"+ (\ o ->+ ReportAPIColumnSpec <$>+ (o .:? "customDimensionName") <*>+ (o .:? "savedColumnName")+ <*> (o .:? "groupByColumn" .!= False)+ <*> (o .:? "customMetricName")+ <*> (o .:? "endDate")+ <*> (o .:? "productReportPerspective")+ <*> (o .:? "startDate")+ <*> (o .:? "headerText")+ <*> (o .:? "platformSource")+ <*> (o .:? "columnName"))++instance ToJSON ReportAPIColumnSpec where+ toJSON ReportAPIColumnSpec{..}+ = object+ (catMaybes+ [("customDimensionName" .=) <$>+ _racsCustomDimensionName,+ ("savedColumnName" .=) <$> _racsSavedColumnName,+ Just ("groupByColumn" .= _racsGroupByColumn),+ ("customMetricName" .=) <$> _racsCustomMetricName,+ ("endDate" .=) <$> _racsEndDate,+ ("productReportPerspective" .=) <$>+ _racsProductReportPerspective,+ ("startDate" .=) <$> _racsStartDate,+ ("headerText" .=) <$> _racsHeaderText,+ ("platformSource" .=) <$> _racsPlatformSource,+ ("columnName" .=) <$> _racsColumnName])++-- | If metrics are requested in a report, this argument will be used to+-- restrict the metrics to a specific time range.+--+-- /See:/ 'reportRequestTimeRange' smart constructor.+data ReportRequestTimeRange = ReportRequestTimeRange+ { _rrtrEndDate :: !(Maybe Text)+ , _rrtrChangedAttributesSinceTimestamp :: !(Maybe DateTime')+ , _rrtrStartDate :: !(Maybe Text)+ , _rrtrChangedMetricsSinceTimestamp :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportRequestTimeRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrtrEndDate'+--+-- * 'rrtrChangedAttributesSinceTimestamp'+--+-- * 'rrtrStartDate'+--+-- * 'rrtrChangedMetricsSinceTimestamp'+reportRequestTimeRange+ :: ReportRequestTimeRange+reportRequestTimeRange =+ ReportRequestTimeRange+ { _rrtrEndDate = Nothing+ , _rrtrChangedAttributesSinceTimestamp = Nothing+ , _rrtrStartDate = Nothing+ , _rrtrChangedMetricsSinceTimestamp = Nothing+ }++-- | Inclusive date in YYYY-MM-DD format.+rrtrEndDate :: Lens' ReportRequestTimeRange (Maybe Text)+rrtrEndDate+ = lens _rrtrEndDate (\ s a -> s{_rrtrEndDate = a})++-- | Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z.+-- See additional references on how changed attribute reports work.+rrtrChangedAttributesSinceTimestamp :: Lens' ReportRequestTimeRange (Maybe UTCTime)+rrtrChangedAttributesSinceTimestamp+ = lens _rrtrChangedAttributesSinceTimestamp+ (\ s a ->+ s{_rrtrChangedAttributesSinceTimestamp = a})+ . mapping _DateTime++-- | Inclusive date in YYYY-MM-DD format.+rrtrStartDate :: Lens' ReportRequestTimeRange (Maybe Text)+rrtrStartDate+ = lens _rrtrStartDate+ (\ s a -> s{_rrtrStartDate = a})++-- | Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z.+-- See additional references on how changed metrics reports work.+rrtrChangedMetricsSinceTimestamp :: Lens' ReportRequestTimeRange (Maybe UTCTime)+rrtrChangedMetricsSinceTimestamp+ = lens _rrtrChangedMetricsSinceTimestamp+ (\ s a -> s{_rrtrChangedMetricsSinceTimestamp = a})+ . mapping _DateTime++instance FromJSON ReportRequestTimeRange where+ parseJSON+ = withObject "ReportRequestTimeRange"+ (\ o ->+ ReportRequestTimeRange <$>+ (o .:? "endDate") <*>+ (o .:? "changedAttributesSinceTimestamp")+ <*> (o .:? "startDate")+ <*> (o .:? "changedMetricsSinceTimestamp"))++instance ToJSON ReportRequestTimeRange where+ toJSON ReportRequestTimeRange{..}+ = object+ (catMaybes+ [("endDate" .=) <$> _rrtrEndDate,+ ("changedAttributesSinceTimestamp" .=) <$>+ _rrtrChangedAttributesSinceTimestamp,+ ("startDate" .=) <$> _rrtrStartDate,+ ("changedMetricsSinceTimestamp" .=) <$>+ _rrtrChangedMetricsSinceTimestamp])++-- | A conversion containing data relevant to DoubleClick Search.+--+-- /See:/ 'conversion' smart constructor.+data Conversion = Conversion+ { _cAdGroupId :: !(Maybe (Textual Int64))+ , _cConversionModifiedTimestamp :: !(Maybe (Textual Word64))+ , _cState :: !(Maybe Text)+ , _cEngineAccountId :: !(Maybe (Textual Int64))+ , _cAgencyId :: !(Maybe (Textual Int64))+ , _cCurrencyCode :: !(Maybe Text)+ , _cStoreId :: !(Maybe Text)+ , _cDsConversionId :: !(Maybe (Textual Int64))+ , _cConversionId :: !(Maybe Text)+ , _cAdvertiserId :: !(Maybe (Textual Int64))+ , _cSegmentationId :: !(Maybe (Textual Int64))+ , _cChannel :: !(Maybe Text)+ , _cProductCountry :: !(Maybe Text)+ , _cCampaignId :: !(Maybe (Textual Int64))+ , _cCriterionId :: !(Maybe (Textual Int64))+ , _cConversionTimestamp :: !(Maybe (Textual Word64))+ , _cAttributionModel :: !(Maybe Text)+ , _cSegmentationName :: !(Maybe Text)+ , _cProductLanguage :: !(Maybe Text)+ , _cCustomMetric :: !(Maybe [CustomMetric])+ , _cCountMillis :: !(Maybe (Textual Int64))+ , _cQuantityMillis :: !(Maybe (Textual Int64))+ , _cAdId :: !(Maybe (Textual Int64))+ , _cDeviceType :: !(Maybe Text)+ , _cType :: !(Maybe Text)+ , _cCustomDimension :: !(Maybe [CustomDimension])+ , _cFloodlightOrderId :: !(Maybe Text)+ , _cRevenueMicros :: !(Maybe (Textual Int64))+ , _cClickId :: !(Maybe Text)+ , _cInventoryAccountId :: !(Maybe (Textual Int64))+ , _cSegmentationType :: !(Maybe Text)+ , _cProductId :: !(Maybe Text)+ , _cProductGroupId :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Conversion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cAdGroupId'+--+-- * 'cConversionModifiedTimestamp'+--+-- * 'cState'+--+-- * 'cEngineAccountId'+--+-- * 'cAgencyId'+--+-- * 'cCurrencyCode'+--+-- * 'cStoreId'+--+-- * 'cDsConversionId'+--+-- * 'cConversionId'+--+-- * 'cAdvertiserId'+--+-- * 'cSegmentationId'+--+-- * 'cChannel'+--+-- * 'cProductCountry'+--+-- * 'cCampaignId'+--+-- * 'cCriterionId'+--+-- * 'cConversionTimestamp'+--+-- * 'cAttributionModel'+--+-- * 'cSegmentationName'+--+-- * 'cProductLanguage'+--+-- * 'cCustomMetric'+--+-- * 'cCountMillis'+--+-- * 'cQuantityMillis'+--+-- * 'cAdId'+--+-- * 'cDeviceType'+--+-- * 'cType'+--+-- * 'cCustomDimension'+--+-- * 'cFloodlightOrderId'+--+-- * 'cRevenueMicros'+--+-- * 'cClickId'+--+-- * 'cInventoryAccountId'+--+-- * 'cSegmentationType'+--+-- * 'cProductId'+--+-- * 'cProductGroupId'+conversion+ :: Conversion+conversion =+ Conversion+ { _cAdGroupId = Nothing+ , _cConversionModifiedTimestamp = Nothing+ , _cState = Nothing+ , _cEngineAccountId = Nothing+ , _cAgencyId = Nothing+ , _cCurrencyCode = Nothing+ , _cStoreId = Nothing+ , _cDsConversionId = Nothing+ , _cConversionId = Nothing+ , _cAdvertiserId = Nothing+ , _cSegmentationId = Nothing+ , _cChannel = Nothing+ , _cProductCountry = Nothing+ , _cCampaignId = Nothing+ , _cCriterionId = Nothing+ , _cConversionTimestamp = Nothing+ , _cAttributionModel = Nothing+ , _cSegmentationName = Nothing+ , _cProductLanguage = Nothing+ , _cCustomMetric = Nothing+ , _cCountMillis = Nothing+ , _cQuantityMillis = Nothing+ , _cAdId = Nothing+ , _cDeviceType = Nothing+ , _cType = Nothing+ , _cCustomDimension = Nothing+ , _cFloodlightOrderId = Nothing+ , _cRevenueMicros = Nothing+ , _cClickId = Nothing+ , _cInventoryAccountId = Nothing+ , _cSegmentationType = Nothing+ , _cProductId = Nothing+ , _cProductGroupId = Nothing+ }++-- | DS ad group ID.+cAdGroupId :: Lens' Conversion (Maybe Int64)+cAdGroupId+ = lens _cAdGroupId (\ s a -> s{_cAdGroupId = a}) .+ mapping _Coerce++-- | The time at which the conversion was last modified, in epoch millis UTC.+cConversionModifiedTimestamp :: Lens' Conversion (Maybe Word64)+cConversionModifiedTimestamp+ = lens _cConversionModifiedTimestamp+ (\ s a -> s{_cConversionModifiedTimestamp = a})+ . mapping _Coerce++-- | The state of the conversion, that is, either ACTIVE or REMOVED. Note:+-- state DELETED is deprecated.+cState :: Lens' Conversion (Maybe Text)+cState = lens _cState (\ s a -> s{_cState = a})++-- | DS engine account ID.+cEngineAccountId :: Lens' Conversion (Maybe Int64)+cEngineAccountId+ = lens _cEngineAccountId+ (\ s a -> s{_cEngineAccountId = a})+ . mapping _Coerce++-- | DS agency ID.+cAgencyId :: Lens' Conversion (Maybe Int64)+cAgencyId+ = lens _cAgencyId (\ s a -> s{_cAgencyId = a}) .+ mapping _Coerce++-- | The currency code for the conversion\'s revenue. Should be in ISO 4217+-- alphabetic (3-char) format.+cCurrencyCode :: Lens' Conversion (Maybe Text)+cCurrencyCode+ = lens _cCurrencyCode+ (\ s a -> s{_cCurrencyCode = a})++-- | The ID of the local store for which the product was advertised.+-- Applicable only when the channel is \"local\".+cStoreId :: Lens' Conversion (Maybe Text)+cStoreId = lens _cStoreId (\ s a -> s{_cStoreId = a})++-- | ID that DoubleClick Search generates for each conversion.+cDsConversionId :: Lens' Conversion (Maybe Int64)+cDsConversionId+ = lens _cDsConversionId+ (\ s a -> s{_cDsConversionId = a})+ . mapping _Coerce++-- | For offline conversions, this is an ID provided by advertisers.+-- Advertisers can use this property to specify an ID that is meaningful to+-- them. If an advertiser doesn\'t specify a conversionId, DoubleClick+-- Search generates one. For online conversions, DS copies the+-- dsConversionId or floodlightOrderId into this property depending on the+-- advertiser\'s Floodlight instructions.+cConversionId :: Lens' Conversion (Maybe Text)+cConversionId+ = lens _cConversionId+ (\ s a -> s{_cConversionId = a})++-- | DS advertiser ID.+cAdvertiserId :: Lens' Conversion (Maybe Int64)+cAdvertiserId+ = lens _cAdvertiserId+ (\ s a -> s{_cAdvertiserId = a})+ . mapping _Coerce++-- | The numeric segmentation identifier (for example, DoubleClick Search+-- Floodlight activity ID).+cSegmentationId :: Lens' Conversion (Maybe Int64)+cSegmentationId+ = lens _cSegmentationId+ (\ s a -> s{_cSegmentationId = a})+ . mapping _Coerce++-- | Sales channel for the product. Acceptable values are: - \"local\": a+-- physical store - \"online\": an online store+cChannel :: Lens' Conversion (Maybe Text)+cChannel = lens _cChannel (\ s a -> s{_cChannel = a})++-- | The country registered for the Merchant Center feed that contains the+-- product. Use an ISO 3166 code to specify a country.+cProductCountry :: Lens' Conversion (Maybe Text)+cProductCountry+ = lens _cProductCountry+ (\ s a -> s{_cProductCountry = a})++-- | DS campaign ID.+cCampaignId :: Lens' Conversion (Maybe Int64)+cCampaignId+ = lens _cCampaignId (\ s a -> s{_cCampaignId = a}) .+ mapping _Coerce++-- | DS criterion (keyword) ID.+cCriterionId :: Lens' Conversion (Maybe Int64)+cCriterionId+ = lens _cCriterionId (\ s a -> s{_cCriterionId = a})+ . mapping _Coerce++-- | The time at which the conversion took place, in epoch millis UTC.+cConversionTimestamp :: Lens' Conversion (Maybe Word64)+cConversionTimestamp+ = lens _cConversionTimestamp+ (\ s a -> s{_cConversionTimestamp = a})+ . mapping _Coerce++-- | This field is ignored.+cAttributionModel :: Lens' Conversion (Maybe Text)+cAttributionModel+ = lens _cAttributionModel+ (\ s a -> s{_cAttributionModel = a})++-- | The friendly segmentation identifier (for example, DoubleClick Search+-- Floodlight activity name).+cSegmentationName :: Lens' Conversion (Maybe Text)+cSegmentationName+ = lens _cSegmentationName+ (\ s a -> s{_cSegmentationName = a})++-- | The language registered for the Merchant Center feed that contains the+-- product. Use an ISO 639 code to specify a language.+cProductLanguage :: Lens' Conversion (Maybe Text)+cProductLanguage+ = lens _cProductLanguage+ (\ s a -> s{_cProductLanguage = a})++-- | Custom metrics for the conversion.+cCustomMetric :: Lens' Conversion [CustomMetric]+cCustomMetric+ = lens _cCustomMetric+ (\ s a -> s{_cCustomMetric = a})+ . _Default+ . _Coerce++-- | This field is ignored.+cCountMillis :: Lens' Conversion (Maybe Int64)+cCountMillis+ = lens _cCountMillis (\ s a -> s{_cCountMillis = a})+ . mapping _Coerce++-- | The quantity of this conversion, in millis.+cQuantityMillis :: Lens' Conversion (Maybe Int64)+cQuantityMillis+ = lens _cQuantityMillis+ (\ s a -> s{_cQuantityMillis = a})+ . mapping _Coerce++-- | DS ad ID.+cAdId :: Lens' Conversion (Maybe Int64)+cAdId+ = lens _cAdId (\ s a -> s{_cAdId = a}) .+ mapping _Coerce++-- | The type of device on which the conversion occurred.+cDeviceType :: Lens' Conversion (Maybe Text)+cDeviceType+ = lens _cDeviceType (\ s a -> s{_cDeviceType = a})++-- | 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).+cType :: Lens' Conversion (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a})++-- | Custom dimensions for the conversion, which can be used to filter data+-- in a report.+cCustomDimension :: Lens' Conversion [CustomDimension]+cCustomDimension+ = lens _cCustomDimension+ (\ s a -> s{_cCustomDimension = a})+ . _Default+ . _Coerce++-- | The Floodlight order ID provided by the advertiser for the conversion.+cFloodlightOrderId :: Lens' Conversion (Maybe Text)+cFloodlightOrderId+ = lens _cFloodlightOrderId+ (\ s a -> s{_cFloodlightOrderId = a})++-- | The revenue amount of this TRANSACTION conversion, in micros.+cRevenueMicros :: Lens' Conversion (Maybe Int64)+cRevenueMicros+ = lens _cRevenueMicros+ (\ s a -> s{_cRevenueMicros = a})+ . mapping _Coerce++-- | DS click ID for the conversion.+cClickId :: Lens' Conversion (Maybe Text)+cClickId = lens _cClickId (\ s a -> s{_cClickId = a})++-- | ID that DS generates and uses to uniquely identify the inventory account+-- that contains the product.+cInventoryAccountId :: Lens' Conversion (Maybe Int64)+cInventoryAccountId+ = lens _cInventoryAccountId+ (\ s a -> s{_cInventoryAccountId = a})+ . mapping _Coerce++-- | The segmentation type of this conversion (for example, FLOODLIGHT).+cSegmentationType :: Lens' Conversion (Maybe Text)+cSegmentationType+ = lens _cSegmentationType+ (\ s a -> s{_cSegmentationType = a})++-- | The product ID (SKU).+cProductId :: Lens' Conversion (Maybe Text)+cProductId+ = lens _cProductId (\ s a -> s{_cProductId = a})++-- | DS product group ID.+cProductGroupId :: Lens' Conversion (Maybe Int64)+cProductGroupId+ = lens _cProductGroupId+ (\ s a -> s{_cProductGroupId = a})+ . mapping _Coerce++instance FromJSON Conversion where+ parseJSON+ = withObject "Conversion"+ (\ o ->+ Conversion <$>+ (o .:? "adGroupId") <*>+ (o .:? "conversionModifiedTimestamp")+ <*> (o .:? "state")+ <*> (o .:? "engineAccountId")+ <*> (o .:? "agencyId")+ <*> (o .:? "currencyCode")+ <*> (o .:? "storeId")+ <*> (o .:? "dsConversionId")+ <*> (o .:? "conversionId")+ <*> (o .:? "advertiserId")+ <*> (o .:? "segmentationId")+ <*> (o .:? "channel")+ <*> (o .:? "productCountry")+ <*> (o .:? "campaignId")+ <*> (o .:? "criterionId")+ <*> (o .:? "conversionTimestamp")+ <*> (o .:? "attributionModel")+ <*> (o .:? "segmentationName")+ <*> (o .:? "productLanguage")+ <*> (o .:? "customMetric" .!= mempty)+ <*> (o .:? "countMillis")+ <*> (o .:? "quantityMillis")+ <*> (o .:? "adId")+ <*> (o .:? "deviceType")+ <*> (o .:? "type")+ <*> (o .:? "customDimension" .!= mempty)+ <*> (o .:? "floodlightOrderId")+ <*> (o .:? "revenueMicros")+ <*> (o .:? "clickId")+ <*> (o .:? "inventoryAccountId")+ <*> (o .:? "segmentationType")+ <*> (o .:? "productId")+ <*> (o .:? "productGroupId"))++instance ToJSON Conversion where+ toJSON Conversion{..}+ = object+ (catMaybes+ [("adGroupId" .=) <$> _cAdGroupId,+ ("conversionModifiedTimestamp" .=) <$>+ _cConversionModifiedTimestamp,+ ("state" .=) <$> _cState,+ ("engineAccountId" .=) <$> _cEngineAccountId,+ ("agencyId" .=) <$> _cAgencyId,+ ("currencyCode" .=) <$> _cCurrencyCode,+ ("storeId" .=) <$> _cStoreId,+ ("dsConversionId" .=) <$> _cDsConversionId,+ ("conversionId" .=) <$> _cConversionId,+ ("advertiserId" .=) <$> _cAdvertiserId,+ ("segmentationId" .=) <$> _cSegmentationId,+ ("channel" .=) <$> _cChannel,+ ("productCountry" .=) <$> _cProductCountry,+ ("campaignId" .=) <$> _cCampaignId,+ ("criterionId" .=) <$> _cCriterionId,+ ("conversionTimestamp" .=) <$> _cConversionTimestamp,+ ("attributionModel" .=) <$> _cAttributionModel,+ ("segmentationName" .=) <$> _cSegmentationName,+ ("productLanguage" .=) <$> _cProductLanguage,+ ("customMetric" .=) <$> _cCustomMetric,+ ("countMillis" .=) <$> _cCountMillis,+ ("quantityMillis" .=) <$> _cQuantityMillis,+ ("adId" .=) <$> _cAdId,+ ("deviceType" .=) <$> _cDeviceType,+ ("type" .=) <$> _cType,+ ("customDimension" .=) <$> _cCustomDimension,+ ("floodlightOrderId" .=) <$> _cFloodlightOrderId,+ ("revenueMicros" .=) <$> _cRevenueMicros,+ ("clickId" .=) <$> _cClickId,+ ("inventoryAccountId" .=) <$> _cInventoryAccountId,+ ("segmentationType" .=) <$> _cSegmentationType,+ ("productId" .=) <$> _cProductId,+ ("productGroupId" .=) <$> _cProductGroupId])++-- | A saved column+--+-- /See:/ 'savedColumn' smart constructor.+data SavedColumn = SavedColumn+ { _scSavedColumnName :: !(Maybe Text)+ , _scKind :: !Text+ , _scType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SavedColumn' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scSavedColumnName'+--+-- * 'scKind'+--+-- * 'scType'+savedColumn+ :: SavedColumn+savedColumn =+ SavedColumn+ { _scSavedColumnName = Nothing+ , _scKind = "doubleclicksearch#savedColumn"+ , _scType = Nothing+ }++-- | The name of the saved column.+scSavedColumnName :: Lens' SavedColumn (Maybe Text)+scSavedColumnName+ = lens _scSavedColumnName+ (\ s a -> s{_scSavedColumnName = a})++-- | Identifies this as a SavedColumn resource. Value: the fixed string+-- doubleclicksearch#savedColumn.+scKind :: Lens' SavedColumn Text+scKind = lens _scKind (\ s a -> s{_scKind = a})++-- | The type of data this saved column will produce.+scType :: Lens' SavedColumn (Maybe Text)+scType = lens _scType (\ s a -> s{_scType = a})++instance FromJSON SavedColumn where+ parseJSON+ = withObject "SavedColumn"+ (\ o ->+ SavedColumn <$>+ (o .:? "savedColumnName") <*>+ (o .:? "kind" .!= "doubleclicksearch#savedColumn")+ <*> (o .:? "type"))++instance ToJSON SavedColumn where+ toJSON SavedColumn{..}+ = object+ (catMaybes+ [("savedColumnName" .=) <$> _scSavedColumnName,+ Just ("kind" .= _scKind), ("type" .=) <$> _scType])++-- | A message containing the custome dimension.+--+-- /See:/ 'customDimension' smart constructor.+data CustomDimension = CustomDimension+ { _cdValue :: !(Maybe Text)+ , _cdName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDimension' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdValue'+--+-- * 'cdName'+customDimension+ :: CustomDimension+customDimension =+ CustomDimension+ { _cdValue = Nothing+ , _cdName = Nothing+ }++-- | Custom dimension value.+cdValue :: Lens' CustomDimension (Maybe Text)+cdValue = lens _cdValue (\ s a -> s{_cdValue = a})++-- | Custom dimension name.+cdName :: Lens' CustomDimension (Maybe Text)+cdName = lens _cdName (\ s a -> s{_cdName = a})++instance FromJSON CustomDimension where+ parseJSON+ = withObject "CustomDimension"+ (\ o ->+ CustomDimension <$>+ (o .:? "value") <*> (o .:? "name"))++instance ToJSON CustomDimension where+ toJSON CustomDimension{..}+ = object+ (catMaybes+ [("value" .=) <$> _cdValue, ("name" .=) <$> _cdName])++-- | The response to a update availability request.+--+-- /See:/ 'updateAvailabilityResponse' smart constructor.+newtype UpdateAvailabilityResponse = UpdateAvailabilityResponse+ { _uAvailabilities :: Maybe [Availability]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateAvailabilityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uAvailabilities'+updateAvailabilityResponse+ :: UpdateAvailabilityResponse+updateAvailabilityResponse =+ UpdateAvailabilityResponse+ { _uAvailabilities = Nothing+ }++-- | The availabilities being returned.+uAvailabilities :: Lens' UpdateAvailabilityResponse [Availability]+uAvailabilities+ = lens _uAvailabilities+ (\ s a -> s{_uAvailabilities = a})+ . _Default+ . _Coerce++instance FromJSON UpdateAvailabilityResponse where+ parseJSON+ = withObject "UpdateAvailabilityResponse"+ (\ o ->+ UpdateAvailabilityResponse <$>+ (o .:? "availabilities" .!= mempty))++instance ToJSON UpdateAvailabilityResponse where+ toJSON UpdateAvailabilityResponse{..}+ = object+ (catMaybes+ [("availabilities" .=) <$> _uAvailabilities])++-- | 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.+--+-- /See:/ 'reportRequestReportScope' smart constructor.+data ReportRequestReportScope = ReportRequestReportScope+ { _rrrsKeywordId :: !(Maybe (Textual Int64))+ , _rrrsAdGroupId :: !(Maybe (Textual Int64))+ , _rrrsEngineAccountId :: !(Maybe (Textual Int64))+ , _rrrsAgencyId :: !(Maybe (Textual Int64))+ , _rrrsAdvertiserId :: !(Maybe (Textual Int64))+ , _rrrsCampaignId :: !(Maybe (Textual Int64))+ , _rrrsAdId :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportRequestReportScope' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrrsKeywordId'+--+-- * 'rrrsAdGroupId'+--+-- * 'rrrsEngineAccountId'+--+-- * 'rrrsAgencyId'+--+-- * 'rrrsAdvertiserId'+--+-- * 'rrrsCampaignId'+--+-- * 'rrrsAdId'+reportRequestReportScope+ :: ReportRequestReportScope+reportRequestReportScope =+ ReportRequestReportScope+ { _rrrsKeywordId = Nothing+ , _rrrsAdGroupId = Nothing+ , _rrrsEngineAccountId = Nothing+ , _rrrsAgencyId = Nothing+ , _rrrsAdvertiserId = Nothing+ , _rrrsCampaignId = Nothing+ , _rrrsAdId = Nothing+ }++-- | DS keyword ID.+rrrsKeywordId :: Lens' ReportRequestReportScope (Maybe Int64)+rrrsKeywordId+ = lens _rrrsKeywordId+ (\ s a -> s{_rrrsKeywordId = a})+ . mapping _Coerce++-- | DS ad group ID.+rrrsAdGroupId :: Lens' ReportRequestReportScope (Maybe Int64)+rrrsAdGroupId+ = lens _rrrsAdGroupId+ (\ s a -> s{_rrrsAdGroupId = a})+ . mapping _Coerce++-- | DS engine account ID.+rrrsEngineAccountId :: Lens' ReportRequestReportScope (Maybe Int64)+rrrsEngineAccountId+ = lens _rrrsEngineAccountId+ (\ s a -> s{_rrrsEngineAccountId = a})+ . mapping _Coerce++-- | DS agency ID.+rrrsAgencyId :: Lens' ReportRequestReportScope (Maybe Int64)+rrrsAgencyId+ = lens _rrrsAgencyId (\ s a -> s{_rrrsAgencyId = a})+ . mapping _Coerce++-- | DS advertiser ID.+rrrsAdvertiserId :: Lens' ReportRequestReportScope (Maybe Int64)+rrrsAdvertiserId+ = lens _rrrsAdvertiserId+ (\ s a -> s{_rrrsAdvertiserId = a})+ . mapping _Coerce++-- | DS campaign ID.+rrrsCampaignId :: Lens' ReportRequestReportScope (Maybe Int64)+rrrsCampaignId+ = lens _rrrsCampaignId+ (\ s a -> s{_rrrsCampaignId = a})+ . mapping _Coerce++-- | DS ad ID.+rrrsAdId :: Lens' ReportRequestReportScope (Maybe Int64)+rrrsAdId+ = lens _rrrsAdId (\ s a -> s{_rrrsAdId = a}) .+ mapping _Coerce++instance FromJSON ReportRequestReportScope where+ parseJSON+ = withObject "ReportRequestReportScope"+ (\ o ->+ ReportRequestReportScope <$>+ (o .:? "keywordId") <*> (o .:? "adGroupId") <*>+ (o .:? "engineAccountId")+ <*> (o .:? "agencyId")+ <*> (o .:? "advertiserId")+ <*> (o .:? "campaignId")+ <*> (o .:? "adId"))++instance ToJSON ReportRequestReportScope where+ toJSON ReportRequestReportScope{..}+ = object+ (catMaybes+ [("keywordId" .=) <$> _rrrsKeywordId,+ ("adGroupId" .=) <$> _rrrsAdGroupId,+ ("engineAccountId" .=) <$> _rrrsEngineAccountId,+ ("agencyId" .=) <$> _rrrsAgencyId,+ ("advertiserId" .=) <$> _rrrsAdvertiserId,+ ("campaignId" .=) <$> _rrrsCampaignId,+ ("adId" .=) <$> _rrrsAdId])++-- | 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.+--+-- /See:/ 'savedColumnList' smart constructor.+data SavedColumnList = SavedColumnList+ { _sclKind :: !Text+ , _sclItems :: !(Maybe [SavedColumn])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SavedColumnList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sclKind'+--+-- * 'sclItems'+savedColumnList+ :: SavedColumnList+savedColumnList =+ SavedColumnList+ { _sclKind = "doubleclicksearch#savedColumnList"+ , _sclItems = Nothing+ }++-- | Identifies this as a SavedColumnList resource. Value: the fixed string+-- doubleclicksearch#savedColumnList.+sclKind :: Lens' SavedColumnList Text+sclKind = lens _sclKind (\ s a -> s{_sclKind = a})++-- | The saved columns being requested.+sclItems :: Lens' SavedColumnList [SavedColumn]+sclItems+ = lens _sclItems (\ s a -> s{_sclItems = a}) .+ _Default+ . _Coerce++instance FromJSON SavedColumnList where+ parseJSON+ = withObject "SavedColumnList"+ (\ o ->+ SavedColumnList <$>+ (o .:? "kind" .!=+ "doubleclicksearch#savedColumnList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON SavedColumnList where+ toJSON SavedColumnList{..}+ = object+ (catMaybes+ [Just ("kind" .= _sclKind),+ ("items" .=) <$> _sclItems])
+ gen/Network/Google/DoubleClickSearch/Types/Sum.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.DoubleClickSearch.Types.Sum+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.DoubleClickSearch.Types.Sum where++import Network.Google.Prelude
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/Get.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Conversion.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of conversions from a DoubleClick Search engine+-- account.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.get@.+module Network.Google.Resource.DoubleClickSearch.Conversion.Get+ (+ -- * REST Resource+ ConversionGetResource++ -- * Creating a Request+ , conversionGet+ , ConversionGet++ -- * Request Lenses+ , cgAdGroupId+ , cgEngineAccountId+ , cgAgencyId+ , cgAdvertiserId+ , cgEndDate+ , cgCampaignId+ , cgCriterionId+ , cgStartDate+ , cgStartRow+ , cgAdId+ , cgRowCount+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.conversion.get@ method which the+-- 'ConversionGet' request conforms to.+type ConversionGetResource =+ "doubleclicksearch" :>+ "v2" :>+ "agency" :>+ Capture "agencyId" (Textual Int64) :>+ "advertiser" :>+ Capture "advertiserId" (Textual Int64) :>+ "engine" :>+ Capture "engineAccountId" (Textual Int64) :>+ "conversion" :>+ QueryParam "endDate" (Textual Int32) :>+ QueryParam "rowCount" (Textual Int32) :>+ QueryParam "startDate" (Textual Int32) :>+ QueryParam "startRow" (Textual Word32) :>+ QueryParam "adGroupId" (Textual Int64) :>+ QueryParam "campaignId" (Textual Int64) :>+ QueryParam "criterionId" (Textual Int64) :>+ QueryParam "adId" (Textual Int64) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ConversionList++-- | Retrieves a list of conversions from a DoubleClick Search engine+-- account.+--+-- /See:/ 'conversionGet' smart constructor.+data ConversionGet = ConversionGet+ { _cgAdGroupId :: !(Maybe (Textual Int64))+ , _cgEngineAccountId :: !(Textual Int64)+ , _cgAgencyId :: !(Textual Int64)+ , _cgAdvertiserId :: !(Textual Int64)+ , _cgEndDate :: !(Textual Int32)+ , _cgCampaignId :: !(Maybe (Textual Int64))+ , _cgCriterionId :: !(Maybe (Textual Int64))+ , _cgStartDate :: !(Textual Int32)+ , _cgStartRow :: !(Textual Word32)+ , _cgAdId :: !(Maybe (Textual Int64))+ , _cgRowCount :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgAdGroupId'+--+-- * 'cgEngineAccountId'+--+-- * 'cgAgencyId'+--+-- * 'cgAdvertiserId'+--+-- * 'cgEndDate'+--+-- * 'cgCampaignId'+--+-- * 'cgCriterionId'+--+-- * 'cgStartDate'+--+-- * 'cgStartRow'+--+-- * 'cgAdId'+--+-- * 'cgRowCount'+conversionGet+ :: Int64 -- ^ 'cgEngineAccountId'+ -> Int64 -- ^ 'cgAgencyId'+ -> Int64 -- ^ 'cgAdvertiserId'+ -> Int32 -- ^ 'cgEndDate'+ -> Int32 -- ^ 'cgStartDate'+ -> Word32 -- ^ 'cgStartRow'+ -> Int32 -- ^ 'cgRowCount'+ -> ConversionGet+conversionGet pCgEngineAccountId_ pCgAgencyId_ pCgAdvertiserId_ pCgEndDate_ pCgStartDate_ pCgStartRow_ pCgRowCount_ =+ ConversionGet+ { _cgAdGroupId = Nothing+ , _cgEngineAccountId = _Coerce # pCgEngineAccountId_+ , _cgAgencyId = _Coerce # pCgAgencyId_+ , _cgAdvertiserId = _Coerce # pCgAdvertiserId_+ , _cgEndDate = _Coerce # pCgEndDate_+ , _cgCampaignId = Nothing+ , _cgCriterionId = Nothing+ , _cgStartDate = _Coerce # pCgStartDate_+ , _cgStartRow = _Coerce # pCgStartRow_+ , _cgAdId = Nothing+ , _cgRowCount = _Coerce # pCgRowCount_+ }++-- | Numeric ID of the ad group.+cgAdGroupId :: Lens' ConversionGet (Maybe Int64)+cgAdGroupId+ = lens _cgAdGroupId (\ s a -> s{_cgAdGroupId = a}) .+ mapping _Coerce++-- | Numeric ID of the engine account.+cgEngineAccountId :: Lens' ConversionGet Int64+cgEngineAccountId+ = lens _cgEngineAccountId+ (\ s a -> s{_cgEngineAccountId = a})+ . _Coerce++-- | Numeric ID of the agency.+cgAgencyId :: Lens' ConversionGet Int64+cgAgencyId+ = lens _cgAgencyId (\ s a -> s{_cgAgencyId = a}) .+ _Coerce++-- | Numeric ID of the advertiser.+cgAdvertiserId :: Lens' ConversionGet Int64+cgAdvertiserId+ = lens _cgAdvertiserId+ (\ s a -> s{_cgAdvertiserId = a})+ . _Coerce++-- | Last date (inclusive) on which to retrieve conversions. Format is+-- yyyymmdd.+cgEndDate :: Lens' ConversionGet Int32+cgEndDate+ = lens _cgEndDate (\ s a -> s{_cgEndDate = a}) .+ _Coerce++-- | Numeric ID of the campaign.+cgCampaignId :: Lens' ConversionGet (Maybe Int64)+cgCampaignId+ = lens _cgCampaignId (\ s a -> s{_cgCampaignId = a})+ . mapping _Coerce++-- | Numeric ID of the criterion.+cgCriterionId :: Lens' ConversionGet (Maybe Int64)+cgCriterionId+ = lens _cgCriterionId+ (\ s a -> s{_cgCriterionId = a})+ . mapping _Coerce++-- | First date (inclusive) on which to retrieve conversions. Format is+-- yyyymmdd.+cgStartDate :: Lens' ConversionGet Int32+cgStartDate+ = lens _cgStartDate (\ s a -> s{_cgStartDate = a}) .+ _Coerce++-- | The 0-based starting index for retrieving conversions results.+cgStartRow :: Lens' ConversionGet Word32+cgStartRow+ = lens _cgStartRow (\ s a -> s{_cgStartRow = a}) .+ _Coerce++-- | Numeric ID of the ad.+cgAdId :: Lens' ConversionGet (Maybe Int64)+cgAdId+ = lens _cgAdId (\ s a -> s{_cgAdId = a}) .+ mapping _Coerce++-- | The number of conversions to return per call.+cgRowCount :: Lens' ConversionGet Int32+cgRowCount+ = lens _cgRowCount (\ s a -> s{_cgRowCount = a}) .+ _Coerce++instance GoogleRequest ConversionGet where+ type Rs ConversionGet = ConversionList+ requestClient ConversionGet{..}+ = go _cgAgencyId _cgAdvertiserId _cgEngineAccountId+ (Just _cgEndDate)+ (Just _cgRowCount)+ (Just _cgStartDate)+ (Just _cgStartRow)+ _cgAdGroupId+ _cgCampaignId+ _cgCriterionId+ _cgAdId+ (Just AltJSON)+ doubleClickSearchService+ where go+ = buildClient (Proxy :: Proxy ConversionGetResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/Insert.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Conversion.Insert+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a batch of new conversions into DoubleClick Search.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.insert@.+module Network.Google.Resource.DoubleClickSearch.Conversion.Insert+ (+ -- * REST Resource+ ConversionInsertResource++ -- * Creating a Request+ , conversionInsert+ , ConversionInsert++ -- * Request Lenses+ , ciPayload+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.conversion.insert@ method which the+-- 'ConversionInsert' request conforms to.+type ConversionInsertResource =+ "doubleclicksearch" :>+ "v2" :>+ "conversion" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ConversionList :>+ Post '[JSON] ConversionList++-- | Inserts a batch of new conversions into DoubleClick Search.+--+-- /See:/ 'conversionInsert' smart constructor.+newtype ConversionInsert = ConversionInsert+ { _ciPayload :: ConversionList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciPayload'+conversionInsert+ :: ConversionList -- ^ 'ciPayload'+ -> ConversionInsert+conversionInsert pCiPayload_ =+ ConversionInsert+ { _ciPayload = pCiPayload_+ }++-- | Multipart request metadata.+ciPayload :: Lens' ConversionInsert ConversionList+ciPayload+ = lens _ciPayload (\ s a -> s{_ciPayload = a})++instance GoogleRequest ConversionInsert where+ type Rs ConversionInsert = ConversionList+ requestClient ConversionInsert{..}+ = go (Just AltJSON) _ciPayload+ doubleClickSearchService+ where go+ = buildClient+ (Proxy :: Proxy ConversionInsertResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/Patch.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Conversion.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a batch of conversions in DoubleClick Search. This method+-- supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.patch@.+module Network.Google.Resource.DoubleClickSearch.Conversion.Patch+ (+ -- * REST Resource+ ConversionPatchResource++ -- * Creating a Request+ , conversionPatch+ , ConversionPatch++ -- * Request Lenses+ , cpEngineAccountId+ , cpAgencyId+ , cpAdvertiserId+ , cpEndDate+ , cpPayload+ , cpStartDate+ , cpStartRow+ , cpRowCount+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.conversion.patch@ method which the+-- 'ConversionPatch' request conforms to.+type ConversionPatchResource =+ "doubleclicksearch" :>+ "v2" :>+ "conversion" :>+ QueryParam "advertiserId" (Textual Int64) :>+ QueryParam "agencyId" (Textual Int64) :>+ QueryParam "endDate" (Textual Int32) :>+ QueryParam "engineAccountId" (Textual Int64) :>+ QueryParam "rowCount" (Textual Int32) :>+ QueryParam "startDate" (Textual Int32) :>+ QueryParam "startRow" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ConversionList :>+ Patch '[JSON] ConversionList++-- | Updates a batch of conversions in DoubleClick Search. This method+-- supports patch semantics.+--+-- /See:/ 'conversionPatch' smart constructor.+data ConversionPatch = ConversionPatch+ { _cpEngineAccountId :: !(Textual Int64)+ , _cpAgencyId :: !(Textual Int64)+ , _cpAdvertiserId :: !(Textual Int64)+ , _cpEndDate :: !(Textual Int32)+ , _cpPayload :: !ConversionList+ , _cpStartDate :: !(Textual Int32)+ , _cpStartRow :: !(Textual Word32)+ , _cpRowCount :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpEngineAccountId'+--+-- * 'cpAgencyId'+--+-- * 'cpAdvertiserId'+--+-- * 'cpEndDate'+--+-- * 'cpPayload'+--+-- * 'cpStartDate'+--+-- * 'cpStartRow'+--+-- * 'cpRowCount'+conversionPatch+ :: Int64 -- ^ 'cpEngineAccountId'+ -> Int64 -- ^ 'cpAgencyId'+ -> Int64 -- ^ 'cpAdvertiserId'+ -> Int32 -- ^ 'cpEndDate'+ -> ConversionList -- ^ 'cpPayload'+ -> Int32 -- ^ 'cpStartDate'+ -> Word32 -- ^ 'cpStartRow'+ -> Int32 -- ^ 'cpRowCount'+ -> ConversionPatch+conversionPatch pCpEngineAccountId_ pCpAgencyId_ pCpAdvertiserId_ pCpEndDate_ pCpPayload_ pCpStartDate_ pCpStartRow_ pCpRowCount_ =+ ConversionPatch+ { _cpEngineAccountId = _Coerce # pCpEngineAccountId_+ , _cpAgencyId = _Coerce # pCpAgencyId_+ , _cpAdvertiserId = _Coerce # pCpAdvertiserId_+ , _cpEndDate = _Coerce # pCpEndDate_+ , _cpPayload = pCpPayload_+ , _cpStartDate = _Coerce # pCpStartDate_+ , _cpStartRow = _Coerce # pCpStartRow_+ , _cpRowCount = _Coerce # pCpRowCount_+ }++-- | Numeric ID of the engine account.+cpEngineAccountId :: Lens' ConversionPatch Int64+cpEngineAccountId+ = lens _cpEngineAccountId+ (\ s a -> s{_cpEngineAccountId = a})+ . _Coerce++-- | Numeric ID of the agency.+cpAgencyId :: Lens' ConversionPatch Int64+cpAgencyId+ = lens _cpAgencyId (\ s a -> s{_cpAgencyId = a}) .+ _Coerce++-- | Numeric ID of the advertiser.+cpAdvertiserId :: Lens' ConversionPatch Int64+cpAdvertiserId+ = lens _cpAdvertiserId+ (\ s a -> s{_cpAdvertiserId = a})+ . _Coerce++-- | Last date (inclusive) on which to retrieve conversions. Format is+-- yyyymmdd.+cpEndDate :: Lens' ConversionPatch Int32+cpEndDate+ = lens _cpEndDate (\ s a -> s{_cpEndDate = a}) .+ _Coerce++-- | Multipart request metadata.+cpPayload :: Lens' ConversionPatch ConversionList+cpPayload+ = lens _cpPayload (\ s a -> s{_cpPayload = a})++-- | First date (inclusive) on which to retrieve conversions. Format is+-- yyyymmdd.+cpStartDate :: Lens' ConversionPatch Int32+cpStartDate+ = lens _cpStartDate (\ s a -> s{_cpStartDate = a}) .+ _Coerce++-- | The 0-based starting index for retrieving conversions results.+cpStartRow :: Lens' ConversionPatch Word32+cpStartRow+ = lens _cpStartRow (\ s a -> s{_cpStartRow = a}) .+ _Coerce++-- | The number of conversions to return per call.+cpRowCount :: Lens' ConversionPatch Int32+cpRowCount+ = lens _cpRowCount (\ s a -> s{_cpRowCount = a}) .+ _Coerce++instance GoogleRequest ConversionPatch where+ type Rs ConversionPatch = ConversionList+ requestClient ConversionPatch{..}+ = go (Just _cpAdvertiserId) (Just _cpAgencyId)+ (Just _cpEndDate)+ (Just _cpEngineAccountId)+ (Just _cpRowCount)+ (Just _cpStartDate)+ (Just _cpStartRow)+ (Just AltJSON)+ _cpPayload+ doubleClickSearchService+ where go+ = buildClient+ (Proxy :: Proxy ConversionPatchResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/Update.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Conversion.Update+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a batch of conversions in DoubleClick Search.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.update@.+module Network.Google.Resource.DoubleClickSearch.Conversion.Update+ (+ -- * REST Resource+ ConversionUpdateResource++ -- * Creating a Request+ , conversionUpdate+ , ConversionUpdate++ -- * Request Lenses+ , cuPayload+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.conversion.update@ method which the+-- 'ConversionUpdate' request conforms to.+type ConversionUpdateResource =+ "doubleclicksearch" :>+ "v2" :>+ "conversion" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ConversionList :>+ Put '[JSON] ConversionList++-- | Updates a batch of conversions in DoubleClick Search.+--+-- /See:/ 'conversionUpdate' smart constructor.+newtype ConversionUpdate = ConversionUpdate+ { _cuPayload :: ConversionList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuPayload'+conversionUpdate+ :: ConversionList -- ^ 'cuPayload'+ -> ConversionUpdate+conversionUpdate pCuPayload_ =+ ConversionUpdate+ { _cuPayload = pCuPayload_+ }++-- | Multipart request metadata.+cuPayload :: Lens' ConversionUpdate ConversionList+cuPayload+ = lens _cuPayload (\ s a -> s{_cuPayload = a})++instance GoogleRequest ConversionUpdate where+ type Rs ConversionUpdate = ConversionList+ requestClient ConversionUpdate{..}+ = go (Just AltJSON) _cuPayload+ doubleClickSearchService+ where go+ = buildClient+ (Proxy :: Proxy ConversionUpdateResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/UpdateAvailability.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the availabilities of a batch of floodlight activities in+-- DoubleClick Search.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.updateAvailability@.+module Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability+ (+ -- * REST Resource+ ConversionUpdateAvailabilityResource++ -- * Creating a Request+ , conversionUpdateAvailability+ , ConversionUpdateAvailability++ -- * Request Lenses+ , cuaPayload+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.conversion.updateAvailability@ method which the+-- 'ConversionUpdateAvailability' request conforms to.+type ConversionUpdateAvailabilityResource =+ "doubleclicksearch" :>+ "v2" :>+ "conversion" :>+ "updateAvailability" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] UpdateAvailabilityRequest :>+ Post '[JSON] UpdateAvailabilityResponse++-- | Updates the availabilities of a batch of floodlight activities in+-- DoubleClick Search.+--+-- /See:/ 'conversionUpdateAvailability' smart constructor.+newtype ConversionUpdateAvailability = ConversionUpdateAvailability+ { _cuaPayload :: UpdateAvailabilityRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionUpdateAvailability' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuaPayload'+conversionUpdateAvailability+ :: UpdateAvailabilityRequest -- ^ 'cuaPayload'+ -> ConversionUpdateAvailability+conversionUpdateAvailability pCuaPayload_ =+ ConversionUpdateAvailability+ { _cuaPayload = pCuaPayload_+ }++-- | Multipart request metadata.+cuaPayload :: Lens' ConversionUpdateAvailability UpdateAvailabilityRequest+cuaPayload+ = lens _cuaPayload (\ s a -> s{_cuaPayload = a})++instance GoogleRequest ConversionUpdateAvailability+ where+ type Rs ConversionUpdateAvailability =+ UpdateAvailabilityResponse+ requestClient ConversionUpdateAvailability{..}+ = go (Just AltJSON) _cuaPayload+ doubleClickSearchService+ where go+ = buildClient+ (Proxy :: Proxy ConversionUpdateAvailabilityResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/Generate.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Reports.Generate+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates and returns a report immediately.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.generate@.+module Network.Google.Resource.DoubleClickSearch.Reports.Generate+ (+ -- * REST Resource+ ReportsGenerateResource++ -- * Creating a Request+ , reportsGenerate+ , ReportsGenerate++ -- * Request Lenses+ , rgPayload+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.reports.generate@ method which the+-- 'ReportsGenerate' request conforms to.+type ReportsGenerateResource =+ "doubleclicksearch" :>+ "v2" :>+ "reports" :>+ "generate" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ReportRequest :> Post '[JSON] Report++-- | Generates and returns a report immediately.+--+-- /See:/ 'reportsGenerate' smart constructor.+newtype ReportsGenerate = ReportsGenerate+ { _rgPayload :: ReportRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsGenerate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgPayload'+reportsGenerate+ :: ReportRequest -- ^ 'rgPayload'+ -> ReportsGenerate+reportsGenerate pRgPayload_ =+ ReportsGenerate+ { _rgPayload = pRgPayload_+ }++-- | Multipart request metadata.+rgPayload :: Lens' ReportsGenerate ReportRequest+rgPayload+ = lens _rgPayload (\ s a -> s{_rgPayload = a})++instance GoogleRequest ReportsGenerate where+ type Rs ReportsGenerate = Report+ requestClient ReportsGenerate{..}+ = go (Just AltJSON) _rgPayload+ doubleClickSearchService+ where go+ = buildClient+ (Proxy :: Proxy ReportsGenerateResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/Get.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Reports.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Polls for the status of a report request.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.get@.+module Network.Google.Resource.DoubleClickSearch.Reports.Get+ (+ -- * REST Resource+ ReportsGetResource++ -- * Creating a Request+ , reportsGet+ , ReportsGet++ -- * Request Lenses+ , rgReportId+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.reports.get@ method which the+-- 'ReportsGet' request conforms to.+type ReportsGetResource =+ "doubleclicksearch" :>+ "v2" :>+ "reports" :>+ Capture "reportId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Report++-- | Polls for the status of a report request.+--+-- /See:/ 'reportsGet' smart constructor.+newtype ReportsGet = ReportsGet+ { _rgReportId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgReportId'+reportsGet+ :: Text -- ^ 'rgReportId'+ -> ReportsGet+reportsGet pRgReportId_ =+ ReportsGet+ { _rgReportId = pRgReportId_+ }++-- | ID of the report request being polled.+rgReportId :: Lens' ReportsGet Text+rgReportId+ = lens _rgReportId (\ s a -> s{_rgReportId = a})++instance GoogleRequest ReportsGet where+ type Rs ReportsGet = Report+ requestClient ReportsGet{..}+ = go _rgReportId (Just AltJSON)+ doubleClickSearchService+ where go+ = buildClient (Proxy :: Proxy ReportsGetResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/GetFile.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Reports.GetFile+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Downloads a report file encoded in UTF-8.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.getFile@.+module Network.Google.Resource.DoubleClickSearch.Reports.GetFile+ (+ -- * REST Resource+ ReportsGetFileResource++ -- * Creating a Request+ , reportsGetFile+ , ReportsGetFile++ -- * Request Lenses+ , rgfReportId+ , rgfReportFragment+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.reports.getFile@ method which the+-- 'ReportsGetFile' request conforms to.+type ReportsGetFileResource =+ "doubleclicksearch" :>+ "v2" :>+ "reports" :>+ Capture "reportId" Text :>+ "files" :>+ Capture "reportFragment" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ()+ :<|>+ "doubleclicksearch" :>+ "v2" :>+ "reports" :>+ Capture "reportId" Text :>+ "files" :>+ Capture "reportFragment" (Textual Int32) :>+ QueryParam "alt" AltMedia :>+ Get '[OctetStream] Stream++-- | Downloads a report file encoded in UTF-8.+--+-- /See:/ 'reportsGetFile' smart constructor.+data ReportsGetFile = ReportsGetFile+ { _rgfReportId :: !Text+ , _rgfReportFragment :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsGetFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgfReportId'+--+-- * 'rgfReportFragment'+reportsGetFile+ :: Text -- ^ 'rgfReportId'+ -> Int32 -- ^ 'rgfReportFragment'+ -> ReportsGetFile+reportsGetFile pRgfReportId_ pRgfReportFragment_ =+ ReportsGetFile+ { _rgfReportId = pRgfReportId_+ , _rgfReportFragment = _Coerce # pRgfReportFragment_+ }++-- | ID of the report.+rgfReportId :: Lens' ReportsGetFile Text+rgfReportId+ = lens _rgfReportId (\ s a -> s{_rgfReportId = a})++-- | The index of the report fragment to download.+rgfReportFragment :: Lens' ReportsGetFile Int32+rgfReportFragment+ = lens _rgfReportFragment+ (\ s a -> s{_rgfReportFragment = a})+ . _Coerce++instance GoogleRequest ReportsGetFile where+ type Rs ReportsGetFile = ()+ requestClient ReportsGetFile{..}+ = go _rgfReportId _rgfReportFragment (Just AltJSON)+ doubleClickSearchService+ where go :<|> _+ = buildClient (Proxy :: Proxy ReportsGetFileResource)+ mempty++instance GoogleRequest (MediaDownload ReportsGetFile)+ where+ type Rs (MediaDownload ReportsGetFile) = Stream+ requestClient (MediaDownload ReportsGetFile{..})+ = go _rgfReportId _rgfReportFragment (Just AltMedia)+ doubleClickSearchService+ where _ :<|> go+ = buildClient (Proxy :: Proxy ReportsGetFileResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/Request.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.Reports.Request+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a report request into the reporting system.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.request@.+module Network.Google.Resource.DoubleClickSearch.Reports.Request+ (+ -- * REST Resource+ ReportsRequestResource++ -- * Creating a Request+ , reportsRequest+ , ReportsRequest++ -- * Request Lenses+ , rrPayload+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.reports.request@ method which the+-- 'ReportsRequest' request conforms to.+type ReportsRequestResource =+ "doubleclicksearch" :>+ "v2" :>+ "reports" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ReportRequest :> Post '[JSON] Report++-- | Inserts a report request into the reporting system.+--+-- /See:/ 'reportsRequest' smart constructor.+newtype ReportsRequest = ReportsRequest+ { _rrPayload :: ReportRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrPayload'+reportsRequest+ :: ReportRequest -- ^ 'rrPayload'+ -> ReportsRequest+reportsRequest pRrPayload_ =+ ReportsRequest+ { _rrPayload = pRrPayload_+ }++-- | Multipart request metadata.+rrPayload :: Lens' ReportsRequest ReportRequest+rrPayload+ = lens _rrPayload (\ s a -> s{_rrPayload = a})++instance GoogleRequest ReportsRequest where+ type Rs ReportsRequest = Report+ requestClient ReportsRequest{..}+ = go (Just AltJSON) _rrPayload+ doubleClickSearchService+ where go+ = buildClient (Proxy :: Proxy ReportsRequestResource)+ mempty
+ gen/Network/Google/Resource/DoubleClickSearch/SavedColumns/List.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.DoubleClickSearch.SavedColumns.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the list of saved columns for a specified advertiser.+--+-- /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.savedColumns.list@.+module Network.Google.Resource.DoubleClickSearch.SavedColumns.List+ (+ -- * REST Resource+ SavedColumnsListResource++ -- * Creating a Request+ , savedColumnsList+ , SavedColumnsList++ -- * Request Lenses+ , sclAgencyId+ , sclAdvertiserId+ ) where++import Network.Google.DoubleClickSearch.Types+import Network.Google.Prelude++-- | A resource alias for @doubleclicksearch.savedColumns.list@ method which the+-- 'SavedColumnsList' request conforms to.+type SavedColumnsListResource =+ "doubleclicksearch" :>+ "v2" :>+ "agency" :>+ Capture "agencyId" (Textual Int64) :>+ "advertiser" :>+ Capture "advertiserId" (Textual Int64) :>+ "savedcolumns" :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] SavedColumnList++-- | Retrieve the list of saved columns for a specified advertiser.+--+-- /See:/ 'savedColumnsList' smart constructor.+data SavedColumnsList = SavedColumnsList+ { _sclAgencyId :: !(Textual Int64)+ , _sclAdvertiserId :: !(Textual Int64)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SavedColumnsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sclAgencyId'+--+-- * 'sclAdvertiserId'+savedColumnsList+ :: Int64 -- ^ 'sclAgencyId'+ -> Int64 -- ^ 'sclAdvertiserId'+ -> SavedColumnsList+savedColumnsList pSclAgencyId_ pSclAdvertiserId_ =+ SavedColumnsList+ { _sclAgencyId = _Coerce # pSclAgencyId_+ , _sclAdvertiserId = _Coerce # pSclAdvertiserId_+ }++-- | DS ID of the agency.+sclAgencyId :: Lens' SavedColumnsList Int64+sclAgencyId+ = lens _sclAgencyId (\ s a -> s{_sclAgencyId = a}) .+ _Coerce++-- | DS ID of the advertiser.+sclAdvertiserId :: Lens' SavedColumnsList Int64+sclAdvertiserId+ = lens _sclAdvertiserId+ (\ s a -> s{_sclAdvertiserId = a})+ . _Coerce++instance GoogleRequest SavedColumnsList where+ type Rs SavedColumnsList = SavedColumnList+ requestClient SavedColumnsList{..}+ = go _sclAgencyId _sclAdvertiserId (Just AltJSON)+ doubleClickSearchService+ where go+ = buildClient+ (Proxy :: Proxy SavedColumnsListResource)+ mempty
+ gogol-doubleclick-search.cabal view
@@ -0,0 +1,56 @@+name: gogol-doubleclick-search+version: 0.0.1+synopsis: Google DoubleClick Search SDK.+homepage: https://github.com/brendanhay/gogol+bug-reports: https://github.com/brendanhay/gogol/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2015 Brendan Hay+category: Network, Google, Cloud+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md++description:+ Report and modify your advertising data in DoubleClick Search (for+ example, campaigns, ad groups, keywords, and conversions).+ .+ /Warning:/ This is an experimental prototype/preview release which is still+ under exploratory development and not intended for public use, caveat emptor!+ .+ This library is compatible with version @v2@+ of the API.++source-repository head+ type: git+ location: git://github.com/brendanhay/gogol.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.Google.DoubleClickSearch+ , Network.Google.DoubleClickSearch.Types+ , Network.Google.Resource.DoubleClickSearch.Conversion.Get+ , Network.Google.Resource.DoubleClickSearch.Conversion.Insert+ , Network.Google.Resource.DoubleClickSearch.Conversion.Patch+ , Network.Google.Resource.DoubleClickSearch.Conversion.Update+ , Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability+ , Network.Google.Resource.DoubleClickSearch.Reports.Generate+ , Network.Google.Resource.DoubleClickSearch.Reports.Get+ , Network.Google.Resource.DoubleClickSearch.Reports.GetFile+ , Network.Google.Resource.DoubleClickSearch.Reports.Request+ , Network.Google.Resource.DoubleClickSearch.SavedColumns.List++ other-modules:+ Network.Google.DoubleClickSearch.Types.Product+ , Network.Google.DoubleClickSearch.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5