{-# LANGUAGE DataKinds #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- | -- Module : Gogol.Manufacturers.Accounts.Products.Get -- Copyright : (c) 2015-2025 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Toni Cebrián -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Gets the product from a Manufacturer Center account, including product issues. A recently updated product takes around 15 minutes to process. Changes are only visible after it has been processed. While some issues may be available once the product has been processed, other issues may take days to appear. -- -- /See:/ for @manufacturers.accounts.products.get@. module Gogol.Manufacturers.Accounts.Products.Get ( -- * Resource ManufacturersAccountsProductsGetResource, -- ** Constructing a Request ManufacturersAccountsProductsGet (..), newManufacturersAccountsProductsGet, ) where import Gogol.Manufacturers.Types import Gogol.Prelude qualified as Core -- | A resource alias for @manufacturers.accounts.products.get@ method which the -- 'ManufacturersAccountsProductsGet' request conforms to. type ManufacturersAccountsProductsGetResource = "v1" Core.:> Core.Capture "parent" Core.Text Core.:> "products" Core.:> Core.Capture "name" Core.Text Core.:> Core.QueryParam "$.xgafv" Xgafv Core.:> Core.QueryParam "access_token" Core.Text Core.:> Core.QueryParam "callback" Core.Text Core.:> Core.QueryParams "include" AccountsProductsGetInclude Core.:> Core.QueryParam "uploadType" Core.Text Core.:> Core.QueryParam "upload_protocol" Core.Text Core.:> Core.QueryParam "alt" Core.AltJSON Core.:> Core.Get '[Core.JSON] Product -- | Gets the product from a Manufacturer Center account, including product issues. A recently updated product takes around 15 minutes to process. Changes are only visible after it has been processed. While some issues may be available once the product has been processed, other issues may take days to appear. -- -- /See:/ 'newManufacturersAccountsProductsGet' smart constructor. data ManufacturersAccountsProductsGet = ManufacturersAccountsProductsGet { -- | V1 error format. xgafv :: (Core.Maybe Xgafv), -- | OAuth access token. accessToken :: (Core.Maybe Core.Text), -- | JSONP callback :: (Core.Maybe Core.Text), -- | The information to be included in the response. Only sections listed here will be returned. include :: (Core.Maybe [AccountsProductsGetInclude]), -- | Name in the format @{target_country}:{content_language}:{product_id}@. @target_country@ - The target country of the product as a CLDR territory code (for example, US). @content_language@ - The content language of the product as a two-letter ISO 639-1 language code (for example, en). @product_id@ - The ID of the product. For more information, see https:\/\/support.google.com\/manufacturers\/answer\/6124116#id. name :: Core.Text, -- | Parent ID in the format @accounts\/{account_id}@. @account_id@ - The ID of the Manufacturer Center account. parent :: Core.Text, -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). uploadType :: (Core.Maybe Core.Text), -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). uploadProtocol :: (Core.Maybe Core.Text) } deriving (Core.Eq, Core.Show, Core.Generic) -- | Creates a value of 'ManufacturersAccountsProductsGet' with the minimum fields required to make a request. newManufacturersAccountsProductsGet :: -- | Name in the format @{target_country}:{content_language}:{product_id}@. @target_country@ - The target country of the product as a CLDR territory code (for example, US). @content_language@ - The content language of the product as a two-letter ISO 639-1 language code (for example, en). @product_id@ - The ID of the product. For more information, see https:\/\/support.google.com\/manufacturers\/answer\/6124116#id. See 'name'. Core.Text -> -- | Parent ID in the format @accounts\/{account_id}@. @account_id@ - The ID of the Manufacturer Center account. See 'parent'. Core.Text -> ManufacturersAccountsProductsGet newManufacturersAccountsProductsGet name parent = ManufacturersAccountsProductsGet { xgafv = Core.Nothing, accessToken = Core.Nothing, callback = Core.Nothing, include = Core.Nothing, name = name, parent = parent, uploadType = Core.Nothing, uploadProtocol = Core.Nothing } instance Core.GoogleRequest ManufacturersAccountsProductsGet where type Rs ManufacturersAccountsProductsGet = Product type Scopes ManufacturersAccountsProductsGet = '[Manufacturercenter'FullControl] requestClient ManufacturersAccountsProductsGet {..} = go parent name xgafv accessToken callback (include Core.^. Core._Default) uploadType uploadProtocol (Core.Just Core.AltJSON) manufacturersService where go = Core.buildClient (Core.Proxy :: Core.Proxy ManufacturersAccountsProductsGetResource) Core.mempty