gogol-affiliates (empty) → 0.0.1
raw patch · 18 files changed
+6511/−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/Affiliates.hs +410/−0
- gen/Network/Google/Affiliates/Types.hs +351/−0
- gen/Network/Google/Affiliates/Types/Product.hs +2745/−0
- gen/Network/Google/Affiliates/Types/Sum.hs +753/−0
- gen/Network/Google/Resource/GAN/Advertisers/Get.hs +112/−0
- gen/Network/Google/Resource/GAN/Advertisers/List.hs +203/−0
- gen/Network/Google/Resource/GAN/CcOffers/List.hs +113/−0
- gen/Network/Google/Resource/GAN/Events/List.hs +312/−0
- gen/Network/Google/Resource/GAN/Links/Get.hs +113/−0
- gen/Network/Google/Resource/GAN/Links/Insert.hs +106/−0
- gen/Network/Google/Resource/GAN/Links/List.hs +269/−0
- gen/Network/Google/Resource/GAN/Publishers/Get.hs +112/−0
- gen/Network/Google/Resource/GAN/Publishers/List.hs +201/−0
- gen/Network/Google/Resource/GAN/Reports/Get.hs +259/−0
- gogol-affiliates.cabal +55/−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-affiliates++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Affiliate Network.+++## 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-affiliates` 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/Affiliates.hs view
@@ -0,0 +1,410 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.Affiliates+-- 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)+--+-- Lets you have programmatic access to your Google Affiliate Network data.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference>+module Network.Google.Affiliates+ (+ -- * Service Configuration+ affiliatesService++ -- * API Declaration+ , AffiliatesAPI++ -- * Resources++ -- ** gan.advertisers.get+ , module Network.Google.Resource.GAN.Advertisers.Get++ -- ** gan.advertisers.list+ , module Network.Google.Resource.GAN.Advertisers.List++ -- ** gan.ccOffers.list+ , module Network.Google.Resource.GAN.CcOffers.List++ -- ** gan.events.list+ , module Network.Google.Resource.GAN.Events.List++ -- ** gan.links.get+ , module Network.Google.Resource.GAN.Links.Get++ -- ** gan.links.insert+ , module Network.Google.Resource.GAN.Links.Insert++ -- ** gan.links.list+ , module Network.Google.Resource.GAN.Links.List++ -- ** gan.publishers.get+ , module Network.Google.Resource.GAN.Publishers.Get++ -- ** gan.publishers.list+ , module Network.Google.Resource.GAN.Publishers.List++ -- ** gan.reports.get+ , module Network.Google.Resource.GAN.Reports.Get++ -- * Types++ -- ** Event+ , Event+ , event+ , eModifyDate+ , eStatus+ , eCommissionableSales+ , eChargeId+ , eAdvertiserName+ , eChargeType+ , eMemberId+ , eKind+ , eNetworkFee+ , eAdvertiserId+ , eEventDate+ , eProducts+ , ePublisherFee+ , eType+ , eOrderId+ , ePublisherId+ , eEarnings+ , ePublisherName++ -- ** PublishersGetRole+ , PublishersGetRole (..)++ -- ** ReportsGetEventType+ , ReportsGetEventType (..)++ -- ** ReportsGetStatus+ , ReportsGetStatus (..)++ -- ** LinksListPromotionType+ , LinksListPromotionType (..)++ -- ** EventsListType+ , EventsListType (..)++ -- ** LinksListRole+ , LinksListRole (..)++ -- ** ReportsGetReportType+ , ReportsGetReportType (..)++ -- ** AdvertisersListRole+ , AdvertisersListRole (..)++ -- ** Money+ , Money+ , money+ , mAmount+ , mCurrencyCode++ -- ** Link+ , Link+ , link+ , lAuthorship+ , lDestinationURL+ , lClickTrackingURL+ , lCreateDate+ , lKind+ , lAdvertiserId+ , lEndDate+ , lImageAltText+ , lPromotionType+ , lAvailability+ , lStartDate+ , lName+ , lImpressionTrackingURL+ , lSpecialOffers+ , lEpcSevenDayAverage+ , lId+ , lEpcNinetyDayAverage+ , lLinkType+ , lIsActive+ , lDuration+ , lDescription++ -- ** LinksInsertRole+ , LinksInsertRole (..)++ -- ** CcOffers+ , CcOffers+ , ccOffers+ , coKind+ , coItems++ -- ** PublishersListRole+ , PublishersListRole (..)++ -- ** CcOfferDefaultFeesItem+ , CcOfferDefaultFeesItem+ , ccOfferDefaultFeesItem+ , codfiRateType+ , codfiMinRate+ , codfiCategory+ , codfiMaxRate++ -- ** Report+ , Report+ , report+ , rEndDate+ , rTotalsRows+ , rKind+ , rStartDate+ , rRows+ , rMatchingRowCount+ , rColumnNames+ , rType++ -- ** LinksListAuthorship+ , LinksListAuthorship (..)++ -- ** Advertisers+ , Advertisers+ , advertisers+ , aNextPageToken+ , aKind+ , aItems++ -- ** LinksGetRole+ , LinksGetRole (..)++ -- ** LinksListLinkType+ , LinksListLinkType (..)++ -- ** EventsListRole+ , EventsListRole (..)++ -- ** EventProductsItem+ , EventProductsItem+ , eventProductsItem+ , epiSKUName+ , epiNetworkFee+ , epiQuantity+ , epiCategoryName+ , epiCategoryId+ , epiSKU+ , epiPublisherFee+ , epiUnitPrice+ , epiEarnings++ -- ** AdvertisersListRelationshipStatus+ , AdvertisersListRelationshipStatus (..)++ -- ** CcOffersListProjection+ , CcOffersListProjection (..)++ -- ** CcOfferBonusRewardsItem+ , CcOfferBonusRewardsItem+ , ccOfferBonusRewardsItem+ , cobriAmount+ , cobriDetails++ -- ** AdvertisersGetRole+ , AdvertisersGetRole (..)++ -- ** EventsListChargeType+ , EventsListChargeType (..)++ -- ** PublishersListRelationshipStatus+ , PublishersListRelationshipStatus (..)++ -- ** ReportsGetRole+ , ReportsGetRole (..)++ -- ** Events+ , Events+ , events+ , eveNextPageToken+ , eveKind+ , eveItems++ -- ** LinkSpecialOffers+ , LinkSpecialOffers+ , linkSpecialOffers+ , lsoFreeShippingMin+ , lsoPercentOff+ , lsoPriceCut+ , lsoPriceCutMin+ , lsoPercentOffMin+ , lsoFreeShipping+ , lsoPromotionCodes+ , lsoFreeGift++ -- ** Publishers+ , Publishers+ , publishers+ , pNextPageToken+ , pKind+ , pItems++ -- ** Advertiser+ , Advertiser+ , advertiser+ , advAllowPublisherCreatedLinks+ , advContactPhone+ , advContactEmail+ , advStatus+ , advLogoURL+ , advKind+ , advCategory+ , advSiteURL+ , advPayoutRank+ , advJoinDate+ , advDefaultLinkId+ , advRedirectDomains+ , advName+ , advProductFeedsEnabled+ , advMerchantCenterIds+ , advEpcSevenDayAverage+ , advItem+ , advId+ , advEpcNinetyDayAverage+ , advCommissionDuration+ , advDescription++ -- ** CcOffer+ , CcOffer+ , ccOffer+ , cMinimumFinanceCharge+ , cTrackingURL+ , cProhibitedCategories+ , cBalanceComputationMethod+ , cInitialSetupAndProcessingFee+ , cReturnedPaymentFee+ , cAgeMinimumDetails+ , cVariableRatesUpdateFrequency+ , cCreditLimitMin+ , cTravelInsurance+ , cApprovedCategories+ , cAnnualFeeDisplay+ , cOverLimitFee+ , cMaxPurchaseRate+ , cAgeMinimum+ , cVariableRatesLastUpdated+ , cIntroCashAdvanceTerms+ , cIssuerWebsite+ , cLuggageInsurance+ , cKind+ , cRewardsHaveBlackoutDates+ , cDisclaimer+ , cAdditionalCardHolderFee+ , cExistingCustomerOnly+ , cEmergencyInsurance+ , cNetwork+ , cCashAdvanceTerms+ , cStatementCopyFee+ , cAprDisplay+ , cOffersImmediateCashReward+ , cRewards+ , cCardType+ , cImageURL+ , cCreditLimitMax+ , cLandingPageURL+ , cAnnualFee+ , cRewardsExpire+ , cFirstYearAnnualFee+ , cCarRentalInsurance+ , cPurchaseRateAdditionalDetails+ , cOfferId+ , cGracePeriodDisplay+ , cIntroPurchaseTerms+ , cCreditRatingDisplay+ , cBalanceTransferTerms+ , cLatePaymentFee+ , cCardBenefits+ , cIssuer+ , cCardName+ , cMinPurchaseRate+ , cFraudLiability+ , cForeignCurrencyTransactionFee+ , cExtendedWarranty+ , cAnnualRewardMaximum+ , cIssuerId+ , cIntroBalanceTransferTerms+ , cDefaultFees+ , cAdditionalCardBenefits+ , cRewardUnit+ , cBonusRewards+ , cFlightAccidentInsurance+ , cRewardPartner+ , cPurchaseRateType++ -- ** Links+ , Links+ , links+ , linNextPageToken+ , linKind+ , linItems++ -- ** Publisher+ , Publisher+ , publisher+ , pubStatus+ , pubKind+ , pubPayoutRank+ , pubJoinDate+ , pubClassification+ , pubName+ , pubEpcSevenDayAverage+ , pubItem+ , pubId+ , pubEpcNinetyDayAverage+ , pubSites++ -- ** CcOfferRewardsItem+ , CcOfferRewardsItem+ , ccOfferRewardsItem+ , coriAmount+ , coriExpirationMonths+ , coriCategory+ , coriAdditionalDetails+ , coriMaxRewardTier+ , coriMinRewardTier++ -- ** LinksListRelationshipStatus+ , LinksListRelationshipStatus (..)++ -- ** EventsListStatus+ , EventsListStatus (..)+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude+import Network.Google.Resource.GAN.Advertisers.Get+import Network.Google.Resource.GAN.Advertisers.List+import Network.Google.Resource.GAN.CcOffers.List+import Network.Google.Resource.GAN.Events.List+import Network.Google.Resource.GAN.Links.Get+import Network.Google.Resource.GAN.Links.Insert+import Network.Google.Resource.GAN.Links.List+import Network.Google.Resource.GAN.Publishers.Get+import Network.Google.Resource.GAN.Publishers.List+import Network.Google.Resource.GAN.Reports.Get++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Affiliate Network API service.+type AffiliatesAPI =+ ReportsGetResource :<|> CcOffersListResource :<|>+ AdvertisersListResource+ :<|> AdvertisersGetResource+ :<|> EventsListResource+ :<|> PublishersListResource+ :<|> PublishersGetResource+ :<|> LinksInsertResource+ :<|> LinksListResource+ :<|> LinksGetResource
+ gen/Network/Google/Affiliates/Types.hs view
@@ -0,0 +1,351 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Affiliates.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.Affiliates.Types+ (+ -- * Service Configuration+ affiliatesService++ -- * Event+ , Event+ , event+ , eModifyDate+ , eStatus+ , eCommissionableSales+ , eChargeId+ , eAdvertiserName+ , eChargeType+ , eMemberId+ , eKind+ , eNetworkFee+ , eAdvertiserId+ , eEventDate+ , eProducts+ , ePublisherFee+ , eType+ , eOrderId+ , ePublisherId+ , eEarnings+ , ePublisherName++ -- * PublishersGetRole+ , PublishersGetRole (..)++ -- * ReportsGetEventType+ , ReportsGetEventType (..)++ -- * ReportsGetStatus+ , ReportsGetStatus (..)++ -- * LinksListPromotionType+ , LinksListPromotionType (..)++ -- * EventsListType+ , EventsListType (..)++ -- * LinksListRole+ , LinksListRole (..)++ -- * ReportsGetReportType+ , ReportsGetReportType (..)++ -- * AdvertisersListRole+ , AdvertisersListRole (..)++ -- * Money+ , Money+ , money+ , mAmount+ , mCurrencyCode++ -- * Link+ , Link+ , link+ , lAuthorship+ , lDestinationURL+ , lClickTrackingURL+ , lCreateDate+ , lKind+ , lAdvertiserId+ , lEndDate+ , lImageAltText+ , lPromotionType+ , lAvailability+ , lStartDate+ , lName+ , lImpressionTrackingURL+ , lSpecialOffers+ , lEpcSevenDayAverage+ , lId+ , lEpcNinetyDayAverage+ , lLinkType+ , lIsActive+ , lDuration+ , lDescription++ -- * LinksInsertRole+ , LinksInsertRole (..)++ -- * CcOffers+ , CcOffers+ , ccOffers+ , coKind+ , coItems++ -- * PublishersListRole+ , PublishersListRole (..)++ -- * CcOfferDefaultFeesItem+ , CcOfferDefaultFeesItem+ , ccOfferDefaultFeesItem+ , codfiRateType+ , codfiMinRate+ , codfiCategory+ , codfiMaxRate++ -- * Report+ , Report+ , report+ , rEndDate+ , rTotalsRows+ , rKind+ , rStartDate+ , rRows+ , rMatchingRowCount+ , rColumnNames+ , rType++ -- * LinksListAuthorship+ , LinksListAuthorship (..)++ -- * Advertisers+ , Advertisers+ , advertisers+ , aNextPageToken+ , aKind+ , aItems++ -- * LinksGetRole+ , LinksGetRole (..)++ -- * LinksListLinkType+ , LinksListLinkType (..)++ -- * EventsListRole+ , EventsListRole (..)++ -- * EventProductsItem+ , EventProductsItem+ , eventProductsItem+ , epiSKUName+ , epiNetworkFee+ , epiQuantity+ , epiCategoryName+ , epiCategoryId+ , epiSKU+ , epiPublisherFee+ , epiUnitPrice+ , epiEarnings++ -- * AdvertisersListRelationshipStatus+ , AdvertisersListRelationshipStatus (..)++ -- * CcOffersListProjection+ , CcOffersListProjection (..)++ -- * CcOfferBonusRewardsItem+ , CcOfferBonusRewardsItem+ , ccOfferBonusRewardsItem+ , cobriAmount+ , cobriDetails++ -- * AdvertisersGetRole+ , AdvertisersGetRole (..)++ -- * EventsListChargeType+ , EventsListChargeType (..)++ -- * PublishersListRelationshipStatus+ , PublishersListRelationshipStatus (..)++ -- * ReportsGetRole+ , ReportsGetRole (..)++ -- * Events+ , Events+ , events+ , eveNextPageToken+ , eveKind+ , eveItems++ -- * LinkSpecialOffers+ , LinkSpecialOffers+ , linkSpecialOffers+ , lsoFreeShippingMin+ , lsoPercentOff+ , lsoPriceCut+ , lsoPriceCutMin+ , lsoPercentOffMin+ , lsoFreeShipping+ , lsoPromotionCodes+ , lsoFreeGift++ -- * Publishers+ , Publishers+ , publishers+ , pNextPageToken+ , pKind+ , pItems++ -- * Advertiser+ , Advertiser+ , advertiser+ , advAllowPublisherCreatedLinks+ , advContactPhone+ , advContactEmail+ , advStatus+ , advLogoURL+ , advKind+ , advCategory+ , advSiteURL+ , advPayoutRank+ , advJoinDate+ , advDefaultLinkId+ , advRedirectDomains+ , advName+ , advProductFeedsEnabled+ , advMerchantCenterIds+ , advEpcSevenDayAverage+ , advItem+ , advId+ , advEpcNinetyDayAverage+ , advCommissionDuration+ , advDescription++ -- * CcOffer+ , CcOffer+ , ccOffer+ , cMinimumFinanceCharge+ , cTrackingURL+ , cProhibitedCategories+ , cBalanceComputationMethod+ , cInitialSetupAndProcessingFee+ , cReturnedPaymentFee+ , cAgeMinimumDetails+ , cVariableRatesUpdateFrequency+ , cCreditLimitMin+ , cTravelInsurance+ , cApprovedCategories+ , cAnnualFeeDisplay+ , cOverLimitFee+ , cMaxPurchaseRate+ , cAgeMinimum+ , cVariableRatesLastUpdated+ , cIntroCashAdvanceTerms+ , cIssuerWebsite+ , cLuggageInsurance+ , cKind+ , cRewardsHaveBlackoutDates+ , cDisclaimer+ , cAdditionalCardHolderFee+ , cExistingCustomerOnly+ , cEmergencyInsurance+ , cNetwork+ , cCashAdvanceTerms+ , cStatementCopyFee+ , cAprDisplay+ , cOffersImmediateCashReward+ , cRewards+ , cCardType+ , cImageURL+ , cCreditLimitMax+ , cLandingPageURL+ , cAnnualFee+ , cRewardsExpire+ , cFirstYearAnnualFee+ , cCarRentalInsurance+ , cPurchaseRateAdditionalDetails+ , cOfferId+ , cGracePeriodDisplay+ , cIntroPurchaseTerms+ , cCreditRatingDisplay+ , cBalanceTransferTerms+ , cLatePaymentFee+ , cCardBenefits+ , cIssuer+ , cCardName+ , cMinPurchaseRate+ , cFraudLiability+ , cForeignCurrencyTransactionFee+ , cExtendedWarranty+ , cAnnualRewardMaximum+ , cIssuerId+ , cIntroBalanceTransferTerms+ , cDefaultFees+ , cAdditionalCardBenefits+ , cRewardUnit+ , cBonusRewards+ , cFlightAccidentInsurance+ , cRewardPartner+ , cPurchaseRateType++ -- * Links+ , Links+ , links+ , linNextPageToken+ , linKind+ , linItems++ -- * Publisher+ , Publisher+ , publisher+ , pubStatus+ , pubKind+ , pubPayoutRank+ , pubJoinDate+ , pubClassification+ , pubName+ , pubEpcSevenDayAverage+ , pubItem+ , pubId+ , pubEpcNinetyDayAverage+ , pubSites++ -- * CcOfferRewardsItem+ , CcOfferRewardsItem+ , ccOfferRewardsItem+ , coriAmount+ , coriExpirationMonths+ , coriCategory+ , coriAdditionalDetails+ , coriMaxRewardTier+ , coriMinRewardTier++ -- * LinksListRelationshipStatus+ , LinksListRelationshipStatus (..)++ -- * EventsListStatus+ , EventsListStatus (..)+ ) where++import Network.Google.Affiliates.Types.Product+import Network.Google.Affiliates.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1beta1' of the Google Affiliate Network API. This contains the host and root path used as a starting point for constructing service requests.+affiliatesService :: Service+affiliatesService+ = defaultService (ServiceId "gan:v1beta1")+ "www.googleapis.com"
+ gen/Network/Google/Affiliates/Types/Product.hs view
@@ -0,0 +1,2745 @@+{-# 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.Affiliates.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.Affiliates.Types.Product where++import Network.Google.Affiliates.Types.Sum+import Network.Google.Prelude++-- | An EventResource.+--+-- /See:/ 'event' smart constructor.+data Event = Event+ { _eModifyDate :: !(Maybe DateTime')+ , _eStatus :: !(Maybe Text)+ , _eCommissionableSales :: !(Maybe Money)+ , _eChargeId :: !(Maybe Text)+ , _eAdvertiserName :: !(Maybe Text)+ , _eChargeType :: !(Maybe Text)+ , _eMemberId :: !(Maybe Text)+ , _eKind :: !Text+ , _eNetworkFee :: !(Maybe Money)+ , _eAdvertiserId :: !(Maybe (Textual Int64))+ , _eEventDate :: !(Maybe DateTime')+ , _eProducts :: !(Maybe [EventProductsItem])+ , _ePublisherFee :: !(Maybe Money)+ , _eType :: !(Maybe Text)+ , _eOrderId :: !(Maybe Text)+ , _ePublisherId :: !(Maybe (Textual Int64))+ , _eEarnings :: !(Maybe Money)+ , _ePublisherName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Event' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eModifyDate'+--+-- * 'eStatus'+--+-- * 'eCommissionableSales'+--+-- * 'eChargeId'+--+-- * 'eAdvertiserName'+--+-- * 'eChargeType'+--+-- * 'eMemberId'+--+-- * 'eKind'+--+-- * 'eNetworkFee'+--+-- * 'eAdvertiserId'+--+-- * 'eEventDate'+--+-- * 'eProducts'+--+-- * 'ePublisherFee'+--+-- * 'eType'+--+-- * 'eOrderId'+--+-- * 'ePublisherId'+--+-- * 'eEarnings'+--+-- * 'ePublisherName'+event+ :: Event+event =+ Event+ { _eModifyDate = Nothing+ , _eStatus = Nothing+ , _eCommissionableSales = Nothing+ , _eChargeId = Nothing+ , _eAdvertiserName = Nothing+ , _eChargeType = Nothing+ , _eMemberId = Nothing+ , _eKind = "gan#event"+ , _eNetworkFee = Nothing+ , _eAdvertiserId = Nothing+ , _eEventDate = Nothing+ , _eProducts = Nothing+ , _ePublisherFee = Nothing+ , _eType = Nothing+ , _eOrderId = Nothing+ , _ePublisherId = Nothing+ , _eEarnings = Nothing+ , _ePublisherName = Nothing+ }++-- | The date-time this event was last modified as a RFC 3339 date-time+-- value.+eModifyDate :: Lens' Event (Maybe UTCTime)+eModifyDate+ = lens _eModifyDate (\ s a -> s{_eModifyDate = a}) .+ mapping _DateTime++-- | Status of the event (active|canceled). Only returned for charge and+-- conversion events.+eStatus :: Lens' Event (Maybe Text)+eStatus = lens _eStatus (\ s a -> s{_eStatus = a})++-- | Amount of money exchanged during the transaction. Only returned for+-- charge and conversion events.+eCommissionableSales :: Lens' Event (Maybe Money)+eCommissionableSales+ = lens _eCommissionableSales+ (\ s a -> s{_eCommissionableSales = a})++-- | The charge ID for this event. Only returned for charge events.+eChargeId :: Lens' Event (Maybe Text)+eChargeId+ = lens _eChargeId (\ s a -> s{_eChargeId = a})++-- | The name of the advertiser for this event.+eAdvertiserName :: Lens' Event (Maybe Text)+eAdvertiserName+ = lens _eAdvertiserName+ (\ s a -> s{_eAdvertiserName = a})++-- | Charge type of the event+-- (other|slotting_fee|monthly_minimum|tier_bonus|debit|credit). Only+-- returned for charge events.+eChargeType :: Lens' Event (Maybe Text)+eChargeType+ = lens _eChargeType (\ s a -> s{_eChargeType = a})++-- | The ID of the member attached to this event. Only returned for+-- conversion events.+eMemberId :: Lens' Event (Maybe Text)+eMemberId+ = lens _eMemberId (\ s a -> s{_eMemberId = a})++-- | The kind for one event.+eKind :: Lens' Event Text+eKind = lens _eKind (\ s a -> s{_eKind = a})++-- | Fee that the advertiser paid to the Google Affiliate Network.+eNetworkFee :: Lens' Event (Maybe Money)+eNetworkFee+ = lens _eNetworkFee (\ s a -> s{_eNetworkFee = a})++-- | The ID of advertiser for this event.+eAdvertiserId :: Lens' Event (Maybe Int64)+eAdvertiserId+ = lens _eAdvertiserId+ (\ s a -> s{_eAdvertiserId = a})+ . mapping _Coerce++-- | The date-time this event was initiated as a RFC 3339 date-time value.+eEventDate :: Lens' Event (Maybe UTCTime)+eEventDate+ = lens _eEventDate (\ s a -> s{_eEventDate = a}) .+ mapping _DateTime++-- | Products associated with the event.+eProducts :: Lens' Event [EventProductsItem]+eProducts+ = lens _eProducts (\ s a -> s{_eProducts = a}) .+ _Default+ . _Coerce++-- | Fee that the advertiser paid to the publisher.+ePublisherFee :: Lens' Event (Maybe Money)+ePublisherFee+ = lens _ePublisherFee+ (\ s a -> s{_ePublisherFee = a})++-- | Type of the event (action|transaction|charge).+eType :: Lens' Event (Maybe Text)+eType = lens _eType (\ s a -> s{_eType = a})++-- | The order ID for this event. Only returned for conversion events.+eOrderId :: Lens' Event (Maybe Text)+eOrderId = lens _eOrderId (\ s a -> s{_eOrderId = a})++-- | The ID of the publisher for this event.+ePublisherId :: Lens' Event (Maybe Int64)+ePublisherId+ = lens _ePublisherId (\ s a -> s{_ePublisherId = a})+ . mapping _Coerce++-- | Earnings by the publisher.+eEarnings :: Lens' Event (Maybe Money)+eEarnings+ = lens _eEarnings (\ s a -> s{_eEarnings = a})++-- | The name of the publisher for this event.+ePublisherName :: Lens' Event (Maybe Text)+ePublisherName+ = lens _ePublisherName+ (\ s a -> s{_ePublisherName = a})++instance FromJSON Event where+ parseJSON+ = withObject "Event"+ (\ o ->+ Event <$>+ (o .:? "modifyDate") <*> (o .:? "status") <*>+ (o .:? "commissionableSales")+ <*> (o .:? "chargeId")+ <*> (o .:? "advertiserName")+ <*> (o .:? "chargeType")+ <*> (o .:? "memberId")+ <*> (o .:? "kind" .!= "gan#event")+ <*> (o .:? "networkFee")+ <*> (o .:? "advertiserId")+ <*> (o .:? "eventDate")+ <*> (o .:? "products" .!= mempty)+ <*> (o .:? "publisherFee")+ <*> (o .:? "type")+ <*> (o .:? "orderId")+ <*> (o .:? "publisherId")+ <*> (o .:? "earnings")+ <*> (o .:? "publisherName"))++instance ToJSON Event where+ toJSON Event{..}+ = object+ (catMaybes+ [("modifyDate" .=) <$> _eModifyDate,+ ("status" .=) <$> _eStatus,+ ("commissionableSales" .=) <$> _eCommissionableSales,+ ("chargeId" .=) <$> _eChargeId,+ ("advertiserName" .=) <$> _eAdvertiserName,+ ("chargeType" .=) <$> _eChargeType,+ ("memberId" .=) <$> _eMemberId,+ Just ("kind" .= _eKind),+ ("networkFee" .=) <$> _eNetworkFee,+ ("advertiserId" .=) <$> _eAdvertiserId,+ ("eventDate" .=) <$> _eEventDate,+ ("products" .=) <$> _eProducts,+ ("publisherFee" .=) <$> _ePublisherFee,+ ("type" .=) <$> _eType, ("orderId" .=) <$> _eOrderId,+ ("publisherId" .=) <$> _ePublisherId,+ ("earnings" .=) <$> _eEarnings,+ ("publisherName" .=) <$> _ePublisherName])++-- | An ApiMoneyProto.+--+-- /See:/ 'money' smart constructor.+data Money = Money+ { _mAmount :: !(Maybe (Textual Double))+ , _mCurrencyCode :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Money' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mAmount'+--+-- * 'mCurrencyCode'+money+ :: Money+money =+ Money+ { _mAmount = Nothing+ , _mCurrencyCode = Nothing+ }++-- | The amount of money.+mAmount :: Lens' Money (Maybe Double)+mAmount+ = lens _mAmount (\ s a -> s{_mAmount = a}) .+ mapping _Coerce++-- | The 3-letter code of the currency in question.+mCurrencyCode :: Lens' Money (Maybe Text)+mCurrencyCode+ = lens _mCurrencyCode+ (\ s a -> s{_mCurrencyCode = a})++instance FromJSON Money where+ parseJSON+ = withObject "Money"+ (\ o ->+ Money <$>+ (o .:? "amount") <*> (o .:? "currencyCode"))++instance ToJSON Money where+ toJSON Money{..}+ = object+ (catMaybes+ [("amount" .=) <$> _mAmount,+ ("currencyCode" .=) <$> _mCurrencyCode])++-- | A LinkResource.+--+-- /See:/ 'link' smart constructor.+data Link = Link+ { _lAuthorship :: !(Maybe Text)+ , _lDestinationURL :: !(Maybe Text)+ , _lClickTrackingURL :: !(Maybe Text)+ , _lCreateDate :: !(Maybe DateTime')+ , _lKind :: !Text+ , _lAdvertiserId :: !(Maybe (Textual Int64))+ , _lEndDate :: !(Maybe DateTime')+ , _lImageAltText :: !(Maybe Text)+ , _lPromotionType :: !(Maybe Text)+ , _lAvailability :: !(Maybe Text)+ , _lStartDate :: !(Maybe DateTime')+ , _lName :: !(Maybe Text)+ , _lImpressionTrackingURL :: !(Maybe Text)+ , _lSpecialOffers :: !(Maybe LinkSpecialOffers)+ , _lEpcSevenDayAverage :: !(Maybe Money)+ , _lId :: !(Maybe (Textual Int64))+ , _lEpcNinetyDayAverage :: !(Maybe Money)+ , _lLinkType :: !(Maybe Text)+ , _lIsActive :: !(Maybe Bool)+ , _lDuration :: !(Maybe Text)+ , _lDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Link' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lAuthorship'+--+-- * 'lDestinationURL'+--+-- * 'lClickTrackingURL'+--+-- * 'lCreateDate'+--+-- * 'lKind'+--+-- * 'lAdvertiserId'+--+-- * 'lEndDate'+--+-- * 'lImageAltText'+--+-- * 'lPromotionType'+--+-- * 'lAvailability'+--+-- * 'lStartDate'+--+-- * 'lName'+--+-- * 'lImpressionTrackingURL'+--+-- * 'lSpecialOffers'+--+-- * 'lEpcSevenDayAverage'+--+-- * 'lId'+--+-- * 'lEpcNinetyDayAverage'+--+-- * 'lLinkType'+--+-- * 'lIsActive'+--+-- * 'lDuration'+--+-- * 'lDescription'+link+ :: Link+link =+ Link+ { _lAuthorship = Nothing+ , _lDestinationURL = Nothing+ , _lClickTrackingURL = Nothing+ , _lCreateDate = Nothing+ , _lKind = "gan#link"+ , _lAdvertiserId = Nothing+ , _lEndDate = Nothing+ , _lImageAltText = Nothing+ , _lPromotionType = Nothing+ , _lAvailability = Nothing+ , _lStartDate = Nothing+ , _lName = Nothing+ , _lImpressionTrackingURL = Nothing+ , _lSpecialOffers = Nothing+ , _lEpcSevenDayAverage = Nothing+ , _lId = Nothing+ , _lEpcNinetyDayAverage = Nothing+ , _lLinkType = Nothing+ , _lIsActive = Nothing+ , _lDuration = Nothing+ , _lDescription = Nothing+ }++-- | Authorship+lAuthorship :: Lens' Link (Maybe Text)+lAuthorship+ = lens _lAuthorship (\ s a -> s{_lAuthorship = a})++-- | The destination URL for the link.+lDestinationURL :: Lens' Link (Maybe Text)+lDestinationURL+ = lens _lDestinationURL+ (\ s a -> s{_lDestinationURL = a})++-- | Tracking url for clicks.+lClickTrackingURL :: Lens' Link (Maybe Text)+lClickTrackingURL+ = lens _lClickTrackingURL+ (\ s a -> s{_lClickTrackingURL = a})++-- | Date that this link was created.+lCreateDate :: Lens' Link (Maybe UTCTime)+lCreateDate+ = lens _lCreateDate (\ s a -> s{_lCreateDate = a}) .+ mapping _DateTime++-- | The kind for one entity.+lKind :: Lens' Link Text+lKind = lens _lKind (\ s a -> s{_lKind = a})++-- | The advertiser id for the advertiser who owns this link.+lAdvertiserId :: Lens' Link (Maybe Int64)+lAdvertiserId+ = lens _lAdvertiserId+ (\ s a -> s{_lAdvertiserId = a})+ . mapping _Coerce++-- | Date that this link becomes inactive.+lEndDate :: Lens' Link (Maybe UTCTime)+lEndDate+ = lens _lEndDate (\ s a -> s{_lEndDate = a}) .+ mapping _DateTime++-- | image alt text.+lImageAltText :: Lens' Link (Maybe Text)+lImageAltText+ = lens _lImageAltText+ (\ s a -> s{_lImageAltText = a})++-- | Promotion Type+lPromotionType :: Lens' Link (Maybe Text)+lPromotionType+ = lens _lPromotionType+ (\ s a -> s{_lPromotionType = a})++-- | Availability.+lAvailability :: Lens' Link (Maybe Text)+lAvailability+ = lens _lAvailability+ (\ s a -> s{_lAvailability = a})++-- | Date that this link becomes active.+lStartDate :: Lens' Link (Maybe UTCTime)+lStartDate+ = lens _lStartDate (\ s a -> s{_lStartDate = a}) .+ mapping _DateTime++-- | The logical name for this link.+lName :: Lens' Link (Maybe Text)+lName = lens _lName (\ s a -> s{_lName = a})++-- | Tracking url for impressions.+lImpressionTrackingURL :: Lens' Link (Maybe Text)+lImpressionTrackingURL+ = lens _lImpressionTrackingURL+ (\ s a -> s{_lImpressionTrackingURL = a})++-- | Special offers on the link.+lSpecialOffers :: Lens' Link (Maybe LinkSpecialOffers)+lSpecialOffers+ = lens _lSpecialOffers+ (\ s a -> s{_lSpecialOffers = a})++-- | The sum of fees paid to publishers divided by the total number of clicks+-- over the past seven days on this link. This value should be multiplied+-- by 100 at the time of display.+lEpcSevenDayAverage :: Lens' Link (Maybe Money)+lEpcSevenDayAverage+ = lens _lEpcSevenDayAverage+ (\ s a -> s{_lEpcSevenDayAverage = a})++-- | The ID of this link.+lId :: Lens' Link (Maybe Int64)+lId+ = lens _lId (\ s a -> s{_lId = a}) . mapping _Coerce++-- | The sum of fees paid to publishers divided by the total number of clicks+-- over the past three months on this link. This value should be multiplied+-- by 100 at the time of display.+lEpcNinetyDayAverage :: Lens' Link (Maybe Money)+lEpcNinetyDayAverage+ = lens _lEpcNinetyDayAverage+ (\ s a -> s{_lEpcNinetyDayAverage = a})++-- | The link type.+lLinkType :: Lens' Link (Maybe Text)+lLinkType+ = lens _lLinkType (\ s a -> s{_lLinkType = a})++-- | Flag for if this link is active.+lIsActive :: Lens' Link (Maybe Bool)+lIsActive+ = lens _lIsActive (\ s a -> s{_lIsActive = a})++-- | Duration+lDuration :: Lens' Link (Maybe Text)+lDuration+ = lens _lDuration (\ s a -> s{_lDuration = a})++-- | Description.+lDescription :: Lens' Link (Maybe Text)+lDescription+ = lens _lDescription (\ s a -> s{_lDescription = a})++instance FromJSON Link where+ parseJSON+ = withObject "Link"+ (\ o ->+ Link <$>+ (o .:? "authorship") <*> (o .:? "destinationUrl") <*>+ (o .:? "clickTrackingUrl")+ <*> (o .:? "createDate")+ <*> (o .:? "kind" .!= "gan#link")+ <*> (o .:? "advertiserId")+ <*> (o .:? "endDate")+ <*> (o .:? "imageAltText")+ <*> (o .:? "promotionType")+ <*> (o .:? "availability")+ <*> (o .:? "startDate")+ <*> (o .:? "name")+ <*> (o .:? "impressionTrackingUrl")+ <*> (o .:? "specialOffers")+ <*> (o .:? "epcSevenDayAverage")+ <*> (o .:? "id")+ <*> (o .:? "epcNinetyDayAverage")+ <*> (o .:? "linkType")+ <*> (o .:? "isActive")+ <*> (o .:? "duration")+ <*> (o .:? "description"))++instance ToJSON Link where+ toJSON Link{..}+ = object+ (catMaybes+ [("authorship" .=) <$> _lAuthorship,+ ("destinationUrl" .=) <$> _lDestinationURL,+ ("clickTrackingUrl" .=) <$> _lClickTrackingURL,+ ("createDate" .=) <$> _lCreateDate,+ Just ("kind" .= _lKind),+ ("advertiserId" .=) <$> _lAdvertiserId,+ ("endDate" .=) <$> _lEndDate,+ ("imageAltText" .=) <$> _lImageAltText,+ ("promotionType" .=) <$> _lPromotionType,+ ("availability" .=) <$> _lAvailability,+ ("startDate" .=) <$> _lStartDate,+ ("name" .=) <$> _lName,+ ("impressionTrackingUrl" .=) <$>+ _lImpressionTrackingURL,+ ("specialOffers" .=) <$> _lSpecialOffers,+ ("epcSevenDayAverage" .=) <$> _lEpcSevenDayAverage,+ ("id" .=) <$> _lId,+ ("epcNinetyDayAverage" .=) <$> _lEpcNinetyDayAverage,+ ("linkType" .=) <$> _lLinkType,+ ("isActive" .=) <$> _lIsActive,+ ("duration" .=) <$> _lDuration,+ ("description" .=) <$> _lDescription])++--+-- /See:/ 'ccOffers' smart constructor.+data CcOffers = CcOffers+ { _coKind :: !Text+ , _coItems :: !(Maybe [CcOffer])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CcOffers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coKind'+--+-- * 'coItems'+ccOffers+ :: CcOffers+ccOffers =+ CcOffers+ { _coKind = "gan#ccOffers"+ , _coItems = Nothing+ }++-- | The kind for a page of credit card offers.+coKind :: Lens' CcOffers Text+coKind = lens _coKind (\ s a -> s{_coKind = a})++-- | The credit card offers.+coItems :: Lens' CcOffers [CcOffer]+coItems+ = lens _coItems (\ s a -> s{_coItems = a}) . _Default+ . _Coerce++instance FromJSON CcOffers where+ parseJSON+ = withObject "CcOffers"+ (\ o ->+ CcOffers <$>+ (o .:? "kind" .!= "gan#ccOffers") <*>+ (o .:? "items" .!= mempty))++instance ToJSON CcOffers where+ toJSON CcOffers{..}+ = object+ (catMaybes+ [Just ("kind" .= _coKind),+ ("items" .=) <$> _coItems])++--+-- /See:/ 'ccOfferDefaultFeesItem' smart constructor.+data CcOfferDefaultFeesItem = CcOfferDefaultFeesItem+ { _codfiRateType :: !(Maybe Text)+ , _codfiMinRate :: !(Maybe (Textual Double))+ , _codfiCategory :: !(Maybe Text)+ , _codfiMaxRate :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CcOfferDefaultFeesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codfiRateType'+--+-- * 'codfiMinRate'+--+-- * 'codfiCategory'+--+-- * 'codfiMaxRate'+ccOfferDefaultFeesItem+ :: CcOfferDefaultFeesItem+ccOfferDefaultFeesItem =+ CcOfferDefaultFeesItem+ { _codfiRateType = Nothing+ , _codfiMinRate = Nothing+ , _codfiCategory = Nothing+ , _codfiMaxRate = Nothing+ }++-- | Fixed or variable.+codfiRateType :: Lens' CcOfferDefaultFeesItem (Maybe Text)+codfiRateType+ = lens _codfiRateType+ (\ s a -> s{_codfiRateType = a})++-- | The lowest rate the issuer may charge for defaulting on debt in this+-- category. Expressed as an absolute number, not as a percentage.+codfiMinRate :: Lens' CcOfferDefaultFeesItem (Maybe Double)+codfiMinRate+ = lens _codfiMinRate (\ s a -> s{_codfiMinRate = a})+ . mapping _Coerce++-- | The type of charge, for example Purchases.+codfiCategory :: Lens' CcOfferDefaultFeesItem (Maybe Text)+codfiCategory+ = lens _codfiCategory+ (\ s a -> s{_codfiCategory = a})++-- | The highest rate the issuer may charge for defaulting on debt in this+-- category. Expressed as an absolute number, not as a percentage.+codfiMaxRate :: Lens' CcOfferDefaultFeesItem (Maybe Double)+codfiMaxRate+ = lens _codfiMaxRate (\ s a -> s{_codfiMaxRate = a})+ . mapping _Coerce++instance FromJSON CcOfferDefaultFeesItem where+ parseJSON+ = withObject "CcOfferDefaultFeesItem"+ (\ o ->+ CcOfferDefaultFeesItem <$>+ (o .:? "rateType") <*> (o .:? "minRate") <*>+ (o .:? "category")+ <*> (o .:? "maxRate"))++instance ToJSON CcOfferDefaultFeesItem where+ toJSON CcOfferDefaultFeesItem{..}+ = object+ (catMaybes+ [("rateType" .=) <$> _codfiRateType,+ ("minRate" .=) <$> _codfiMinRate,+ ("category" .=) <$> _codfiCategory,+ ("maxRate" .=) <$> _codfiMaxRate])++-- | A ReportResource representing a report of a certain type either for an+-- advertiser or publisher.+--+-- /See:/ 'report' smart constructor.+data Report = Report+ { _rEndDate :: !(Maybe Text)+ , _rTotalsRows :: !(Maybe [[JSONValue]])+ , _rKind :: !Text+ , _rStartDate :: !(Maybe Text)+ , _rRows :: !(Maybe [[JSONValue]])+ , _rMatchingRowCount :: !(Maybe (Textual Int64))+ , _rColumnNames :: !(Maybe [Text])+ , _rType :: !(Maybe Text)+ } 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:+--+-- * 'rEndDate'+--+-- * 'rTotalsRows'+--+-- * 'rKind'+--+-- * 'rStartDate'+--+-- * 'rRows'+--+-- * 'rMatchingRowCount'+--+-- * 'rColumnNames'+--+-- * 'rType'+report+ :: Report+report =+ Report+ { _rEndDate = Nothing+ , _rTotalsRows = Nothing+ , _rKind = "gan#report"+ , _rStartDate = Nothing+ , _rRows = Nothing+ , _rMatchingRowCount = Nothing+ , _rColumnNames = Nothing+ , _rType = Nothing+ }++-- | The end of the date range for this report, exclusive.+rEndDate :: Lens' Report (Maybe Text)+rEndDate = lens _rEndDate (\ s a -> s{_rEndDate = a})++-- | The totals rows for the report+rTotalsRows :: Lens' Report [[JSONValue]]+rTotalsRows+ = lens _rTotalsRows (\ s a -> s{_rTotalsRows = a}) .+ _Default+ . _Coerce++-- | The kind for a report.+rKind :: Lens' Report Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | The start of the date range for this report, inclusive.+rStartDate :: Lens' Report (Maybe Text)+rStartDate+ = lens _rStartDate (\ s a -> s{_rStartDate = a})++-- | The rows of data for the report+rRows :: Lens' Report [[JSONValue]]+rRows+ = lens _rRows (\ s a -> s{_rRows = a}) . _Default .+ _Coerce++-- | The number of matching rows before paging is applied.+rMatchingRowCount :: Lens' Report (Maybe Int64)+rMatchingRowCount+ = lens _rMatchingRowCount+ (\ s a -> s{_rMatchingRowCount = a})+ . mapping _Coerce++-- | The column names for the report+rColumnNames :: Lens' Report [Text]+rColumnNames+ = lens _rColumnNames (\ s a -> s{_rColumnNames = a})+ . _Default+ . _Coerce++-- | The report type.+rType :: Lens' Report (Maybe Text)+rType = lens _rType (\ s a -> s{_rType = a})++instance FromJSON Report where+ parseJSON+ = withObject "Report"+ (\ o ->+ Report <$>+ (o .:? "end_date") <*>+ (o .:? "totals_rows" .!= mempty)+ <*> (o .:? "kind" .!= "gan#report")+ <*> (o .:? "start_date")+ <*> (o .:? "rows" .!= mempty)+ <*> (o .:? "matching_row_count")+ <*> (o .:? "column_names" .!= mempty)+ <*> (o .:? "type"))++instance ToJSON Report where+ toJSON Report{..}+ = object+ (catMaybes+ [("end_date" .=) <$> _rEndDate,+ ("totals_rows" .=) <$> _rTotalsRows,+ Just ("kind" .= _rKind),+ ("start_date" .=) <$> _rStartDate,+ ("rows" .=) <$> _rRows,+ ("matching_row_count" .=) <$> _rMatchingRowCount,+ ("column_names" .=) <$> _rColumnNames,+ ("type" .=) <$> _rType])++--+-- /See:/ 'advertisers' smart constructor.+data Advertisers = Advertisers+ { _aNextPageToken :: !(Maybe Text)+ , _aKind :: !Text+ , _aItems :: !(Maybe [Advertiser])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Advertisers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aNextPageToken'+--+-- * 'aKind'+--+-- * 'aItems'+advertisers+ :: Advertisers+advertisers =+ Advertisers+ { _aNextPageToken = Nothing+ , _aKind = "gan#advertisers"+ , _aItems = Nothing+ }++-- | The \'pageToken\' to pass to the next request to get the next page, if+-- there are more to retrieve.+aNextPageToken :: Lens' Advertisers (Maybe Text)+aNextPageToken+ = lens _aNextPageToken+ (\ s a -> s{_aNextPageToken = a})++-- | The kind for a page of advertisers.+aKind :: Lens' Advertisers Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | The advertiser list.+aItems :: Lens' Advertisers [Advertiser]+aItems+ = lens _aItems (\ s a -> s{_aItems = a}) . _Default .+ _Coerce++instance FromJSON Advertisers where+ parseJSON+ = withObject "Advertisers"+ (\ o ->+ Advertisers <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "gan#advertisers")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Advertisers where+ toJSON Advertisers{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _aNextPageToken,+ Just ("kind" .= _aKind), ("items" .=) <$> _aItems])++--+-- /See:/ 'eventProductsItem' smart constructor.+data EventProductsItem = EventProductsItem+ { _epiSKUName :: !(Maybe Text)+ , _epiNetworkFee :: !(Maybe Money)+ , _epiQuantity :: !(Maybe (Textual Int64))+ , _epiCategoryName :: !(Maybe Text)+ , _epiCategoryId :: !(Maybe Text)+ , _epiSKU :: !(Maybe Text)+ , _epiPublisherFee :: !(Maybe Money)+ , _epiUnitPrice :: !(Maybe Money)+ , _epiEarnings :: !(Maybe Money)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventProductsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epiSKUName'+--+-- * 'epiNetworkFee'+--+-- * 'epiQuantity'+--+-- * 'epiCategoryName'+--+-- * 'epiCategoryId'+--+-- * 'epiSKU'+--+-- * 'epiPublisherFee'+--+-- * 'epiUnitPrice'+--+-- * 'epiEarnings'+eventProductsItem+ :: EventProductsItem+eventProductsItem =+ EventProductsItem+ { _epiSKUName = Nothing+ , _epiNetworkFee = Nothing+ , _epiQuantity = Nothing+ , _epiCategoryName = Nothing+ , _epiCategoryId = Nothing+ , _epiSKU = Nothing+ , _epiPublisherFee = Nothing+ , _epiUnitPrice = Nothing+ , _epiEarnings = Nothing+ }++-- | Sku name of this product.+epiSKUName :: Lens' EventProductsItem (Maybe Text)+epiSKUName+ = lens _epiSKUName (\ s a -> s{_epiSKUName = a})++-- | Fee that the advertiser paid to the Google Affiliate Network for this+-- product.+epiNetworkFee :: Lens' EventProductsItem (Maybe Money)+epiNetworkFee+ = lens _epiNetworkFee+ (\ s a -> s{_epiNetworkFee = a})++-- | Quantity of this product bought\/exchanged.+epiQuantity :: Lens' EventProductsItem (Maybe Int64)+epiQuantity+ = lens _epiQuantity (\ s a -> s{_epiQuantity = a}) .+ mapping _Coerce++-- | Name of the category this product belongs to.+epiCategoryName :: Lens' EventProductsItem (Maybe Text)+epiCategoryName+ = lens _epiCategoryName+ (\ s a -> s{_epiCategoryName = a})++-- | Id of the category this product belongs to.+epiCategoryId :: Lens' EventProductsItem (Maybe Text)+epiCategoryId+ = lens _epiCategoryId+ (\ s a -> s{_epiCategoryId = a})++-- | Sku of this product.+epiSKU :: Lens' EventProductsItem (Maybe Text)+epiSKU = lens _epiSKU (\ s a -> s{_epiSKU = a})++-- | Fee that the advertiser paid to the publisehr for this product.+epiPublisherFee :: Lens' EventProductsItem (Maybe Money)+epiPublisherFee+ = lens _epiPublisherFee+ (\ s a -> s{_epiPublisherFee = a})++-- | Price per unit of this product.+epiUnitPrice :: Lens' EventProductsItem (Maybe Money)+epiUnitPrice+ = lens _epiUnitPrice (\ s a -> s{_epiUnitPrice = a})++-- | Amount earned by the publisher on this product.+epiEarnings :: Lens' EventProductsItem (Maybe Money)+epiEarnings+ = lens _epiEarnings (\ s a -> s{_epiEarnings = a})++instance FromJSON EventProductsItem where+ parseJSON+ = withObject "EventProductsItem"+ (\ o ->+ EventProductsItem <$>+ (o .:? "skuName") <*> (o .:? "networkFee") <*>+ (o .:? "quantity")+ <*> (o .:? "categoryName")+ <*> (o .:? "categoryId")+ <*> (o .:? "sku")+ <*> (o .:? "publisherFee")+ <*> (o .:? "unitPrice")+ <*> (o .:? "earnings"))++instance ToJSON EventProductsItem where+ toJSON EventProductsItem{..}+ = object+ (catMaybes+ [("skuName" .=) <$> _epiSKUName,+ ("networkFee" .=) <$> _epiNetworkFee,+ ("quantity" .=) <$> _epiQuantity,+ ("categoryName" .=) <$> _epiCategoryName,+ ("categoryId" .=) <$> _epiCategoryId,+ ("sku" .=) <$> _epiSKU,+ ("publisherFee" .=) <$> _epiPublisherFee,+ ("unitPrice" .=) <$> _epiUnitPrice,+ ("earnings" .=) <$> _epiEarnings])++--+-- /See:/ 'ccOfferBonusRewardsItem' smart constructor.+data CcOfferBonusRewardsItem = CcOfferBonusRewardsItem+ { _cobriAmount :: !(Maybe (Textual Double))+ , _cobriDetails :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CcOfferBonusRewardsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cobriAmount'+--+-- * 'cobriDetails'+ccOfferBonusRewardsItem+ :: CcOfferBonusRewardsItem+ccOfferBonusRewardsItem =+ CcOfferBonusRewardsItem+ { _cobriAmount = Nothing+ , _cobriDetails = Nothing+ }++-- | How many units of reward will be granted.+cobriAmount :: Lens' CcOfferBonusRewardsItem (Maybe Double)+cobriAmount+ = lens _cobriAmount (\ s a -> s{_cobriAmount = a}) .+ mapping _Coerce++-- | The circumstances under which this rule applies, for example, booking a+-- flight via Orbitz.+cobriDetails :: Lens' CcOfferBonusRewardsItem (Maybe Text)+cobriDetails+ = lens _cobriDetails (\ s a -> s{_cobriDetails = a})++instance FromJSON CcOfferBonusRewardsItem where+ parseJSON+ = withObject "CcOfferBonusRewardsItem"+ (\ o ->+ CcOfferBonusRewardsItem <$>+ (o .:? "amount") <*> (o .:? "details"))++instance ToJSON CcOfferBonusRewardsItem where+ toJSON CcOfferBonusRewardsItem{..}+ = object+ (catMaybes+ [("amount" .=) <$> _cobriAmount,+ ("details" .=) <$> _cobriDetails])++--+-- /See:/ 'events' smart constructor.+data Events = Events+ { _eveNextPageToken :: !(Maybe Text)+ , _eveKind :: !Text+ , _eveItems :: !(Maybe [Event])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Events' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eveNextPageToken'+--+-- * 'eveKind'+--+-- * 'eveItems'+events+ :: Events+events =+ Events+ { _eveNextPageToken = Nothing+ , _eveKind = "gan#events"+ , _eveItems = Nothing+ }++-- | The \'pageToken\' to pass to the next request to get the next page, if+-- there are more to retrieve.+eveNextPageToken :: Lens' Events (Maybe Text)+eveNextPageToken+ = lens _eveNextPageToken+ (\ s a -> s{_eveNextPageToken = a})++-- | The kind for a page of events.+eveKind :: Lens' Events Text+eveKind = lens _eveKind (\ s a -> s{_eveKind = a})++-- | The event list.+eveItems :: Lens' Events [Event]+eveItems+ = lens _eveItems (\ s a -> s{_eveItems = a}) .+ _Default+ . _Coerce++instance FromJSON Events where+ parseJSON+ = withObject "Events"+ (\ o ->+ Events <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "gan#events")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Events where+ toJSON Events{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _eveNextPageToken,+ Just ("kind" .= _eveKind),+ ("items" .=) <$> _eveItems])++-- | Special offers on the link.+--+-- /See:/ 'linkSpecialOffers' smart constructor.+data LinkSpecialOffers = LinkSpecialOffers+ { _lsoFreeShippingMin :: !(Maybe Money)+ , _lsoPercentOff :: !(Maybe (Textual Double))+ , _lsoPriceCut :: !(Maybe Money)+ , _lsoPriceCutMin :: !(Maybe Money)+ , _lsoPercentOffMin :: !(Maybe Money)+ , _lsoFreeShipping :: !(Maybe Bool)+ , _lsoPromotionCodes :: !(Maybe [Text])+ , _lsoFreeGift :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinkSpecialOffers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsoFreeShippingMin'+--+-- * 'lsoPercentOff'+--+-- * 'lsoPriceCut'+--+-- * 'lsoPriceCutMin'+--+-- * 'lsoPercentOffMin'+--+-- * 'lsoFreeShipping'+--+-- * 'lsoPromotionCodes'+--+-- * 'lsoFreeGift'+linkSpecialOffers+ :: LinkSpecialOffers+linkSpecialOffers =+ LinkSpecialOffers+ { _lsoFreeShippingMin = Nothing+ , _lsoPercentOff = Nothing+ , _lsoPriceCut = Nothing+ , _lsoPriceCutMin = Nothing+ , _lsoPercentOffMin = Nothing+ , _lsoFreeShipping = Nothing+ , _lsoPromotionCodes = Nothing+ , _lsoFreeGift = Nothing+ }++-- | Minimum purchase amount for free shipping promotion+lsoFreeShippingMin :: Lens' LinkSpecialOffers (Maybe Money)+lsoFreeShippingMin+ = lens _lsoFreeShippingMin+ (\ s a -> s{_lsoFreeShippingMin = a})++-- | Percent off on the purchase+lsoPercentOff :: Lens' LinkSpecialOffers (Maybe Double)+lsoPercentOff+ = lens _lsoPercentOff+ (\ s a -> s{_lsoPercentOff = a})+ . mapping _Coerce++-- | Price cut on the purchase+lsoPriceCut :: Lens' LinkSpecialOffers (Maybe Money)+lsoPriceCut+ = lens _lsoPriceCut (\ s a -> s{_lsoPriceCut = a})++-- | Minimum purchase amount for price cut promotion+lsoPriceCutMin :: Lens' LinkSpecialOffers (Maybe Money)+lsoPriceCutMin+ = lens _lsoPriceCutMin+ (\ s a -> s{_lsoPriceCutMin = a})++-- | Minimum purchase amount for percent off promotion+lsoPercentOffMin :: Lens' LinkSpecialOffers (Maybe Money)+lsoPercentOffMin+ = lens _lsoPercentOffMin+ (\ s a -> s{_lsoPercentOffMin = a})++-- | Whether there is free shipping+lsoFreeShipping :: Lens' LinkSpecialOffers (Maybe Bool)+lsoFreeShipping+ = lens _lsoFreeShipping+ (\ s a -> s{_lsoFreeShipping = a})++-- | List of promotion code associated with the link+lsoPromotionCodes :: Lens' LinkSpecialOffers [Text]+lsoPromotionCodes+ = lens _lsoPromotionCodes+ (\ s a -> s{_lsoPromotionCodes = a})+ . _Default+ . _Coerce++-- | Whether there is a free gift+lsoFreeGift :: Lens' LinkSpecialOffers (Maybe Bool)+lsoFreeGift+ = lens _lsoFreeGift (\ s a -> s{_lsoFreeGift = a})++instance FromJSON LinkSpecialOffers where+ parseJSON+ = withObject "LinkSpecialOffers"+ (\ o ->+ LinkSpecialOffers <$>+ (o .:? "freeShippingMin") <*> (o .:? "percentOff")+ <*> (o .:? "priceCut")+ <*> (o .:? "priceCutMin")+ <*> (o .:? "percentOffMin")+ <*> (o .:? "freeShipping")+ <*> (o .:? "promotionCodes" .!= mempty)+ <*> (o .:? "freeGift"))++instance ToJSON LinkSpecialOffers where+ toJSON LinkSpecialOffers{..}+ = object+ (catMaybes+ [("freeShippingMin" .=) <$> _lsoFreeShippingMin,+ ("percentOff" .=) <$> _lsoPercentOff,+ ("priceCut" .=) <$> _lsoPriceCut,+ ("priceCutMin" .=) <$> _lsoPriceCutMin,+ ("percentOffMin" .=) <$> _lsoPercentOffMin,+ ("freeShipping" .=) <$> _lsoFreeShipping,+ ("promotionCodes" .=) <$> _lsoPromotionCodes,+ ("freeGift" .=) <$> _lsoFreeGift])++--+-- /See:/ 'publishers' smart constructor.+data Publishers = Publishers+ { _pNextPageToken :: !(Maybe Text)+ , _pKind :: !Text+ , _pItems :: !(Maybe [Publisher])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Publishers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pNextPageToken'+--+-- * 'pKind'+--+-- * 'pItems'+publishers+ :: Publishers+publishers =+ Publishers+ { _pNextPageToken = Nothing+ , _pKind = "gan#publishers"+ , _pItems = Nothing+ }++-- | The \'pageToken\' to pass to the next request to get the next page, if+-- there are more to retrieve.+pNextPageToken :: Lens' Publishers (Maybe Text)+pNextPageToken+ = lens _pNextPageToken+ (\ s a -> s{_pNextPageToken = a})++-- | The kind for a page of entities.+pKind :: Lens' Publishers Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | The entity list.+pItems :: Lens' Publishers [Publisher]+pItems+ = lens _pItems (\ s a -> s{_pItems = a}) . _Default .+ _Coerce++instance FromJSON Publishers where+ parseJSON+ = withObject "Publishers"+ (\ o ->+ Publishers <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "gan#publishers")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Publishers where+ toJSON Publishers{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _pNextPageToken,+ Just ("kind" .= _pKind), ("items" .=) <$> _pItems])++-- | An AdvertiserResource.+--+-- /See:/ 'advertiser' smart constructor.+data Advertiser = Advertiser+ { _advAllowPublisherCreatedLinks :: !(Maybe Bool)+ , _advContactPhone :: !(Maybe Text)+ , _advContactEmail :: !(Maybe Text)+ , _advStatus :: !(Maybe Text)+ , _advLogoURL :: !(Maybe Text)+ , _advKind :: !Text+ , _advCategory :: !(Maybe Text)+ , _advSiteURL :: !(Maybe Text)+ , _advPayoutRank :: !(Maybe Text)+ , _advJoinDate :: !(Maybe DateTime')+ , _advDefaultLinkId :: !(Maybe (Textual Int64))+ , _advRedirectDomains :: !(Maybe [Text])+ , _advName :: !(Maybe Text)+ , _advProductFeedsEnabled :: !(Maybe Bool)+ , _advMerchantCenterIds :: !(Maybe [Textual Int64])+ , _advEpcSevenDayAverage :: !(Maybe Money)+ , _advItem :: !(Maybe Advertiser)+ , _advId :: !(Maybe (Textual Int64))+ , _advEpcNinetyDayAverage :: !(Maybe Money)+ , _advCommissionDuration :: !(Maybe (Textual Int32))+ , _advDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Advertiser' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'advAllowPublisherCreatedLinks'+--+-- * 'advContactPhone'+--+-- * 'advContactEmail'+--+-- * 'advStatus'+--+-- * 'advLogoURL'+--+-- * 'advKind'+--+-- * 'advCategory'+--+-- * 'advSiteURL'+--+-- * 'advPayoutRank'+--+-- * 'advJoinDate'+--+-- * 'advDefaultLinkId'+--+-- * 'advRedirectDomains'+--+-- * 'advName'+--+-- * 'advProductFeedsEnabled'+--+-- * 'advMerchantCenterIds'+--+-- * 'advEpcSevenDayAverage'+--+-- * 'advItem'+--+-- * 'advId'+--+-- * 'advEpcNinetyDayAverage'+--+-- * 'advCommissionDuration'+--+-- * 'advDescription'+advertiser+ :: Advertiser+advertiser =+ Advertiser+ { _advAllowPublisherCreatedLinks = Nothing+ , _advContactPhone = Nothing+ , _advContactEmail = Nothing+ , _advStatus = Nothing+ , _advLogoURL = Nothing+ , _advKind = "gan#advertiser"+ , _advCategory = Nothing+ , _advSiteURL = Nothing+ , _advPayoutRank = Nothing+ , _advJoinDate = Nothing+ , _advDefaultLinkId = Nothing+ , _advRedirectDomains = Nothing+ , _advName = Nothing+ , _advProductFeedsEnabled = Nothing+ , _advMerchantCenterIds = Nothing+ , _advEpcSevenDayAverage = Nothing+ , _advItem = Nothing+ , _advId = Nothing+ , _advEpcNinetyDayAverage = Nothing+ , _advCommissionDuration = Nothing+ , _advDescription = Nothing+ }++-- | True if the advertiser allows publisher created links, otherwise false.+advAllowPublisherCreatedLinks :: Lens' Advertiser (Maybe Bool)+advAllowPublisherCreatedLinks+ = lens _advAllowPublisherCreatedLinks+ (\ s a -> s{_advAllowPublisherCreatedLinks = a})++-- | Phone that this advertiser would like publishers to contact them with.+advContactPhone :: Lens' Advertiser (Maybe Text)+advContactPhone+ = lens _advContactPhone+ (\ s a -> s{_advContactPhone = a})++-- | Email that this advertiser would like publishers to contact them with.+advContactEmail :: Lens' Advertiser (Maybe Text)+advContactEmail+ = lens _advContactEmail+ (\ s a -> s{_advContactEmail = a})++-- | The status of the requesting publisher\'s relationship this advertiser.+advStatus :: Lens' Advertiser (Maybe Text)+advStatus+ = lens _advStatus (\ s a -> s{_advStatus = a})++-- | URL to the logo this advertiser uses on the Google Affiliate Network.+advLogoURL :: Lens' Advertiser (Maybe Text)+advLogoURL+ = lens _advLogoURL (\ s a -> s{_advLogoURL = a})++-- | The kind for an advertiser.+advKind :: Lens' Advertiser Text+advKind = lens _advKind (\ s a -> s{_advKind = a})++-- | Category that this advertiser belongs to. A valid list of categories can+-- be found here:+-- http:\/\/www.google.com\/support\/affiliatenetwork\/advertiser\/bin\/answer.py?hl=en&answer=107581+advCategory :: Lens' Advertiser (Maybe Text)+advCategory+ = lens _advCategory (\ s a -> s{_advCategory = a})++-- | URL of the website this advertiser advertises from.+advSiteURL :: Lens' Advertiser (Maybe Text)+advSiteURL+ = lens _advSiteURL (\ s a -> s{_advSiteURL = a})++-- | A rank based on commissions paid to publishers over the past 90 days. A+-- number between 1 and 4 where 4 means the top quartile (most money paid)+-- and 1 means the bottom quartile (least money paid).+advPayoutRank :: Lens' Advertiser (Maybe Text)+advPayoutRank+ = lens _advPayoutRank+ (\ s a -> s{_advPayoutRank = a})++-- | Date that this advertiser was approved as a Google Affiliate Network+-- advertiser.+advJoinDate :: Lens' Advertiser (Maybe UTCTime)+advJoinDate+ = lens _advJoinDate (\ s a -> s{_advJoinDate = a}) .+ mapping _DateTime++-- | The default link id for this advertiser.+advDefaultLinkId :: Lens' Advertiser (Maybe Int64)+advDefaultLinkId+ = lens _advDefaultLinkId+ (\ s a -> s{_advDefaultLinkId = a})+ . mapping _Coerce++-- | List of redirect URLs for this advertiser+advRedirectDomains :: Lens' Advertiser [Text]+advRedirectDomains+ = lens _advRedirectDomains+ (\ s a -> s{_advRedirectDomains = a})+ . _Default+ . _Coerce++-- | The name of this advertiser.+advName :: Lens' Advertiser (Maybe Text)+advName = lens _advName (\ s a -> s{_advName = a})++-- | Allows advertisers to submit product listings to Google Product Search.+advProductFeedsEnabled :: Lens' Advertiser (Maybe Bool)+advProductFeedsEnabled+ = lens _advProductFeedsEnabled+ (\ s a -> s{_advProductFeedsEnabled = a})++-- | List of merchant center ids for this advertiser+advMerchantCenterIds :: Lens' Advertiser [Int64]+advMerchantCenterIds+ = lens _advMerchantCenterIds+ (\ s a -> s{_advMerchantCenterIds = a})+ . _Default+ . _Coerce++-- | The sum of fees paid to publishers divided by the total number of clicks+-- over the past seven days. This value should be multiplied by 100 at the+-- time of display.+advEpcSevenDayAverage :: Lens' Advertiser (Maybe Money)+advEpcSevenDayAverage+ = lens _advEpcSevenDayAverage+ (\ s a -> s{_advEpcSevenDayAverage = a})++-- | The requested advertiser.+advItem :: Lens' Advertiser (Maybe Advertiser)+advItem = lens _advItem (\ s a -> s{_advItem = a})++-- | The ID of this advertiser.+advId :: Lens' Advertiser (Maybe Int64)+advId+ = lens _advId (\ s a -> s{_advId = a}) .+ mapping _Coerce++-- | The sum of fees paid to publishers divided by the total number of clicks+-- over the past three months. This value should be multiplied by 100 at+-- the time of display.+advEpcNinetyDayAverage :: Lens' Advertiser (Maybe Money)+advEpcNinetyDayAverage+ = lens _advEpcNinetyDayAverage+ (\ s a -> s{_advEpcNinetyDayAverage = a})++-- | The longest possible length of a commission (how long the cookies on the+-- customer\'s browser last before they expire).+advCommissionDuration :: Lens' Advertiser (Maybe Int32)+advCommissionDuration+ = lens _advCommissionDuration+ (\ s a -> s{_advCommissionDuration = a})+ . mapping _Coerce++-- | Description of the website the advertiser advertises from.+advDescription :: Lens' Advertiser (Maybe Text)+advDescription+ = lens _advDescription+ (\ s a -> s{_advDescription = a})++instance FromJSON Advertiser where+ parseJSON+ = withObject "Advertiser"+ (\ o ->+ Advertiser <$>+ (o .:? "allowPublisherCreatedLinks") <*>+ (o .:? "contactPhone")+ <*> (o .:? "contactEmail")+ <*> (o .:? "status")+ <*> (o .:? "logoUrl")+ <*> (o .:? "kind" .!= "gan#advertiser")+ <*> (o .:? "category")+ <*> (o .:? "siteUrl")+ <*> (o .:? "payoutRank")+ <*> (o .:? "joinDate")+ <*> (o .:? "defaultLinkId")+ <*> (o .:? "redirectDomains" .!= mempty)+ <*> (o .:? "name")+ <*> (o .:? "productFeedsEnabled")+ <*> (o .:? "merchantCenterIds" .!= mempty)+ <*> (o .:? "epcSevenDayAverage")+ <*> (o .:? "item")+ <*> (o .:? "id")+ <*> (o .:? "epcNinetyDayAverage")+ <*> (o .:? "commissionDuration")+ <*> (o .:? "description"))++instance ToJSON Advertiser where+ toJSON Advertiser{..}+ = object+ (catMaybes+ [("allowPublisherCreatedLinks" .=) <$>+ _advAllowPublisherCreatedLinks,+ ("contactPhone" .=) <$> _advContactPhone,+ ("contactEmail" .=) <$> _advContactEmail,+ ("status" .=) <$> _advStatus,+ ("logoUrl" .=) <$> _advLogoURL,+ Just ("kind" .= _advKind),+ ("category" .=) <$> _advCategory,+ ("siteUrl" .=) <$> _advSiteURL,+ ("payoutRank" .=) <$> _advPayoutRank,+ ("joinDate" .=) <$> _advJoinDate,+ ("defaultLinkId" .=) <$> _advDefaultLinkId,+ ("redirectDomains" .=) <$> _advRedirectDomains,+ ("name" .=) <$> _advName,+ ("productFeedsEnabled" .=) <$>+ _advProductFeedsEnabled,+ ("merchantCenterIds" .=) <$> _advMerchantCenterIds,+ ("epcSevenDayAverage" .=) <$> _advEpcSevenDayAverage,+ ("item" .=) <$> _advItem, ("id" .=) <$> _advId,+ ("epcNinetyDayAverage" .=) <$>+ _advEpcNinetyDayAverage,+ ("commissionDuration" .=) <$> _advCommissionDuration,+ ("description" .=) <$> _advDescription])++-- | A credit card offer. There are many possible result fields. We provide+-- two different views of the data, or \"projections.\" The \"full\"+-- projection includes every result field. And the \"summary\" projection,+-- which is the default, includes a smaller subset of the fields. The+-- fields included in the summary projection are marked as such in their+-- descriptions.+--+-- /See:/ 'ccOffer' smart constructor.+data CcOffer = CcOffer+ { _cMinimumFinanceCharge :: !(Maybe Text)+ , _cTrackingURL :: !(Maybe Text)+ , _cProhibitedCategories :: !(Maybe [Text])+ , _cBalanceComputationMethod :: !(Maybe Text)+ , _cInitialSetupAndProcessingFee :: !(Maybe Text)+ , _cReturnedPaymentFee :: !(Maybe Text)+ , _cAgeMinimumDetails :: !(Maybe Text)+ , _cVariableRatesUpdateFrequency :: !(Maybe Text)+ , _cCreditLimitMin :: !(Maybe (Textual Double))+ , _cTravelInsurance :: !(Maybe Text)+ , _cApprovedCategories :: !(Maybe [Text])+ , _cAnnualFeeDisplay :: !(Maybe Text)+ , _cOverLimitFee :: !(Maybe Text)+ , _cMaxPurchaseRate :: !(Maybe (Textual Double))+ , _cAgeMinimum :: !(Maybe (Textual Double))+ , _cVariableRatesLastUpdated :: !(Maybe Text)+ , _cIntroCashAdvanceTerms :: !(Maybe Text)+ , _cIssuerWebsite :: !(Maybe Text)+ , _cLuggageInsurance :: !(Maybe Text)+ , _cKind :: !Text+ , _cRewardsHaveBlackoutDates :: !(Maybe Bool)+ , _cDisclaimer :: !(Maybe Text)+ , _cAdditionalCardHolderFee :: !(Maybe Text)+ , _cExistingCustomerOnly :: !(Maybe Bool)+ , _cEmergencyInsurance :: !(Maybe Text)+ , _cNetwork :: !(Maybe Text)+ , _cCashAdvanceTerms :: !(Maybe Text)+ , _cStatementCopyFee :: !(Maybe Text)+ , _cAprDisplay :: !(Maybe Text)+ , _cOffersImmediateCashReward :: !(Maybe Bool)+ , _cRewards :: !(Maybe [CcOfferRewardsItem])+ , _cCardType :: !(Maybe Text)+ , _cImageURL :: !(Maybe Text)+ , _cCreditLimitMax :: !(Maybe (Textual Double))+ , _cLandingPageURL :: !(Maybe Text)+ , _cAnnualFee :: !(Maybe (Textual Double))+ , _cRewardsExpire :: !(Maybe Bool)+ , _cFirstYearAnnualFee :: !(Maybe (Textual Double))+ , _cCarRentalInsurance :: !(Maybe Text)+ , _cPurchaseRateAdditionalDetails :: !(Maybe Text)+ , _cOfferId :: !(Maybe Text)+ , _cGracePeriodDisplay :: !(Maybe Text)+ , _cIntroPurchaseTerms :: !(Maybe Text)+ , _cCreditRatingDisplay :: !(Maybe Text)+ , _cBalanceTransferTerms :: !(Maybe Text)+ , _cLatePaymentFee :: !(Maybe Text)+ , _cCardBenefits :: !(Maybe [Text])+ , _cIssuer :: !(Maybe Text)+ , _cCardName :: !(Maybe Text)+ , _cMinPurchaseRate :: !(Maybe (Textual Double))+ , _cFraudLiability :: !(Maybe Text)+ , _cForeignCurrencyTransactionFee :: !(Maybe Text)+ , _cExtendedWarranty :: !(Maybe Text)+ , _cAnnualRewardMaximum :: !(Maybe (Textual Double))+ , _cIssuerId :: !(Maybe Text)+ , _cIntroBalanceTransferTerms :: !(Maybe Text)+ , _cDefaultFees :: !(Maybe [CcOfferDefaultFeesItem])+ , _cAdditionalCardBenefits :: !(Maybe [Text])+ , _cRewardUnit :: !(Maybe Text)+ , _cBonusRewards :: !(Maybe [CcOfferBonusRewardsItem])+ , _cFlightAccidentInsurance :: !(Maybe Text)+ , _cRewardPartner :: !(Maybe Text)+ , _cPurchaseRateType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CcOffer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cMinimumFinanceCharge'+--+-- * 'cTrackingURL'+--+-- * 'cProhibitedCategories'+--+-- * 'cBalanceComputationMethod'+--+-- * 'cInitialSetupAndProcessingFee'+--+-- * 'cReturnedPaymentFee'+--+-- * 'cAgeMinimumDetails'+--+-- * 'cVariableRatesUpdateFrequency'+--+-- * 'cCreditLimitMin'+--+-- * 'cTravelInsurance'+--+-- * 'cApprovedCategories'+--+-- * 'cAnnualFeeDisplay'+--+-- * 'cOverLimitFee'+--+-- * 'cMaxPurchaseRate'+--+-- * 'cAgeMinimum'+--+-- * 'cVariableRatesLastUpdated'+--+-- * 'cIntroCashAdvanceTerms'+--+-- * 'cIssuerWebsite'+--+-- * 'cLuggageInsurance'+--+-- * 'cKind'+--+-- * 'cRewardsHaveBlackoutDates'+--+-- * 'cDisclaimer'+--+-- * 'cAdditionalCardHolderFee'+--+-- * 'cExistingCustomerOnly'+--+-- * 'cEmergencyInsurance'+--+-- * 'cNetwork'+--+-- * 'cCashAdvanceTerms'+--+-- * 'cStatementCopyFee'+--+-- * 'cAprDisplay'+--+-- * 'cOffersImmediateCashReward'+--+-- * 'cRewards'+--+-- * 'cCardType'+--+-- * 'cImageURL'+--+-- * 'cCreditLimitMax'+--+-- * 'cLandingPageURL'+--+-- * 'cAnnualFee'+--+-- * 'cRewardsExpire'+--+-- * 'cFirstYearAnnualFee'+--+-- * 'cCarRentalInsurance'+--+-- * 'cPurchaseRateAdditionalDetails'+--+-- * 'cOfferId'+--+-- * 'cGracePeriodDisplay'+--+-- * 'cIntroPurchaseTerms'+--+-- * 'cCreditRatingDisplay'+--+-- * 'cBalanceTransferTerms'+--+-- * 'cLatePaymentFee'+--+-- * 'cCardBenefits'+--+-- * 'cIssuer'+--+-- * 'cCardName'+--+-- * 'cMinPurchaseRate'+--+-- * 'cFraudLiability'+--+-- * 'cForeignCurrencyTransactionFee'+--+-- * 'cExtendedWarranty'+--+-- * 'cAnnualRewardMaximum'+--+-- * 'cIssuerId'+--+-- * 'cIntroBalanceTransferTerms'+--+-- * 'cDefaultFees'+--+-- * 'cAdditionalCardBenefits'+--+-- * 'cRewardUnit'+--+-- * 'cBonusRewards'+--+-- * 'cFlightAccidentInsurance'+--+-- * 'cRewardPartner'+--+-- * 'cPurchaseRateType'+ccOffer+ :: CcOffer+ccOffer =+ CcOffer+ { _cMinimumFinanceCharge = Nothing+ , _cTrackingURL = Nothing+ , _cProhibitedCategories = Nothing+ , _cBalanceComputationMethod = Nothing+ , _cInitialSetupAndProcessingFee = Nothing+ , _cReturnedPaymentFee = Nothing+ , _cAgeMinimumDetails = Nothing+ , _cVariableRatesUpdateFrequency = Nothing+ , _cCreditLimitMin = Nothing+ , _cTravelInsurance = Nothing+ , _cApprovedCategories = Nothing+ , _cAnnualFeeDisplay = Nothing+ , _cOverLimitFee = Nothing+ , _cMaxPurchaseRate = Nothing+ , _cAgeMinimum = Nothing+ , _cVariableRatesLastUpdated = Nothing+ , _cIntroCashAdvanceTerms = Nothing+ , _cIssuerWebsite = Nothing+ , _cLuggageInsurance = Nothing+ , _cKind = "gan#ccOffer"+ , _cRewardsHaveBlackoutDates = Nothing+ , _cDisclaimer = Nothing+ , _cAdditionalCardHolderFee = Nothing+ , _cExistingCustomerOnly = Nothing+ , _cEmergencyInsurance = Nothing+ , _cNetwork = Nothing+ , _cCashAdvanceTerms = Nothing+ , _cStatementCopyFee = Nothing+ , _cAprDisplay = Nothing+ , _cOffersImmediateCashReward = Nothing+ , _cRewards = Nothing+ , _cCardType = Nothing+ , _cImageURL = Nothing+ , _cCreditLimitMax = Nothing+ , _cLandingPageURL = Nothing+ , _cAnnualFee = Nothing+ , _cRewardsExpire = Nothing+ , _cFirstYearAnnualFee = Nothing+ , _cCarRentalInsurance = Nothing+ , _cPurchaseRateAdditionalDetails = Nothing+ , _cOfferId = Nothing+ , _cGracePeriodDisplay = Nothing+ , _cIntroPurchaseTerms = Nothing+ , _cCreditRatingDisplay = Nothing+ , _cBalanceTransferTerms = Nothing+ , _cLatePaymentFee = Nothing+ , _cCardBenefits = Nothing+ , _cIssuer = Nothing+ , _cCardName = Nothing+ , _cMinPurchaseRate = Nothing+ , _cFraudLiability = Nothing+ , _cForeignCurrencyTransactionFee = Nothing+ , _cExtendedWarranty = Nothing+ , _cAnnualRewardMaximum = Nothing+ , _cIssuerId = Nothing+ , _cIntroBalanceTransferTerms = Nothing+ , _cDefaultFees = Nothing+ , _cAdditionalCardBenefits = Nothing+ , _cRewardUnit = Nothing+ , _cBonusRewards = Nothing+ , _cFlightAccidentInsurance = Nothing+ , _cRewardPartner = Nothing+ , _cPurchaseRateType = Nothing+ }++-- | Text describing how much missing the grace period will cost.+cMinimumFinanceCharge :: Lens' CcOffer (Maybe Text)+cMinimumFinanceCharge+ = lens _cMinimumFinanceCharge+ (\ s a -> s{_cMinimumFinanceCharge = a})++-- | The link to ping to register a click on this offer. A summary field.+cTrackingURL :: Lens' CcOffer (Maybe Text)+cTrackingURL+ = lens _cTrackingURL (\ s a -> s{_cTrackingURL = a})++-- | Categories in which the issuer does not wish the card to be displayed. A+-- summary field.+cProhibitedCategories :: Lens' CcOffer [Text]+cProhibitedCategories+ = lens _cProhibitedCategories+ (\ s a -> s{_cProhibitedCategories = a})+ . _Default+ . _Coerce++-- | Text describing how the balance is computed. A summary field.+cBalanceComputationMethod :: Lens' CcOffer (Maybe Text)+cBalanceComputationMethod+ = lens _cBalanceComputationMethod+ (\ s a -> s{_cBalanceComputationMethod = a})++-- | Fee for setting up the card.+cInitialSetupAndProcessingFee :: Lens' CcOffer (Maybe Text)+cInitialSetupAndProcessingFee+ = lens _cInitialSetupAndProcessingFee+ (\ s a -> s{_cInitialSetupAndProcessingFee = a})++-- | Text describing the fee for a payment that doesn\'t clear. A summary+-- field.+cReturnedPaymentFee :: Lens' CcOffer (Maybe Text)+cReturnedPaymentFee+ = lens _cReturnedPaymentFee+ (\ s a -> s{_cReturnedPaymentFee = a})++-- | Text describing the details of the age minimum restriction.+cAgeMinimumDetails :: Lens' CcOffer (Maybe Text)+cAgeMinimumDetails+ = lens _cAgeMinimumDetails+ (\ s a -> s{_cAgeMinimumDetails = a})++-- | How often variable rates are updated.+cVariableRatesUpdateFrequency :: Lens' CcOffer (Maybe Text)+cVariableRatesUpdateFrequency+ = lens _cVariableRatesUpdateFrequency+ (\ s a -> s{_cVariableRatesUpdateFrequency = a})++-- | The low end for credit limits the issuer imposes on recipients of this+-- card.+cCreditLimitMin :: Lens' CcOffer (Maybe Double)+cCreditLimitMin+ = lens _cCreditLimitMin+ (\ s a -> s{_cCreditLimitMin = a})+ . mapping _Coerce++-- | If you get coverage when you use the card for the given activity, this+-- field describes it.+cTravelInsurance :: Lens' CcOffer (Maybe Text)+cTravelInsurance+ = lens _cTravelInsurance+ (\ s a -> s{_cTravelInsurance = a})++-- | Possible categories for this card, eg \"Low Interest\" or \"Good.\" A+-- summary field.+cApprovedCategories :: Lens' CcOffer [Text]+cApprovedCategories+ = lens _cApprovedCategories+ (\ s a -> s{_cApprovedCategories = a})+ . _Default+ . _Coerce++-- | Text describing the annual fee, including any difference for the first+-- year. A summary field.+cAnnualFeeDisplay :: Lens' CcOffer (Maybe Text)+cAnnualFeeDisplay+ = lens _cAnnualFeeDisplay+ (\ s a -> s{_cAnnualFeeDisplay = a})++-- | Fee for exceeding the card\'s charge limit.+cOverLimitFee :: Lens' CcOffer (Maybe Text)+cOverLimitFee+ = lens _cOverLimitFee+ (\ s a -> s{_cOverLimitFee = a})++-- | The highest interest rate the issuer charges on this card. Expressed as+-- an absolute number, not as a percentage.+cMaxPurchaseRate :: Lens' CcOffer (Maybe Double)+cMaxPurchaseRate+ = lens _cMaxPurchaseRate+ (\ s a -> s{_cMaxPurchaseRate = a})+ . mapping _Coerce++-- | The youngest a recipient of this card may be.+cAgeMinimum :: Lens' CcOffer (Maybe Double)+cAgeMinimum+ = lens _cAgeMinimum (\ s a -> s{_cAgeMinimum = a}) .+ mapping _Coerce++-- | When variable rates were last updated.+cVariableRatesLastUpdated :: Lens' CcOffer (Maybe Text)+cVariableRatesLastUpdated+ = lens _cVariableRatesLastUpdated+ (\ s a -> s{_cVariableRatesLastUpdated = a})++-- | Text describing the terms for introductory period cash advances. A+-- summary field.+cIntroCashAdvanceTerms :: Lens' CcOffer (Maybe Text)+cIntroCashAdvanceTerms+ = lens _cIntroCashAdvanceTerms+ (\ s a -> s{_cIntroCashAdvanceTerms = a})++-- | The generic link to the issuer\'s site.+cIssuerWebsite :: Lens' CcOffer (Maybe Text)+cIssuerWebsite+ = lens _cIssuerWebsite+ (\ s a -> s{_cIssuerWebsite = a})++-- | If you get coverage when you use the card for the given activity, this+-- field describes it.+cLuggageInsurance :: Lens' CcOffer (Maybe Text)+cLuggageInsurance+ = lens _cLuggageInsurance+ (\ s a -> s{_cLuggageInsurance = a})++-- | The kind for one credit card offer. A summary field.+cKind :: Lens' CcOffer Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | For airline miles rewards, tells whether blackout dates apply to the+-- miles.+cRewardsHaveBlackoutDates :: Lens' CcOffer (Maybe Bool)+cRewardsHaveBlackoutDates+ = lens _cRewardsHaveBlackoutDates+ (\ s a -> s{_cRewardsHaveBlackoutDates = a})++-- | A notice that, if present, is referenced via an asterisk by many of the+-- other summary fields. If this field is present, it will always start+-- with an asterisk (\"*\"), and must be prominently displayed with the+-- offer. A summary field.+cDisclaimer :: Lens' CcOffer (Maybe Text)+cDisclaimer+ = lens _cDisclaimer (\ s a -> s{_cDisclaimer = a})++-- | Any extra fees levied on card holders.+cAdditionalCardHolderFee :: Lens' CcOffer (Maybe Text)+cAdditionalCardHolderFee+ = lens _cAdditionalCardHolderFee+ (\ s a -> s{_cAdditionalCardHolderFee = a})++-- | Whether this card is only available to existing customers of the issuer.+cExistingCustomerOnly :: Lens' CcOffer (Maybe Bool)+cExistingCustomerOnly+ = lens _cExistingCustomerOnly+ (\ s a -> s{_cExistingCustomerOnly = a})++-- | If you get coverage when you use the card for the given activity, this+-- field describes it.+cEmergencyInsurance :: Lens' CcOffer (Maybe Text)+cEmergencyInsurance+ = lens _cEmergencyInsurance+ (\ s a -> s{_cEmergencyInsurance = a})++-- | Which network (eg Visa) the card belongs to. A summary field.+cNetwork :: Lens' CcOffer (Maybe Text)+cNetwork = lens _cNetwork (\ s a -> s{_cNetwork = a})++-- | Text describing the terms for cash advances. A summary field.+cCashAdvanceTerms :: Lens' CcOffer (Maybe Text)+cCashAdvanceTerms+ = lens _cCashAdvanceTerms+ (\ s a -> s{_cCashAdvanceTerms = a})++-- | Fee for requesting a copy of your statement.+cStatementCopyFee :: Lens' CcOffer (Maybe Text)+cStatementCopyFee+ = lens _cStatementCopyFee+ (\ s a -> s{_cStatementCopyFee = a})++-- | Text describing the purchase APR. A summary field.+cAprDisplay :: Lens' CcOffer (Maybe Text)+cAprDisplay+ = lens _cAprDisplay (\ s a -> s{_cAprDisplay = a})++-- | Whether a cash reward program lets you get cash back sooner than end of+-- year or other longish period.+cOffersImmediateCashReward :: Lens' CcOffer (Maybe Bool)+cOffersImmediateCashReward+ = lens _cOffersImmediateCashReward+ (\ s a -> s{_cOffersImmediateCashReward = a})++-- | For cards with rewards programs, detailed rules about how the program+-- works.+cRewards :: Lens' CcOffer [CcOfferRewardsItem]+cRewards+ = lens _cRewards (\ s a -> s{_cRewards = a}) .+ _Default+ . _Coerce++-- | What kind of credit card this is, for example secured or unsecured.+cCardType :: Lens' CcOffer (Maybe Text)+cCardType+ = lens _cCardType (\ s a -> s{_cCardType = a})++-- | The link to the image of the card that is shown on Connect Commerce. A+-- summary field.+cImageURL :: Lens' CcOffer (Maybe Text)+cImageURL+ = lens _cImageURL (\ s a -> s{_cImageURL = a})++-- | The high end for credit limits the issuer imposes on recipients of this+-- card.+cCreditLimitMax :: Lens' CcOffer (Maybe Double)+cCreditLimitMax+ = lens _cCreditLimitMax+ (\ s a -> s{_cCreditLimitMax = a})+ . mapping _Coerce++-- | The link to the issuer\'s page for this card. A summary field.+cLandingPageURL :: Lens' CcOffer (Maybe Text)+cLandingPageURL+ = lens _cLandingPageURL+ (\ s a -> s{_cLandingPageURL = a})++-- | The ongoing annual fee, in dollars.+cAnnualFee :: Lens' CcOffer (Maybe Double)+cAnnualFee+ = lens _cAnnualFee (\ s a -> s{_cAnnualFee = a}) .+ mapping _Coerce++-- | Whether accumulated rewards ever expire.+cRewardsExpire :: Lens' CcOffer (Maybe Bool)+cRewardsExpire+ = lens _cRewardsExpire+ (\ s a -> s{_cRewardsExpire = a})++-- | The annual fee for the first year, if different from the ongoing fee.+-- Optional.+cFirstYearAnnualFee :: Lens' CcOffer (Maybe Double)+cFirstYearAnnualFee+ = lens _cFirstYearAnnualFee+ (\ s a -> s{_cFirstYearAnnualFee = a})+ . mapping _Coerce++-- | If you get coverage when you use the card for the given activity, this+-- field describes it.+cCarRentalInsurance :: Lens' CcOffer (Maybe Text)+cCarRentalInsurance+ = lens _cCarRentalInsurance+ (\ s a -> s{_cCarRentalInsurance = a})++-- | Text describing any additional details for the purchase rate. A summary+-- field.+cPurchaseRateAdditionalDetails :: Lens' CcOffer (Maybe Text)+cPurchaseRateAdditionalDetails+ = lens _cPurchaseRateAdditionalDetails+ (\ s a -> s{_cPurchaseRateAdditionalDetails = a})++-- | This offer\'s ID. A summary field.+cOfferId :: Lens' CcOffer (Maybe Text)+cOfferId = lens _cOfferId (\ s a -> s{_cOfferId = a})++-- | Text describing the grace period before finance charges apply. A summary+-- field.+cGracePeriodDisplay :: Lens' CcOffer (Maybe Text)+cGracePeriodDisplay+ = lens _cGracePeriodDisplay+ (\ s a -> s{_cGracePeriodDisplay = a})++-- | Text describing the terms for introductory period purchases. A summary+-- field.+cIntroPurchaseTerms :: Lens' CcOffer (Maybe Text)+cIntroPurchaseTerms+ = lens _cIntroPurchaseTerms+ (\ s a -> s{_cIntroPurchaseTerms = a})++-- | Text describing the credit ratings required for recipients of this card,+-- for example \"Excellent\/Good.\" A summary field.+cCreditRatingDisplay :: Lens' CcOffer (Maybe Text)+cCreditRatingDisplay+ = lens _cCreditRatingDisplay+ (\ s a -> s{_cCreditRatingDisplay = a})++-- | Text describing the terms for balance transfers. A summary field.+cBalanceTransferTerms :: Lens' CcOffer (Maybe Text)+cBalanceTransferTerms+ = lens _cBalanceTransferTerms+ (\ s a -> s{_cBalanceTransferTerms = a})++-- | Text describing how much a late payment will cost, eg \"up to $35.\" A+-- summary field.+cLatePaymentFee :: Lens' CcOffer (Maybe Text)+cLatePaymentFee+ = lens _cLatePaymentFee+ (\ s a -> s{_cLatePaymentFee = a})++-- | A list of what the issuer thinks are the most important benefits of the+-- card. Usually summarizes the rewards program, if there is one. A summary+-- field.+cCardBenefits :: Lens' CcOffer [Text]+cCardBenefits+ = lens _cCardBenefits+ (\ s a -> s{_cCardBenefits = a})+ . _Default+ . _Coerce++-- | Name of card issuer. A summary field.+cIssuer :: Lens' CcOffer (Maybe Text)+cIssuer = lens _cIssuer (\ s a -> s{_cIssuer = a})++-- | The issuer\'s name for the card, including any trademark or service mark+-- designators. A summary field.+cCardName :: Lens' CcOffer (Maybe Text)+cCardName+ = lens _cCardName (\ s a -> s{_cCardName = a})++-- | The lowest interest rate the issuer charges on this card. Expressed as+-- an absolute number, not as a percentage.+cMinPurchaseRate :: Lens' CcOffer (Maybe Double)+cMinPurchaseRate+ = lens _cMinPurchaseRate+ (\ s a -> s{_cMinPurchaseRate = a})+ . mapping _Coerce++-- | If you get coverage when you use the card for the given activity, this+-- field describes it.+cFraudLiability :: Lens' CcOffer (Maybe Text)+cFraudLiability+ = lens _cFraudLiability+ (\ s a -> s{_cFraudLiability = a})++-- | Fee for each transaction involving a foreign currency.+cForeignCurrencyTransactionFee :: Lens' CcOffer (Maybe Text)+cForeignCurrencyTransactionFee+ = lens _cForeignCurrencyTransactionFee+ (\ s a -> s{_cForeignCurrencyTransactionFee = a})++-- | If you get coverage when you use the card for the given activity, this+-- field describes it.+cExtendedWarranty :: Lens' CcOffer (Maybe Text)+cExtendedWarranty+ = lens _cExtendedWarranty+ (\ s a -> s{_cExtendedWarranty = a})++-- | The largest number of units you may accumulate in a year.+cAnnualRewardMaximum :: Lens' CcOffer (Maybe Double)+cAnnualRewardMaximum+ = lens _cAnnualRewardMaximum+ (\ s a -> s{_cAnnualRewardMaximum = a})+ . mapping _Coerce++-- | The Google Affiliate Network ID of the advertiser making this offer.+cIssuerId :: Lens' CcOffer (Maybe Text)+cIssuerId+ = lens _cIssuerId (\ s a -> s{_cIssuerId = a})++-- | Text describing the terms for introductory period balance transfers. A+-- summary field.+cIntroBalanceTransferTerms :: Lens' CcOffer (Maybe Text)+cIntroBalanceTransferTerms+ = lens _cIntroBalanceTransferTerms+ (\ s a -> s{_cIntroBalanceTransferTerms = a})++-- | Fees for defaulting on your payments.+cDefaultFees :: Lens' CcOffer [CcOfferDefaultFeesItem]+cDefaultFees+ = lens _cDefaultFees (\ s a -> s{_cDefaultFees = a})+ . _Default+ . _Coerce++-- | More marketing copy about the card\'s benefits. A summary field.+cAdditionalCardBenefits :: Lens' CcOffer [Text]+cAdditionalCardBenefits+ = lens _cAdditionalCardBenefits+ (\ s a -> s{_cAdditionalCardBenefits = a})+ . _Default+ . _Coerce++-- | For cards with rewards programs, the unit of reward. For example, miles,+-- cash back, points.+cRewardUnit :: Lens' CcOffer (Maybe Text)+cRewardUnit+ = lens _cRewardUnit (\ s a -> s{_cRewardUnit = a})++-- | For cards with rewards programs, extra circumstances whereby additional+-- rewards may be granted.+cBonusRewards :: Lens' CcOffer [CcOfferBonusRewardsItem]+cBonusRewards+ = lens _cBonusRewards+ (\ s a -> s{_cBonusRewards = a})+ . _Default+ . _Coerce++-- | If you get coverage when you use the card for the given activity, this+-- field describes it.+cFlightAccidentInsurance :: Lens' CcOffer (Maybe Text)+cFlightAccidentInsurance+ = lens _cFlightAccidentInsurance+ (\ s a -> s{_cFlightAccidentInsurance = a})++-- | The company that redeems the rewards, if different from the issuer.+cRewardPartner :: Lens' CcOffer (Maybe Text)+cRewardPartner+ = lens _cRewardPartner+ (\ s a -> s{_cRewardPartner = a})++-- | Fixed or variable.+cPurchaseRateType :: Lens' CcOffer (Maybe Text)+cPurchaseRateType+ = lens _cPurchaseRateType+ (\ s a -> s{_cPurchaseRateType = a})++instance FromJSON CcOffer where+ parseJSON+ = withObject "CcOffer"+ (\ o ->+ CcOffer <$>+ (o .:? "minimumFinanceCharge") <*>+ (o .:? "trackingUrl")+ <*> (o .:? "prohibitedCategories" .!= mempty)+ <*> (o .:? "balanceComputationMethod")+ <*> (o .:? "initialSetupAndProcessingFee")+ <*> (o .:? "returnedPaymentFee")+ <*> (o .:? "ageMinimumDetails")+ <*> (o .:? "variableRatesUpdateFrequency")+ <*> (o .:? "creditLimitMin")+ <*> (o .:? "travelInsurance")+ <*> (o .:? "approvedCategories" .!= mempty)+ <*> (o .:? "annualFeeDisplay")+ <*> (o .:? "overLimitFee")+ <*> (o .:? "maxPurchaseRate")+ <*> (o .:? "ageMinimum")+ <*> (o .:? "variableRatesLastUpdated")+ <*> (o .:? "introCashAdvanceTerms")+ <*> (o .:? "issuerWebsite")+ <*> (o .:? "luggageInsurance")+ <*> (o .:? "kind" .!= "gan#ccOffer")+ <*> (o .:? "rewardsHaveBlackoutDates")+ <*> (o .:? "disclaimer")+ <*> (o .:? "additionalCardHolderFee")+ <*> (o .:? "existingCustomerOnly")+ <*> (o .:? "emergencyInsurance")+ <*> (o .:? "network")+ <*> (o .:? "cashAdvanceTerms")+ <*> (o .:? "statementCopyFee")+ <*> (o .:? "aprDisplay")+ <*> (o .:? "offersImmediateCashReward")+ <*> (o .:? "rewards" .!= mempty)+ <*> (o .:? "cardType")+ <*> (o .:? "imageUrl")+ <*> (o .:? "creditLimitMax")+ <*> (o .:? "landingPageUrl")+ <*> (o .:? "annualFee")+ <*> (o .:? "rewardsExpire")+ <*> (o .:? "firstYearAnnualFee")+ <*> (o .:? "carRentalInsurance")+ <*> (o .:? "purchaseRateAdditionalDetails")+ <*> (o .:? "offerId")+ <*> (o .:? "gracePeriodDisplay")+ <*> (o .:? "introPurchaseTerms")+ <*> (o .:? "creditRatingDisplay")+ <*> (o .:? "balanceTransferTerms")+ <*> (o .:? "latePaymentFee")+ <*> (o .:? "cardBenefits" .!= mempty)+ <*> (o .:? "issuer")+ <*> (o .:? "cardName")+ <*> (o .:? "minPurchaseRate")+ <*> (o .:? "fraudLiability")+ <*> (o .:? "foreignCurrencyTransactionFee")+ <*> (o .:? "extendedWarranty")+ <*> (o .:? "annualRewardMaximum")+ <*> (o .:? "issuerId")+ <*> (o .:? "introBalanceTransferTerms")+ <*> (o .:? "defaultFees" .!= mempty)+ <*> (o .:? "additionalCardBenefits" .!= mempty)+ <*> (o .:? "rewardUnit")+ <*> (o .:? "bonusRewards" .!= mempty)+ <*> (o .:? "flightAccidentInsurance")+ <*> (o .:? "rewardPartner")+ <*> (o .:? "purchaseRateType"))++instance ToJSON CcOffer where+ toJSON CcOffer{..}+ = object+ (catMaybes+ [("minimumFinanceCharge" .=) <$>+ _cMinimumFinanceCharge,+ ("trackingUrl" .=) <$> _cTrackingURL,+ ("prohibitedCategories" .=) <$>+ _cProhibitedCategories,+ ("balanceComputationMethod" .=) <$>+ _cBalanceComputationMethod,+ ("initialSetupAndProcessingFee" .=) <$>+ _cInitialSetupAndProcessingFee,+ ("returnedPaymentFee" .=) <$> _cReturnedPaymentFee,+ ("ageMinimumDetails" .=) <$> _cAgeMinimumDetails,+ ("variableRatesUpdateFrequency" .=) <$>+ _cVariableRatesUpdateFrequency,+ ("creditLimitMin" .=) <$> _cCreditLimitMin,+ ("travelInsurance" .=) <$> _cTravelInsurance,+ ("approvedCategories" .=) <$> _cApprovedCategories,+ ("annualFeeDisplay" .=) <$> _cAnnualFeeDisplay,+ ("overLimitFee" .=) <$> _cOverLimitFee,+ ("maxPurchaseRate" .=) <$> _cMaxPurchaseRate,+ ("ageMinimum" .=) <$> _cAgeMinimum,+ ("variableRatesLastUpdated" .=) <$>+ _cVariableRatesLastUpdated,+ ("introCashAdvanceTerms" .=) <$>+ _cIntroCashAdvanceTerms,+ ("issuerWebsite" .=) <$> _cIssuerWebsite,+ ("luggageInsurance" .=) <$> _cLuggageInsurance,+ Just ("kind" .= _cKind),+ ("rewardsHaveBlackoutDates" .=) <$>+ _cRewardsHaveBlackoutDates,+ ("disclaimer" .=) <$> _cDisclaimer,+ ("additionalCardHolderFee" .=) <$>+ _cAdditionalCardHolderFee,+ ("existingCustomerOnly" .=) <$>+ _cExistingCustomerOnly,+ ("emergencyInsurance" .=) <$> _cEmergencyInsurance,+ ("network" .=) <$> _cNetwork,+ ("cashAdvanceTerms" .=) <$> _cCashAdvanceTerms,+ ("statementCopyFee" .=) <$> _cStatementCopyFee,+ ("aprDisplay" .=) <$> _cAprDisplay,+ ("offersImmediateCashReward" .=) <$>+ _cOffersImmediateCashReward,+ ("rewards" .=) <$> _cRewards,+ ("cardType" .=) <$> _cCardType,+ ("imageUrl" .=) <$> _cImageURL,+ ("creditLimitMax" .=) <$> _cCreditLimitMax,+ ("landingPageUrl" .=) <$> _cLandingPageURL,+ ("annualFee" .=) <$> _cAnnualFee,+ ("rewardsExpire" .=) <$> _cRewardsExpire,+ ("firstYearAnnualFee" .=) <$> _cFirstYearAnnualFee,+ ("carRentalInsurance" .=) <$> _cCarRentalInsurance,+ ("purchaseRateAdditionalDetails" .=) <$>+ _cPurchaseRateAdditionalDetails,+ ("offerId" .=) <$> _cOfferId,+ ("gracePeriodDisplay" .=) <$> _cGracePeriodDisplay,+ ("introPurchaseTerms" .=) <$> _cIntroPurchaseTerms,+ ("creditRatingDisplay" .=) <$> _cCreditRatingDisplay,+ ("balanceTransferTerms" .=) <$>+ _cBalanceTransferTerms,+ ("latePaymentFee" .=) <$> _cLatePaymentFee,+ ("cardBenefits" .=) <$> _cCardBenefits,+ ("issuer" .=) <$> _cIssuer,+ ("cardName" .=) <$> _cCardName,+ ("minPurchaseRate" .=) <$> _cMinPurchaseRate,+ ("fraudLiability" .=) <$> _cFraudLiability,+ ("foreignCurrencyTransactionFee" .=) <$>+ _cForeignCurrencyTransactionFee,+ ("extendedWarranty" .=) <$> _cExtendedWarranty,+ ("annualRewardMaximum" .=) <$> _cAnnualRewardMaximum,+ ("issuerId" .=) <$> _cIssuerId,+ ("introBalanceTransferTerms" .=) <$>+ _cIntroBalanceTransferTerms,+ ("defaultFees" .=) <$> _cDefaultFees,+ ("additionalCardBenefits" .=) <$>+ _cAdditionalCardBenefits,+ ("rewardUnit" .=) <$> _cRewardUnit,+ ("bonusRewards" .=) <$> _cBonusRewards,+ ("flightAccidentInsurance" .=) <$>+ _cFlightAccidentInsurance,+ ("rewardPartner" .=) <$> _cRewardPartner,+ ("purchaseRateType" .=) <$> _cPurchaseRateType])++--+-- /See:/ 'links' smart constructor.+data Links = Links+ { _linNextPageToken :: !(Maybe Text)+ , _linKind :: !Text+ , _linItems :: !(Maybe [Link])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Links' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'linNextPageToken'+--+-- * 'linKind'+--+-- * 'linItems'+links+ :: Links+links =+ Links+ { _linNextPageToken = Nothing+ , _linKind = "gan#links"+ , _linItems = Nothing+ }++-- | The next page token.+linNextPageToken :: Lens' Links (Maybe Text)+linNextPageToken+ = lens _linNextPageToken+ (\ s a -> s{_linNextPageToken = a})++-- | The kind for a page of links.+linKind :: Lens' Links Text+linKind = lens _linKind (\ s a -> s{_linKind = a})++-- | The links.+linItems :: Lens' Links [Link]+linItems+ = lens _linItems (\ s a -> s{_linItems = a}) .+ _Default+ . _Coerce++instance FromJSON Links where+ parseJSON+ = withObject "Links"+ (\ o ->+ Links <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "gan#links")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Links where+ toJSON Links{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _linNextPageToken,+ Just ("kind" .= _linKind),+ ("items" .=) <$> _linItems])++-- | A PublisherResource.+--+-- /See:/ 'publisher' smart constructor.+data Publisher = Publisher+ { _pubStatus :: !(Maybe Text)+ , _pubKind :: !Text+ , _pubPayoutRank :: !(Maybe Text)+ , _pubJoinDate :: !(Maybe DateTime')+ , _pubClassification :: !(Maybe Text)+ , _pubName :: !(Maybe Text)+ , _pubEpcSevenDayAverage :: !(Maybe Money)+ , _pubItem :: !(Maybe Publisher)+ , _pubId :: !(Maybe (Textual Int64))+ , _pubEpcNinetyDayAverage :: !(Maybe Money)+ , _pubSites :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Publisher' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pubStatus'+--+-- * 'pubKind'+--+-- * 'pubPayoutRank'+--+-- * 'pubJoinDate'+--+-- * 'pubClassification'+--+-- * 'pubName'+--+-- * 'pubEpcSevenDayAverage'+--+-- * 'pubItem'+--+-- * 'pubId'+--+-- * 'pubEpcNinetyDayAverage'+--+-- * 'pubSites'+publisher+ :: Publisher+publisher =+ Publisher+ { _pubStatus = Nothing+ , _pubKind = "gan#publisher"+ , _pubPayoutRank = Nothing+ , _pubJoinDate = Nothing+ , _pubClassification = Nothing+ , _pubName = Nothing+ , _pubEpcSevenDayAverage = Nothing+ , _pubItem = Nothing+ , _pubId = Nothing+ , _pubEpcNinetyDayAverage = Nothing+ , _pubSites = Nothing+ }++-- | The status of the requesting advertiser\'s relationship with this+-- publisher.+pubStatus :: Lens' Publisher (Maybe Text)+pubStatus+ = lens _pubStatus (\ s a -> s{_pubStatus = a})++-- | The kind for a publisher.+pubKind :: Lens' Publisher Text+pubKind = lens _pubKind (\ s a -> s{_pubKind = a})++-- | A rank based on commissions paid to this publisher over the past 90+-- days. A number between 1 and 4 where 4 means the top quartile (most+-- money paid) and 1 means the bottom quartile (least money paid).+pubPayoutRank :: Lens' Publisher (Maybe Text)+pubPayoutRank+ = lens _pubPayoutRank+ (\ s a -> s{_pubPayoutRank = a})++-- | Date that this publisher was approved as a Google Affiliate Network+-- publisher.+pubJoinDate :: Lens' Publisher (Maybe UTCTime)+pubJoinDate+ = lens _pubJoinDate (\ s a -> s{_pubJoinDate = a}) .+ mapping _DateTime++-- | Classification that this publisher belongs to. See this link for all+-- publisher classifications:+-- http:\/\/www.google.com\/support\/affiliatenetwork\/advertiser\/bin\/answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4+pubClassification :: Lens' Publisher (Maybe Text)+pubClassification+ = lens _pubClassification+ (\ s a -> s{_pubClassification = a})++-- | The name of this publisher.+pubName :: Lens' Publisher (Maybe Text)+pubName = lens _pubName (\ s a -> s{_pubName = a})++-- | The sum of fees paid to this publisher divided by the total number of+-- clicks over the past seven days. Values are multiplied by 100 for+-- display purposes.+pubEpcSevenDayAverage :: Lens' Publisher (Maybe Money)+pubEpcSevenDayAverage+ = lens _pubEpcSevenDayAverage+ (\ s a -> s{_pubEpcSevenDayAverage = a})++-- | The requested publisher.+pubItem :: Lens' Publisher (Maybe Publisher)+pubItem = lens _pubItem (\ s a -> s{_pubItem = a})++-- | The ID of this publisher.+pubId :: Lens' Publisher (Maybe Int64)+pubId+ = lens _pubId (\ s a -> s{_pubId = a}) .+ mapping _Coerce++-- | The sum of fees paid to this publisher divided by the total number of+-- clicks over the past three months. Values are multiplied by 100 for+-- display purposes.+pubEpcNinetyDayAverage :: Lens' Publisher (Maybe Money)+pubEpcNinetyDayAverage+ = lens _pubEpcNinetyDayAverage+ (\ s a -> s{_pubEpcNinetyDayAverage = a})++-- | Websites that this publisher uses to advertise.+pubSites :: Lens' Publisher [Text]+pubSites+ = lens _pubSites (\ s a -> s{_pubSites = a}) .+ _Default+ . _Coerce++instance FromJSON Publisher where+ parseJSON+ = withObject "Publisher"+ (\ o ->+ Publisher <$>+ (o .:? "status") <*>+ (o .:? "kind" .!= "gan#publisher")+ <*> (o .:? "payoutRank")+ <*> (o .:? "joinDate")+ <*> (o .:? "classification")+ <*> (o .:? "name")+ <*> (o .:? "epcSevenDayAverage")+ <*> (o .:? "item")+ <*> (o .:? "id")+ <*> (o .:? "epcNinetyDayAverage")+ <*> (o .:? "sites" .!= mempty))++instance ToJSON Publisher where+ toJSON Publisher{..}+ = object+ (catMaybes+ [("status" .=) <$> _pubStatus,+ Just ("kind" .= _pubKind),+ ("payoutRank" .=) <$> _pubPayoutRank,+ ("joinDate" .=) <$> _pubJoinDate,+ ("classification" .=) <$> _pubClassification,+ ("name" .=) <$> _pubName,+ ("epcSevenDayAverage" .=) <$> _pubEpcSevenDayAverage,+ ("item" .=) <$> _pubItem, ("id" .=) <$> _pubId,+ ("epcNinetyDayAverage" .=) <$>+ _pubEpcNinetyDayAverage,+ ("sites" .=) <$> _pubSites])++--+-- /See:/ 'ccOfferRewardsItem' smart constructor.+data CcOfferRewardsItem = CcOfferRewardsItem+ { _coriAmount :: !(Maybe (Textual Double))+ , _coriExpirationMonths :: !(Maybe (Textual Double))+ , _coriCategory :: !(Maybe Text)+ , _coriAdditionalDetails :: !(Maybe Text)+ , _coriMaxRewardTier :: !(Maybe (Textual Double))+ , _coriMinRewardTier :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CcOfferRewardsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coriAmount'+--+-- * 'coriExpirationMonths'+--+-- * 'coriCategory'+--+-- * 'coriAdditionalDetails'+--+-- * 'coriMaxRewardTier'+--+-- * 'coriMinRewardTier'+ccOfferRewardsItem+ :: CcOfferRewardsItem+ccOfferRewardsItem =+ CcOfferRewardsItem+ { _coriAmount = Nothing+ , _coriExpirationMonths = Nothing+ , _coriCategory = Nothing+ , _coriAdditionalDetails = Nothing+ , _coriMaxRewardTier = Nothing+ , _coriMinRewardTier = Nothing+ }++-- | The number of units rewarded per purchase dollar.+coriAmount :: Lens' CcOfferRewardsItem (Maybe Double)+coriAmount+ = lens _coriAmount (\ s a -> s{_coriAmount = a}) .+ mapping _Coerce++-- | How long rewards granted by this rule last.+coriExpirationMonths :: Lens' CcOfferRewardsItem (Maybe Double)+coriExpirationMonths+ = lens _coriExpirationMonths+ (\ s a -> s{_coriExpirationMonths = a})+ . mapping _Coerce++-- | The kind of purchases covered by this rule.+coriCategory :: Lens' CcOfferRewardsItem (Maybe Text)+coriCategory+ = lens _coriCategory (\ s a -> s{_coriCategory = a})++-- | Other limits, for example, if this rule only applies during an+-- introductory period.+coriAdditionalDetails :: Lens' CcOfferRewardsItem (Maybe Text)+coriAdditionalDetails+ = lens _coriAdditionalDetails+ (\ s a -> s{_coriAdditionalDetails = a})++-- | The maximum purchase amount in the given category for this rule to+-- apply.+coriMaxRewardTier :: Lens' CcOfferRewardsItem (Maybe Double)+coriMaxRewardTier+ = lens _coriMaxRewardTier+ (\ s a -> s{_coriMaxRewardTier = a})+ . mapping _Coerce++-- | The minimum purchase amount in the given category before this rule+-- applies.+coriMinRewardTier :: Lens' CcOfferRewardsItem (Maybe Double)+coriMinRewardTier+ = lens _coriMinRewardTier+ (\ s a -> s{_coriMinRewardTier = a})+ . mapping _Coerce++instance FromJSON CcOfferRewardsItem where+ parseJSON+ = withObject "CcOfferRewardsItem"+ (\ o ->+ CcOfferRewardsItem <$>+ (o .:? "amount") <*> (o .:? "expirationMonths") <*>+ (o .:? "category")+ <*> (o .:? "additionalDetails")+ <*> (o .:? "maxRewardTier")+ <*> (o .:? "minRewardTier"))++instance ToJSON CcOfferRewardsItem where+ toJSON CcOfferRewardsItem{..}+ = object+ (catMaybes+ [("amount" .=) <$> _coriAmount,+ ("expirationMonths" .=) <$> _coriExpirationMonths,+ ("category" .=) <$> _coriCategory,+ ("additionalDetails" .=) <$> _coriAdditionalDetails,+ ("maxRewardTier" .=) <$> _coriMaxRewardTier,+ ("minRewardTier" .=) <$> _coriMinRewardTier])
+ gen/Network/Google/Affiliates/Types/Sum.hs view
@@ -0,0 +1,753 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Affiliates.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.Affiliates.Types.Sum where++import Network.Google.Prelude++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data PublishersGetRole+ = PGRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | PGRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PublishersGetRole++instance FromText PublishersGetRole where+ fromText = \case+ "advertisers" -> Just PGRAdvertisers+ "publishers" -> Just PGRPublishers+ _ -> Nothing++instance ToText PublishersGetRole where+ toText = \case+ PGRAdvertisers -> "advertisers"+ PGRPublishers -> "publishers"++instance FromJSON PublishersGetRole where+ parseJSON = parseJSONText "PublishersGetRole"++instance ToJSON PublishersGetRole where+ toJSON = toJSONText++-- | Filters out all events that are not of the given type. Valid values:+-- \'action\', \'transaction\', or \'charge\'. Optional.+data ReportsGetEventType+ = Action+ -- ^ @action@+ -- Event type is action.+ | Charge+ -- ^ @charge@+ -- Event type is charge.+ | Transaction+ -- ^ @transaction@+ -- Event type is transaction.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsGetEventType++instance FromText ReportsGetEventType where+ fromText = \case+ "action" -> Just Action+ "charge" -> Just Charge+ "transaction" -> Just Transaction+ _ -> Nothing++instance ToText ReportsGetEventType where+ toText = \case+ Action -> "action"+ Charge -> "charge"+ Transaction -> "transaction"++instance FromJSON ReportsGetEventType where+ parseJSON = parseJSONText "ReportsGetEventType"++instance ToJSON ReportsGetEventType where+ toJSON = toJSONText++-- | Filters out all events that do not have the given status. Valid values:+-- \'active\', \'canceled\', or \'invalid\'. Optional.+data ReportsGetStatus+ = Active+ -- ^ @active@+ -- Event is currently active.+ | Canceled+ -- ^ @canceled@+ -- Event is currently canceled.+ | Invalid+ -- ^ @invalid@+ -- Event is currently invalid.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsGetStatus++instance FromText ReportsGetStatus where+ fromText = \case+ "active" -> Just Active+ "canceled" -> Just Canceled+ "invalid" -> Just Invalid+ _ -> Nothing++instance ToText ReportsGetStatus where+ toText = \case+ Active -> "active"+ Canceled -> "canceled"+ Invalid -> "invalid"++instance FromJSON ReportsGetStatus where+ parseJSON = parseJSONText "ReportsGetStatus"++instance ToJSON ReportsGetStatus where+ toJSON = toJSONText++-- | The promotion type.+data LinksListPromotionType+ = Coupon+ -- ^ @coupon@+ | FreeGift+ -- ^ @free_gift@+ | FreeShipping+ -- ^ @free_shipping@+ | PercentOff+ -- ^ @percent_off@+ | PriceCut+ -- ^ @price_cut@+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LinksListPromotionType++instance FromText LinksListPromotionType where+ fromText = \case+ "coupon" -> Just Coupon+ "free_gift" -> Just FreeGift+ "free_shipping" -> Just FreeShipping+ "percent_off" -> Just PercentOff+ "price_cut" -> Just PriceCut+ _ -> Nothing++instance ToText LinksListPromotionType where+ toText = \case+ Coupon -> "coupon"+ FreeGift -> "free_gift"+ FreeShipping -> "free_shipping"+ PercentOff -> "percent_off"+ PriceCut -> "price_cut"++instance FromJSON LinksListPromotionType where+ parseJSON = parseJSONText "LinksListPromotionType"++instance ToJSON LinksListPromotionType where+ toJSON = toJSONText++-- | Filters out all events that are not of the given type. Valid values:+-- \'action\', \'transaction\', \'charge\'. Optional.+data EventsListType+ = ELTAction+ -- ^ @action@+ -- The completion of an application, sign-up, or other process. For+ -- example, an action occurs if a user clicks an ad for a credit card and+ -- completes an application for that card.+ | ELTCharge+ -- ^ @charge@+ -- A charge event is typically a payment between an advertiser, publisher+ -- or Google.+ | ELTTransaction+ -- ^ @transaction@+ -- A conversion event, typically an e-commerce transaction. Some+ -- advertisers use a transaction to record other types of events, such as+ -- magazine subscriptions.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventsListType++instance FromText EventsListType where+ fromText = \case+ "action" -> Just ELTAction+ "charge" -> Just ELTCharge+ "transaction" -> Just ELTTransaction+ _ -> Nothing++instance ToText EventsListType where+ toText = \case+ ELTAction -> "action"+ ELTCharge -> "charge"+ ELTTransaction -> "transaction"++instance FromJSON EventsListType where+ parseJSON = parseJSONText "EventsListType"++instance ToJSON EventsListType where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data LinksListRole+ = LLRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | LLRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LinksListRole++instance FromText LinksListRole where+ fromText = \case+ "advertisers" -> Just LLRAdvertisers+ "publishers" -> Just LLRPublishers+ _ -> Nothing++instance ToText LinksListRole where+ toText = \case+ LLRAdvertisers -> "advertisers"+ LLRPublishers -> "publishers"++instance FromJSON LinksListRole where+ parseJSON = parseJSONText "LinksListRole"++instance ToJSON LinksListRole where+ toJSON = toJSONText++-- | The type of report being requested. Valid values: \'order_delta\'.+-- Required.+data ReportsGetReportType+ = OrderDelta+ -- ^ @order_delta@+ -- The order delta report type.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsGetReportType++instance FromText ReportsGetReportType where+ fromText = \case+ "order_delta" -> Just OrderDelta+ _ -> Nothing++instance ToText ReportsGetReportType where+ toText = \case+ OrderDelta -> "order_delta"++instance FromJSON ReportsGetReportType where+ parseJSON = parseJSONText "ReportsGetReportType"++instance ToJSON ReportsGetReportType where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data AdvertisersListRole+ = ALRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | ALRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertisersListRole++instance FromText AdvertisersListRole where+ fromText = \case+ "advertisers" -> Just ALRAdvertisers+ "publishers" -> Just ALRPublishers+ _ -> Nothing++instance ToText AdvertisersListRole where+ toText = \case+ ALRAdvertisers -> "advertisers"+ ALRPublishers -> "publishers"++instance FromJSON AdvertisersListRole where+ parseJSON = parseJSONText "AdvertisersListRole"++instance ToJSON AdvertisersListRole where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data LinksInsertRole+ = LIRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | LIRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LinksInsertRole++instance FromText LinksInsertRole where+ fromText = \case+ "advertisers" -> Just LIRAdvertisers+ "publishers" -> Just LIRPublishers+ _ -> Nothing++instance ToText LinksInsertRole where+ toText = \case+ LIRAdvertisers -> "advertisers"+ LIRPublishers -> "publishers"++instance FromJSON LinksInsertRole where+ parseJSON = parseJSONText "LinksInsertRole"++instance ToJSON LinksInsertRole where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data PublishersListRole+ = PLRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | PLRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PublishersListRole++instance FromText PublishersListRole where+ fromText = \case+ "advertisers" -> Just PLRAdvertisers+ "publishers" -> Just PLRPublishers+ _ -> Nothing++instance ToText PublishersListRole where+ toText = \case+ PLRAdvertisers -> "advertisers"+ PLRPublishers -> "publishers"++instance FromJSON PublishersListRole where+ parseJSON = parseJSONText "PublishersListRole"++instance ToJSON PublishersListRole where+ toJSON = toJSONText++-- | The role of the author of the link.+data LinksListAuthorship+ = LLAAdvertiser+ -- ^ @advertiser@+ | LLAPublisher+ -- ^ @publisher@+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LinksListAuthorship++instance FromText LinksListAuthorship where+ fromText = \case+ "advertiser" -> Just LLAAdvertiser+ "publisher" -> Just LLAPublisher+ _ -> Nothing++instance ToText LinksListAuthorship where+ toText = \case+ LLAAdvertiser -> "advertiser"+ LLAPublisher -> "publisher"++instance FromJSON LinksListAuthorship where+ parseJSON = parseJSONText "LinksListAuthorship"++instance ToJSON LinksListAuthorship where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data LinksGetRole+ = LGRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | LGRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LinksGetRole++instance FromText LinksGetRole where+ fromText = \case+ "advertisers" -> Just LGRAdvertisers+ "publishers" -> Just LGRPublishers+ _ -> Nothing++instance ToText LinksGetRole where+ toText = \case+ LGRAdvertisers -> "advertisers"+ LGRPublishers -> "publishers"++instance FromJSON LinksGetRole where+ parseJSON = parseJSONText "LinksGetRole"++instance ToJSON LinksGetRole where+ toJSON = toJSONText++-- | The type of the link.+data LinksListLinkType+ = Banner+ -- ^ @banner@+ | Text+ -- ^ @text@+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LinksListLinkType++instance FromText LinksListLinkType where+ fromText = \case+ "banner" -> Just Banner+ "text" -> Just Text+ _ -> Nothing++instance ToText LinksListLinkType where+ toText = \case+ Banner -> "banner"+ Text -> "text"++instance FromJSON LinksListLinkType where+ parseJSON = parseJSONText "LinksListLinkType"++instance ToJSON LinksListLinkType where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data EventsListRole+ = ELRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | ELRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventsListRole++instance FromText EventsListRole where+ fromText = \case+ "advertisers" -> Just ELRAdvertisers+ "publishers" -> Just ELRPublishers+ _ -> Nothing++instance ToText EventsListRole where+ toText = \case+ ELRAdvertisers -> "advertisers"+ ELRPublishers -> "publishers"++instance FromJSON EventsListRole where+ parseJSON = parseJSONText "EventsListRole"++instance ToJSON EventsListRole where+ toJSON = toJSONText++-- | Filters out all advertisers for which do not have the given relationship+-- status with the requesting publisher.+data AdvertisersListRelationshipStatus+ = Approved+ -- ^ @approved@+ -- An advertiser that has approved your application.+ | Available+ -- ^ @available@+ -- An advertiser program that\'s accepting new publishers.+ | Deactivated+ -- ^ @deactivated@+ -- Deactivated means either the advertiser has removed you from their+ -- program, or it could also mean that you chose to remove yourself from+ -- the advertiser\'s program.+ | Declined+ -- ^ @declined@+ -- An advertiser that did not approve your application.+ | Pending+ -- ^ @pending@+ -- An advertiser program that you\'ve already applied to, but they haven\'t+ -- yet decided to approve or decline your application.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertisersListRelationshipStatus++instance FromText AdvertisersListRelationshipStatus where+ fromText = \case+ "approved" -> Just Approved+ "available" -> Just Available+ "deactivated" -> Just Deactivated+ "declined" -> Just Declined+ "pending" -> Just Pending+ _ -> Nothing++instance ToText AdvertisersListRelationshipStatus where+ toText = \case+ Approved -> "approved"+ Available -> "available"+ Deactivated -> "deactivated"+ Declined -> "declined"+ Pending -> "pending"++instance FromJSON AdvertisersListRelationshipStatus where+ parseJSON = parseJSONText "AdvertisersListRelationshipStatus"++instance ToJSON AdvertisersListRelationshipStatus where+ toJSON = toJSONText++-- | The set of fields to return.+data CcOffersListProjection+ = Full+ -- ^ @full@+ -- Include all offer fields. This is the default.+ | Summary+ -- ^ @summary@+ -- Include only the basic fields needed to display an offer.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CcOffersListProjection++instance FromText CcOffersListProjection where+ fromText = \case+ "full" -> Just Full+ "summary" -> Just Summary+ _ -> Nothing++instance ToText CcOffersListProjection where+ toText = \case+ Full -> "full"+ Summary -> "summary"++instance FromJSON CcOffersListProjection where+ parseJSON = parseJSONText "CcOffersListProjection"++instance ToJSON CcOffersListProjection where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data AdvertisersGetRole+ = AGRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | AGRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertisersGetRole++instance FromText AdvertisersGetRole where+ fromText = \case+ "advertisers" -> Just AGRAdvertisers+ "publishers" -> Just AGRPublishers+ _ -> Nothing++instance ToText AdvertisersGetRole where+ toText = \case+ AGRAdvertisers -> "advertisers"+ AGRPublishers -> "publishers"++instance FromJSON AdvertisersGetRole where+ parseJSON = parseJSONText "AdvertisersGetRole"++instance ToJSON AdvertisersGetRole where+ toJSON = toJSONText++-- | Filters out all charge events that are not of the given charge type.+-- Valid values: \'other\', \'slotting_fee\', \'monthly_minimum\',+-- \'tier_bonus\', \'credit\', \'debit\'. Optional.+data EventsListChargeType+ = Credit+ -- ^ @credit@+ -- A credit increases the publisher\'s payout amount and decreases the+ -- advertiser\'s invoice amount.+ | Debit+ -- ^ @debit@+ -- A debit reduces the publisher\'s payout and increases the advertiser\'s+ -- invoice amount.+ | MonthlyMinimum+ -- ^ @monthly_minimum@+ -- A payment made to Google by an advertiser as a minimum monthly network+ -- fee.+ | Other+ -- ^ @other@+ -- Catch all. Default if unset+ | SlottingFee+ -- ^ @slotting_fee@+ -- A one time payment made from an advertiser to a publisher.+ | TierBonus+ -- ^ @tier_bonus@+ -- A payment from an advertiser to a publisher for the publisher+ -- maintaining a high tier level+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventsListChargeType++instance FromText EventsListChargeType where+ fromText = \case+ "credit" -> Just Credit+ "debit" -> Just Debit+ "monthly_minimum" -> Just MonthlyMinimum+ "other" -> Just Other+ "slotting_fee" -> Just SlottingFee+ "tier_bonus" -> Just TierBonus+ _ -> Nothing++instance ToText EventsListChargeType where+ toText = \case+ Credit -> "credit"+ Debit -> "debit"+ MonthlyMinimum -> "monthly_minimum"+ Other -> "other"+ SlottingFee -> "slotting_fee"+ TierBonus -> "tier_bonus"++instance FromJSON EventsListChargeType where+ parseJSON = parseJSONText "EventsListChargeType"++instance ToJSON EventsListChargeType where+ toJSON = toJSONText++-- | Filters out all publishers for which do not have the given relationship+-- status with the requesting publisher.+data PublishersListRelationshipStatus+ = PLRSApproved+ -- ^ @approved@+ -- Publishers you\'ve approved to your program.+ | PLRSAvailable+ -- ^ @available@+ -- Publishers available for you to recruit.+ | PLRSDeactivated+ -- ^ @deactivated@+ -- A publisher that you terminated from your program. Publishers also have+ -- the ability to remove themselves from your program.+ | PLRSDeclined+ -- ^ @declined@+ -- A publisher that you did not approve to your program.+ | PLRSPending+ -- ^ @pending@+ -- Publishers that have applied to your program. We recommend reviewing and+ -- deciding on pending publishers on a weekly basis.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PublishersListRelationshipStatus++instance FromText PublishersListRelationshipStatus where+ fromText = \case+ "approved" -> Just PLRSApproved+ "available" -> Just PLRSAvailable+ "deactivated" -> Just PLRSDeactivated+ "declined" -> Just PLRSDeclined+ "pending" -> Just PLRSPending+ _ -> Nothing++instance ToText PublishersListRelationshipStatus where+ toText = \case+ PLRSApproved -> "approved"+ PLRSAvailable -> "available"+ PLRSDeactivated -> "deactivated"+ PLRSDeclined -> "declined"+ PLRSPending -> "pending"++instance FromJSON PublishersListRelationshipStatus where+ parseJSON = parseJSONText "PublishersListRelationshipStatus"++instance ToJSON PublishersListRelationshipStatus where+ toJSON = toJSONText++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+data ReportsGetRole+ = RGRAdvertisers+ -- ^ @advertisers@+ -- The requester is requesting as an advertiser.+ | RGRPublishers+ -- ^ @publishers@+ -- The requester is requesting as a publisher.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsGetRole++instance FromText ReportsGetRole where+ fromText = \case+ "advertisers" -> Just RGRAdvertisers+ "publishers" -> Just RGRPublishers+ _ -> Nothing++instance ToText ReportsGetRole where+ toText = \case+ RGRAdvertisers -> "advertisers"+ RGRPublishers -> "publishers"++instance FromJSON ReportsGetRole where+ parseJSON = parseJSONText "ReportsGetRole"++instance ToJSON ReportsGetRole where+ toJSON = toJSONText++-- | The status of the relationship.+data LinksListRelationshipStatus+ = LLRSApproved+ -- ^ @approved@+ | LLRSAvailable+ -- ^ @available@+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LinksListRelationshipStatus++instance FromText LinksListRelationshipStatus where+ fromText = \case+ "approved" -> Just LLRSApproved+ "available" -> Just LLRSAvailable+ _ -> Nothing++instance ToText LinksListRelationshipStatus where+ toText = \case+ LLRSApproved -> "approved"+ LLRSAvailable -> "available"++instance FromJSON LinksListRelationshipStatus where+ parseJSON = parseJSONText "LinksListRelationshipStatus"++instance ToJSON LinksListRelationshipStatus where+ toJSON = toJSONText++-- | Filters out all events that do not have the given status. Valid values:+-- \'active\', \'canceled\'. Optional.+data EventsListStatus+ = ELSActive+ -- ^ @active@+ -- Event is currently active.+ | ELSCanceled+ -- ^ @canceled@+ -- Event is currently canceled.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventsListStatus++instance FromText EventsListStatus where+ fromText = \case+ "active" -> Just ELSActive+ "canceled" -> Just ELSCanceled+ _ -> Nothing++instance ToText EventsListStatus where+ toText = \case+ ELSActive -> "active"+ ELSCanceled -> "canceled"++instance FromJSON EventsListStatus where+ parseJSON = parseJSONText "EventsListStatus"++instance ToJSON EventsListStatus where+ toJSON = toJSONText
+ gen/Network/Google/Resource/GAN/Advertisers/Get.hs view
@@ -0,0 +1,112 @@+{-# 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.GAN.Advertisers.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 data about a single advertiser if that the requesting+-- advertiser\/publisher has access to it. Only publishers can lookup+-- advertisers. Advertisers can request information about themselves by+-- omitting the advertiserId query parameter.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.advertisers.get@.+module Network.Google.Resource.GAN.Advertisers.Get+ (+ -- * REST Resource+ AdvertisersGetResource++ -- * Creating a Request+ , advertisersGet+ , AdvertisersGet++ -- * Request Lenses+ , agAdvertiserId+ , agRoleId+ , agRole+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.advertisers.get@ method which the+-- 'AdvertisersGet' request conforms to.+type AdvertisersGetResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" AdvertisersGetRole :>+ Capture "roleId" Text :>+ "advertiser" :>+ QueryParam "advertiserId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Advertiser++-- | Retrieves data about a single advertiser if that the requesting+-- advertiser\/publisher has access to it. Only publishers can lookup+-- advertisers. Advertisers can request information about themselves by+-- omitting the advertiserId query parameter.+--+-- /See:/ 'advertisersGet' smart constructor.+data AdvertisersGet = AdvertisersGet+ { _agAdvertiserId :: !(Maybe Text)+ , _agRoleId :: !Text+ , _agRole :: !AdvertisersGetRole+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agAdvertiserId'+--+-- * 'agRoleId'+--+-- * 'agRole'+advertisersGet+ :: Text -- ^ 'agRoleId'+ -> AdvertisersGetRole -- ^ 'agRole'+ -> AdvertisersGet+advertisersGet pAgRoleId_ pAgRole_ =+ AdvertisersGet+ { _agAdvertiserId = Nothing+ , _agRoleId = pAgRoleId_+ , _agRole = pAgRole_+ }++-- | The ID of the advertiser to look up. Optional.+agAdvertiserId :: Lens' AdvertisersGet (Maybe Text)+agAdvertiserId+ = lens _agAdvertiserId+ (\ s a -> s{_agAdvertiserId = a})++-- | The ID of the requesting advertiser or publisher.+agRoleId :: Lens' AdvertisersGet Text+agRoleId = lens _agRoleId (\ s a -> s{_agRoleId = a})++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+agRole :: Lens' AdvertisersGet AdvertisersGetRole+agRole = lens _agRole (\ s a -> s{_agRole = a})++instance GoogleRequest AdvertisersGet where+ type Rs AdvertisersGet = Advertiser+ requestClient AdvertisersGet{..}+ = go _agRole _agRoleId _agAdvertiserId (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy AdvertisersGetResource)+ mempty
+ gen/Network/Google/Resource/GAN/Advertisers/List.hs view
@@ -0,0 +1,203 @@+{-# 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.GAN.Advertisers.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)+--+-- Retrieves data about all advertisers that the requesting+-- advertiser\/publisher has access to.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.advertisers.list@.+module Network.Google.Resource.GAN.Advertisers.List+ (+ -- * REST Resource+ AdvertisersListResource++ -- * Creating a Request+ , advertisersList+ , AdvertisersList++ -- * Request Lenses+ , alRelationshipStatus+ , alMinSevenDayEpc+ , alRoleId+ , alMinNinetyDayEpc+ , alRole+ , alMinPayoutRank+ , alAdvertiserCategory+ , alPageToken+ , alMaxResults+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.advertisers.list@ method which the+-- 'AdvertisersList' request conforms to.+type AdvertisersListResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" AdvertisersListRole :>+ Capture "roleId" Text :>+ "advertisers" :>+ QueryParam "relationshipStatus"+ AdvertisersListRelationshipStatus+ :>+ QueryParam "minSevenDayEpc" (Textual Double) :>+ QueryParam "minNinetyDayEpc" (Textual Double) :>+ QueryParam "minPayoutRank" (Textual Int32) :>+ QueryParam "advertiserCategory" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] Advertisers++-- | Retrieves data about all advertisers that the requesting+-- advertiser\/publisher has access to.+--+-- /See:/ 'advertisersList' smart constructor.+data AdvertisersList = AdvertisersList+ { _alRelationshipStatus :: !(Maybe AdvertisersListRelationshipStatus)+ , _alMinSevenDayEpc :: !(Maybe (Textual Double))+ , _alRoleId :: !Text+ , _alMinNinetyDayEpc :: !(Maybe (Textual Double))+ , _alRole :: !AdvertisersListRole+ , _alMinPayoutRank :: !(Maybe (Textual Int32))+ , _alAdvertiserCategory :: !(Maybe Text)+ , _alPageToken :: !(Maybe Text)+ , _alMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alRelationshipStatus'+--+-- * 'alMinSevenDayEpc'+--+-- * 'alRoleId'+--+-- * 'alMinNinetyDayEpc'+--+-- * 'alRole'+--+-- * 'alMinPayoutRank'+--+-- * 'alAdvertiserCategory'+--+-- * 'alPageToken'+--+-- * 'alMaxResults'+advertisersList+ :: Text -- ^ 'alRoleId'+ -> AdvertisersListRole -- ^ 'alRole'+ -> AdvertisersList+advertisersList pAlRoleId_ pAlRole_ =+ AdvertisersList+ { _alRelationshipStatus = Nothing+ , _alMinSevenDayEpc = Nothing+ , _alRoleId = pAlRoleId_+ , _alMinNinetyDayEpc = Nothing+ , _alRole = pAlRole_+ , _alMinPayoutRank = Nothing+ , _alAdvertiserCategory = Nothing+ , _alPageToken = Nothing+ , _alMaxResults = Nothing+ }++-- | Filters out all advertisers for which do not have the given relationship+-- status with the requesting publisher.+alRelationshipStatus :: Lens' AdvertisersList (Maybe AdvertisersListRelationshipStatus)+alRelationshipStatus+ = lens _alRelationshipStatus+ (\ s a -> s{_alRelationshipStatus = a})++-- | Filters out all advertisers that have a seven day EPC average lower than+-- the given value (inclusive). Min value: 0.0. Optional.+alMinSevenDayEpc :: Lens' AdvertisersList (Maybe Double)+alMinSevenDayEpc+ = lens _alMinSevenDayEpc+ (\ s a -> s{_alMinSevenDayEpc = a})+ . mapping _Coerce++-- | The ID of the requesting advertiser or publisher.+alRoleId :: Lens' AdvertisersList Text+alRoleId = lens _alRoleId (\ s a -> s{_alRoleId = a})++-- | Filters out all advertisers that have a ninety day EPC average lower+-- than the given value (inclusive). Min value: 0.0. Optional.+alMinNinetyDayEpc :: Lens' AdvertisersList (Maybe Double)+alMinNinetyDayEpc+ = lens _alMinNinetyDayEpc+ (\ s a -> s{_alMinNinetyDayEpc = a})+ . mapping _Coerce++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+alRole :: Lens' AdvertisersList AdvertisersListRole+alRole = lens _alRole (\ s a -> s{_alRole = a})++-- | A value between 1 and 4, where 1 represents the quartile of advertisers+-- with the lowest ranks and 4 represents the quartile of advertisers with+-- the highest ranks. Filters out all advertisers with a lower rank than+-- the given quartile. For example if a 2 was given only advertisers with a+-- payout rank of 25 or higher would be included. Optional.+alMinPayoutRank :: Lens' AdvertisersList (Maybe Int32)+alMinPayoutRank+ = lens _alMinPayoutRank+ (\ s a -> s{_alMinPayoutRank = a})+ . mapping _Coerce++-- | Caret(^) delimted list of advertiser categories. Valid categories are+-- defined here:+-- http:\/\/www.google.com\/support\/affiliatenetwork\/advertiser\/bin\/answer.py?hl=en&answer=107581.+-- Filters out all advertisers not in one of the given advertiser+-- categories. Optional.+alAdvertiserCategory :: Lens' AdvertisersList (Maybe Text)+alAdvertiserCategory+ = lens _alAdvertiserCategory+ (\ s a -> s{_alAdvertiserCategory = a})++-- | The value of \'nextPageToken\' from the previous page. Optional.+alPageToken :: Lens' AdvertisersList (Maybe Text)+alPageToken+ = lens _alPageToken (\ s a -> s{_alPageToken = a})++-- | Max number of items to return in this page. Optional. Defaults to 20.+alMaxResults :: Lens' AdvertisersList (Maybe Word32)+alMaxResults+ = lens _alMaxResults (\ s a -> s{_alMaxResults = a})+ . mapping _Coerce++instance GoogleRequest AdvertisersList where+ type Rs AdvertisersList = Advertisers+ requestClient AdvertisersList{..}+ = go _alRole _alRoleId _alRelationshipStatus+ _alMinSevenDayEpc+ _alMinNinetyDayEpc+ _alMinPayoutRank+ _alAdvertiserCategory+ _alPageToken+ _alMaxResults+ (Just AltJSON)+ affiliatesService+ where go+ = buildClient+ (Proxy :: Proxy AdvertisersListResource)+ mempty
+ gen/Network/Google/Resource/GAN/CcOffers/List.hs view
@@ -0,0 +1,113 @@+{-# 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.GAN.CcOffers.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)+--+-- Retrieves credit card offers for the given publisher.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.ccOffers.list@.+module Network.Google.Resource.GAN.CcOffers.List+ (+ -- * REST Resource+ CcOffersListResource++ -- * Creating a Request+ , ccOffersList+ , CcOffersList++ -- * Request Lenses+ , colAdvertiser+ , colProjection+ , colPublisher+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.ccOffers.list@ method which the+-- 'CcOffersList' request conforms to.+type CcOffersListResource =+ "gan" :>+ "v1beta1" :>+ "publishers" :>+ Capture "publisher" Text :>+ "ccOffers" :>+ QueryParams "advertiser" Text :>+ QueryParam "projection" CcOffersListProjection :>+ QueryParam "alt" AltJSON :> Get '[JSON] CcOffers++-- | Retrieves credit card offers for the given publisher.+--+-- /See:/ 'ccOffersList' smart constructor.+data CcOffersList = CcOffersList+ { _colAdvertiser :: !(Maybe [Text])+ , _colProjection :: !(Maybe CcOffersListProjection)+ , _colPublisher :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CcOffersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'colAdvertiser'+--+-- * 'colProjection'+--+-- * 'colPublisher'+ccOffersList+ :: Text -- ^ 'colPublisher'+ -> CcOffersList+ccOffersList pColPublisher_ =+ CcOffersList+ { _colAdvertiser = Nothing+ , _colProjection = Nothing+ , _colPublisher = pColPublisher_+ }++-- | The advertiser ID of a card issuer whose offers to include. Optional,+-- may be repeated.+colAdvertiser :: Lens' CcOffersList [Text]+colAdvertiser+ = lens _colAdvertiser+ (\ s a -> s{_colAdvertiser = a})+ . _Default+ . _Coerce++-- | The set of fields to return.+colProjection :: Lens' CcOffersList (Maybe CcOffersListProjection)+colProjection+ = lens _colProjection+ (\ s a -> s{_colProjection = a})++-- | The ID of the publisher in question.+colPublisher :: Lens' CcOffersList Text+colPublisher+ = lens _colPublisher (\ s a -> s{_colPublisher = a})++instance GoogleRequest CcOffersList where+ type Rs CcOffersList = CcOffers+ requestClient CcOffersList{..}+ = go _colPublisher (_colAdvertiser ^. _Default)+ _colProjection+ (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy CcOffersListResource)+ mempty
+ gen/Network/Google/Resource/GAN/Events/List.hs view
@@ -0,0 +1,312 @@+{-# 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.GAN.Events.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)+--+-- Retrieves event data for a given advertiser\/publisher.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.events.list@.+module Network.Google.Resource.GAN.Events.List+ (+ -- * REST Resource+ EventsListResource++ -- * Creating a Request+ , eventsList+ , EventsList++ -- * Request Lenses+ , elStatus+ , elEventDateMin+ , elChargeType+ , elMemberId+ , elModifyDateMax+ , elAdvertiserId+ , elModifyDateMin+ , elRoleId+ , elRole+ , elEventDateMax+ , elSKU+ , elLinkId+ , elPageToken+ , elType+ , elOrderId+ , elPublisherId+ , elProductCategory+ , elMaxResults+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.events.list@ method which the+-- 'EventsList' request conforms to.+type EventsListResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" EventsListRole :>+ Capture "roleId" Text :>+ "events" :>+ QueryParam "status" EventsListStatus :>+ QueryParam "eventDateMin" Text :>+ QueryParam "chargeType" EventsListChargeType :>+ QueryParam "memberId" Text :>+ QueryParam "modifyDateMax" Text :>+ QueryParam "advertiserId" Text :>+ QueryParam "modifyDateMin" Text :>+ QueryParam "eventDateMax" Text :>+ QueryParam "sku" Text :>+ QueryParam "linkId" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "type" EventsListType :>+ QueryParam "orderId" Text :>+ QueryParam "publisherId" Text :>+ QueryParam "productCategory" Text :>+ QueryParam "maxResults"+ (Textual Word32)+ :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Events++-- | Retrieves event data for a given advertiser\/publisher.+--+-- /See:/ 'eventsList' smart constructor.+data EventsList = EventsList+ { _elStatus :: !(Maybe EventsListStatus)+ , _elEventDateMin :: !(Maybe Text)+ , _elChargeType :: !(Maybe EventsListChargeType)+ , _elMemberId :: !(Maybe Text)+ , _elModifyDateMax :: !(Maybe Text)+ , _elAdvertiserId :: !(Maybe Text)+ , _elModifyDateMin :: !(Maybe Text)+ , _elRoleId :: !Text+ , _elRole :: !EventsListRole+ , _elEventDateMax :: !(Maybe Text)+ , _elSKU :: !(Maybe Text)+ , _elLinkId :: !(Maybe Text)+ , _elPageToken :: !(Maybe Text)+ , _elType :: !(Maybe EventsListType)+ , _elOrderId :: !(Maybe Text)+ , _elPublisherId :: !(Maybe Text)+ , _elProductCategory :: !(Maybe Text)+ , _elMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elStatus'+--+-- * 'elEventDateMin'+--+-- * 'elChargeType'+--+-- * 'elMemberId'+--+-- * 'elModifyDateMax'+--+-- * 'elAdvertiserId'+--+-- * 'elModifyDateMin'+--+-- * 'elRoleId'+--+-- * 'elRole'+--+-- * 'elEventDateMax'+--+-- * 'elSKU'+--+-- * 'elLinkId'+--+-- * 'elPageToken'+--+-- * 'elType'+--+-- * 'elOrderId'+--+-- * 'elPublisherId'+--+-- * 'elProductCategory'+--+-- * 'elMaxResults'+eventsList+ :: Text -- ^ 'elRoleId'+ -> EventsListRole -- ^ 'elRole'+ -> EventsList+eventsList pElRoleId_ pElRole_ =+ EventsList+ { _elStatus = Nothing+ , _elEventDateMin = Nothing+ , _elChargeType = Nothing+ , _elMemberId = Nothing+ , _elModifyDateMax = Nothing+ , _elAdvertiserId = Nothing+ , _elModifyDateMin = Nothing+ , _elRoleId = pElRoleId_+ , _elRole = pElRole_+ , _elEventDateMax = Nothing+ , _elSKU = Nothing+ , _elLinkId = Nothing+ , _elPageToken = Nothing+ , _elType = Nothing+ , _elOrderId = Nothing+ , _elPublisherId = Nothing+ , _elProductCategory = Nothing+ , _elMaxResults = Nothing+ }++-- | Filters out all events that do not have the given status. Valid values:+-- \'active\', \'canceled\'. Optional.+elStatus :: Lens' EventsList (Maybe EventsListStatus)+elStatus = lens _elStatus (\ s a -> s{_elStatus = a})++-- | Filters out all events earlier than given date. Optional. Defaults to 24+-- hours from current date\/time.+elEventDateMin :: Lens' EventsList (Maybe Text)+elEventDateMin+ = lens _elEventDateMin+ (\ s a -> s{_elEventDateMin = a})++-- | Filters out all charge events that are not of the given charge type.+-- Valid values: \'other\', \'slotting_fee\', \'monthly_minimum\',+-- \'tier_bonus\', \'credit\', \'debit\'. Optional.+elChargeType :: Lens' EventsList (Maybe EventsListChargeType)+elChargeType+ = lens _elChargeType (\ s a -> s{_elChargeType = a})++-- | Caret(^) delimited list of member IDs. Filters out all events that do+-- not reference one of the given member IDs. Optional.+elMemberId :: Lens' EventsList (Maybe Text)+elMemberId+ = lens _elMemberId (\ s a -> s{_elMemberId = a})++-- | Filters out all events modified later than given date. Optional.+-- Defaults to 24 hours after modifyDateMin, if modifyDateMin is explicitly+-- set.+elModifyDateMax :: Lens' EventsList (Maybe Text)+elModifyDateMax+ = lens _elModifyDateMax+ (\ s a -> s{_elModifyDateMax = a})++-- | Caret(^) delimited list of advertiser IDs. Filters out all events that+-- do not reference one of the given advertiser IDs. Only used when under+-- publishers role. Optional.+elAdvertiserId :: Lens' EventsList (Maybe Text)+elAdvertiserId+ = lens _elAdvertiserId+ (\ s a -> s{_elAdvertiserId = a})++-- | Filters out all events modified earlier than given date. Optional.+-- Defaults to 24 hours before the current modifyDateMax, if modifyDateMax+-- is explicitly set.+elModifyDateMin :: Lens' EventsList (Maybe Text)+elModifyDateMin+ = lens _elModifyDateMin+ (\ s a -> s{_elModifyDateMin = a})++-- | The ID of the requesting advertiser or publisher.+elRoleId :: Lens' EventsList Text+elRoleId = lens _elRoleId (\ s a -> s{_elRoleId = a})++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+elRole :: Lens' EventsList EventsListRole+elRole = lens _elRole (\ s a -> s{_elRole = a})++-- | Filters out all events later than given date. Optional. Defaults to 24+-- hours after eventMin.+elEventDateMax :: Lens' EventsList (Maybe Text)+elEventDateMax+ = lens _elEventDateMax+ (\ s a -> s{_elEventDateMax = a})++-- | Caret(^) delimited list of SKUs. Filters out all events that do not+-- reference one of the given SKU. Optional.+elSKU :: Lens' EventsList (Maybe Text)+elSKU = lens _elSKU (\ s a -> s{_elSKU = a})++-- | Caret(^) delimited list of link IDs. Filters out all events that do not+-- reference one of the given link IDs. Optional.+elLinkId :: Lens' EventsList (Maybe Text)+elLinkId = lens _elLinkId (\ s a -> s{_elLinkId = a})++-- | The value of \'nextPageToken\' from the previous page. Optional.+elPageToken :: Lens' EventsList (Maybe Text)+elPageToken+ = lens _elPageToken (\ s a -> s{_elPageToken = a})++-- | Filters out all events that are not of the given type. Valid values:+-- \'action\', \'transaction\', \'charge\'. Optional.+elType :: Lens' EventsList (Maybe EventsListType)+elType = lens _elType (\ s a -> s{_elType = a})++-- | Caret(^) delimited list of order IDs. Filters out all events that do not+-- reference one of the given order IDs. Optional.+elOrderId :: Lens' EventsList (Maybe Text)+elOrderId+ = lens _elOrderId (\ s a -> s{_elOrderId = a})++-- | Caret(^) delimited list of publisher IDs. Filters out all events that do+-- not reference one of the given publishers IDs. Only used when under+-- advertiser role. Optional.+elPublisherId :: Lens' EventsList (Maybe Text)+elPublisherId+ = lens _elPublisherId+ (\ s a -> s{_elPublisherId = a})++-- | Caret(^) delimited list of product categories. Filters out all events+-- that do not reference a product in one of the given product categories.+-- Optional.+elProductCategory :: Lens' EventsList (Maybe Text)+elProductCategory+ = lens _elProductCategory+ (\ s a -> s{_elProductCategory = a})++-- | Max number of offers to return in this page. Optional. Defaults to 20.+elMaxResults :: Lens' EventsList (Maybe Word32)+elMaxResults+ = lens _elMaxResults (\ s a -> s{_elMaxResults = a})+ . mapping _Coerce++instance GoogleRequest EventsList where+ type Rs EventsList = Events+ requestClient EventsList{..}+ = go _elRole _elRoleId _elStatus _elEventDateMin+ _elChargeType+ _elMemberId+ _elModifyDateMax+ _elAdvertiserId+ _elModifyDateMin+ _elEventDateMax+ _elSKU+ _elLinkId+ _elPageToken+ _elType+ _elOrderId+ _elPublisherId+ _elProductCategory+ _elMaxResults+ (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy EventsListResource)+ mempty
+ gen/Network/Google/Resource/GAN/Links/Get.hs view
@@ -0,0 +1,113 @@+{-# 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.GAN.Links.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 data about a single link if the requesting+-- advertiser\/publisher has access to it. Advertisers can look up their+-- own links. Publishers can look up visible links or links belonging to+-- advertisers they are in a relationship with.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.links.get@.+module Network.Google.Resource.GAN.Links.Get+ (+ -- * REST Resource+ LinksGetResource++ -- * Creating a Request+ , linksGet+ , LinksGet++ -- * Request Lenses+ , lgRoleId+ , lgRole+ , lgLinkId+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.links.get@ method which the+-- 'LinksGet' request conforms to.+type LinksGetResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" LinksGetRole :>+ Capture "roleId" Text :>+ "link" :>+ Capture "linkId" (Textual Int64) :>+ QueryParam "alt" AltJSON :> Get '[JSON] Link++-- | Retrieves data about a single link if the requesting+-- advertiser\/publisher has access to it. Advertisers can look up their+-- own links. Publishers can look up visible links or links belonging to+-- advertisers they are in a relationship with.+--+-- /See:/ 'linksGet' smart constructor.+data LinksGet = LinksGet+ { _lgRoleId :: !Text+ , _lgRole :: !LinksGetRole+ , _lgLinkId :: !(Textual Int64)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgRoleId'+--+-- * 'lgRole'+--+-- * 'lgLinkId'+linksGet+ :: Text -- ^ 'lgRoleId'+ -> LinksGetRole -- ^ 'lgRole'+ -> Int64 -- ^ 'lgLinkId'+ -> LinksGet+linksGet pLgRoleId_ pLgRole_ pLgLinkId_ =+ LinksGet+ { _lgRoleId = pLgRoleId_+ , _lgRole = pLgRole_+ , _lgLinkId = _Coerce # pLgLinkId_+ }++-- | The ID of the requesting advertiser or publisher.+lgRoleId :: Lens' LinksGet Text+lgRoleId = lens _lgRoleId (\ s a -> s{_lgRoleId = a})++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+lgRole :: Lens' LinksGet LinksGetRole+lgRole = lens _lgRole (\ s a -> s{_lgRole = a})++-- | The ID of the link to look up.+lgLinkId :: Lens' LinksGet Int64+lgLinkId+ = lens _lgLinkId (\ s a -> s{_lgLinkId = a}) .+ _Coerce++instance GoogleRequest LinksGet where+ type Rs LinksGet = Link+ requestClient LinksGet{..}+ = go _lgRole _lgRoleId _lgLinkId (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy LinksGetResource)+ mempty
+ gen/Network/Google/Resource/GAN/Links/Insert.hs view
@@ -0,0 +1,106 @@+{-# 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.GAN.Links.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 new link.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.links.insert@.+module Network.Google.Resource.GAN.Links.Insert+ (+ -- * REST Resource+ LinksInsertResource++ -- * Creating a Request+ , linksInsert+ , LinksInsert++ -- * Request Lenses+ , liPayload+ , liRoleId+ , liRole+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.links.insert@ method which the+-- 'LinksInsert' request conforms to.+type LinksInsertResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" LinksInsertRole :>+ Capture "roleId" Text :>+ "link" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Link :> Post '[JSON] Link++-- | Inserts a new link.+--+-- /See:/ 'linksInsert' smart constructor.+data LinksInsert = LinksInsert+ { _liPayload :: !Link+ , _liRoleId :: !Text+ , _liRole :: !LinksInsertRole+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'liPayload'+--+-- * 'liRoleId'+--+-- * 'liRole'+linksInsert+ :: Link -- ^ 'liPayload'+ -> Text -- ^ 'liRoleId'+ -> LinksInsertRole -- ^ 'liRole'+ -> LinksInsert+linksInsert pLiPayload_ pLiRoleId_ pLiRole_ =+ LinksInsert+ { _liPayload = pLiPayload_+ , _liRoleId = pLiRoleId_+ , _liRole = pLiRole_+ }++-- | Multipart request metadata.+liPayload :: Lens' LinksInsert Link+liPayload+ = lens _liPayload (\ s a -> s{_liPayload = a})++-- | The ID of the requesting advertiser or publisher.+liRoleId :: Lens' LinksInsert Text+liRoleId = lens _liRoleId (\ s a -> s{_liRoleId = a})++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+liRole :: Lens' LinksInsert LinksInsertRole+liRole = lens _liRole (\ s a -> s{_liRole = a})++instance GoogleRequest LinksInsert where+ type Rs LinksInsert = Link+ requestClient LinksInsert{..}+ = go _liRole _liRoleId (Just AltJSON) _liPayload+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy LinksInsertResource)+ mempty
+ gen/Network/Google/Resource/GAN/Links/List.hs view
@@ -0,0 +1,269 @@+{-# 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.GAN.Links.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)+--+-- Retrieves all links that match the query parameters.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.links.list@.+module Network.Google.Resource.GAN.Links.List+ (+ -- * REST Resource+ LinksListResource++ -- * Creating a Request+ , linksList+ , LinksList++ -- * Request Lenses+ , llCreateDateMax+ , llAuthorship+ , llAssetSize+ , llRelationshipStatus+ , llAdvertiserId+ , llSearchText+ , llPromotionType+ , llRoleId+ , llRole+ , llCreateDateMin+ , llLinkType+ , llPageToken+ , llStartDateMax+ , llStartDateMin+ , llMaxResults+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.links.list@ method which the+-- 'LinksList' request conforms to.+type LinksListResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" LinksListRole :>+ Capture "roleId" Text :>+ "links" :>+ QueryParam "createDateMax" Text :>+ QueryParam "authorship" LinksListAuthorship :>+ QueryParams "assetSize" Text :>+ QueryParam "relationshipStatus"+ LinksListRelationshipStatus+ :>+ QueryParams "advertiserId" (Textual Int64) :>+ QueryParam "searchText" Text :>+ QueryParams "promotionType" LinksListPromotionType :>+ QueryParam "createDateMin" Text :>+ QueryParam "linkType" LinksListLinkType :>+ QueryParam "pageToken" Text :>+ QueryParam "startDateMax" Text :>+ QueryParam "startDateMin" Text :>+ QueryParam "maxResults" (Textual Word32)+ :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Links++-- | Retrieves all links that match the query parameters.+--+-- /See:/ 'linksList' smart constructor.+data LinksList = LinksList+ { _llCreateDateMax :: !(Maybe Text)+ , _llAuthorship :: !(Maybe LinksListAuthorship)+ , _llAssetSize :: !(Maybe [Text])+ , _llRelationshipStatus :: !(Maybe LinksListRelationshipStatus)+ , _llAdvertiserId :: !(Maybe [Textual Int64])+ , _llSearchText :: !(Maybe Text)+ , _llPromotionType :: !(Maybe [LinksListPromotionType])+ , _llRoleId :: !Text+ , _llRole :: !LinksListRole+ , _llCreateDateMin :: !(Maybe Text)+ , _llLinkType :: !(Maybe LinksListLinkType)+ , _llPageToken :: !(Maybe Text)+ , _llStartDateMax :: !(Maybe Text)+ , _llStartDateMin :: !(Maybe Text)+ , _llMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llCreateDateMax'+--+-- * 'llAuthorship'+--+-- * 'llAssetSize'+--+-- * 'llRelationshipStatus'+--+-- * 'llAdvertiserId'+--+-- * 'llSearchText'+--+-- * 'llPromotionType'+--+-- * 'llRoleId'+--+-- * 'llRole'+--+-- * 'llCreateDateMin'+--+-- * 'llLinkType'+--+-- * 'llPageToken'+--+-- * 'llStartDateMax'+--+-- * 'llStartDateMin'+--+-- * 'llMaxResults'+linksList+ :: Text -- ^ 'llRoleId'+ -> LinksListRole -- ^ 'llRole'+ -> LinksList+linksList pLlRoleId_ pLlRole_ =+ LinksList+ { _llCreateDateMax = Nothing+ , _llAuthorship = Nothing+ , _llAssetSize = Nothing+ , _llRelationshipStatus = Nothing+ , _llAdvertiserId = Nothing+ , _llSearchText = Nothing+ , _llPromotionType = Nothing+ , _llRoleId = pLlRoleId_+ , _llRole = pLlRole_+ , _llCreateDateMin = Nothing+ , _llLinkType = Nothing+ , _llPageToken = Nothing+ , _llStartDateMax = Nothing+ , _llStartDateMin = Nothing+ , _llMaxResults = Nothing+ }++-- | The end of the create date range.+llCreateDateMax :: Lens' LinksList (Maybe Text)+llCreateDateMax+ = lens _llCreateDateMax+ (\ s a -> s{_llCreateDateMax = a})++-- | The role of the author of the link.+llAuthorship :: Lens' LinksList (Maybe LinksListAuthorship)+llAuthorship+ = lens _llAuthorship (\ s a -> s{_llAuthorship = a})++-- | The size of the given asset.+llAssetSize :: Lens' LinksList [Text]+llAssetSize+ = lens _llAssetSize (\ s a -> s{_llAssetSize = a}) .+ _Default+ . _Coerce++-- | The status of the relationship.+llRelationshipStatus :: Lens' LinksList (Maybe LinksListRelationshipStatus)+llRelationshipStatus+ = lens _llRelationshipStatus+ (\ s a -> s{_llRelationshipStatus = a})++-- | Limits the resulting links to the ones belonging to the listed+-- advertisers.+llAdvertiserId :: Lens' LinksList [Int64]+llAdvertiserId+ = lens _llAdvertiserId+ (\ s a -> s{_llAdvertiserId = a})+ . _Default+ . _Coerce++-- | Field for full text search across title and merchandising text, supports+-- link id search.+llSearchText :: Lens' LinksList (Maybe Text)+llSearchText+ = lens _llSearchText (\ s a -> s{_llSearchText = a})++-- | The promotion type.+llPromotionType :: Lens' LinksList [LinksListPromotionType]+llPromotionType+ = lens _llPromotionType+ (\ s a -> s{_llPromotionType = a})+ . _Default+ . _Coerce++-- | The ID of the requesting advertiser or publisher.+llRoleId :: Lens' LinksList Text+llRoleId = lens _llRoleId (\ s a -> s{_llRoleId = a})++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+llRole :: Lens' LinksList LinksListRole+llRole = lens _llRole (\ s a -> s{_llRole = a})++-- | The beginning of the create date range.+llCreateDateMin :: Lens' LinksList (Maybe Text)+llCreateDateMin+ = lens _llCreateDateMin+ (\ s a -> s{_llCreateDateMin = a})++-- | The type of the link.+llLinkType :: Lens' LinksList (Maybe LinksListLinkType)+llLinkType+ = lens _llLinkType (\ s a -> s{_llLinkType = a})++-- | The value of \'nextPageToken\' from the previous page. Optional.+llPageToken :: Lens' LinksList (Maybe Text)+llPageToken+ = lens _llPageToken (\ s a -> s{_llPageToken = a})++-- | The end of the start date range.+llStartDateMax :: Lens' LinksList (Maybe Text)+llStartDateMax+ = lens _llStartDateMax+ (\ s a -> s{_llStartDateMax = a})++-- | The beginning of the start date range.+llStartDateMin :: Lens' LinksList (Maybe Text)+llStartDateMin+ = lens _llStartDateMin+ (\ s a -> s{_llStartDateMin = a})++-- | Max number of items to return in this page. Optional. Defaults to 20.+llMaxResults :: Lens' LinksList (Maybe Word32)+llMaxResults+ = lens _llMaxResults (\ s a -> s{_llMaxResults = a})+ . mapping _Coerce++instance GoogleRequest LinksList where+ type Rs LinksList = Links+ requestClient LinksList{..}+ = go _llRole _llRoleId _llCreateDateMax _llAuthorship+ (_llAssetSize ^. _Default)+ _llRelationshipStatus+ (_llAdvertiserId ^. _Default)+ _llSearchText+ (_llPromotionType ^. _Default)+ _llCreateDateMin+ _llLinkType+ _llPageToken+ _llStartDateMax+ _llStartDateMin+ _llMaxResults+ (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy LinksListResource)+ mempty
+ gen/Network/Google/Resource/GAN/Publishers/Get.hs view
@@ -0,0 +1,112 @@+{-# 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.GAN.Publishers.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 data about a single advertiser if that the requesting+-- advertiser\/publisher has access to it. Only advertisers can look up+-- publishers. Publishers can request information about themselves by+-- omitting the publisherId query parameter.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.publishers.get@.+module Network.Google.Resource.GAN.Publishers.Get+ (+ -- * REST Resource+ PublishersGetResource++ -- * Creating a Request+ , publishersGet+ , PublishersGet++ -- * Request Lenses+ , pgRoleId+ , pgRole+ , pgPublisherId+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.publishers.get@ method which the+-- 'PublishersGet' request conforms to.+type PublishersGetResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" PublishersGetRole :>+ Capture "roleId" Text :>+ "publisher" :>+ QueryParam "publisherId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Publisher++-- | Retrieves data about a single advertiser if that the requesting+-- advertiser\/publisher has access to it. Only advertisers can look up+-- publishers. Publishers can request information about themselves by+-- omitting the publisherId query parameter.+--+-- /See:/ 'publishersGet' smart constructor.+data PublishersGet = PublishersGet+ { _pgRoleId :: !Text+ , _pgRole :: !PublishersGetRole+ , _pgPublisherId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublishersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgRoleId'+--+-- * 'pgRole'+--+-- * 'pgPublisherId'+publishersGet+ :: Text -- ^ 'pgRoleId'+ -> PublishersGetRole -- ^ 'pgRole'+ -> PublishersGet+publishersGet pPgRoleId_ pPgRole_ =+ PublishersGet+ { _pgRoleId = pPgRoleId_+ , _pgRole = pPgRole_+ , _pgPublisherId = Nothing+ }++-- | The ID of the requesting advertiser or publisher.+pgRoleId :: Lens' PublishersGet Text+pgRoleId = lens _pgRoleId (\ s a -> s{_pgRoleId = a})++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+pgRole :: Lens' PublishersGet PublishersGetRole+pgRole = lens _pgRole (\ s a -> s{_pgRole = a})++-- | The ID of the publisher to look up. Optional.+pgPublisherId :: Lens' PublishersGet (Maybe Text)+pgPublisherId+ = lens _pgPublisherId+ (\ s a -> s{_pgPublisherId = a})++instance GoogleRequest PublishersGet where+ type Rs PublishersGet = Publisher+ requestClient PublishersGet{..}+ = go _pgRole _pgRoleId _pgPublisherId (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy PublishersGetResource)+ mempty
+ gen/Network/Google/Resource/GAN/Publishers/List.hs view
@@ -0,0 +1,201 @@+{-# 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.GAN.Publishers.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)+--+-- Retrieves data about all publishers that the requesting+-- advertiser\/publisher has access to.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.publishers.list@.+module Network.Google.Resource.GAN.Publishers.List+ (+ -- * REST Resource+ PublishersListResource++ -- * Creating a Request+ , publishersList+ , PublishersList++ -- * Request Lenses+ , plRelationshipStatus+ , plMinSevenDayEpc+ , plRoleId+ , plMinNinetyDayEpc+ , plRole+ , plMinPayoutRank+ , plPageToken+ , plPublisherCategory+ , plMaxResults+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.publishers.list@ method which the+-- 'PublishersList' request conforms to.+type PublishersListResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" PublishersListRole :>+ Capture "roleId" Text :>+ "publishers" :>+ QueryParam "relationshipStatus"+ PublishersListRelationshipStatus+ :>+ QueryParam "minSevenDayEpc" (Textual Double) :>+ QueryParam "minNinetyDayEpc" (Textual Double) :>+ QueryParam "minPayoutRank" (Textual Int32) :>+ QueryParam "pageToken" Text :>+ QueryParam "publisherCategory" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] Publishers++-- | Retrieves data about all publishers that the requesting+-- advertiser\/publisher has access to.+--+-- /See:/ 'publishersList' smart constructor.+data PublishersList = PublishersList+ { _plRelationshipStatus :: !(Maybe PublishersListRelationshipStatus)+ , _plMinSevenDayEpc :: !(Maybe (Textual Double))+ , _plRoleId :: !Text+ , _plMinNinetyDayEpc :: !(Maybe (Textual Double))+ , _plRole :: !PublishersListRole+ , _plMinPayoutRank :: !(Maybe (Textual Int32))+ , _plPageToken :: !(Maybe Text)+ , _plPublisherCategory :: !(Maybe Text)+ , _plMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublishersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plRelationshipStatus'+--+-- * 'plMinSevenDayEpc'+--+-- * 'plRoleId'+--+-- * 'plMinNinetyDayEpc'+--+-- * 'plRole'+--+-- * 'plMinPayoutRank'+--+-- * 'plPageToken'+--+-- * 'plPublisherCategory'+--+-- * 'plMaxResults'+publishersList+ :: Text -- ^ 'plRoleId'+ -> PublishersListRole -- ^ 'plRole'+ -> PublishersList+publishersList pPlRoleId_ pPlRole_ =+ PublishersList+ { _plRelationshipStatus = Nothing+ , _plMinSevenDayEpc = Nothing+ , _plRoleId = pPlRoleId_+ , _plMinNinetyDayEpc = Nothing+ , _plRole = pPlRole_+ , _plMinPayoutRank = Nothing+ , _plPageToken = Nothing+ , _plPublisherCategory = Nothing+ , _plMaxResults = Nothing+ }++-- | Filters out all publishers for which do not have the given relationship+-- status with the requesting publisher.+plRelationshipStatus :: Lens' PublishersList (Maybe PublishersListRelationshipStatus)+plRelationshipStatus+ = lens _plRelationshipStatus+ (\ s a -> s{_plRelationshipStatus = a})++-- | Filters out all publishers that have a seven day EPC average lower than+-- the given value (inclusive). Min value 0.0. Optional.+plMinSevenDayEpc :: Lens' PublishersList (Maybe Double)+plMinSevenDayEpc+ = lens _plMinSevenDayEpc+ (\ s a -> s{_plMinSevenDayEpc = a})+ . mapping _Coerce++-- | The ID of the requesting advertiser or publisher.+plRoleId :: Lens' PublishersList Text+plRoleId = lens _plRoleId (\ s a -> s{_plRoleId = a})++-- | Filters out all publishers that have a ninety day EPC average lower than+-- the given value (inclusive). Min value: 0.0. Optional.+plMinNinetyDayEpc :: Lens' PublishersList (Maybe Double)+plMinNinetyDayEpc+ = lens _plMinNinetyDayEpc+ (\ s a -> s{_plMinNinetyDayEpc = a})+ . mapping _Coerce++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+plRole :: Lens' PublishersList PublishersListRole+plRole = lens _plRole (\ s a -> s{_plRole = a})++-- | A value between 1 and 4, where 1 represents the quartile of publishers+-- with the lowest ranks and 4 represents the quartile of publishers with+-- the highest ranks. Filters out all publishers with a lower rank than the+-- given quartile. For example if a 2 was given only publishers with a+-- payout rank of 25 or higher would be included. Optional.+plMinPayoutRank :: Lens' PublishersList (Maybe Int32)+plMinPayoutRank+ = lens _plMinPayoutRank+ (\ s a -> s{_plMinPayoutRank = a})+ . mapping _Coerce++-- | The value of \'nextPageToken\' from the previous page. Optional.+plPageToken :: Lens' PublishersList (Maybe Text)+plPageToken+ = lens _plPageToken (\ s a -> s{_plPageToken = a})++-- | Caret(^) delimted list of publisher categories. Valid categories:+-- (unclassified|community_and_content|shopping_and_promotion|loyalty_and_rewards|network|search_specialist|comparison_shopping|email).+-- Filters out all publishers not in one of the given advertiser+-- categories. Optional.+plPublisherCategory :: Lens' PublishersList (Maybe Text)+plPublisherCategory+ = lens _plPublisherCategory+ (\ s a -> s{_plPublisherCategory = a})++-- | Max number of items to return in this page. Optional. Defaults to 20.+plMaxResults :: Lens' PublishersList (Maybe Word32)+plMaxResults+ = lens _plMaxResults (\ s a -> s{_plMaxResults = a})+ . mapping _Coerce++instance GoogleRequest PublishersList where+ type Rs PublishersList = Publishers+ requestClient PublishersList{..}+ = go _plRole _plRoleId _plRelationshipStatus+ _plMinSevenDayEpc+ _plMinNinetyDayEpc+ _plMinPayoutRank+ _plPageToken+ _plPublisherCategory+ _plMaxResults+ (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy PublishersListResource)+ mempty
+ gen/Network/Google/Resource/GAN/Reports/Get.hs view
@@ -0,0 +1,259 @@+{-# 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.GAN.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)+--+-- Retrieves a report of the specified type.+--+-- /See:/ <https://developers.google.com/affiliate-network/ Google Affiliate Network API Reference> for @gan.reports.get@.+module Network.Google.Resource.GAN.Reports.Get+ (+ -- * REST Resource+ ReportsGetResource++ -- * Creating a Request+ , reportsGet+ , ReportsGet++ -- * Request Lenses+ , rgStatus+ , rgAdvertiserId+ , rgEndDate+ , rgRoleId+ , rgRole+ , rgEventType+ , rgStartDate+ , rgCalculateTotals+ , rgLinkId+ , rgOrderId+ , rgPublisherId+ , rgReportType+ , rgStartIndex+ , rgMaxResults+ ) where++import Network.Google.Affiliates.Types+import Network.Google.Prelude++-- | A resource alias for @gan.reports.get@ method which the+-- 'ReportsGet' request conforms to.+type ReportsGetResource =+ "gan" :>+ "v1beta1" :>+ Capture "role" ReportsGetRole :>+ Capture "roleId" Text :>+ "report" :>+ Capture "reportType" ReportsGetReportType :>+ QueryParam "status" ReportsGetStatus :>+ QueryParams "advertiserId" Text :>+ QueryParam "endDate" Text :>+ QueryParam "eventType" ReportsGetEventType :>+ QueryParam "startDate" Text :>+ QueryParam "calculateTotals" Bool :>+ QueryParams "linkId" Text :>+ QueryParams "orderId" Text :>+ QueryParams "publisherId" Text :>+ QueryParam "startIndex" (Textual Word32) :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Report++-- | Retrieves a report of the specified type.+--+-- /See:/ 'reportsGet' smart constructor.+data ReportsGet = ReportsGet+ { _rgStatus :: !(Maybe ReportsGetStatus)+ , _rgAdvertiserId :: !(Maybe [Text])+ , _rgEndDate :: !(Maybe Text)+ , _rgRoleId :: !Text+ , _rgRole :: !ReportsGetRole+ , _rgEventType :: !(Maybe ReportsGetEventType)+ , _rgStartDate :: !(Maybe Text)+ , _rgCalculateTotals :: !(Maybe Bool)+ , _rgLinkId :: !(Maybe [Text])+ , _rgOrderId :: !(Maybe [Text])+ , _rgPublisherId :: !(Maybe [Text])+ , _rgReportType :: !ReportsGetReportType+ , _rgStartIndex :: !(Maybe (Textual Word32))+ , _rgMaxResults :: !(Maybe (Textual Word32))+ } 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:+--+-- * 'rgStatus'+--+-- * 'rgAdvertiserId'+--+-- * 'rgEndDate'+--+-- * 'rgRoleId'+--+-- * 'rgRole'+--+-- * 'rgEventType'+--+-- * 'rgStartDate'+--+-- * 'rgCalculateTotals'+--+-- * 'rgLinkId'+--+-- * 'rgOrderId'+--+-- * 'rgPublisherId'+--+-- * 'rgReportType'+--+-- * 'rgStartIndex'+--+-- * 'rgMaxResults'+reportsGet+ :: Text -- ^ 'rgRoleId'+ -> ReportsGetRole -- ^ 'rgRole'+ -> ReportsGetReportType -- ^ 'rgReportType'+ -> ReportsGet+reportsGet pRgRoleId_ pRgRole_ pRgReportType_ =+ ReportsGet+ { _rgStatus = Nothing+ , _rgAdvertiserId = Nothing+ , _rgEndDate = Nothing+ , _rgRoleId = pRgRoleId_+ , _rgRole = pRgRole_+ , _rgEventType = Nothing+ , _rgStartDate = Nothing+ , _rgCalculateTotals = Nothing+ , _rgLinkId = Nothing+ , _rgOrderId = Nothing+ , _rgPublisherId = Nothing+ , _rgReportType = pRgReportType_+ , _rgStartIndex = Nothing+ , _rgMaxResults = Nothing+ }++-- | Filters out all events that do not have the given status. Valid values:+-- \'active\', \'canceled\', or \'invalid\'. Optional.+rgStatus :: Lens' ReportsGet (Maybe ReportsGetStatus)+rgStatus = lens _rgStatus (\ s a -> s{_rgStatus = a})++-- | The IDs of the advertisers to look up, if applicable.+rgAdvertiserId :: Lens' ReportsGet [Text]+rgAdvertiserId+ = lens _rgAdvertiserId+ (\ s a -> s{_rgAdvertiserId = a})+ . _Default+ . _Coerce++-- | The end date (exclusive), in RFC 3339 format, for the report data to be+-- returned. Defaults to one day after startDate, if that is given, or+-- today. Optional.+rgEndDate :: Lens' ReportsGet (Maybe Text)+rgEndDate+ = lens _rgEndDate (\ s a -> s{_rgEndDate = a})++-- | The ID of the requesting advertiser or publisher.+rgRoleId :: Lens' ReportsGet Text+rgRoleId = lens _rgRoleId (\ s a -> s{_rgRoleId = a})++-- | The role of the requester. Valid values: \'advertisers\' or+-- \'publishers\'.+rgRole :: Lens' ReportsGet ReportsGetRole+rgRole = lens _rgRole (\ s a -> s{_rgRole = a})++-- | Filters out all events that are not of the given type. Valid values:+-- \'action\', \'transaction\', or \'charge\'. Optional.+rgEventType :: Lens' ReportsGet (Maybe ReportsGetEventType)+rgEventType+ = lens _rgEventType (\ s a -> s{_rgEventType = a})++-- | The start date (inclusive), in RFC 3339 format, for the report data to+-- be returned. Defaults to one day before endDate, if that is given, or+-- yesterday. Optional.+rgStartDate :: Lens' ReportsGet (Maybe Text)+rgStartDate+ = lens _rgStartDate (\ s a -> s{_rgStartDate = a})++-- | Whether or not to calculate totals rows. Optional.+rgCalculateTotals :: Lens' ReportsGet (Maybe Bool)+rgCalculateTotals+ = lens _rgCalculateTotals+ (\ s a -> s{_rgCalculateTotals = a})++-- | Filters to capture one of given link IDs. Optional.+rgLinkId :: Lens' ReportsGet [Text]+rgLinkId+ = lens _rgLinkId (\ s a -> s{_rgLinkId = a}) .+ _Default+ . _Coerce++-- | Filters to capture one of the given order IDs. Optional.+rgOrderId :: Lens' ReportsGet [Text]+rgOrderId+ = lens _rgOrderId (\ s a -> s{_rgOrderId = a}) .+ _Default+ . _Coerce++-- | The IDs of the publishers to look up, if applicable.+rgPublisherId :: Lens' ReportsGet [Text]+rgPublisherId+ = lens _rgPublisherId+ (\ s a -> s{_rgPublisherId = a})+ . _Default+ . _Coerce++-- | The type of report being requested. Valid values: \'order_delta\'.+-- Required.+rgReportType :: Lens' ReportsGet ReportsGetReportType+rgReportType+ = lens _rgReportType (\ s a -> s{_rgReportType = a})++-- | Offset on which to return results when paging. Optional.+rgStartIndex :: Lens' ReportsGet (Maybe Word32)+rgStartIndex+ = lens _rgStartIndex (\ s a -> s{_rgStartIndex = a})+ . mapping _Coerce++-- | Max number of items to return in this page. Optional. Defaults to return+-- all results.+rgMaxResults :: Lens' ReportsGet (Maybe Word32)+rgMaxResults+ = lens _rgMaxResults (\ s a -> s{_rgMaxResults = a})+ . mapping _Coerce++instance GoogleRequest ReportsGet where+ type Rs ReportsGet = Report+ requestClient ReportsGet{..}+ = go _rgRole _rgRoleId _rgReportType _rgStatus+ (_rgAdvertiserId ^. _Default)+ _rgEndDate+ _rgEventType+ _rgStartDate+ _rgCalculateTotals+ (_rgLinkId ^. _Default)+ (_rgOrderId ^. _Default)+ (_rgPublisherId ^. _Default)+ _rgStartIndex+ _rgMaxResults+ (Just AltJSON)+ affiliatesService+ where go+ = buildClient (Proxy :: Proxy ReportsGetResource)+ mempty
+ gogol-affiliates.cabal view
@@ -0,0 +1,55 @@+name: gogol-affiliates+version: 0.0.1+synopsis: Google Affiliate Network 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:+ Lets you have programmatic access to your Google Affiliate Network data.+ .+ /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 @v1beta1@+ 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.Affiliates+ , Network.Google.Affiliates.Types+ , Network.Google.Resource.GAN.Advertisers.Get+ , Network.Google.Resource.GAN.Advertisers.List+ , Network.Google.Resource.GAN.CcOffers.List+ , Network.Google.Resource.GAN.Events.List+ , Network.Google.Resource.GAN.Links.Get+ , Network.Google.Resource.GAN.Links.Insert+ , Network.Google.Resource.GAN.Links.List+ , Network.Google.Resource.GAN.Publishers.Get+ , Network.Google.Resource.GAN.Publishers.List+ , Network.Google.Resource.GAN.Reports.Get++ other-modules:+ Network.Google.Affiliates.Types.Product+ , Network.Google.Affiliates.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5