Movatterモバイル変換


[0]ホーム

URL:


merchantapi

package
v0.257.0Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2025 License:BSD-3-ClauseImports:18Imported by:0

Details

Repository

github.com/googleapis/google-api-go-client

Links

Documentation

Overview

Package merchantapi provides access to the Merchant API.

For product documentation, see:https://developers.google.com/merchant/api

Library status

These client libraries are officially supported by Google. However, thislibrary is considered complete and is in maintenance mode. This meansthat we will address critical bugs and security issues but will not addany new features.

When possible, we recommend using our newer[Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)that are still actively being worked and iterated on.

Creating a client

Usage example:

import "google.golang.org/api/merchantapi/products/v1"...ctx := context.Background()merchantapiService, err := merchantapi.NewService(ctx)

In this example, Google Application Default Credentials are used forauthentication. For information on how to create and obtain ApplicationDefault Credentials, seehttps://developers.google.com/identity/protocols/application-default-credentials.

Other authentication options

To use an API key for authentication (note: some APIs do not support APIkeys), usegoogle.golang.org/api/option.WithAPIKey:

merchantapiService, err := merchantapi.NewService(ctx, option.WithAPIKey("AIza..."))

To use an OAuth token (e.g., a user token obtained via a three-legged OAuthflow, usegoogle.golang.org/api/option.WithTokenSource:

config := &oauth2.Config{...}// ...token, err := config.Exchange(ctx, ...)merchantapiService, err := merchantapi.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))

Seegoogle.golang.org/api/option.ClientOption for details on options.

Index

Constants

View Source
const (// Manage your product listings and accounts for Google ShoppingContentScope = "https://www.googleapis.com/auth/content")

OAuth2 scopes used by this API.

Variables

This section is empty.

Functions

This section is empty.

Types

typeAccountsProductInputsDeleteCall

type AccountsProductInputsDeleteCall struct {// contains filtered or unexported fields}

func (*AccountsProductInputsDeleteCall)Context

Context sets the context to be used in this call's Do method.

func (*AccountsProductInputsDeleteCall)DataSource

DataSource sets the optional parameter "dataSource": Required. The primaryor supplemental data source from which the product input should be deleted.Format: `accounts/{account}/dataSources/{datasource}`. For example,`accounts/123456/dataSources/104628`.

func (*AccountsProductInputsDeleteCall)Do

Do executes the "merchantapi.accounts.productInputs.delete" call.Any non-2xx status code is an error. Response headers are in either*Empty.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.

func (*AccountsProductInputsDeleteCall)Fields

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*AccountsProductInputsDeleteCall)Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

typeAccountsProductInputsInsertCall

type AccountsProductInputsInsertCall struct {// contains filtered or unexported fields}

func (*AccountsProductInputsInsertCall)Context

Context sets the context to be used in this call's Do method.

func (*AccountsProductInputsInsertCall)DataSource

DataSource sets the optional parameter "dataSource": Required. The primaryor supplemental product data source name. If the product already exists anddata source provided is different, then the product will be moved to a newdata source. For more information, see Create a primary data source(/merchant/api/guides/data-sources/api-sources#create-primary-data-source).Only API data sources are supported. Format:`accounts/{account}/dataSources/{datasource}`. For example,`accounts/123456/dataSources/104628`.

func (*AccountsProductInputsInsertCall)Do

Do executes the "merchantapi.accounts.productInputs.insert" call.Any non-2xx status code is an error. Response headers are in either*ProductInput.ServerResponse.Header or (if a response was returned at all)in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.

func (*AccountsProductInputsInsertCall)Fields

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*AccountsProductInputsInsertCall)Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

typeAccountsProductInputsPatchCall

type AccountsProductInputsPatchCall struct {// contains filtered or unexported fields}

func (*AccountsProductInputsPatchCall)Context

Context sets the context to be used in this call's Do method.

func (*AccountsProductInputsPatchCall)DataSource

DataSource sets the optional parameter "dataSource": Required. The primaryor supplemental product data source where `data_source` name identifies theproduct input to be updated. Only API data sources are supported. Format:`accounts/{account}/dataSources/{datasource}`. For example,`accounts/123456/dataSources/104628`.

func (*AccountsProductInputsPatchCall)Do

Do executes the "merchantapi.accounts.productInputs.patch" call.Any non-2xx status code is an error. Response headers are in either*ProductInput.ServerResponse.Header or (if a response was returned at all)in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.

func (*AccountsProductInputsPatchCall)Fields

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*AccountsProductInputsPatchCall)Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

func (*AccountsProductInputsPatchCall)UpdateMask

UpdateMask sets the optional parameter "updateMask": The list of productattributes to be updated. If the update mask is omitted, then it is treatedas implied field mask equivalent to all fields that are populated (have anon-empty value). Attributes specified in the update mask without a valuespecified in the body will be deleted from the product. Update mask can onlybe specified for top level fields in attributes and custom attributes. Tospecify the update mask for custom attributes you need to add the`custom_attribute.` prefix. Providing special "*" value for full productreplacement is not supported.

typeAccountsProductInputsService

type AccountsProductInputsService struct {// contains filtered or unexported fields}

funcNewAccountsProductInputsService

func NewAccountsProductInputsService(s *Service) *AccountsProductInputsService

func (*AccountsProductInputsService)Delete

Delete: Deletes a product input from your Merchant Center account. Afterinserting, updating, or deleting a product input, it may take severalminutes before the processed product can be retrieved.

  • name: The name of the product input to delete. Format:`accounts/{account}/productInputs/{productInput}` The {productInput}segment is a unique identifier for the product. This identifier must beunique within a merchant account and generally follows the structure:`content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacylocal products, the structure is:`local~content_language~feed_label~offer_id`. Example:`local~en~US~sku123` The format of the {productInput} segment in the URLis automatically detected by the server, supporting two options: 1.**Encoded Format**: The `{productInput}` segment is an unpadded base64urlencoded string (RFC 4648 Section 5). The decoded string must result in the`content_language~feed_label~offer_id` structure. This encoding MUST beused if any part of the product identifier (like `offer_id`) containscharacters such as `/`, `%`, or `~`. * Example: To represent the productID `en~US~sku/123`, the `{productInput}` segment must be the base64urlencoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resourcename for the product would be`accounts/123/productInputs/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The`{productInput}` segment is the tilde-separated string`content_language~feed_label~offer_id`. This format is suitable only when`content_language`, `feed_label`, and `offer_id` do not containURL-problematic characters like `/`, `%`, or `~`. We recommend using the**Encoded Format** for all product IDs to ensure correct parsing,especially those containing special characters. The presence of tilde(`~`) characters in the `{productInput}` segment is used to differentiatebetween the two formats. Note: For calls to the v1beta version, the plainformat is `channel~content_language~feed_label~offer_id`, for example:`accounts/123/productinputs/online~en~US~sku123`.

func (*AccountsProductInputsService)Insert

Insert: Uploads a product input to your Merchant Center account(/merchant/api/guides/products/add-manage#add_a_product). You must have aproducts data source(/merchant/api/guides/data-sources/api-sources#create-primary-data-source)to be able to insert a product. The unique identifier of the data source ispassed as a query parameter in the request URL. If a product input with thesame contentLanguage, offerId, and dataSource already exists, then theproduct input inserted by this method replaces that entry. After inserting,updating, or deleting a product input, it may take several minutes beforethe processed product can be retrieved.

  • parent: The account where this product will be inserted. Format:`accounts/{account}`.

func (*AccountsProductInputsService)Patch

Patch: Updates the existing product input in your Merchant Center account.The name of the product input to update is taken from the `name` fieldwithin the `ProductInput` resource. After inserting, updating, or deleting aproduct input, it may take several minutes before the processed product canbe retrieved.

  • name: Identifier. The name of the product. Format:`accounts/{account}/productInputs/{productinput}` The {productinput}segment is a unique identifier for the product. This identifier must beunique within a merchant account and generally follows the structure:`content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacylocal products, the structure is:`local~content_language~feed_label~offer_id`. Example:`local~en~US~sku123` The format of the {productinput} segment in the URLis automatically detected by the server, supporting two options: 1.**Encoded Format**: The `{productinput}` segment is an unpadded base64urlencoded string (RFC 4648 Section 5). The decoded string must result in the`content_language~feed_label~offer_id` structure. This encoding MUST beused if any part of the product identifier (like `offer_id`) containscharacters such as `/`, `%`, or `~`. * Example: To represent the productID `en~US~sku/123`, the `{productinput}` segment must be the base64urlencoding of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resourcename for the product would be`accounts/123/productinputs/ZW5-VVMtc2t1LzEyMw`. 2. **Plain Format**: The`{productinput}` segment is the tilde-separated string`content_language~feed_label~offer_id`. This format is suitable only when`content_language`, `feed_label`, and `offer_id` do not containURL-problematic characters like `/`, `%`, or `~`. We recommend using the**Encoded Format** for all product IDs to ensure correct parsing,especially those containing special characters. The presence of tilde(`~`) characters in the `{productinput}` segment is used to differentiatebetween the two formats. Note: For calls to the v1beta version, the plainformat is `channel~content_language~feed_label~offer_id`, for example:`accounts/123/productinputs/online~en~US~sku123`.

typeAccountsProductsGetCall

type AccountsProductsGetCall struct {// contains filtered or unexported fields}

func (*AccountsProductsGetCall)Context

Context sets the context to be used in this call's Do method.

func (*AccountsProductsGetCall)Do

Do executes the "merchantapi.accounts.products.get" call.Any non-2xx status code is an error. Response headers are in either*Product.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.

func (*AccountsProductsGetCall)Fields

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*AccountsProductsGetCall)Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

func (*AccountsProductsGetCall)IfNoneMatch

func (c *AccountsProductsGetCall) IfNoneMatch(entityTagstring) *AccountsProductsGetCall

IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.

typeAccountsProductsListCall

type AccountsProductsListCall struct {// contains filtered or unexported fields}

func (*AccountsProductsListCall)Context

Context sets the context to be used in this call's Do method.

func (*AccountsProductsListCall)Do

Do executes the "merchantapi.accounts.products.list" call.Any non-2xx status code is an error. Response headers are in either*ListProductsResponse.ServerResponse.Header or (if a response was returnedat all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified tocheck whether the returned error was because http.StatusNotModified wasreturned.

func (*AccountsProductsListCall)Fields

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*AccountsProductsListCall)Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

func (*AccountsProductsListCall)IfNoneMatch

IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.

func (*AccountsProductsListCall)PageSize

PageSize sets the optional parameter "pageSize": The maximum number ofproducts to return. The service may return fewer than this value. Themaximum value is 1000; values above 1000 will be coerced to 1000. Ifunspecified, the default page size of 25 products will be returned.

func (*AccountsProductsListCall)PageToken

PageToken sets the optional parameter "pageToken": A page token, receivedfrom a previous `ListProducts` call. Provide this to retrieve the subsequentpage. When paginating, all other parameters provided to `ListProducts` mustmatch the call that provided the page token.

func (*AccountsProductsListCall)Pages

Pages invokes f for each page of results.A non-nil error returned from f will halt the iteration.The provided context supersedes any context provided to the Context method.

typeAccountsProductsService

type AccountsProductsService struct {// contains filtered or unexported fields}

funcNewAccountsProductsService

func NewAccountsProductsService(s *Service) *AccountsProductsService

func (*AccountsProductsService)Get

Get: Retrieves the processed product from your Merchant Center account.After inserting, updating, or deleting a product input, it may take severalminutes before the updated final product can be retrieved.

  • name: The name of the product. Format:`accounts/{account}/products/{product}` The `{product}` segment is aunique identifier for the product. This identifier must be unique within amerchant account and generally follows the structure:`content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacylocal products, the structure is:`local~content_language~feed_label~offer_id`. Example:`local~en~US~sku123` The format of the `{product}` segment in the URL isautomatically detected by the server, supporting two options: 1. **EncodedFormat**: The `{product}` segment is an unpadded base64url encoded string(RFC 4648 Section 5). The decoded string must result in the`content_language~feed_label~offer_id` structure. This encoding MUST beused if any part of the product identifier (like `offer_id`) containscharacters such as `/`, `%`, or `~`. * Example: To represent the productID `en~US~sku/123`, the `{product}` segment must be the base64url encodingof this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name forthe product would be `accounts/123/products/ZW5-VVMtc2t1LzEyMw`. 2.**Plain Format**: The `{product}` segment is the tilde-separated string`content_language~feed_label~offer_id`. This format is suitable only when`content_language`, `feed_label`, and `offer_id` do not containURL-problematic characters like `/`, `%`, or `~`. We recommend using the**Encoded Format** for all product IDs to ensure correct parsing,especially those containing special characters. The presence of tilde(`~`) characters in the `{product}` segment is used to differentiatebetween the two formats. Note: For calls to the v1beta version, the plainformat is `channel~content_language~feed_label~offer_id`, for example:`accounts/123/products/online~en~US~sku123`.

func (*AccountsProductsService)List

List: Lists the processed products in your Merchant Center account. Theresponse might contain fewer items than specified by `pageSize`. Rely on`pageToken` to determine if there are more items to be requested. Afterinserting, updating, or deleting a product input, it may take severalminutes before the updated processed product can be retrieved.

  • parent: The account to list processed products for. Format:`accounts/{account}`.

typeAccountsService

type AccountsService struct {ProductInputs *AccountsProductInputsServiceProducts *AccountsProductsService// contains filtered or unexported fields}

funcNewAccountsService

func NewAccountsService(s *Service) *AccountsService

typeAutomatedDiscounts

type AutomatedDiscounts struct {// GadPrice: The current sale price for products with a price optimized using// Google Automated Discounts (GAD). Absent if the information about the// GAD_price of the product is not available.GadPrice *Price `json:"gadPrice,omitempty"`// PriorPrice: The price prior to the application of the first price reduction.// Absent if the information about the prior price of the product is not// available.PriorPrice *Price `json:"priorPrice,omitempty"`// PriorPriceProgressive: The price prior to the application of consecutive// price reductions. Absent if the information about the prior price of the// product is not available.PriorPriceProgressive *Price `json:"priorPriceProgressive,omitempty"`// ForceSendFields is a list of field names (e.g. "GadPrice") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "GadPrice") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

AutomatedDiscounts: Information regarding Automated Discounts.

func (AutomatedDiscounts)MarshalJSON

func (sAutomatedDiscounts) MarshalJSON() ([]byte,error)

typeCarrierShippingadded inv0.253.0

type CarrierShipping struct {// CarrierPrice: Selected carrier to calculate the shipping price from. Select// a carrier from the available carriers list// (https://support.google.com/merchants/answer/15449142#Supported), for// example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this selected// carrier, the location expressed in originPostalCode, along with the user// location to determine the accurate shipping price. Carrier is represented by// a carrier service name or a carrier service ID. Cannot be set together with// flatPrice.//// Possible values://   "CARRIER_PRICE_OPTION_UNSPECIFIED" - Carrier price option is unspecified.//   "AUSTRALIA_POST_REGULAR" - Australia Post Regular shipping service.//   "AUSTRALIA_POST_EXPRESS" - Australia Post Express shipping service.//   "AUSTRALIA_POST_REGULAR_S" - Australia Post Regular Small shipping// service.//   "AUSTRALIA_POST_REGULAR_M" - Australia Post Regular Medium shipping// service.//   "AUSTRALIA_POST_REGULAR_L" - Australia Post Regular Large shipping// service.//   "AUSTRALIA_POST_REGULAR_XL" - Australia Post Regular XL shipping service.//   "AUSTRALIA_POST_EXPRESS_S" - Australia Post Express Small shipping// service.//   "AUSTRALIA_POST_EXPRESS_M" - Australia Post Express Medium shipping// service.//   "AUSTRALIA_POST_EXPRESS_L" - Australia Post Express Large shipping// service.//   "AUSTRALIA_POST_EXPRESS_XL" - Australia Post Express XL shipping service.//   "TNT_ROAD_EXPRESS" - TNT Road Express shipping service.//   "TNT_OVERNIGHT_EXPRESS" - TNT Overnight Express shipping service.//   "TOLL_ROAD_DELIVERY" - Toll Road Delivery shipping service.//   "TOLL_OVERNIGHT_PRIORITY" - Toll Overnight Priority shipping service.//   "DHL_PAKET" - DHL Paket shipping service.//   "DHL_PACKCHEN" - DHL Packchen shipping service.//   "DPD_EXPRESS_12" - DPD Express 12 shipping service.//   "DPD_EXPRESS" - DPD Express shipping service.//   "DPD_CLASSIC_PARCEL" - DPD Classic Parcel shipping service.//   "HERMES_PACKCHEN" - Hermes Packchen shipping service.//   "HERMES_PAKETKLASSE_S" - Hermes Paketklasse S shipping service.//   "HERMES_PAKETKLASSE_M" - Hermes Paketklasse M shipping service.//   "HERMES_PAKETKLASSE_L" - Hermes Paketklasse L shipping service.//   "UPS_EXPRESS" - UPS Express shipping service.//   "UPS_EXPRESS_SAVER" - UPS Express Saver shipping service.//   "UPS_EXPRESS_STANDARD" - UPS Express Standard shipping service.//   "DHL_EXPRESS" - DHL Express shipping service.//   "DHL_EXPRESS_12" - DHL Express 12 shipping service.//   "DPD_NEXT_DAY" - DPD Next Day shipping service.//   "DPD_STANDARD_NEXT_DAY" - DPD Standard Next Day shipping service.//   "DPD_STANDARD_TWO_DAY" - DPD Standard Two Day shipping service.//   "RMG_1ST_CLASS_SMALL" - RMG 1st Class Small shipping service.//   "RMG_1ST_CLASS_MEDIUM" - RMG 1st Class Medium shipping service.//   "RMG_2ND_CLASS_SMALL" - RMG 2nd Class Small shipping service.//   "RMG_2ND_CLASS_MEDIUM" - RMG 2nd Class Medium shipping service.//   "TNT_EXPRESS" - TNT Express shipping service.//   "TNT_EXPRESS_10" - TNT Express 10 shipping service.//   "TNT_EXPRESS_12" - TNT Express 12 shipping service.//   "YODEL_B2C_48HR" - Yodel B2C 48HR shipping service.//   "YODEL_B2C_72HR" - Yodel B2C 72HR shipping service.//   "YODEL_B2C_PACKET" - Yodel B2C Packet shipping service.//   "FEDEX_GROUND" - FedEx Ground shipping service.//   "FEDEX_HOME_DELIVERY" - FedEx Home Delivery shipping service.//   "FEDEX_EXPRESS_SAVER" - FedEx Express Saver shipping service.//   "FEDEX_FIRST_OVERNIGHT" - FedEx First Overnight shipping service.//   "FEDEX_PRIORITY_OVERNIGHT" - FedEx Priority Overnight shipping service.//   "FEDEX_STANDARD_OVERNIGHT" - FedEx Standard Overnight shipping service.//   "FEDEX_2DAY" - FedEx 2Day shipping service.//   "UPS_STANDARD" - UPS Standard shipping service.//   "UPS_2ND_DAY_AIR" - UPS 2nd Day Air shipping service.//   "UPS_2ND_DAY_AM" - UPS 2nd Day AM shipping service.//   "UPS_3_DAY_SELECT" - UPS 3 Day Select shipping service.//   "UPS_GROUND" - UPS Ground shipping service.//   "UPS_NEXT_DAY_AIR" - UPS Next Day Air shipping service.//   "UPS_NEXT_DAY_AIR_EARLY_AM" - UPS Next Day Air Early AM shipping service.//   "UPS_NEXT_DAY_AIR_SAVER" - UPS Next Day Air Saver shipping service.//   "USPS_PRIORITY_MAIL_EXPRESS" - USPS Priority Mail Express shipping// service.//   "USPS_MEDIA_MAIL" - USPS Media Mail shipping service.//   "USPS_GROUND_ADVANTAGE_RETAIL" - USPS Ground Advantage Retail shipping// service.//   "USPS_PRIORITY_MAIL" - USPS Priority Mail shipping service.//   "USPS_GROUND_ADVANTAGE_COMMERCIAL" - USPS Ground Advantage Commercial// shipping service.CarrierPricestring `json:"carrierPrice,omitempty"`// CarrierPriceFlatAdjustment: A flat adjustment on the carrier price. Can be// either positive or negative. Cannot be zero. Requires `carrier_price` to be// present. Cannot be set together with flatPrice and// carrierPricePercentageAdjustment.CarrierPriceFlatAdjustment *Price `json:"carrierPriceFlatAdjustment,omitempty"`// CarrierPricePercentageAdjustment: A percentual adjustment on the carrier// price. Can be either positive or negative. Cannot be zero. Requires// `carrier_price` to be present. Cannot be set together with flatPrice and// carrierPriceFlatAdjustment.CarrierPricePercentageAdjustmentfloat64 `json:"carrierPricePercentageAdjustment,omitempty"`// CarrierTransitTime: Selected carrier to calculate the shipping speed from.// Select a carrier from the available carriers list// (https://support.google.com/merchants/answer/15449142#Supported), for// example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this selected// carrier, the location expressed in originPostalCode, along with the user// location to determine the accurate delivery speed. Carrier is represented by// a carrier service name or a carrier service ID. Cannot be set together with// fixedMaxTransitTime or fixedMinTransitTime.//// Possible values://   "CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED" - Carrier transit time option is// unspecified.//   "DHL_PAKET" - DHL Paket shipping service.//   "DHL_PACKCHEN" - DHL Packchen shipping service.//   "DHL_EXPRESSEASY" - DHL Express Easy shipping service.//   "DPD_EXPRESS" - DPD Express shipping service.//   "DPD_CLASSIC_PARCEL" - DPD Classic Parcel shipping service.//   "HERMES_HAUSTUR" - Hermes Haustur shipping service.//   "HERMES_PAKETSHOP" - Hermes Paketshop shipping service.//   "GLS_BUSINESS" - GLS Business shipping service.//   "GLS_EXPRESS" - GLS Express shipping service.//   "GLS_PRIVATE" - GLS Private shipping service.//   "COLISSIMO_DOMICILE" - Colissimo Domicile shipping service.//   "DHL_EXPRESS_12AM" - DHL Express 12 AM shipping service.//   "DHL_EXPRESS_9AM" - DHL Express 9 AM shipping service.//   "GEODIS_EXPRESS" - GEODIS Express shipping service.//   "GEODIS_PACK_30" - GEODIS Pack 30 shipping service.//   "GEODIS_SAME_DAY" - GEODIS Same Day shipping service.//   "GEODIS_TOP_24" - GEODIS Top 24 shipping service.//   "TNT_ESSENTIEL_24H" - TNT Essentiel 24H shipping service.//   "TNT_ESSENTIEL_FLEXIBILITE" - TNT Essentiel Flexibilite shipping service.//   "FEDEX_GROUND" - FedEx Ground shipping service.//   "FEDEX_HOME_DELIVERY" - FedEx Home Delivery shipping service.//   "FEDEX_EXPRESS_SAVER" - FedEx Express Saver shipping service.//   "FEDEX_FIRST_OVERNIGHT" - FedEx First Overnight shipping service.//   "FEDEX_PRIORITY_OVERNIGHT" - FedEx Priority Overnight shipping service.//   "FEDEX_STANDARD_OVERNIGHT" - FedEx Standard Overnight shipping service.//   "FEDEX_2DAY" - FedEx 2Day shipping service.//   "UPS_2ND_DAY_AIR" - UPS 2nd Day Air shipping service.//   "UPS_2ND_DAY_AM" - UPS 2nd Day AM shipping service.//   "UPS_3_DAY_SELECT" - UPS 3 Day Select shipping service.//   "UPS_GROUND" - UPS Ground shipping service.//   "UPS_NEXT_DAY_AIR" - UPS Next Day Air shipping service.//   "UPS_NEXT_DAY_AIR_EARLY_AM" - UPS Next Day Air Early AM shipping service.//   "UPS_NEXT_DAY_AIR_SAVER" - UPS Next Day Air Saver shipping service.//   "USPS_PRIORITY_MAIL_EXPRESS" - USPS Priority Mail Express shipping// service.//   "USPS_MEDIA_MAIL" - USPS Media Mail shipping service.//   "USPS_GROUND_ADVANTAGE_RETAIL" - USPS Ground Advantage Retail shipping// service.//   "USPS_PRIORITY_MAIL" - USPS Priority Mail shipping service.//   "USPS_GROUND_ADVANTAGE_COMMERCIAL" - USPS Ground Advantage Commercial// shipping service.//   "USPS_FIRST_CLASS_MAIL" - USPS First Class Mail shipping service.CarrierTransitTimestring `json:"carrierTransitTime,omitempty"`// Country: The CLDR territory code// (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the// country to which an item will ship.Countrystring `json:"country,omitempty"`// FixedMaxTransitTime: Maximum transit time (inclusive) between when the order// has shipped and when it is delivered in business days. 0 means that the// order is delivered on the same day as it ships. Needs to be provided// together with maxHandlingTime. Cannot be set if carrierTransitTime is// present.FixedMaxTransitTimeint64 `json:"fixedMaxTransitTime,omitempty,string"`// FixedMinTransitTime: Minimum transit time (inclusive) between when the order// has shipped and when it is delivered in business days. 0 means that the// order is delivered on the same day as it ships. fixedMinTransitTime can only// be set if fixedMaxTransitTime is set. Cannot be set if carrierTransitTime is// present.FixedMinTransitTimeint64 `json:"fixedMinTransitTime,omitempty,string"`// FlatPrice: Fixed shipping price, represented as a number with currency.// Cannot be set together with carrierPrice or its adjustments// (carrierPriceFlatAdjustment, carrierPricePercentageAdjustment).FlatPrice *Price `json:"flatPrice,omitempty"`// MaxHandlingTime: Maximum handling time (inclusive) between when the order is// received and shipped in business days. 0 means that the order is shipped on// the same day as it is received if it happens before the cut-off time. Both// maxHandlingTime and fixedMaxTransitTime or carrierTransitTime are required// if providing shipping speeds.MaxHandlingTimeint64 `json:"maxHandlingTime,omitempty,string"`// MinHandlingTime: Minimum handling time (inclusive) between when the order is// received and shipped in business days. 0 means that the order is shipped on// the same day as it is received if it happens before the cut-off time.// minHandlingTime can only be set if maxHandlingTime is also set.MinHandlingTimeint64 `json:"minHandlingTime,omitempty,string"`// OriginPostalCode: The source location postal code from which this offer// ships. Represented only by a full-length postal code.OriginPostalCodestring `json:"originPostalCode,omitempty"`// PostalCode: The postal code range that the shipping rate applies to,// represented by a postal code (eg. `94043`), a postal code prefix followed by// a * wildcard (eg. `94*`), a range between two postal codes (eg.// `94043-98033`) or two postal code prefixes of equal length (eg. `94*-98*`).PostalCodestring `json:"postalCode,omitempty"`// Region: The geographic region to which a shipping rate applies. See region// (https://support.google.com/merchants/answer/6324484) for more information.Regionstring `json:"region,omitempty"`// ForceSendFields is a list of field names (e.g. "CarrierPrice") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "CarrierPrice") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

CarrierShipping: Carrier-based shipping configuration. Allows for settingshipping speed or shipping cost based on a carrier's provided info.

func (CarrierShipping)MarshalJSONadded inv0.253.0

func (sCarrierShipping) MarshalJSON() ([]byte,error)

func (*CarrierShipping)UnmarshalJSONadded inv0.253.0

func (s *CarrierShipping) UnmarshalJSON(data []byte)error

typeCloudExportAdditionalProperties

type CloudExportAdditionalProperties struct {// BoolValue: Boolean value of the given property. For example for a TV// product, "True" or "False" if the screen is UHD.BoolValuebool `json:"boolValue,omitempty"`// FloatValue: Float values of the given property. For example for a TV product// 1.2345. Maximum repeatedness of this value is 400. Values are stored in an// arbitrary but consistent order.FloatValue []float64 `json:"floatValue,omitempty"`// IntValue: Integer values of the given property. For example, 1080 for a TV// product's Screen Resolution. Maximum repeatedness of this value is 400.// Values are stored in an arbitrary but consistent order.IntValuegoogleapi.Int64s `json:"intValue,omitempty"`// MaxValue: Maximum float value of the given property. For example for a TV// product 100.00.MaxValuefloat64 `json:"maxValue,omitempty"`// MinValue: Minimum float value of the given property. For example for a TV// product 1.00.MinValuefloat64 `json:"minValue,omitempty"`// PropertyName: Name of the given property. For example, "Screen-Resolution"// for a TV product. Maximum string size is 256 characters.PropertyNamestring `json:"propertyName,omitempty"`// TextValue: Text value of the given property. For example, "8K(UHD)" could be// a text value for a TV product. Maximum repeatedness of this value is 400.// Values are stored in an arbitrary but consistent order. Maximum string size// is 256 characters.TextValue []string `json:"textValue,omitempty"`// UnitCode: Unit of the given property. For example, "Pixels" for a TV// product. Maximum string size is 256B.UnitCodestring `json:"unitCode,omitempty"`// ForceSendFields is a list of field names (e.g. "BoolValue") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "BoolValue") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

CloudExportAdditionalProperties: Product property for the Cloud Retail API.For example, properties for a TV product could be "Screen-Resolution" or"Screen-Size".

func (CloudExportAdditionalProperties)MarshalJSON

func (sCloudExportAdditionalProperties) MarshalJSON() ([]byte,error)

func (*CloudExportAdditionalProperties)UnmarshalJSON

func (s *CloudExportAdditionalProperties) UnmarshalJSON(data []byte)error

typeCustomAttribute

type CustomAttribute struct {// GroupValues: Subattributes within this attribute group. If `group_values` is// not empty, `value` must be empty.GroupValues []*CustomAttribute `json:"groupValues,omitempty"`// Name: The name of the attribute.Namestring `json:"name,omitempty"`// Value: The value of the attribute. If `value` is not empty, `group_values`// must be empty.Valuestring `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "GroupValues") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "GroupValues") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

CustomAttribute: A message that represents custom attributes. Exactly one of`value` or `group_values` must not be empty.

func (CustomAttribute)MarshalJSON

func (sCustomAttribute) MarshalJSON() ([]byte,error)

typeDestinationStatus

type DestinationStatus struct {// ApprovedCountries: List of country codes (ISO 3166-1 alpha-2) where the// offer is approved.ApprovedCountries []string `json:"approvedCountries,omitempty"`// DisapprovedCountries: List of country codes (ISO 3166-1 alpha-2) where the// offer is disapproved.DisapprovedCountries []string `json:"disapprovedCountries,omitempty"`// PendingCountries: List of country codes (ISO 3166-1 alpha-2) where the offer// is pending approval.PendingCountries []string `json:"pendingCountries,omitempty"`// ReportingContext: The name of the reporting context.//// Possible values://   "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified.//   "SHOPPING_ADS" - [Shopping// ads](https://support.google.com/merchants/answer/6149970).//   "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and// Demand Gen ads](https://support.google.com/merchants/answer/13389785).//   "DEMAND_GEN_ADS" - [Demand Gen// ads](https://support.google.com/merchants/answer/13389785).//   "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover// surface](https://support.google.com/merchants/answer/13389785).//   "VIDEO_ADS" - [Video// ads](https://support.google.com/google-ads/answer/6340491).//   "DISPLAY_ADS" - [Display// ads](https://support.google.com/merchants/answer/6069387).//   "LOCAL_INVENTORY_ADS" - [Local inventory// ads](https://support.google.com/merchants/answer/3271956).//   "VEHICLE_INVENTORY_ADS" - [Vehicle inventory// ads](https://support.google.com/merchants/answer/11544533).//   "FREE_LISTINGS" - [Free product// listings](https://support.google.com/merchants/answer/9199328).//   "FREE_LOCAL_LISTINGS" - [Free local product// listings](https://support.google.com/merchants/answer/9825611).//   "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle// listings](https://support.google.com/merchants/answer/11544533).//   "YOUTUBE_AFFILIATE" - [Youtube// Affiliate](https://support.google.com/youtube/answer/13376398).//   "YOUTUBE_SHOPPING" - [YouTube// Shopping](https://support.google.com/merchants/answer/13478370).//   "CLOUD_RETAIL" - [Cloud// retail](https://cloud.google.com/solutions/retail).//   "LOCAL_CLOUD_RETAIL" - [Local cloud// retail](https://cloud.google.com/solutions/retail).//   "PRODUCT_REVIEWS" - [Product// Reviews](https://support.google.com/merchants/answer/14620732).//   "MERCHANT_REVIEWS" - [Merchant// Reviews](https://developers.google.com/merchant-review-feeds).//   "YOUTUBE_CHECKOUT" - YouTube Checkout .ReportingContextstring `json:"reportingContext,omitempty"`// ForceSendFields is a list of field names (e.g. "ApprovedCountries") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "ApprovedCountries") to include in// API requests with the JSON null value. By default, fields with empty values// are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

DestinationStatus: The destination status of the product status.

func (DestinationStatus)MarshalJSON

func (sDestinationStatus) MarshalJSON() ([]byte,error)

typeEmpty

type Empty struct {// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`}

Empty: A generic empty message that you can re-use to avoid definingduplicated empty messages in your APIs. A typical example is to use it asthe request or the response type of an API method. For instance: service Foo{ rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }

typeFreeShippingThreshold

type FreeShippingThreshold struct {// Country: The CLDR territory code// (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the// country to which an item will ship.Countrystring `json:"country,omitempty"`// PriceThreshold: The minimum product price for the shipping cost to become// free. Represented as a number.PriceThreshold *Price `json:"priceThreshold,omitempty"`// ForceSendFields is a list of field names (e.g. "Country") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Country") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

FreeShippingThreshold: Conditions to be met for a product to have freeshipping.

func (FreeShippingThreshold)MarshalJSON

func (sFreeShippingThreshold) MarshalJSON() ([]byte,error)

typeHandlingCutoffTimeadded inv0.253.0

type HandlingCutoffTime struct {// Country: The CLDR territory code// (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the// country to which the handling cutoff time applies.Countrystring `json:"country,omitempty"`// CutoffTime: The handling cutoff time until which an order has to be placed// to be processed in the same day. This is a string in format of HHMM (e.g.// `1530`) for 3:30 PM. If not configured, the cutoff time will be defaulted to// 8AM PST.CutoffTimestring `json:"cutoffTime,omitempty"`// CutoffTimezone: Timezone identifier// (https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)// For example 'Europe/Zurich'. If not set, the shipping destination timezone// will be used.CutoffTimezonestring `json:"cutoffTimezone,omitempty"`// DisableDeliveryAfterCutoff: This field only applies to same-day delivery. If// true, prevents next-day delivery from being shown for this offer after the// cutoff time. This field only applies to same-day delivery offers, for// merchants who want to explicitly disable it.DisableDeliveryAfterCutoffbool `json:"disableDeliveryAfterCutoff,omitempty"`// ForceSendFields is a list of field names (e.g. "Country") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Country") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

HandlingCutoffTime: Configuration for offer or offer-country level shippinghandling cutoff time.

func (HandlingCutoffTime)MarshalJSONadded inv0.253.0

func (sHandlingCutoffTime) MarshalJSON() ([]byte,error)

typeInterval

type Interval struct {// EndTime: Optional. Exclusive end of the interval. If specified, a Timestamp// matching this interval will have to be before the end.EndTimestring `json:"endTime,omitempty"`// StartTime: Optional. Inclusive start of the interval. If specified, a// Timestamp matching this interval will have to be the same or after the// start.StartTimestring `json:"startTime,omitempty"`// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "EndTime") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

Interval: Represents a time interval, encoded as a Timestamp start(inclusive) and a Timestamp end (exclusive). The start must be less than orequal to the end. When the start equals the end, the interval is empty(matches no time). When both start and end are unspecified, the intervalmatches any time.

func (Interval)MarshalJSON

func (sInterval) MarshalJSON() ([]byte,error)

typeItemLevelIssue

type ItemLevelIssue struct {// ApplicableCountries: List of country codes (ISO 3166-1 alpha-2) where issue// applies to the offer.ApplicableCountries []string `json:"applicableCountries,omitempty"`// Attribute: The attribute's name, if the issue is caused by a single// attribute.Attributestring `json:"attribute,omitempty"`// Code: The error code of the issue.Codestring `json:"code,omitempty"`// Description: A short issue description in English.Descriptionstring `json:"description,omitempty"`// Detail: A detailed issue description in English.Detailstring `json:"detail,omitempty"`// Documentation: The URL of a web page to help with resolving this issue.Documentationstring `json:"documentation,omitempty"`// ReportingContext: The reporting context the issue applies to.//// Possible values://   "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified.//   "SHOPPING_ADS" - [Shopping// ads](https://support.google.com/merchants/answer/6149970).//   "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and// Demand Gen ads](https://support.google.com/merchants/answer/13389785).//   "DEMAND_GEN_ADS" - [Demand Gen// ads](https://support.google.com/merchants/answer/13389785).//   "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover// surface](https://support.google.com/merchants/answer/13389785).//   "VIDEO_ADS" - [Video// ads](https://support.google.com/google-ads/answer/6340491).//   "DISPLAY_ADS" - [Display// ads](https://support.google.com/merchants/answer/6069387).//   "LOCAL_INVENTORY_ADS" - [Local inventory// ads](https://support.google.com/merchants/answer/3271956).//   "VEHICLE_INVENTORY_ADS" - [Vehicle inventory// ads](https://support.google.com/merchants/answer/11544533).//   "FREE_LISTINGS" - [Free product// listings](https://support.google.com/merchants/answer/9199328).//   "FREE_LOCAL_LISTINGS" - [Free local product// listings](https://support.google.com/merchants/answer/9825611).//   "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle// listings](https://support.google.com/merchants/answer/11544533).//   "YOUTUBE_AFFILIATE" - [Youtube// Affiliate](https://support.google.com/youtube/answer/13376398).//   "YOUTUBE_SHOPPING" - [YouTube// Shopping](https://support.google.com/merchants/answer/13478370).//   "CLOUD_RETAIL" - [Cloud// retail](https://cloud.google.com/solutions/retail).//   "LOCAL_CLOUD_RETAIL" - [Local cloud// retail](https://cloud.google.com/solutions/retail).//   "PRODUCT_REVIEWS" - [Product// Reviews](https://support.google.com/merchants/answer/14620732).//   "MERCHANT_REVIEWS" - [Merchant// Reviews](https://developers.google.com/merchant-review-feeds).//   "YOUTUBE_CHECKOUT" - YouTube Checkout .ReportingContextstring `json:"reportingContext,omitempty"`// Resolution: Whether the issue can be resolved by the business.Resolutionstring `json:"resolution,omitempty"`// Severity: How this issue affects serving of the offer.//// Possible values://   "SEVERITY_UNSPECIFIED" - Not specified.//   "NOT_IMPACTED" - This issue represents a warning and does not have a// direct affect on the product.//   "DEMOTED" - The product is demoted and most likely have limited// performance in search results//   "DISAPPROVED" - Issue disapproves the product.Severitystring `json:"severity,omitempty"`// ForceSendFields is a list of field names (e.g. "ApplicableCountries") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "ApplicableCountries") to include// in API requests with the JSON null value. By default, fields with empty// values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ItemLevelIssue: The ItemLevelIssue of the product status.

func (ItemLevelIssue)MarshalJSON

func (sItemLevelIssue) MarshalJSON() ([]byte,error)

typeListProductsResponse

type ListProductsResponse struct {// NextPageToken: A token, which can be sent as `page_token` to retrieve the// next page. If this field is omitted, there are no subsequent pages.NextPageTokenstring `json:"nextPageToken,omitempty"`// Products: The processed products from the specified account. These are your// processed products after applying rules and supplemental data sources.Products []*Product `json:"products,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "NextPageToken") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "NextPageToken") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ListProductsResponse: Response message for the ListProducts method.

func (ListProductsResponse)MarshalJSON

func (sListProductsResponse) MarshalJSON() ([]byte,error)

typeLoyaltyPoints

type LoyaltyPoints struct {// Name: Name of loyalty points program. It is recommended to limit the name to// 12 full-width characters or 24 Roman characters.Namestring `json:"name,omitempty"`// PointsValue: The retailer's loyalty points in absolute value.PointsValueint64 `json:"pointsValue,omitempty,string"`// Ratio: The ratio of a point when converted to currency. Google assumes// currency based on Merchant Center settings. If ratio is left out, it// defaults to 1.0.Ratiofloat64 `json:"ratio,omitempty"`// ForceSendFields is a list of field names (e.g. "Name") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Name") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

LoyaltyPoints: A message that represents loyalty points.

func (LoyaltyPoints)MarshalJSON

func (sLoyaltyPoints) MarshalJSON() ([]byte,error)

func (*LoyaltyPoints)UnmarshalJSON

func (s *LoyaltyPoints) UnmarshalJSON(data []byte)error

typeLoyaltyProgram

type LoyaltyProgram struct {// CashbackForFutureUse: The cashback that can be used for future purchases.CashbackForFutureUse *Price `json:"cashbackForFutureUse,omitempty"`// LoyaltyPoints: The amount of loyalty points earned on a purchase.LoyaltyPointsint64 `json:"loyaltyPoints,omitempty,string"`// MemberPriceEffectiveDate: A date range during which the item is eligible for// member price. If not specified, the member price is always applicable. The// date range is represented by a pair of ISO 8601 dates separated by a space,// comma, or slash.MemberPriceEffectiveDate *Interval `json:"memberPriceEffectiveDate,omitempty"`// Price: The price for members of the given tier, that is, the instant// discount price. Must be smaller or equal to the regular price.Price *Price `json:"price,omitempty"`// ProgramLabel: The label of the loyalty program. This is an internal label// that uniquely identifies the relationship between a business entity and a// loyalty program entity. The label must be provided so that the system can// associate the assets below (for example, price and points) with a business.// The corresponding program must be linked to the Merchant Center account.ProgramLabelstring `json:"programLabel,omitempty"`// ShippingLabel: The label of the shipping benefit. If the field has value,// this offer has loyalty shipping benefit. If the field value isn't provided,// the item is not eligible for loyalty shipping for the given loyalty tier.ShippingLabelstring `json:"shippingLabel,omitempty"`// TierLabel: The label of the tier within the loyalty program. Must match one// of the labels within the program.TierLabelstring `json:"tierLabel,omitempty"`// ForceSendFields is a list of field names (e.g. "CashbackForFutureUse") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "CashbackForFutureUse") to include// in API requests with the JSON null value. By default, fields with empty// values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

LoyaltyProgram: LINT.IfChange(LoyaltyProgram) A message that representsloyalty program.

func (LoyaltyProgram)MarshalJSON

func (sLoyaltyProgram) MarshalJSON() ([]byte,error)

typePrice

type Price struct {// AmountMicros: The price represented as a number in micros (1 million micros// is an equivalent to one's currency standard unit, for example, 1 USD =// 1000000 micros).AmountMicrosint64 `json:"amountMicros,omitempty,string"`// CurrencyCode: The currency of the price using three-letter acronyms// according to ISO 4217 (http://en.wikipedia.org/wiki/ISO_4217).CurrencyCodestring `json:"currencyCode,omitempty"`// ForceSendFields is a list of field names (e.g. "AmountMicros") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "AmountMicros") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

Price: The price represented as a number and currency.

func (Price)MarshalJSON

func (sPrice) MarshalJSON() ([]byte,error)

typeProduct

type Product struct {// AutomatedDiscounts: Output only. The automated discounts information for the// product.AutomatedDiscounts *AutomatedDiscounts `json:"automatedDiscounts,omitempty"`// ContentLanguage: Output only. The two-letter ISO 639-1// (http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.ContentLanguagestring `json:"contentLanguage,omitempty"`// CustomAttributes: Output only. A list of custom (merchant-provided)// attributes. It can also be used to submit any attribute of the data// specification in its generic form (for example, `{ "name": "size type",// "value": "regular" }`). This is useful for submitting attributes not// explicitly exposed by the API, such as additional attributes used for Buy on// Google.CustomAttributes []*CustomAttribute `json:"customAttributes,omitempty"`// DataSource: Output only. The primary data source of the product.DataSourcestring `json:"dataSource,omitempty"`// FeedLabel: Output only. The feed label lets you categorize and identify your// products. The maximum allowed characters is 20 and the supported characters// are`A-Z`, `0-9`, hyphen and underscore. The feed label must not include any// spaces. For more information, see Using feed labels// (//support.google.com/merchants/answer/14994087)FeedLabelstring `json:"feedLabel,omitempty"`// LegacyLocal: Output only. Determines whether the product is **only**// targeting local destinations and whether the product name should be// distinguished with a `local~` prefix. For example,// `accounts/123/products/local~en~US~sku123`.LegacyLocalbool `json:"legacyLocal,omitempty"`// Name: The name of the product. Format:// `accounts/{account}/products/{product}` where the last section `product`// consists of: `content_language~feed_label~offer_id` example for product name// is `accounts/123/products/en~US~sku123`. A legacy local product name would// be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta// version, the `product` section consists of:// `channel~content_language~feed_label~offer_id`, for example:// `accounts/123/products/online~en~US~sku123`.Namestring `json:"name,omitempty"`// OfferId: Output only. Your unique identifier for the product. This is the// same for the product input and processed product. Leading and trailing// whitespaces are stripped and multiple whitespaces are replaced by a single// whitespace upon submission. See the product data specification// (https://support.google.com/merchants/answer/188494#id) for details.OfferIdstring `json:"offerId,omitempty"`// ProductAttributes: Output only. A list of strongly-typed product attributes.ProductAttributes *ProductAttributes `json:"productAttributes,omitempty"`// ProductStatus: Output only. The status of a product, data validation issues,// that is, information about a product computed asynchronously.ProductStatus *ProductStatus `json:"productStatus,omitempty"`// VersionNumber: Output only. Represents the existing version (freshness) of// the product, which can be used to preserve the right order when multiple// updates are done at the same time. If set, the insertion is prevented when// version number is lower than the current version number of the existing// product. Re-insertion (for example, product refresh after 30 days) can be// performed with the current `version_number`. Only supported for insertions// into primary data sources. If the operation is prevented, the aborted// exception will be thrown.VersionNumberint64 `json:"versionNumber,omitempty,string"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "AutomatedDiscounts") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "AutomatedDiscounts") to include// in API requests with the JSON null value. By default, fields with empty// values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

Product: The processed product, built from multiple product inputs afterapplying rules and supplemental data sources. This processed product matcheswhat is shown in your Merchant Center account. Each product is built fromexactly one primary data source product input, and multiple supplementaldata source inputs. After inserting, updating, or deleting a product input,it may take several minutes before the updated processed product can beretrieved. All fields in the processed product and its sub-messages matchthe name of their corresponding attribute in the Product data specification(https://support.google.com/merchants/answer/7052112) with some exceptions.

func (Product)MarshalJSON

func (sProduct) MarshalJSON() ([]byte,error)

typeProductAttributes

type ProductAttributes struct {// AdditionalImageLinks: Additional URLs of images of the item.AdditionalImageLinks []string `json:"additionalImageLinks,omitempty"`// AdsGrouping: Used to group items in an arbitrary way. Only for CPA%,// discouraged otherwise. For more information, see Display ads attribute// (https://support.google.com/merchants/answer/6069387).AdsGroupingstring `json:"adsGrouping,omitempty"`// AdsLabels: Similar to ads_grouping, but only works on CPC.AdsLabels []string `json:"adsLabels,omitempty"`// AdsRedirect: Allows advertisers to override the item URL when the product is// shown within the context of Product ads.AdsRedirectstring `json:"adsRedirect,omitempty"`// Adult: Set to true if the item is targeted towards adults.Adultbool `json:"adult,omitempty"`// AgeGroup: Target age group// (https://support.google.com/merchants/answer/6324463) of the item.//// Possible values://   "AGE_GROUP_UNSPECIFIED" - Age group is not specified.//   "ADULT" - Teens or older.//   "KIDS" - 5-13 years old.//   "TODDLER" - 1-5 years old.//   "INFANT" - 3-12 months old.//   "NEWBORN" - 0-3 months old.AgeGroupstring `json:"ageGroup,omitempty"`// AutoPricingMinPrice: A safeguard in the [automated discounts]// (https://support.google.com/merchants/answer/10295759) and "Dynamic// Promotions" (https://support.google.com/merchants/answer/13949249) projects,// ensuring that discounts on business offers do not fall below this value,// thereby preserving the offer's value and profitability.AutoPricingMinPrice *Price `json:"autoPricingMinPrice,omitempty"`// Availability: Availability// (https://support.google.com/merchants/answer/6324448) status of the item.//// Possible values://   "AVAILABILITY_UNSPECIFIED" - Availability is not specified.//   "IN_STOCK" - In stock.//   "OUT_OF_STOCK" - Out of stock.//   "PREORDER" - Pre-order.//   "LIMITED_AVAILABILITY" - Limited availability.//   "BACKORDER" - Backorder.Availabilitystring `json:"availability,omitempty"`// AvailabilityDate: The day a pre-ordered product becomes available for// delivery, in ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601) format.AvailabilityDatestring `json:"availabilityDate,omitempty"`// Brand: Brand (https://support.google.com/merchants/answer/6324351) of the// item. For example, "Google".Brandstring `json:"brand,omitempty"`// CanonicalLink: URL for the canonical version of your item's landing page.CanonicalLinkstring `json:"canonicalLink,omitempty"`// CarrierShipping: Rules for carrier-based shipping.CarrierShipping []*CarrierShipping `json:"carrierShipping,omitempty"`// Certifications: Product Certifications, for example for energy efficiency// labeling of products recorded in the EU EPREL// (https://eprel.ec.europa.eu/screen/home) database. See the Help Center// (https://support.google.com/merchants/answer/13528839) article for more// information.Certifications []*ProductCertification `json:"certifications,omitempty"`// CloudExportAdditionalProperties: Extra fields to export to the Cloud Retail// program.CloudExportAdditionalProperties []*CloudExportAdditionalProperties `json:"cloudExportAdditionalProperties,omitempty"`// Color: Color (https://support.google.com/merchants/answer/6324487) of the// item. For example, "red".Colorstring `json:"color,omitempty"`// Condition: Condition (https://support.google.com/merchants/answer/6324469)// or state of the item.//// Possible values://   "CONDITION_UNSPECIFIED" - Default value. This value is unused.//   "NEW" - Brand new, original, unopened packaging.//   "USED" - Previously used, original packaging opened or missing.//   "REFURBISHED" - Professionally restored to working order, comes with a// warranty, may or may not have the original packaging.Conditionstring `json:"condition,omitempty"`// CostOfGoodsSold: Cost of goods sold. Used for gross profit reporting.CostOfGoodsSold *Price `json:"costOfGoodsSold,omitempty"`// CustomLabel0: Custom label 0// (https://support.google.com/merchants/answer/6324473) for custom grouping of// items in a Shopping campaign.CustomLabel0string `json:"customLabel0,omitempty"`// CustomLabel1: Custom label 1// (https://support.google.com/merchants/answer/6324473) for custom grouping of// items in a Shopping campaign.CustomLabel1string `json:"customLabel1,omitempty"`// CustomLabel2: Custom label 2// (https://support.google.com/merchants/answer/6324473) for custom grouping of// items in a Shopping campaign.CustomLabel2string `json:"customLabel2,omitempty"`// CustomLabel3: Custom label 3// (https://support.google.com/merchants/answer/6324473) for custom grouping of// items in a Shopping campaign.CustomLabel3string `json:"customLabel3,omitempty"`// CustomLabel4: Custom label 4// (https://support.google.com/merchants/answer/6324473) for custom grouping of// items in a Shopping campaign.CustomLabel4string `json:"customLabel4,omitempty"`// Description: Description of the item.Descriptionstring `json:"description,omitempty"`// DisclosureDate: The date time when an offer becomes visible in search// results across Google’s YouTube surfaces, in ISO 8601// (http://en.wikipedia.org/wiki/ISO_8601) format. See Disclosure date// (https://support.google.com/merchants/answer/13034208) for more information.DisclosureDatestring `json:"disclosureDate,omitempty"`// DisplayAdsId: An identifier for an item for dynamic remarketing campaigns.DisplayAdsIdstring `json:"displayAdsId,omitempty"`// DisplayAdsLink: URL directly to your item's landing page for dynamic// remarketing campaigns.DisplayAdsLinkstring `json:"displayAdsLink,omitempty"`// DisplayAdsSimilarIds: Advertiser-specified recommendations. For more// information, see Display ads attribute specification// (https://support.google.com/merchants/answer/6069387).DisplayAdsSimilarIds []string `json:"displayAdsSimilarIds,omitempty"`// DisplayAdsTitle: Title of an item for dynamic remarketing campaigns.DisplayAdsTitlestring `json:"displayAdsTitle,omitempty"`// DisplayAdsValue: Offer margin for dynamic remarketing campaigns. For more// information, see Display ads attribute// (https://support.google.com/merchants/answer/6069387).DisplayAdsValuefloat64 `json:"displayAdsValue,omitempty"`// EnergyEfficiencyClass: The energy efficiency class// (https://support.google.com/merchants/answer/7562785) as defined in EU// directive 2010/30/EU.//// Possible values://   "ENERGY_EFFICIENCY_CLASS_UNSPECIFIED" - The energy efficiency class is// unspecified.//   "APPP" - A+++.//   "APP" - A++.//   "AP" - A+.//   "A" - A.//   "B" - B.//   "C" - C.//   "D" - D.//   "E" - E.//   "F" - F.//   "G" - G.EnergyEfficiencyClassstring `json:"energyEfficiencyClass,omitempty"`// ExcludedDestinations: The list of destinations to exclude for this target// (corresponds to unchecked check boxes in Merchant Center). For more// information, see Excluded destination// (https://support.google.com/merchants/answer/6324486). Note: We recommend// setting destinations on datasources level for most use cases. Use this field// within products to only setup exceptions.//// Possible values://   "DESTINATION_ENUM_UNSPECIFIED" - Not specified.//   "SHOPPING_ADS" - [Shopping// ads](https://support.google.com/google-ads/answer/2454022).//   "DISPLAY_ADS" - [Display// ads](https://support.google.com/merchants/answer/6069387).//   "LOCAL_INVENTORY_ADS" - [Local inventory// ads](https://support.google.com/merchants/answer/3057972).//   "FREE_LISTINGS" - [Free// listings](https://support.google.com/merchants/answer/9199328).//   "FREE_LOCAL_LISTINGS" - [Free local product// listings](https://support.google.com/merchants/answer/9825611).//   "YOUTUBE_SHOPPING" - [YouTube// Shopping](https://support.google.com/merchants/answer/12362804).//   "YOUTUBE_SHOPPING_CHECKOUT" - Youtube shopping checkout.//   "YOUTUBE_AFFILIATE" - [Youtube// Affiliate](https://support.google.com/youtube/answer/13376398).//   "FREE_VEHICLE_LISTINGS" - [Free vehicle// listings](https://support.google.com/merchants/answer/11189169).//   "VEHICLE_ADS" - [Vehicle// ads](https://support.google.com/merchants/answer/11189169).//   "CLOUD_RETAIL" - [Cloud// retail](https://cloud.google.com/solutions/retail).//   "LOCAL_CLOUD_RETAIL" - [Local cloud// retail](https://cloud.google.com/solutions/retail).ExcludedDestinations []string `json:"excludedDestinations,omitempty"`// ExpirationDate: Date on which the item should expire, as specified upon// insertion, in ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601) format. The// actual expiration date is exposed in `productstatuses` as// googleExpirationDate (https://support.google.com/merchants/answer/6324499)// and might be earlier if `expirationDate` is too far in the future.ExpirationDatestring `json:"expirationDate,omitempty"`// ExternalSellerId: Required for multi-seller accounts. Use this attribute if// you're a marketplace uploading products for various sellers to your// multi-seller account.ExternalSellerIdstring `json:"externalSellerId,omitempty"`// FreeShippingThreshold: Conditions to be met for a product to have free// shipping.FreeShippingThreshold []*FreeShippingThreshold `json:"freeShippingThreshold,omitempty"`// Gender: Target gender (https://support.google.com/merchants/answer/6324479)// of the item.//// Possible values://   "GENDER_UNSPECIFIED" - Gender is not specified.//   "MALE" - Male.//   "FEMALE" - Female.//   "UNISEX" - Unisex.Genderstring `json:"gender,omitempty"`// GoogleProductCategory: Google's category of the item (see Google product// taxonomy (https://support.google.com/merchants/answer/1705911)). When// querying products, this field will contain the user provided value. There is// currently no way to get back the auto assigned google product categories// through the API.GoogleProductCategorystring `json:"googleProductCategory,omitempty"`// Gtins: Global Trade Item Numbers (GTIN// (https://support.google.com/merchants/answer/188494#gtin)) of the item. You// can provide up to 10 GTINs.Gtins []string `json:"gtins,omitempty"`// HandlingCutoffTimes: The handling cutoff times for shipping.HandlingCutoffTimes []*HandlingCutoffTime `json:"handlingCutoffTimes,omitempty"`// IdentifierExists: Set this value to false when the item does not have unique// product identifiers appropriate to its category, such as GTIN, MPN, and// brand. Defaults to true, if not provided.IdentifierExistsbool `json:"identifierExists,omitempty"`// ImageLink: URL of an image of the item.ImageLinkstring `json:"imageLink,omitempty"`// IncludedDestinations: The list of destinations to include for this target// (corresponds to checked check boxes in Merchant Center). Default// destinations are always included unless provided in `excludedDestinations`.// For more information, see Included destination// (https://support.google.com/merchants/answer/7501026). Note: We recommend// setting destinations on datasources level for most use cases. Use this field// within products to only setup exceptions.//// Possible values://   "DESTINATION_ENUM_UNSPECIFIED" - Not specified.//   "SHOPPING_ADS" - [Shopping// ads](https://support.google.com/google-ads/answer/2454022).//   "DISPLAY_ADS" - [Display// ads](https://support.google.com/merchants/answer/6069387).//   "LOCAL_INVENTORY_ADS" - [Local inventory// ads](https://support.google.com/merchants/answer/3057972).//   "FREE_LISTINGS" - [Free// listings](https://support.google.com/merchants/answer/9199328).//   "FREE_LOCAL_LISTINGS" - [Free local product// listings](https://support.google.com/merchants/answer/9825611).//   "YOUTUBE_SHOPPING" - [YouTube// Shopping](https://support.google.com/merchants/answer/12362804).//   "YOUTUBE_SHOPPING_CHECKOUT" - Youtube shopping checkout.//   "YOUTUBE_AFFILIATE" - [Youtube// Affiliate](https://support.google.com/youtube/answer/13376398).//   "FREE_VEHICLE_LISTINGS" - [Free vehicle// listings](https://support.google.com/merchants/answer/11189169).//   "VEHICLE_ADS" - [Vehicle// ads](https://support.google.com/merchants/answer/11189169).//   "CLOUD_RETAIL" - [Cloud// retail](https://cloud.google.com/solutions/retail).//   "LOCAL_CLOUD_RETAIL" - [Local cloud// retail](https://cloud.google.com/solutions/retail).IncludedDestinations []string `json:"includedDestinations,omitempty"`// Installment: Number and amount of installments to pay for an item.Installment *ProductInstallment `json:"installment,omitempty"`// IsBundle: Whether the item is a business-defined sub-API. A [sub-API]// (https://support.google.com/merchants/answer/6324449) is a custom grouping// of different products sold by a business for a single price.IsBundlebool `json:"isBundle,omitempty"`// ItemGroupId: Shared identifier for all variants of the same product.ItemGroupIdstring `json:"itemGroupId,omitempty"`// LifestyleImageLinks: Additional URLs of lifestyle images of the item, used// to explicitly identify images that showcase your item in a real-world// context. See the Help Center article// (https://support.google.com/merchants/answer/9103186) for more information.LifestyleImageLinks []string `json:"lifestyleImageLinks,omitempty"`// Link: URL directly linking to your item's page on your online store.Linkstring `json:"link,omitempty"`// LinkTemplate: Link template// (https://support.google.com/merchants/answer/13871172) for business hosted// local storefront.LinkTemplatestring `json:"linkTemplate,omitempty"`// LoyaltyPoints: Loyalty points that users receive after purchasing the item.// Japan only.LoyaltyPoints *LoyaltyPoints `json:"loyaltyPoints,omitempty"`// LoyaltyPrograms: A list of loyalty program information that is used to// surface loyalty benefits (for example, better pricing, points, etc) to the// user of this item.LoyaltyPrograms []*LoyaltyProgram `json:"loyaltyPrograms,omitempty"`// Material: The material (https://support.google.com/merchants/answer/6324410)// of which the item is made. For example, "Leather" or "Cotton".Materialstring `json:"material,omitempty"`// MaxEnergyEfficiencyClass: The energy efficiency class// (https://support.google.com/merchants/answer/7562785) as defined in EU// directive 2010/30/EU.//// Possible values://   "ENERGY_EFFICIENCY_CLASS_UNSPECIFIED" - The energy efficiency class is// unspecified.//   "APPP" - A+++.//   "APP" - A++.//   "AP" - A+.//   "A" - A.//   "B" - B.//   "C" - C.//   "D" - D.//   "E" - E.//   "F" - F.//   "G" - G.MaxEnergyEfficiencyClassstring `json:"maxEnergyEfficiencyClass,omitempty"`// MaxHandlingTime: Maximal product handling time (in business days).MaxHandlingTimeint64 `json:"maxHandlingTime,omitempty,string"`// MaximumRetailPrice: Maximum retail price (MRP) of the item. Applicable to// India only.MaximumRetailPrice *Price `json:"maximumRetailPrice,omitempty"`// MinEnergyEfficiencyClass: The energy efficiency class// (https://support.google.com/merchants/answer/7562785) as defined in EU// directive 2010/30/EU.//// Possible values://   "ENERGY_EFFICIENCY_CLASS_UNSPECIFIED" - The energy efficiency class is// unspecified.//   "APPP" - A+++.//   "APP" - A++.//   "AP" - A+.//   "A" - A.//   "B" - B.//   "C" - C.//   "D" - D.//   "E" - E.//   "F" - F.//   "G" - G.MinEnergyEfficiencyClassstring `json:"minEnergyEfficiencyClass,omitempty"`// MinHandlingTime: Minimal product handling time (in business days).MinHandlingTimeint64 `json:"minHandlingTime,omitempty,string"`// MobileLink: URL for the mobile-optimized version of your item's landing// page.MobileLinkstring `json:"mobileLink,omitempty"`// MobileLinkTemplate: Link template// (https://support.google.com/merchants/answer/13870216) for business hosted// local storefront optimized for mobile devices.MobileLinkTemplatestring `json:"mobileLinkTemplate,omitempty"`// Mpn: Manufacturer Part Number (MPN// (https://support.google.com/merchants/answer/188494#mpn)) of the item.Mpnstring `json:"mpn,omitempty"`// Multipack: The number of identical products in a business-defined multipack.Multipackint64 `json:"multipack,omitempty,string"`// Pattern: The item's pattern// (https://support.google.com/merchants/answer/6324483). For example, polka// dots.Patternstring `json:"pattern,omitempty"`// Pause: Publication of this item will be temporarily paused// (https://support.google.com/merchants/answer/11909930).//// Possible values://   "PAUSE_UNSPECIFIED" - The pause is unspecified.//   "ADS" - You’re currently pausing your product for all ads locations// (including Shopping Ads, Display Ads, and local inventory ads).//   "ALL" - You’re currently pausing your product for all Shopping locations// (including Shopping Ads, Display Ads, local inventory ads, Buy on Google,// and free listings).Pausestring `json:"pause,omitempty"`// PickupMethod: The pickup// (https://support.google.com/merchants/answer/14634021) option for the item.//// Possible values://   "PICKUP_METHOD_UNSPECIFIED" - Pickup method is not specified.//   "NOT_SUPPORTED" - The item is not available for store pickup.//   "BUY" - The entire transaction occurs online.//   "RESERVE" - The item is reserved online and the transaction occurs// in-store.//   "SHIP_TO_STORE" - The item is purchased online and shipped to a local// store for the customer to pick up.PickupMethodstring `json:"pickupMethod,omitempty"`// PickupSla: Item store pickup timeline. For more information, see Pickup SLA// (https://support.google.com/merchants/answer/14635400).//// Possible values://   "PICKUP_SLA_UNSPECIFIED" - Pickup SLA is not specified.//   "SAME_DAY" - Indicates that the product is available for pickup the same// day that the order is placed, subject to cut off times.//   "NEXT_DAY" - Indicates that the product is available for pickup the// following day that the order is placed.//   "TWO_DAY" - Indicates that the product will be shipped to a store for a// customer to pick up in 2 days.//   "THREE_DAY" - Indicates that the product will be shipped to a store for a// customer to pick up in 3 days.//   "FOUR_DAY" - Indicates that the product will be shipped to a store for a// customer to pick up in 4 days//   "FIVE_DAY" - Indicates that the product will be shipped to a store for a// customer to pick up in 5 days.//   "SIX_DAY" - Indicates that the product will be shipped to a store for a// customer to pick up in 6 days.//   "MULTI_WEEK" - Indicates that the product will be shipped to a store for a// customer to pick up in one week or more.PickupSlastring `json:"pickupSla,omitempty"`// Price: Price of the item.Price *Price `json:"price,omitempty"`// ProductDetails: Technical specification or additional product details.ProductDetails []*ProductDetail `json:"productDetails,omitempty"`// ProductHeight: The height of the product in the units provided. The value// must be between 0 (exclusive) and 3000 (inclusive).ProductHeight *ProductDimension `json:"productHeight,omitempty"`// ProductHighlights: Bullet points describing the most relevant product// highlights (https://support.google.com/merchants/answer/9216100).ProductHighlights []string `json:"productHighlights,omitempty"`// ProductLength: The length of the product in the units provided. The value// must be between 0 (exclusive) and 3000 (inclusive).ProductLength *ProductDimension `json:"productLength,omitempty"`// ProductTypes: Categories of the item (formatted as in product data// specification// (https://support.google.com/merchants/answer/7052112#product_category)).ProductTypes []string `json:"productTypes,omitempty"`// ProductWeight: The weight of the product in the units provided. The value// must be between 0 (exclusive) and 2000 (inclusive).ProductWeight *ProductWeight `json:"productWeight,omitempty"`// ProductWidth: The width of the product in the units provided. The value must// be between 0 (exclusive) and 3000 (inclusive).ProductWidth *ProductDimension `json:"productWidth,omitempty"`// PromotionIds: The unique ID of a promotion.PromotionIds []string `json:"promotionIds,omitempty"`// SalePrice: Advertised sale price of the item.SalePrice *Price `json:"salePrice,omitempty"`// SalePriceEffectiveDate: Date range during which the item is on sale, see// product data specification// (https://support.google.com/merchants/answer/7052112#price_and_availability).SalePriceEffectiveDate *Interval `json:"salePriceEffectiveDate,omitempty"`// SellOnGoogleQuantity: The quantity of the product that is available for// selling on Google. Supported only for online products.SellOnGoogleQuantityint64 `json:"sellOnGoogleQuantity,omitempty,string"`// Shipping: Shipping rules.Shipping []*Shipping `json:"shipping,omitempty"`// ShippingHandlingBusinessDays: The business days during which orders can be// handled. If not provided, Monday to Friday business days will be assumed.ShippingHandlingBusinessDays []*ShippingBusinessDaysConfig `json:"shippingHandlingBusinessDays,omitempty"`// ShippingHeight: Height of the item for shipping.ShippingHeight *ShippingDimension `json:"shippingHeight,omitempty"`// ShippingLabel: The shipping label of the product, used to group product in// account-level shipping rules.ShippingLabelstring `json:"shippingLabel,omitempty"`// ShippingLength: Length of the item for shipping.ShippingLength *ShippingDimension `json:"shippingLength,omitempty"`// ShippingTransitBusinessDays: The business days during which orders are in// transit. If not provided, Monday to Friday business days will be assumed.ShippingTransitBusinessDays []*ShippingBusinessDaysConfig `json:"shippingTransitBusinessDays,omitempty"`// ShippingWeight: Weight of the item for shipping.ShippingWeight *ShippingWeight `json:"shippingWeight,omitempty"`// ShippingWidth: Width of the item for shipping.ShippingWidth *ShippingDimension `json:"shippingWidth,omitempty"`// ShoppingAdsExcludedCountries: List of country codes (ISO 3166-1 alpha-2)// (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the offer from// Shopping Ads destination. Countries from this list are removed from// countries configured in data source settings.ShoppingAdsExcludedCountries []string `json:"shoppingAdsExcludedCountries,omitempty"`// Size: Size of the item. Only one value is allowed. For variants with// different sizes, insert a separate product for each size with the same// `itemGroupId` value, see Size// (https://support.google.com/merchants/answer/6324492).Sizestring `json:"size,omitempty"`// SizeSystem: System in which the size is specified. Recommended for apparel// items. For more information, see Size system// (https://support.google.com/merchants/answer/6324502).//// Possible values://   "SIZE_SYSTEM_UNSPECIFIED" - Unspecified size system.//   "AU" - AU.//   "BR" - BR.//   "CN" - CN.//   "DE" - DE.//   "EU" - EU.//   "FR" - FR.//   "IT" - IT.//   "JP" - JP.//   "MEX" - MEX.//   "UK" - UK.//   "US" - US.SizeSystemstring `json:"sizeSystem,omitempty"`// SizeTypes: The cut of the item. It can be used to represent combined size// types for apparel items. Maximum two of size types can be provided, see Size// type (https://support.google.com/merchants/answer/6324497).//// Possible values://   "SIZE_TYPE_UNSPECIFIED" - The size type is not specified.//   "REGULAR" - Regular size.//   "PETITE" - Petite size.//   "MATERNITY" - Maternity size.//   "BIG" - Big size.//   "TALL" - Tall size.//   "PLUS" - Plus size.SizeTypes []string `json:"sizeTypes,omitempty"`// StructuredDescription: Structured description, for algorithmically// (AI)-generated descriptions.StructuredDescription *StructuredDescription `json:"structuredDescription,omitempty"`// StructuredTitle: Structured title, for algorithmically (AI)-generated// titles.StructuredTitle *StructuredTitle `json:"structuredTitle,omitempty"`// SubscriptionCost: Number of periods (months or years) and amount of payment// per period for an item with an associated subscription contract.SubscriptionCost *SubscriptionCost `json:"subscriptionCost,omitempty"`// SustainabilityIncentives: The list of sustainability incentive programs.SustainabilityIncentives []*ProductSustainabilityIncentive `json:"sustainabilityIncentives,omitempty"`// Title: Title of the item.Titlestring `json:"title,omitempty"`// TransitTimeLabel: The transit time label of the product, used to group// product in account-level transit time tables.TransitTimeLabelstring `json:"transitTimeLabel,omitempty"`// UnitPricingBaseMeasure: The preference of the denominator of the unit price.UnitPricingBaseMeasure *UnitPricingBaseMeasure `json:"unitPricingBaseMeasure,omitempty"`// UnitPricingMeasure: The measure and dimension of an item.UnitPricingMeasure *UnitPricingMeasure `json:"unitPricingMeasure,omitempty"`// VirtualModelLink: URL of the 3D image of the item. See the Help Center// article (https://support.google.com/merchants/answer/13674896) for more// information.VirtualModelLinkstring `json:"virtualModelLink,omitempty"`// ForceSendFields is a list of field names (e.g. "AdditionalImageLinks") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "AdditionalImageLinks") to include// in API requests with the JSON null value. By default, fields with empty// values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductAttributes: Product attributes.

func (ProductAttributes)MarshalJSON

func (sProductAttributes) MarshalJSON() ([]byte,error)

func (*ProductAttributes)UnmarshalJSON

func (s *ProductAttributes) UnmarshalJSON(data []byte)error

typeProductCertification

type ProductCertification struct {// CertificationAuthority: The certification authority.//// Possible values://   "CERTIFICATION_AUTHORITY_UNSPECIFIED" - Certification authority is not// specified.//   "ADEME" - For the French CO2 emissions class for vehicles.//   "BMWK" - For the German CO2 emissions classes for vehicles.//   "EPA" - Environment Protection Agency.//   "EC" - European Commission for energy labels in the EU.CertificationAuthoritystring `json:"certificationAuthority,omitempty"`// CertificationCode: The certification code. Maximum length is 2000// characters.CertificationCodestring `json:"certificationCode,omitempty"`// CertificationName: The name of the certification.//// Possible values://   "CERTIFICATION_NAME_UNSPECIFIED" - Certification name is not specified.//   "ENERGY_STAR" - Energy Star.//   "ENERGY_STAR_MOST_EFFICIENT" - Energy Star Most Efficient.//   "EPREL" - Represents energy efficiency certifications in the EU European// Registry for Energy Labeling (EPREL) database.//   "EU_ECOLABEL" - EU Ecolabel.//   "VEHICLE_ENERGY_EFFICIENCY" - The overall CO2 class of a vehicle//   "VEHICLE_ENERGY_EFFICIENCY_DISCHARGED_BATTERY" - For the CO2 class of a// vehicle with a discharged battery.CertificationNamestring `json:"certificationName,omitempty"`// CertificationValue: The certification value (also known as class, level or// grade), for example "A+", "C", "gold". Maximum length is 2000 characters.CertificationValuestring `json:"certificationValue,omitempty"`// ForceSendFields is a list of field names (e.g. "CertificationAuthority") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "CertificationAuthority") to// include in API requests with the JSON null value. By default, fields with// empty values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductCertification: Product certification(https://support.google.com/merchants/answer/13528839), initially introducedfor EU energy efficiency labeling compliance using the EU EPREL database.

func (ProductCertification)MarshalJSON

func (sProductCertification) MarshalJSON() ([]byte,error)

typeProductChange

type ProductChange struct {// NewValue: The new value of the changed resource or attribute. If empty, it// means that the product was deleted. Will have one of these values :// (`approved`, `pending`, `disapproved`, “)NewValuestring `json:"newValue,omitempty"`// OldValue: The old value of the changed resource or attribute. If empty, it// means that the product was created. Will have one of these values :// (`approved`, `pending`, `disapproved`, “)OldValuestring `json:"oldValue,omitempty"`// RegionCode: Countries that have the change (if applicable). Represented in// the ISO 3166 format.RegionCodestring `json:"regionCode,omitempty"`// ReportingContext: Reporting contexts that have the change (if applicable).// Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`,// `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum// value ReportingContextEnum// (/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)//// Possible values://   "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified.//   "SHOPPING_ADS" - [Shopping// ads](https://support.google.com/merchants/answer/6149970).//   "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and// Demand Gen ads](https://support.google.com/merchants/answer/13389785).//   "DEMAND_GEN_ADS" - [Demand Gen// ads](https://support.google.com/merchants/answer/13389785).//   "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover// surface](https://support.google.com/merchants/answer/13389785).//   "VIDEO_ADS" - [Video// ads](https://support.google.com/google-ads/answer/6340491).//   "DISPLAY_ADS" - [Display// ads](https://support.google.com/merchants/answer/6069387).//   "LOCAL_INVENTORY_ADS" - [Local inventory// ads](https://support.google.com/merchants/answer/3271956).//   "VEHICLE_INVENTORY_ADS" - [Vehicle inventory// ads](https://support.google.com/merchants/answer/11544533).//   "FREE_LISTINGS" - [Free product// listings](https://support.google.com/merchants/answer/9199328).//   "FREE_LOCAL_LISTINGS" - [Free local product// listings](https://support.google.com/merchants/answer/9825611).//   "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle// listings](https://support.google.com/merchants/answer/11544533).//   "YOUTUBE_AFFILIATE" - [Youtube// Affiliate](https://support.google.com/youtube/answer/13376398).//   "YOUTUBE_SHOPPING" - [YouTube// Shopping](https://support.google.com/merchants/answer/13478370).//   "CLOUD_RETAIL" - [Cloud// retail](https://cloud.google.com/solutions/retail).//   "LOCAL_CLOUD_RETAIL" - [Local cloud// retail](https://cloud.google.com/solutions/retail).//   "PRODUCT_REVIEWS" - [Product// Reviews](https://support.google.com/merchants/answer/14620732).//   "MERCHANT_REVIEWS" - [Merchant// Reviews](https://developers.google.com/merchant-review-feeds).//   "YOUTUBE_CHECKOUT" - YouTube Checkout .ReportingContextstring `json:"reportingContext,omitempty"`// ForceSendFields is a list of field names (e.g. "NewValue") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "NewValue") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductChange: The change that happened to the product including old value,new value, country code as the region code and reporting context.

func (ProductChange)MarshalJSON

func (sProductChange) MarshalJSON() ([]byte,error)

typeProductDetail

type ProductDetail struct {// AttributeName: The name of the product detail.AttributeNamestring `json:"attributeName,omitempty"`// AttributeValue: The value of the product detail.AttributeValuestring `json:"attributeValue,omitempty"`// SectionName: The section header used to group a set of product details.SectionNamestring `json:"sectionName,omitempty"`// ForceSendFields is a list of field names (e.g. "AttributeName") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "AttributeName") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductDetail: The product details.

func (ProductDetail)MarshalJSON

func (sProductDetail) MarshalJSON() ([]byte,error)

typeProductDimension

type ProductDimension struct {// Unit: Required. The dimension units. Acceptable values are: * "in" *// "cm"Unitstring `json:"unit,omitempty"`// Value: Required. The dimension value represented as a number. The value can// have a maximum precision of four decimal places.Valuefloat64 `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "Unit") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Unit") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductDimension: The dimension of the product.

func (ProductDimension)MarshalJSON

func (sProductDimension) MarshalJSON() ([]byte,error)

func (*ProductDimension)UnmarshalJSON

func (s *ProductDimension) UnmarshalJSON(data []byte)error

typeProductInput

type ProductInput struct {// ContentLanguage: Required. Immutable. The two-letter ISO 639-1// (http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.ContentLanguagestring `json:"contentLanguage,omitempty"`// CustomAttributes: Optional. A list of custom (merchant-provided) attributes.// It can also be used for submitting any attribute of the data specification// in its generic form (for example, `{ "name": "size type", "value": "regular"// }`). This is useful for submitting attributes not explicitly exposed by the// API. Maximum allowed number of characters for each custom attribute is 10240// (represents sum of characters for name and value). Maximum 2500 custom// attributes can be set per product, with total size of 102.4kB. Underscores// in custom attribute names are replaced by spaces upon insertion.CustomAttributes []*CustomAttribute `json:"customAttributes,omitempty"`// FeedLabel: Required. Immutable. The feed label that lets you categorize and// identify your products. The maximum allowed characters are 20, and the// supported characters are `A-Z`, `0-9`, hyphen, and underscore. The feed// label must not include any spaces. For more information, see Using feed// labels (//support.google.com/merchants/answer/14994087).FeedLabelstring `json:"feedLabel,omitempty"`// LegacyLocal: Immutable. Determines whether the product is **only** targeting// local destinations and whether the product name should be distinguished with// a `local~` prefix. For example,// `accounts/123/productInputs/local~en~US~sku123`. If a product that is not// `legacy_local` is already targeting local destinations, creating a// `legacy_local` product with an otherwise matching name will fail.LegacyLocalbool `json:"legacyLocal,omitempty"`// Name: Identifier. The name of the product. Format:// `accounts/{account}/productInputs/{productinput}` The {productinput} segment// is a unique identifier for the product. This identifier must be unique// within a merchant account and generally follows the structure:// `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy// local products, the structure is:// `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123`// The format of the {productinput} segment in the URL is automatically// detected by the server, supporting two options: 1. **Encoded Format**: The// `{productinput}` segment is an unpadded base64url encoded string (RFC 4648// Section 5). The decoded string must result in the// `content_language~feed_label~offer_id` structure. This encoding MUST be used// if any part of the product identifier (like `offer_id`) contains characters// such as `/`, `%`, or `~`. * Example: To represent the product ID// `en~US~sku/123`, the `{productinput}` segment must be the base64url encoding// of this string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name for// the product would be `accounts/123/productinputs/ZW5-VVMtc2t1LzEyMw`. 2.// **Plain Format**: The `{productinput}` segment is the tilde-separated string// `content_language~feed_label~offer_id`. This format is suitable only when// `content_language`, `feed_label`, and `offer_id` do not contain// URL-problematic characters like `/`, `%`, or `~`. We recommend using the// **Encoded Format** for all product IDs to ensure correct parsing, especially// those containing special characters. The presence of tilde (`~`) characters// in the `{productinput}` segment is used to differentiate between the two// formats. Note: For calls to the v1beta version, the plain format is// `channel~content_language~feed_label~offer_id`, for example:// `accounts/123/productinputs/online~en~US~sku123`.Namestring `json:"name,omitempty"`// OfferId: Required. Immutable. Your unique identifier for the product. This// is the same for the product input and processed product. Leading and// trailing whitespaces are stripped and multiple whitespaces are replaced by a// single whitespace upon submission. See the products data specification// (https://support.google.com/merchants/answer/188494#id) for details.OfferIdstring `json:"offerId,omitempty"`// Product: Output only. The name of the processed product. Format:// `accounts/{account}/products/{product}`Productstring `json:"product,omitempty"`// ProductAttributes: Optional. A list of strongly-typed product attributes.ProductAttributes *ProductAttributes `json:"productAttributes,omitempty"`// VersionNumber: Optional. Immutable. Represents the existing version// (freshness) of the product, which can be used to preserve the right order// when multiple updates are done at the same time. If set, the insertion is// prevented when version number is lower than the current version number of// the existing product. Re-insertion (for example, product refresh after 30// days) can be performed with the current `version_number`. Only supported for// insertions into primary data sources. Do not set this field for updates. Do// not set this field for insertions into supplemental data sources. If the// operation is prevented, the aborted exception will be thrown.VersionNumberint64 `json:"versionNumber,omitempty,string"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "ContentLanguage") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "ContentLanguage") to include in// API requests with the JSON null value. By default, fields with empty values// are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductInput: This resource represents input data you submit for a product,not the processed product that you see in Merchant Center, in Shopping ads,or across Google surfaces. Product inputs, rules and supplemental datasource data are combined to create the processed Product. For moreinformation, see Manage products (/merchant/api/guides/products/overview).Required product input attributes to pass data validation checks areprimarily defined in the Products Data Specification(https://support.google.com/merchants/answer/188494). The followingattributes are required: feedLabel, contentLanguage and offerId. Afterinserting, updating, or deleting a product input, it may take severalminutes before the processed product can be retrieved. All fields in theproduct input and its sub-messages match the English name of theircorresponding attribute in the Products Data Specification(https://support.google.com/merchants/answer/188494) with some exceptions(https://support.google.com/merchants/answer/7052112). The followingreference documentation lists the field names in the **camelCase** casingstyle while the Products Data Specification lists the names in the**snake_case** casing style.

func (ProductInput)MarshalJSON

func (sProductInput) MarshalJSON() ([]byte,error)

typeProductInstallment

type ProductInstallment struct {// Amount: The amount the buyer has to pay per month.Amount *Price `json:"amount,omitempty"`// CreditType: Type of installment payments.//// Possible values://   "CREDIT_TYPE_UNSPECIFIED" - Default value. This value is unused.//   "FINANCE" - Finance.//   "LEASE" - Lease.CreditTypestring `json:"creditType,omitempty"`// Downpayment: The up-front down payment amount the buyer has to pay.Downpayment *Price `json:"downpayment,omitempty"`// Months: The number of installments the buyer has to pay.Monthsint64 `json:"months,omitempty,string"`// ForceSendFields is a list of field names (e.g. "Amount") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Amount") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductInstallment: A message that represents installment.

func (ProductInstallment)MarshalJSON

func (sProductInstallment) MarshalJSON() ([]byte,error)

typeProductStatus

type ProductStatus struct {// CreationDate: Date on which the item has been created, in ISO 8601// (http://en.wikipedia.org/wiki/ISO_8601) format.CreationDatestring `json:"creationDate,omitempty"`// DestinationStatuses: The intended destinations for the product.DestinationStatuses []*DestinationStatus `json:"destinationStatuses,omitempty"`// GoogleExpirationDate: Date on which the item expires, in ISO 8601// (http://en.wikipedia.org/wiki/ISO_8601) format.GoogleExpirationDatestring `json:"googleExpirationDate,omitempty"`// ItemLevelIssues: A list of all issues associated with the product.ItemLevelIssues []*ItemLevelIssue `json:"itemLevelIssues,omitempty"`// LastUpdateDate: Date on which the item has been last updated, in ISO 8601// (http://en.wikipedia.org/wiki/ISO_8601) format.LastUpdateDatestring `json:"lastUpdateDate,omitempty"`// ForceSendFields is a list of field names (e.g. "CreationDate") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "CreationDate") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductStatus: The status of a product, data validation issues, that is,information about a product computed asynchronously.

func (ProductStatus)MarshalJSON

func (sProductStatus) MarshalJSON() ([]byte,error)

typeProductStatusChangeMessage

type ProductStatusChangeMessage struct {// Account: The target account that owns the entity that changed. Format :// `accounts/{merchant_id}`Accountstring `json:"account,omitempty"`// Attribute: The attribute in the resource that changed, in this case it will// be always `Status`.//// Possible values://   "ATTRIBUTE_UNSPECIFIED" - Unspecified attribute//   "STATUS" - Status of the changed entityAttributestring `json:"attribute,omitempty"`// Changes: A message to describe the change that happened to the productChanges []*ProductChange `json:"changes,omitempty"`// EventTime: The time at which the event was generated. If you want to order// the notification messages you receive you should rely on this field not on// the order of receiving the notifications.EventTimestring `json:"eventTime,omitempty"`// ExpirationTime: Optional. The product expiration time. This field will not// be set if the notification is sent for a product deletion event.ExpirationTimestring `json:"expirationTime,omitempty"`// ManagingAccount: The account that manages the merchant's account. can be the// same as merchant id if it is standalone account. Format :// `accounts/{service_provider_id}`ManagingAccountstring `json:"managingAccount,omitempty"`// Resource: The product name. Format: `accounts/{account}/products/{product}`Resourcestring `json:"resource,omitempty"`// ResourceId: The product id.ResourceIdstring `json:"resourceId,omitempty"`// ResourceType: The resource that changed, in this case it will always be// `Product`.//// Possible values://   "RESOURCE_UNSPECIFIED" - Unspecified resource//   "PRODUCT" - Resource type : productResourceTypestring `json:"resourceType,omitempty"`// ForceSendFields is a list of field names (e.g. "Account") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Account") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductStatusChangeMessage: The message that the merchant will receive tonotify about product status change event

func (ProductStatusChangeMessage)MarshalJSON

func (sProductStatusChangeMessage) MarshalJSON() ([]byte,error)

typeProductSustainabilityIncentive

type ProductSustainabilityIncentive struct {// Amount: The fixed amount of the incentive.Amount *Price `json:"amount,omitempty"`// Percentage: The percentage of the sale price that the incentive is applied// to.Percentagefloat64 `json:"percentage,omitempty"`// Type: Sustainability incentive program.//// Possible values://   "TYPE_UNSPECIFIED" - Unspecified or unknown sustainability incentive type.//   "EV_TAX_CREDIT" - Program offering tax liability reductions for electric// vehicles and, in some countries, plug-in hybrids. These reductions can be// based on a specific amount or a percentage of the sale price.//   "EV_PRICE_DISCOUNT" - A subsidy program, often called an environmental// bonus, provides a purchase grant for electric vehicles and, in some// countries, plug-in hybrids. The grant amount may be a fixed sum or a// percentage of the sale price.Typestring `json:"type,omitempty"`// ForceSendFields is a list of field names (e.g. "Amount") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Amount") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductSustainabilityIncentive: Information regarding sustainability-relatedincentive programs such as rebates or tax relief.

func (ProductSustainabilityIncentive)MarshalJSON

func (sProductSustainabilityIncentive) MarshalJSON() ([]byte,error)

func (*ProductSustainabilityIncentive)UnmarshalJSON

func (s *ProductSustainabilityIncentive) UnmarshalJSON(data []byte)error

typeProductWeight

type ProductWeight struct {// Unit: Required. The weight unit. Acceptable values are: * "g" * "kg" *// "oz" * "lb"Unitstring `json:"unit,omitempty"`// Value: Required. The weight represented as a number. The weight can have a// maximum precision of four decimal places.Valuefloat64 `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "Unit") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Unit") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ProductWeight: The weight of the product.

func (ProductWeight)MarshalJSON

func (sProductWeight) MarshalJSON() ([]byte,error)

func (*ProductWeight)UnmarshalJSON

func (s *ProductWeight) UnmarshalJSON(data []byte)error

typeService

type Service struct {BasePathstring// API endpoint base URLUserAgentstring// optional additional User-Agent fragmentAccounts *AccountsService// contains filtered or unexported fields}

funcNewdeprecated

func New(client *http.Client) (*Service,error)

New creates a new Service. It uses the provided http.Client for requests.

Deprecated: please use NewService instead.To provide a custom HTTP client, use option.WithHTTPClient.If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.

funcNewService

func NewService(ctxcontext.Context, opts ...option.ClientOption) (*Service,error)

NewService creates a new Service.

typeShipping

type Shipping struct {// Country: The CLDR territory code// (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the// country to which an item will ship.Countrystring `json:"country,omitempty"`// HandlingCutoffTime: The handling cutoff time until which an order has to be// placed to be processed in the same day. This is a string in format of HHMM// (e.g. `1530`) for 3:30 PM. If not configured, the cutoff time will be// defaulted to 8AM PST and `handling_cutoff_timezone` will be ignored.HandlingCutoffTimestring `json:"handlingCutoffTime,omitempty"`// HandlingCutoffTimezone: Timezone identifier// (https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)// For example `Europe/Zurich`. This field only applies if// `handling_cutoff_time` is set. If `handling_cutoff_time` is set but this// field is not set, the shipping destination timezone will be used. If both// fields are not set, the handling cutoff time will default to 8AM PST.HandlingCutoffTimezonestring `json:"handlingCutoffTimezone,omitempty"`// LocationGroupName: The location where the shipping is applicable,// represented by a location group name.LocationGroupNamestring `json:"locationGroupName,omitempty"`// LocationId: The numeric ID of a location that the shipping rate applies to// as defined in the AdWords API// (https://developers.google.com/adwords/api/docs/appendix/geotargeting).LocationIdint64 `json:"locationId,omitempty,string"`// MaxHandlingTime: Maximum handling time (inclusive) between when the order is// received and shipped in business days. 0 means that the order is shipped on// the same day as it is received if it happens before the cut-off time. Both// maxHandlingTime and maxTransitTime are required if providing shipping// speeds. minHandlingTime is optional if maxHandlingTime is present.MaxHandlingTimeint64 `json:"maxHandlingTime,omitempty,string"`// MaxTransitTime: Maximum transit time (inclusive) between when the order has// shipped and when it is delivered in business days. 0 means that the order is// delivered on the same day as it ships. Both maxHandlingTime and// maxTransitTime are required if providing shipping speeds. minTransitTime is// optional if maxTransitTime is present.MaxTransitTimeint64 `json:"maxTransitTime,omitempty,string"`// MinHandlingTime: Minimum handling time (inclusive) between when the order is// received and shipped in business days. 0 means that the order is shipped on// the same day as it is received if it happens before the cut-off time.// minHandlingTime can only be present together with maxHandlingTime; but it is// not required if maxHandlingTime is present.MinHandlingTimeint64 `json:"minHandlingTime,omitempty,string"`// MinTransitTime: Minimum transit time (inclusive) between when the order has// shipped and when it is delivered in business days. 0 means that the order is// delivered on the same day as it ships. minTransitTime can only be present// together with maxTransitTime; but it is not required if maxTransitTime is// present.MinTransitTimeint64 `json:"minTransitTime,omitempty,string"`// PostalCode: The postal code range that the shipping rate applies to,// represented by a postal code, a postal code prefix followed by a * wildcard,// a range between two postal codes or two postal code prefixes of equal// length.PostalCodestring `json:"postalCode,omitempty"`// Price: Fixed shipping price, represented as a number.Price *Price `json:"price,omitempty"`// Region: The geographic region to which a shipping rate applies. See region// (https://support.google.com/merchants/answer/6324484) for more information.Regionstring `json:"region,omitempty"`// Service: A free-form description of the service class or delivery speed.Servicestring `json:"service,omitempty"`// ForceSendFields is a list of field names (e.g. "Country") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Country") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

Shipping: The Shipping of the product.

func (Shipping)MarshalJSON

func (sShipping) MarshalJSON() ([]byte,error)

typeShippingBusinessDaysConfigadded inv0.256.0

type ShippingBusinessDaysConfig struct {// BusinessDays: Effective days of the week considered for the delivery time// calculation. May not be empty. The more business days included the faster// the delivery. Can be set through individual days (e.g. `MTWRF`), or day// ranges (e.g. `Mon-Fri`). For more information about accepted formats, see// Shipping handling business days// (https://support.google.com/merchants/answer/16072859).BusinessDaysstring `json:"businessDays,omitempty"`// Country: The CLDR territory code// (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the// country to which an item will ship.Countrystring `json:"country,omitempty"`// ForceSendFields is a list of field names (e.g. "BusinessDays") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "BusinessDays") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ShippingBusinessDaysConfig: The business days during which orders are ontheir path to fulfillment. If not provided, Monday to Friday business dayswill be assumed.

func (ShippingBusinessDaysConfig)MarshalJSONadded inv0.256.0

func (sShippingBusinessDaysConfig) MarshalJSON() ([]byte,error)

typeShippingDimension

type ShippingDimension struct {// Unit: The unit of value.Unitstring `json:"unit,omitempty"`// Value: The dimension of the product used to calculate the shipping cost of// the item.Valuefloat64 `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "Unit") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Unit") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ShippingDimension: The ShippingDimension of the product.

func (ShippingDimension)MarshalJSON

func (sShippingDimension) MarshalJSON() ([]byte,error)

func (*ShippingDimension)UnmarshalJSON

func (s *ShippingDimension) UnmarshalJSON(data []byte)error

typeShippingWeight

type ShippingWeight struct {// Unit: The unit of value.Unitstring `json:"unit,omitempty"`// Value: The weight of the product used to calculate the shipping cost of the// item.Valuefloat64 `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "Unit") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Unit") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

ShippingWeight: The ShippingWeight of the product.

func (ShippingWeight)MarshalJSON

func (sShippingWeight) MarshalJSON() ([]byte,error)

func (*ShippingWeight)UnmarshalJSON

func (s *ShippingWeight) UnmarshalJSON(data []byte)error

typeStructuredDescription

type StructuredDescription struct {// Content: The description text Maximum length is 5000 charactersContentstring `json:"content,omitempty"`// DigitalSourceType: The digital source type. Following IPTC// (https://cv.iptc.org/newscodes/digitalsourcetype).//// Possible values://   "DIGITAL_SOURCE_TYPE_UNSPECIFIED" - Digital source type is unspecified.//   "TRAINED_ALGORITHMIC_MEDIA" - Text created algorithmically using a model// derived from sampled content.//   "DEFAULT" - Text NOT created algorithmically using a model derived from// sampled content (the default)DigitalSourceTypestring `json:"digitalSourceType,omitempty"`// ForceSendFields is a list of field names (e.g. "Content") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Content") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

StructuredDescription: Structured description, for algorithmically(AI)-generated descriptions.

func (StructuredDescription)MarshalJSON

func (sStructuredDescription) MarshalJSON() ([]byte,error)

typeStructuredTitle

type StructuredTitle struct {// Content: The title text Maximum length is 150 charactersContentstring `json:"content,omitempty"`// DigitalSourceType: The digital source type. Following IPTC// (https://cv.iptc.org/newscodes/digitalsourcetype).//// Possible values://   "DIGITAL_SOURCE_TYPE_UNSPECIFIED" - Digital source type is unspecified.//   "TRAINED_ALGORITHMIC_MEDIA" - Text created algorithmically using a model// derived from sampled content.//   "DEFAULT" - Text NOT created algorithmically using a model derived from// sampled content (the default)DigitalSourceTypestring `json:"digitalSourceType,omitempty"`// ForceSendFields is a list of field names (e.g. "Content") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Content") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

StructuredTitle: Structured title, for algorithmically (AI)-generatedtitles.

func (StructuredTitle)MarshalJSON

func (sStructuredTitle) MarshalJSON() ([]byte,error)

typeSubscriptionCost

type SubscriptionCost struct {// Amount: The amount the buyer has to pay per subscription period.Amount *Price `json:"amount,omitempty"`// Period: The type of subscription period. Supported values are: * "month" *// "year"//// Possible values://   "SUBSCRIPTION_PERIOD_UNSPECIFIED" - Indicates that the subscription period// is unspecified.//   "MONTH" - Indicates that the subscription period is month.//   "YEAR" - Indicates that the subscription period is year.Periodstring `json:"period,omitempty"`// PeriodLength: The number of subscription periods the buyer has to pay.PeriodLengthint64 `json:"periodLength,omitempty,string"`// ForceSendFields is a list of field names (e.g. "Amount") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Amount") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

SubscriptionCost: The SubscriptionCost of the product.

func (SubscriptionCost)MarshalJSON

func (sSubscriptionCost) MarshalJSON() ([]byte,error)

typeUnitPricingBaseMeasure

type UnitPricingBaseMeasure struct {// Unit: The unit of the denominator.Unitstring `json:"unit,omitempty"`// Value: The denominator of the unit price.Valueint64 `json:"value,omitempty,string"`// ForceSendFields is a list of field names (e.g. "Unit") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Unit") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

UnitPricingBaseMeasure: The UnitPricingBaseMeasure of the product.

func (UnitPricingBaseMeasure)MarshalJSON

func (sUnitPricingBaseMeasure) MarshalJSON() ([]byte,error)

typeUnitPricingMeasure

type UnitPricingMeasure struct {// Unit: The unit of the measure.Unitstring `json:"unit,omitempty"`// Value: The measure of an item.Valuefloat64 `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "Unit") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Unit") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

UnitPricingMeasure: The UnitPricingMeasure of the product.

func (UnitPricingMeasure)MarshalJSON

func (sUnitPricingMeasure) MarshalJSON() ([]byte,error)

func (*UnitPricingMeasure)UnmarshalJSON

func (s *UnitPricingMeasure) UnmarshalJSON(data []byte)error

Source Files

View all Source files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp