Constants
ProductInputsService_InsertProductInput_FullMethodName, ProductInputsService_UpdateProductInput_FullMethodName, ProductInputsService_DeleteProductInput_FullMethodName
const (
ProductInputsService_InsertProductInput_FullMethodName = "/google.shopping.merchant.products.v1beta.ProductInputsService/InsertProductInput"
ProductInputsService_UpdateProductInput_FullMethodName = "/google.shopping.merchant.products.v1beta.ProductInputsService/UpdateProductInput"
ProductInputsService_DeleteProductInput_FullMethodName = "/google.shopping.merchant.products.v1beta.ProductInputsService/DeleteProductInput"
)ProductsService_GetProduct_FullMethodName, ProductsService_ListProducts_FullMethodName
const (
ProductsService_GetProduct_FullMethodName = "/google.shopping.merchant.products.v1beta.ProductsService/GetProduct"
ProductsService_ListProducts_FullMethodName = "/google.shopping.merchant.products.v1beta.ProductsService/ListProducts"
)Variables
SubscriptionPeriod_name, SubscriptionPeriod_value
var (
SubscriptionPeriod_name = map[int32]string{
0: "SUBSCRIPTION_PERIOD_UNSPECIFIED",
1: "MONTH",
2: "YEAR",
}
SubscriptionPeriod_value = map[string]int32{
"SUBSCRIPTION_PERIOD_UNSPECIFIED": 0,
"MONTH": 1,
"YEAR": 2,
}
)Enum value maps for SubscriptionPeriod.
ProductStatus_ItemLevelIssue_Severity_name, ProductStatus_ItemLevelIssue_Severity_value
var (
ProductStatus_ItemLevelIssue_Severity_name = map[int32]string{
0: "SEVERITY_UNSPECIFIED",
1: "NOT_IMPACTED",
2: "DEMOTED",
3: "DISAPPROVED",
}
ProductStatus_ItemLevelIssue_Severity_value = map[string]int32{
"SEVERITY_UNSPECIFIED": 0,
"NOT_IMPACTED": 1,
"DEMOTED": 2,
"DISAPPROVED": 3,
}
)Enum value maps for ProductStatus_ItemLevelIssue_Severity.
ProductSustainabilityIncentive_Type_name, ProductSustainabilityIncentive_Type_value
var (
ProductSustainabilityIncentive_Type_name = map[int32]string{
0: "TYPE_UNSPECIFIED",
1: "EV_TAX_CREDIT",
2: "EV_PRICE_DISCOUNT",
}
ProductSustainabilityIncentive_Type_value = map[string]int32{
"TYPE_UNSPECIFIED": 0,
"EV_TAX_CREDIT": 1,
"EV_PRICE_DISCOUNT": 2,
}
)Enum value maps for ProductSustainabilityIncentive_Type.
File_google_shopping_merchant_products_v1beta_productinputs_proto
var File_google_shopping_merchant_products_v1beta_productinputs_proto protoreflect.FileDescriptorFile_google_shopping_merchant_products_v1beta_products_common_proto
var File_google_shopping_merchant_products_v1beta_products_common_proto protoreflect.FileDescriptorFile_google_shopping_merchant_products_v1beta_products_proto
var File_google_shopping_merchant_products_v1beta_products_proto protoreflect.FileDescriptorProductInputsService_ServiceDesc
var ProductInputsService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "google.shopping.merchant.products.v1beta.ProductInputsService",
HandlerType: (*ProductInputsServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "InsertProductInput",
Handler: _ProductInputsService_InsertProductInput_Handler,
},
{
MethodName: "UpdateProductInput",
Handler: _ProductInputsService_UpdateProductInput_Handler,
},
{
MethodName: "DeleteProductInput",
Handler: _ProductInputsService_DeleteProductInput_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/shopping/merchant/products/v1beta/productinputs.proto",
}ProductInputsService_ServiceDesc is the grpc.ServiceDesc for ProductInputsService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
ProductsService_ServiceDesc
var ProductsService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "google.shopping.merchant.products.v1beta.ProductsService",
HandlerType: (*ProductsServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetProduct",
Handler: _ProductsService_GetProduct_Handler,
},
{
MethodName: "ListProducts",
Handler: _ProductsService_ListProducts_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/shopping/merchant/products/v1beta/products.proto",
}ProductsService_ServiceDesc is the grpc.ServiceDesc for ProductsService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions
func RegisterProductInputsServiceServer
func RegisterProductInputsServiceServer(s grpc.ServiceRegistrar, srv ProductInputsServiceServer)func RegisterProductsServiceServer
func RegisterProductsServiceServer(s grpc.ServiceRegistrar, srv ProductsServiceServer)Attributes
type Attributes struct {
// 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.
IdentifierExists *bool `protobuf:"varint,4,opt,name=identifier_exists,json=identifierExists,proto3,oneof" json:"identifier_exists,omitempty"`
// 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.
IsBundle *bool `protobuf:"varint,5,opt,name=is_bundle,json=isBundle,proto3,oneof" json:"is_bundle,omitempty"`
// Title of the item.
Title *string `protobuf:"bytes,6,opt,name=title,proto3,oneof" json:"title,omitempty"`
// Description of the item.
Description *string `protobuf:"bytes,7,opt,name=description,proto3,oneof" json:"description,omitempty"`
// URL directly linking to your item's page on your online store.
Link *string `protobuf:"bytes,8,opt,name=link,proto3,oneof" json:"link,omitempty"`
// URL for the mobile-optimized version of your item's landing page.
MobileLink *string `protobuf:"bytes,9,opt,name=mobile_link,json=mobileLink,proto3,oneof" json:"mobile_link,omitempty"`
// URL for the canonical version of your item's landing page.
CanonicalLink *string `protobuf:"bytes,10,opt,name=canonical_link,json=canonicalLink,proto3,oneof" json:"canonical_link,omitempty"`
// URL of an image of the item.
ImageLink *string `protobuf:"bytes,11,opt,name=image_link,json=imageLink,proto3,oneof" json:"image_link,omitempty"`
// Additional URLs of images of the item.
AdditionalImageLinks []string `protobuf:"bytes,12,rep,name=additional_image_links,json=additionalImageLinks,proto3" json:"additional_image_links,omitempty"`
// 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.
ExpirationDate *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"`
// 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.
DisclosureDate *timestamppb.Timestamp `protobuf:"bytes,79,opt,name=disclosure_date,json=disclosureDate,proto3" json:"disclosure_date,omitempty"`
// Set to true if the item is targeted towards adults.
Adult *bool `protobuf:"varint,17,opt,name=adult,proto3,oneof" json:"adult,omitempty"`
// Target [age group](https://support.google.com/merchants/answer/6324463) of
// the item.
AgeGroup *string `protobuf:"bytes,18,opt,name=age_group,json=ageGroup,proto3,oneof" json:"age_group,omitempty"`
// [Availability](https://support.google.com/merchants/answer/6324448) status
// of the item. For example, "in_stock" or "out_of_stock".
Availability *string `protobuf:"bytes,19,opt,name=availability,proto3,oneof" json:"availability,omitempty"`
// The day a pre-ordered product becomes available for delivery, in [ISO
// 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
AvailabilityDate *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=availability_date,json=availabilityDate,proto3" json:"availability_date,omitempty"`
// [Brand](https://support.google.com/merchants/answer/6324351) of the item.
// For example, "Google".
Brand *string `protobuf:"bytes,21,opt,name=brand,proto3,oneof" json:"brand,omitempty"`
// [Color](https://support.google.com/merchants/answer/6324487) of the item.
// For example, "red".
Color *string `protobuf:"bytes,22,opt,name=color,proto3,oneof" json:"color,omitempty"`
// [Condition](https://support.google.com/merchants/answer/6324469) or state
// of the item. For example, "new" or "used".
Condition *string `protobuf:"bytes,23,opt,name=condition,proto3,oneof" json:"condition,omitempty"`
// Target [gender](https://support.google.com/merchants/answer/6324479) of the
// item. For example, "male" or "female".
Gender *string `protobuf:"bytes,24,opt,name=gender,proto3,oneof" json:"gender,omitempty"`
// 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.
GoogleProductCategory *string `protobuf:"bytes,25,opt,name=google_product_category,json=googleProductCategory,proto3,oneof" json:"google_product_category,omitempty"`
// Global Trade Item Numbers
// ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
// item.
// You can provide up to 10 GTINs.
//
// Deprecated: Use `gtins` instead.
//
// Deprecated: Marked as deprecated in google/shopping/merchant/products/v1beta/products_common.proto.
Gtin []string `protobuf:"bytes,26,rep,name=gtin,proto3" json:"gtin,omitempty"`
// 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 `protobuf:"bytes,140,rep,name=gtins,proto3" json:"gtins,omitempty"`
// Shared identifier for all variants of the same product.
ItemGroupId *string `protobuf:"bytes,27,opt,name=item_group_id,json=itemGroupId,proto3,oneof" json:"item_group_id,omitempty"`
// The [material](https://support.google.com/merchants/answer/6324410) of
// which the item is made. For example, "Leather" or "Cotton".
Material *string `protobuf:"bytes,28,opt,name=material,proto3,oneof" json:"material,omitempty"`
// Manufacturer Part Number
// ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
// item.
Mpn *string `protobuf:"bytes,29,opt,name=mpn,proto3,oneof" json:"mpn,omitempty"`
// The item's [pattern](https://support.google.com/merchants/answer/6324483).
// For example, polka dots.
Pattern *string `protobuf:"bytes,30,opt,name=pattern,proto3,oneof" json:"pattern,omitempty"`
// Price of the item.
Price *typepb.Price `protobuf:"bytes,31,opt,name=price,proto3" json:"price,omitempty"`
// Maximum retail price (MRP) of the item. Applicable to India only.
MaximumRetailPrice *typepb.Price `protobuf:"bytes,139,opt,name=maximum_retail_price,json=maximumRetailPrice,proto3" json:"maximum_retail_price,omitempty"`
// Number and amount of installments to pay for an item.
Installment *Installment `protobuf:"bytes,32,opt,name=installment,proto3" json:"installment,omitempty"`
// Number of periods (months or years) and amount of payment per period
// for an item with an associated subscription contract.
SubscriptionCost *SubscriptionCost `protobuf:"bytes,33,opt,name=subscription_cost,json=subscriptionCost,proto3" json:"subscription_cost,omitempty"`
// Loyalty points that users receive after purchasing the item. Japan only.
LoyaltyPoints *LoyaltyPoints `protobuf:"bytes,34,opt,name=loyalty_points,json=loyaltyPoints,proto3" json:"loyalty_points,omitempty"`
// 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 `protobuf:"bytes,136,rep,name=loyalty_programs,json=loyaltyPrograms,proto3" json:"loyalty_programs,omitempty"`
// Categories of the item (formatted as in [product data
// specification](https://support.google.com/merchants/answer/7052112#product_category)).
ProductTypes []string `protobuf:"bytes,35,rep,name=product_types,json=productTypes,proto3" json:"product_types,omitempty"`
// Advertised sale price of the item.
SalePrice *typepb.Price `protobuf:"bytes,36,opt,name=sale_price,json=salePrice,proto3" json:"sale_price,omitempty"`
// 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.Interval `protobuf:"bytes,37,opt,name=sale_price_effective_date,json=salePriceEffectiveDate,proto3" json:"sale_price_effective_date,omitempty"`
// The quantity of the product that is available for selling on Google.
// Supported only for online products.
SellOnGoogleQuantity *int64 `protobuf:"varint,38,opt,name=sell_on_google_quantity,json=sellOnGoogleQuantity,proto3,oneof" json:"sell_on_google_quantity,omitempty"`
// The height of the product in the units provided. The value must be
// between
// 0 (exclusive) and 3000 (inclusive).
ProductHeight *ProductDimension `protobuf:"bytes,119,opt,name=product_height,json=productHeight,proto3" json:"product_height,omitempty"`
// The length of the product in the units provided. The value must be
// between 0 (exclusive) and 3000 (inclusive).
ProductLength *ProductDimension `protobuf:"bytes,120,opt,name=product_length,json=productLength,proto3" json:"product_length,omitempty"`
// The width of the product in the units provided. The value must be between
// 0 (exclusive) and 3000 (inclusive).
ProductWidth *ProductDimension `protobuf:"bytes,121,opt,name=product_width,json=productWidth,proto3" json:"product_width,omitempty"`
// The weight of the product in the units provided. The value must be
// between 0 (exclusive) and 2000 (inclusive).
ProductWeight *ProductWeight `protobuf:"bytes,122,opt,name=product_weight,json=productWeight,proto3" json:"product_weight,omitempty"`
// Shipping rules.
Shipping []*Shipping `protobuf:"bytes,39,rep,name=shipping,proto3" json:"shipping,omitempty"`
// Conditions to be met for a product to have free shipping.
FreeShippingThreshold []*FreeShippingThreshold `protobuf:"bytes,135,rep,name=free_shipping_threshold,json=freeShippingThreshold,proto3" json:"free_shipping_threshold,omitempty"`
// Weight of the item for shipping.
ShippingWeight *ShippingWeight `protobuf:"bytes,40,opt,name=shipping_weight,json=shippingWeight,proto3" json:"shipping_weight,omitempty"`
// Length of the item for shipping.
ShippingLength *ShippingDimension `protobuf:"bytes,41,opt,name=shipping_length,json=shippingLength,proto3" json:"shipping_length,omitempty"`
// Width of the item for shipping.
ShippingWidth *ShippingDimension `protobuf:"bytes,42,opt,name=shipping_width,json=shippingWidth,proto3" json:"shipping_width,omitempty"`
// Height of the item for shipping.
ShippingHeight *ShippingDimension `protobuf:"bytes,43,opt,name=shipping_height,json=shippingHeight,proto3" json:"shipping_height,omitempty"`
// Maximal product handling time (in business days).
MaxHandlingTime *int64 `protobuf:"varint,44,opt,name=max_handling_time,json=maxHandlingTime,proto3,oneof" json:"max_handling_time,omitempty"`
// Minimal product handling time (in business days).
MinHandlingTime *int64 `protobuf:"varint,45,opt,name=min_handling_time,json=minHandlingTime,proto3,oneof" json:"min_handling_time,omitempty"`
// The shipping label of the product, used to group product in account-level
// shipping rules.
ShippingLabel *string `protobuf:"bytes,46,opt,name=shipping_label,json=shippingLabel,proto3,oneof" json:"shipping_label,omitempty"`
// The transit time label of the product, used to group product in
// account-level transit time tables.
TransitTimeLabel *string `protobuf:"bytes,47,opt,name=transit_time_label,json=transitTimeLabel,proto3,oneof" json:"transit_time_label,omitempty"`
// 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).
Size *string `protobuf:"bytes,48,opt,name=size,proto3,oneof" json:"size,omitempty"`
// System in which the size is specified. Recommended for apparel items.
// For example, "US", "UK", "DE".
// For more information, see
// [Size system](https://support.google.com/merchants/answer/6324502).
SizeSystem *string `protobuf:"bytes,49,opt,name=size_system,json=sizeSystem,proto3,oneof" json:"size_system,omitempty"`
// 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).
// For example, "petite", "plus size".
SizeTypes []string `protobuf:"bytes,50,rep,name=size_types,json=sizeTypes,proto3" json:"size_types,omitempty"`
// Tax information.
//
// Deprecated: Marked as deprecated in google/shopping/merchant/products/v1beta/products_common.proto.
Taxes []*Tax `protobuf:"bytes,51,rep,name=taxes,proto3" json:"taxes,omitempty"`
// The [tax category](https://support.google.com/merchants/answer/7569847) of
// the product.
//
// Deprecated: Marked as deprecated in google/shopping/merchant/products/v1beta/products_common.proto.
TaxCategory *string `protobuf:"bytes,52,opt,name=tax_category,json=taxCategory,proto3,oneof" json:"tax_category,omitempty"`
// The energy efficiency class as defined in EU directive 2010/30/EU.
EnergyEfficiencyClass *string `protobuf:"bytes,53,opt,name=energy_efficiency_class,json=energyEfficiencyClass,proto3,oneof" json:"energy_efficiency_class,omitempty"`
// The energy efficiency class as defined in EU directive 2010/30/EU.
MinEnergyEfficiencyClass *string `protobuf:"bytes,54,opt,name=min_energy_efficiency_class,json=minEnergyEfficiencyClass,proto3,oneof" json:"min_energy_efficiency_class,omitempty"`
// The energy efficiency class as defined in EU directive 2010/30/EU.
MaxEnergyEfficiencyClass *string `protobuf:"bytes,55,opt,name=max_energy_efficiency_class,json=maxEnergyEfficiencyClass,proto3,oneof" json:"max_energy_efficiency_class,omitempty"`
// The measure and dimension of an item.
UnitPricingMeasure *UnitPricingMeasure `protobuf:"bytes,56,opt,name=unit_pricing_measure,json=unitPricingMeasure,proto3" json:"unit_pricing_measure,omitempty"`
// The preference of the denominator of the unit price.
UnitPricingBaseMeasure *UnitPricingBaseMeasure `protobuf:"bytes,57,opt,name=unit_pricing_base_measure,json=unitPricingBaseMeasure,proto3" json:"unit_pricing_base_measure,omitempty"`
// The number of identical products in a business-defined multipack.
Multipack *int64 `protobuf:"varint,58,opt,name=multipack,proto3,oneof" json:"multipack,omitempty"`
// 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).
AdsGrouping *string `protobuf:"bytes,59,opt,name=ads_grouping,json=adsGrouping,proto3,oneof" json:"ads_grouping,omitempty"`
// Similar to ads_grouping, but only works on CPC.
AdsLabels []string `protobuf:"bytes,60,rep,name=ads_labels,json=adsLabels,proto3" json:"ads_labels,omitempty"`
// Allows advertisers to override the item URL when the product is shown
// within the context of Product ads.
AdsRedirect *string `protobuf:"bytes,61,opt,name=ads_redirect,json=adsRedirect,proto3,oneof" json:"ads_redirect,omitempty"`
// Cost of goods sold. Used for gross profit reporting.
CostOfGoodsSold *typepb.Price `protobuf:"bytes,62,opt,name=cost_of_goods_sold,json=costOfGoodsSold,proto3" json:"cost_of_goods_sold,omitempty"`
// Technical specification or additional product details.
ProductDetails []*ProductDetail `protobuf:"bytes,63,rep,name=product_details,json=productDetails,proto3" json:"product_details,omitempty"`
// Bullet points describing the most relevant [product
// highlights](https://support.google.com/merchants/answer/9216100).
ProductHighlights []string `protobuf:"bytes,64,rep,name=product_highlights,json=productHighlights,proto3" json:"product_highlights,omitempty"`
// An identifier for an item for dynamic remarketing campaigns.
DisplayAdsId *string `protobuf:"bytes,65,opt,name=display_ads_id,json=displayAdsId,proto3,oneof" json:"display_ads_id,omitempty"`
// Advertiser-specified recommendations. For more information, see
// [Display ads attribute
// specification](https://support.google.com/merchants/answer/6069387).
DisplayAdsSimilarIds []string `protobuf:"bytes,66,rep,name=display_ads_similar_ids,json=displayAdsSimilarIds,proto3" json:"display_ads_similar_ids,omitempty"`
// Title of an item for dynamic remarketing campaigns.
DisplayAdsTitle *string `protobuf:"bytes,67,opt,name=display_ads_title,json=displayAdsTitle,proto3,oneof" json:"display_ads_title,omitempty"`
// URL directly to your item's landing page for dynamic remarketing
// campaigns.
DisplayAdsLink *string `protobuf:"bytes,68,opt,name=display_ads_link,json=displayAdsLink,proto3,oneof" json:"display_ads_link,omitempty"`
// Offer margin for dynamic remarketing campaigns. For more information, see
// [Display ads
// attribute](https://support.google.com/merchants/answer/6069387).
DisplayAdsValue *float64 `protobuf:"fixed64,69,opt,name=display_ads_value,json=displayAdsValue,proto3,oneof" json:"display_ads_value,omitempty"`
// The unique ID of a promotion.
PromotionIds []string `protobuf:"bytes,70,rep,name=promotion_ids,json=promotionIds,proto3" json:"promotion_ids,omitempty"`
// The [pickup](https://support.google.com/merchants/answer/14634021) option
// for the item.
PickupMethod *string `protobuf:"bytes,80,opt,name=pickup_method,json=pickupMethod,proto3,oneof" json:"pickup_method,omitempty"`
// Item store pickup timeline. For more information, see
// [Pickup SLA](https://support.google.com/merchants/answer/14635400).
PickupSla *string `protobuf:"bytes,81,opt,name=pickup_sla,json=pickupSla,proto3,oneof" json:"pickup_sla,omitempty"`
// [Link template](https://support.google.com/merchants/answer/13871172) for
// business hosted local storefront.
LinkTemplate *string `protobuf:"bytes,82,opt,name=link_template,json=linkTemplate,proto3,oneof" json:"link_template,omitempty"`
// [Link template](https://support.google.com/merchants/answer/13870216) for
// business hosted local storefront optimized for mobile
// devices.
MobileLinkTemplate *string `protobuf:"bytes,83,opt,name=mobile_link_template,json=mobileLinkTemplate,proto3,oneof" json:"mobile_link_template,omitempty"`
// [Custom label 0](https://support.google.com/merchants/answer/6324473) for
// custom grouping of items in a Shopping campaign.
CustomLabel_0 *string `protobuf:"bytes,71,opt,name=custom_label_0,json=customLabel0,proto3,oneof" json:"custom_label_0,omitempty"`
// [Custom label 1](https://support.google.com/merchants/answer/6324473)
// for custom grouping of items in a Shopping campaign.
CustomLabel_1 *string `protobuf:"bytes,72,opt,name=custom_label_1,json=customLabel1,proto3,oneof" json:"custom_label_1,omitempty"`
// [Custom label 2](https://support.google.com/merchants/answer/6324473)
// for custom grouping of items in a Shopping campaign.
CustomLabel_2 *string `protobuf:"bytes,73,opt,name=custom_label_2,json=customLabel2,proto3,oneof" json:"custom_label_2,omitempty"`
// [Custom label 3](https://support.google.com/merchants/answer/6324473)
// for custom grouping of items in a Shopping campaign.
CustomLabel_3 *string `protobuf:"bytes,74,opt,name=custom_label_3,json=customLabel3,proto3,oneof" json:"custom_label_3,omitempty"`
// [Custom label 4](https://support.google.com/merchants/answer/6324473) for
// custom grouping of items in a Shopping campaign.
CustomLabel_4 *string `protobuf:"bytes,75,opt,name=custom_label_4,json=customLabel4,proto3,oneof" json:"custom_label_4,omitempty"`
// 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.
IncludedDestinations []string `protobuf:"bytes,76,rep,name=included_destinations,json=includedDestinations,proto3" json:"included_destinations,omitempty"`
// 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.
ExcludedDestinations []string `protobuf:"bytes,77,rep,name=excluded_destinations,json=excludedDestinations,proto3" json:"excluded_destinations,omitempty"`
// 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 `protobuf:"bytes,78,rep,name=shopping_ads_excluded_countries,json=shoppingAdsExcludedCountries,proto3" json:"shopping_ads_excluded_countries,omitempty"`
// Required for multi-seller accounts. Use this attribute if you're a
// marketplace uploading products for various sellers to your multi-seller
// account.
ExternalSellerId *string `protobuf:"bytes,1,opt,name=external_seller_id,json=externalSellerId,proto3,oneof" json:"external_seller_id,omitempty"`
// Publication of this item will be temporarily
// [paused](https://support.google.com/merchants/answer/11909930).
Pause *string `protobuf:"bytes,13,opt,name=pause,proto3,oneof" json:"pause,omitempty"`
// 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 `protobuf:"bytes,14,rep,name=lifestyle_image_links,json=lifestyleImageLinks,proto3" json:"lifestyle_image_links,omitempty"`
// Extra fields to export to the Cloud Retail program.
CloudExportAdditionalProperties []*CloudExportAdditionalProperties `protobuf:"bytes,84,rep,name=cloud_export_additional_properties,json=cloudExportAdditionalProperties,proto3" json:"cloud_export_additional_properties,omitempty"`
// URL of the 3D image of the item. See the
// [Help Center article](https://support.google.com/merchants/answer/13674896)
// for more information.
VirtualModelLink *string `protobuf:"bytes,130,opt,name=virtual_model_link,json=virtualModelLink,proto3,oneof" json:"virtual_model_link,omitempty"`
// 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 []*Certification `protobuf:"bytes,123,rep,name=certifications,proto3" json:"certifications,omitempty"`
// Structured title, for algorithmically (AI)-generated titles.
StructuredTitle *ProductStructuredTitle `protobuf:"bytes,132,opt,name=structured_title,json=structuredTitle,proto3,oneof" json:"structured_title,omitempty"`
// Structured description, for algorithmically (AI)-generated descriptions.
StructuredDescription *ProductStructuredDescription `protobuf:"bytes,133,opt,name=structured_description,json=structuredDescription,proto3,oneof" json:"structured_description,omitempty"`
// 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 *typepb.Price `protobuf:"bytes,124,opt,name=auto_pricing_min_price,json=autoPricingMinPrice,proto3" json:"auto_pricing_min_price,omitempty"`
// The list of sustainability incentive programs.
SustainabilityIncentives []*ProductSustainabilityIncentive `protobuf:"bytes,138,rep,name=sustainability_incentives,json=sustainabilityIncentives,proto3" json:"sustainability_incentives,omitempty"`
// contains filtered or unexported fields
}Attributes.
func (*Attributes) Descriptor
func (*Attributes) Descriptor() ([]byte, []int)Deprecated: Use Attributes.ProtoReflect.Descriptor instead.
func (*Attributes) GetAdditionalImageLinks
func (x *Attributes) GetAdditionalImageLinks() []stringfunc (*Attributes) GetAdsGrouping
func (x *Attributes) GetAdsGrouping() stringfunc (*Attributes) GetAdsLabels
func (x *Attributes) GetAdsLabels() []stringfunc (*Attributes) GetAdsRedirect
func (x *Attributes) GetAdsRedirect() stringfunc (*Attributes) GetAdult
func (x *Attributes) GetAdult() boolfunc (*Attributes) GetAgeGroup
func (x *Attributes) GetAgeGroup() stringfunc (*Attributes) GetAutoPricingMinPrice
func (x *Attributes) GetAutoPricingMinPrice() *typepb.Pricefunc (*Attributes) GetAvailability
func (x *Attributes) GetAvailability() stringfunc (*Attributes) GetAvailabilityDate
func (x *Attributes) GetAvailabilityDate() *timestamppb.Timestampfunc (*Attributes) GetBrand
func (x *Attributes) GetBrand() stringfunc (*Attributes) GetCanonicalLink
func (x *Attributes) GetCanonicalLink() stringfunc (*Attributes) GetCertifications
func (x *Attributes) GetCertifications() []*Certificationfunc (*Attributes) GetCloudExportAdditionalProperties
func (x *Attributes) GetCloudExportAdditionalProperties() []*CloudExportAdditionalPropertiesfunc (*Attributes) GetColor
func (x *Attributes) GetColor() stringfunc (*Attributes) GetCondition
func (x *Attributes) GetCondition() stringfunc (*Attributes) GetCostOfGoodsSold
func (x *Attributes) GetCostOfGoodsSold() *typepb.Pricefunc (*Attributes) GetCustomLabel_0
func (x *Attributes) GetCustomLabel_0() stringfunc (*Attributes) GetCustomLabel_1
func (x *Attributes) GetCustomLabel_1() stringfunc (*Attributes) GetCustomLabel_2
func (x *Attributes) GetCustomLabel_2() stringfunc (*Attributes) GetCustomLabel_3
func (x *Attributes) GetCustomLabel_3() stringfunc (*Attributes) GetCustomLabel_4
func (x *Attributes) GetCustomLabel_4() stringfunc (*Attributes) GetDescription
func (x *Attributes) GetDescription() stringfunc (*Attributes) GetDisclosureDate
func (x *Attributes) GetDisclosureDate() *timestamppb.Timestampfunc (*Attributes) GetDisplayAdsId
func (x *Attributes) GetDisplayAdsId() stringfunc (*Attributes) GetDisplayAdsLink
func (x *Attributes) GetDisplayAdsLink() stringfunc (*Attributes) GetDisplayAdsSimilarIds
func (x *Attributes) GetDisplayAdsSimilarIds() []stringfunc (*Attributes) GetDisplayAdsTitle
func (x *Attributes) GetDisplayAdsTitle() stringfunc (*Attributes) GetDisplayAdsValue
func (x *Attributes) GetDisplayAdsValue() float64func (*Attributes) GetEnergyEfficiencyClass
func (x *Attributes) GetEnergyEfficiencyClass() stringfunc (*Attributes) GetExcludedDestinations
func (x *Attributes) GetExcludedDestinations() []stringfunc (*Attributes) GetExpirationDate
func (x *Attributes) GetExpirationDate() *timestamppb.Timestampfunc (*Attributes) GetExternalSellerId
func (x *Attributes) GetExternalSellerId() stringfunc (*Attributes) GetFreeShippingThreshold
func (x *Attributes) GetFreeShippingThreshold() []*FreeShippingThresholdfunc (*Attributes) GetGender
func (x *Attributes) GetGender() stringfunc (*Attributes) GetGoogleProductCategory
func (x *Attributes) GetGoogleProductCategory() stringfunc (*Attributes) GetGtin
func (x *Attributes) GetGtin() []stringDeprecated: Marked as deprecated in google/shopping/merchant/products/v1beta/products_common.proto.
func (*Attributes) GetGtins
func (x *Attributes) GetGtins() []stringfunc (*Attributes) GetIdentifierExists
func (x *Attributes) GetIdentifierExists() boolfunc (*Attributes) GetImageLink
func (x *Attributes) GetImageLink() stringfunc (*Attributes) GetIncludedDestinations
func (x *Attributes) GetIncludedDestinations() []stringfunc (*Attributes) GetInstallment
func (x *Attributes) GetInstallment() *Installmentfunc (*Attributes) GetIsBundle
func (x *Attributes) GetIsBundle() boolfunc (*Attributes) GetItemGroupId
func (x *Attributes) GetItemGroupId() stringfunc (*Attributes) GetLifestyleImageLinks
func (x *Attributes) GetLifestyleImageLinks() []stringfunc (*Attributes) GetLink
func (x *Attributes) GetLink() stringfunc (*Attributes) GetLinkTemplate
func (x *Attributes) GetLinkTemplate() stringfunc (*Attributes) GetLoyaltyPoints
func (x *Attributes) GetLoyaltyPoints() *LoyaltyPointsfunc (*Attributes) GetLoyaltyPrograms
func (x *Attributes) GetLoyaltyPrograms() []*LoyaltyProgramfunc (*Attributes) GetMaterial
func (x *Attributes) GetMaterial() stringfunc (*Attributes) GetMaxEnergyEfficiencyClass
func (x *Attributes) GetMaxEnergyEfficiencyClass() stringfunc (*Attributes) GetMaxHandlingTime
func (x *Attributes) GetMaxHandlingTime() int64func (*Attributes) GetMaximumRetailPrice
func (x *Attributes) GetMaximumRetailPrice() *typepb.Pricefunc (*Attributes) GetMinEnergyEfficiencyClass
func (x *Attributes) GetMinEnergyEfficiencyClass() stringfunc (*Attributes) GetMinHandlingTime
func (x *Attributes) GetMinHandlingTime() int64func (*Attributes) GetMobileLink
func (x *Attributes) GetMobileLink() stringfunc (*Attributes) GetMobileLinkTemplate
func (x *Attributes) GetMobileLinkTemplate() stringfunc (*Attributes) GetMpn
func (x *Attributes) GetMpn() stringfunc (*Attributes) GetMultipack
func (x *Attributes) GetMultipack() int64func (*Attributes) GetPattern
func (x *Attributes) GetPattern() stringfunc (*Attributes) GetPause
func (x *Attributes) GetPause() stringfunc (*Attributes) GetPickupMethod
func (x *Attributes) GetPickupMethod() stringfunc (*Attributes) GetPickupSla
func (x *Attributes) GetPickupSla() stringfunc (*Attributes) GetPrice
func (x *Attributes) GetPrice() *typepb.Pricefunc (*Attributes) GetProductDetails
func (x *Attributes) GetProductDetails() []*ProductDetailfunc (*Attributes) GetProductHeight
func (x *Attributes) GetProductHeight() *ProductDimensionfunc (*Attributes) GetProductHighlights
func (x *Attributes) GetProductHighlights() []stringfunc (*Attributes) GetProductLength
func (x *Attributes) GetProductLength() *ProductDimensionfunc (*Attributes) GetProductTypes
func (x *Attributes) GetProductTypes() []stringfunc (*Attributes) GetProductWeight
func (x *Attributes) GetProductWeight() *ProductWeightfunc (*Attributes) GetProductWidth
func (x *Attributes) GetProductWidth() *ProductDimensionfunc (*Attributes) GetPromotionIds
func (x *Attributes) GetPromotionIds() []stringfunc (*Attributes) GetSalePrice
func (x *Attributes) GetSalePrice() *typepb.Pricefunc (*Attributes) GetSalePriceEffectiveDate
func (x *Attributes) GetSalePriceEffectiveDate() *interval.Intervalfunc (*Attributes) GetSellOnGoogleQuantity
func (x *Attributes) GetSellOnGoogleQuantity() int64func (*Attributes) GetShipping
func (x *Attributes) GetShipping() []*Shippingfunc (*Attributes) GetShippingHeight
func (x *Attributes) GetShippingHeight() *ShippingDimensionfunc (*Attributes) GetShippingLabel
func (x *Attributes) GetShippingLabel() stringfunc (*Attributes) GetShippingLength
func (x *Attributes) GetShippingLength() *ShippingDimensionfunc (*Attributes) GetShippingWeight
func (x *Attributes) GetShippingWeight() *ShippingWeightfunc (*Attributes) GetShippingWidth
func (x *Attributes) GetShippingWidth() *ShippingDimensionfunc (*Attributes) GetShoppingAdsExcludedCountries
func (x *Attributes) GetShoppingAdsExcludedCountries() []stringfunc (*Attributes) GetSize
func (x *Attributes) GetSize() stringfunc (*Attributes) GetSizeSystem
func (x *Attributes) GetSizeSystem() stringfunc (*Attributes) GetSizeTypes
func (x *Attributes) GetSizeTypes() []stringfunc (*Attributes) GetStructuredDescription
func (x *Attributes) GetStructuredDescription() *ProductStructuredDescriptionfunc (*Attributes) GetStructuredTitle
func (x *Attributes) GetStructuredTitle() *ProductStructuredTitlefunc (*Attributes) GetSubscriptionCost
func (x *Attributes) GetSubscriptionCost() *SubscriptionCostfunc (*Attributes) GetSustainabilityIncentives
func (x *Attributes) GetSustainabilityIncentives() []*ProductSustainabilityIncentivefunc (*Attributes) GetTaxCategory
func (x *Attributes) GetTaxCategory() stringDeprecated: Marked as deprecated in google/shopping/merchant/products/v1beta/products_common.proto.
func (*Attributes) GetTaxes
func (x *Attributes) GetTaxes() []*TaxDeprecated: Marked as deprecated in google/shopping/merchant/products/v1beta/products_common.proto.
func (*Attributes) GetTitle
func (x *Attributes) GetTitle() stringfunc (*Attributes) GetTransitTimeLabel
func (x *Attributes) GetTransitTimeLabel() stringfunc (*Attributes) GetUnitPricingBaseMeasure
func (x *Attributes) GetUnitPricingBaseMeasure() *UnitPricingBaseMeasurefunc (*Attributes) GetUnitPricingMeasure
func (x *Attributes) GetUnitPricingMeasure() *UnitPricingMeasurefunc (*Attributes) GetVirtualModelLink
func (x *Attributes) GetVirtualModelLink() stringfunc (*Attributes) ProtoMessage
func (*Attributes) ProtoMessage()func (*Attributes) ProtoReflect
func (x *Attributes) ProtoReflect() protoreflect.Messagefunc (*Attributes) Reset
func (x *Attributes) Reset()func (*Attributes) String
func (x *Attributes) String() stringAutomatedDiscounts
type AutomatedDiscounts struct {
// 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 *typepb.Price `protobuf:"bytes,1,opt,name=prior_price,json=priorPrice,proto3" json:"prior_price,omitempty"`
// 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 *typepb.Price `protobuf:"bytes,2,opt,name=prior_price_progressive,json=priorPriceProgressive,proto3" json:"prior_price_progressive,omitempty"`
// 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 *typepb.Price `protobuf:"bytes,3,opt,name=gad_price,json=gadPrice,proto3" json:"gad_price,omitempty"`
// contains filtered or unexported fields
}Information regarding Automated Discounts.
func (*AutomatedDiscounts) Descriptor
func (*AutomatedDiscounts) Descriptor() ([]byte, []int)Deprecated: Use AutomatedDiscounts.ProtoReflect.Descriptor instead.
func (*AutomatedDiscounts) GetGadPrice
func (x *AutomatedDiscounts) GetGadPrice() *typepb.Pricefunc (*AutomatedDiscounts) GetPriorPrice
func (x *AutomatedDiscounts) GetPriorPrice() *typepb.Pricefunc (*AutomatedDiscounts) GetPriorPriceProgressive
func (x *AutomatedDiscounts) GetPriorPriceProgressive() *typepb.Pricefunc (*AutomatedDiscounts) ProtoMessage
func (*AutomatedDiscounts) ProtoMessage()func (*AutomatedDiscounts) ProtoReflect
func (x *AutomatedDiscounts) ProtoReflect() protoreflect.Messagefunc (*AutomatedDiscounts) Reset
func (x *AutomatedDiscounts) Reset()func (*AutomatedDiscounts) String
func (x *AutomatedDiscounts) String() stringCertification
type Certification struct {
// The certification authority, for example "European_Commission".
// Maximum length is 2000 characters.
CertificationAuthority *string `protobuf:"bytes,1,opt,name=certification_authority,json=certificationAuthority,proto3,oneof" json:"certification_authority,omitempty"`
// The name of the certification, for example "EPREL".
// Maximum length is 2000 characters.
CertificationName *string `protobuf:"bytes,2,opt,name=certification_name,json=certificationName,proto3,oneof" json:"certification_name,omitempty"`
// The certification code.
// Maximum length is 2000 characters.
CertificationCode *string `protobuf:"bytes,3,opt,name=certification_code,json=certificationCode,proto3,oneof" json:"certification_code,omitempty"`
// The certification value (also known as class, level or grade), for example
// "A+", "C", "gold".
// Maximum length is 2000 characters.
CertificationValue *string `protobuf:"bytes,4,opt,name=certification_value,json=certificationValue,proto3,oneof" json:"certification_value,omitempty"`
// contains filtered or unexported fields
}Product certification, initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.
func (*Certification) Descriptor
func (*Certification) Descriptor() ([]byte, []int)Deprecated: Use Certification.ProtoReflect.Descriptor instead.
func (*Certification) GetCertificationAuthority
func (x *Certification) GetCertificationAuthority() stringfunc (*Certification) GetCertificationCode
func (x *Certification) GetCertificationCode() stringfunc (*Certification) GetCertificationName
func (x *Certification) GetCertificationName() stringfunc (*Certification) GetCertificationValue
func (x *Certification) GetCertificationValue() stringfunc (*Certification) ProtoMessage
func (*Certification) ProtoMessage()func (*Certification) ProtoReflect
func (x *Certification) ProtoReflect() protoreflect.Messagefunc (*Certification) Reset
func (x *Certification) Reset()func (*Certification) String
func (x *Certification) String() stringCloudExportAdditionalProperties
type CloudExportAdditionalProperties struct {
// Name of the given property. For example,
// "Screen-Resolution" for a TV product. Maximum string size is 256
// characters.
PropertyName *string `protobuf:"bytes,1,opt,name=property_name,json=propertyName,proto3,oneof" json:"property_name,omitempty"`
// 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 `protobuf:"bytes,2,rep,name=text_value,json=textValue,proto3" json:"text_value,omitempty"`
// Boolean value of the given property. For example for a TV product,
// "True" or "False" if the screen is UHD.
BoolValue *bool `protobuf:"varint,3,opt,name=bool_value,json=boolValue,proto3,oneof" json:"bool_value,omitempty"`
// 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.
IntValue []int64 `protobuf:"varint,4,rep,packed,name=int_value,json=intValue,proto3" json:"int_value,omitempty"`
// 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 []float32 `protobuf:"fixed32,5,rep,packed,name=float_value,json=floatValue,proto3" json:"float_value,omitempty"`
// Minimum float value of the given property. For example for a TV
// product 1.00.
MinValue *float32 `protobuf:"fixed32,6,opt,name=min_value,json=minValue,proto3,oneof" json:"min_value,omitempty"`
// Maximum float value of the given property. For example for a TV
// product 100.00.
MaxValue *float32 `protobuf:"fixed32,7,opt,name=max_value,json=maxValue,proto3,oneof" json:"max_value,omitempty"`
// Unit of the given property. For example, "Pixels" for a TV product. Maximum
// string size is 256B.
UnitCode *string `protobuf:"bytes,8,opt,name=unit_code,json=unitCode,proto3,oneof" json:"unit_code,omitempty"`
// contains filtered or unexported fields
}Product property for the Cloud Retail API. For example, properties for a TV product could be "Screen-Resolution" or "Screen-Size".
func (*CloudExportAdditionalProperties) Descriptor
func (*CloudExportAdditionalProperties) Descriptor() ([]byte, []int)Deprecated: Use CloudExportAdditionalProperties.ProtoReflect.Descriptor instead.
func (*CloudExportAdditionalProperties) GetBoolValue
func (x *CloudExportAdditionalProperties) GetBoolValue() boolfunc (*CloudExportAdditionalProperties) GetFloatValue
func (x *CloudExportAdditionalProperties) GetFloatValue() []float32func (*CloudExportAdditionalProperties) GetIntValue
func (x *CloudExportAdditionalProperties) GetIntValue() []int64func (*CloudExportAdditionalProperties) GetMaxValue
func (x *CloudExportAdditionalProperties) GetMaxValue() float32func (*CloudExportAdditionalProperties) GetMinValue
func (x *CloudExportAdditionalProperties) GetMinValue() float32func (*CloudExportAdditionalProperties) GetPropertyName
func (x *CloudExportAdditionalProperties) GetPropertyName() stringfunc (*CloudExportAdditionalProperties) GetTextValue
func (x *CloudExportAdditionalProperties) GetTextValue() []stringfunc (*CloudExportAdditionalProperties) GetUnitCode
func (x *CloudExportAdditionalProperties) GetUnitCode() stringfunc (*CloudExportAdditionalProperties) ProtoMessage
func (*CloudExportAdditionalProperties) ProtoMessage()func (*CloudExportAdditionalProperties) ProtoReflect
func (x *CloudExportAdditionalProperties) ProtoReflect() protoreflect.Messagefunc (*CloudExportAdditionalProperties) Reset
func (x *CloudExportAdditionalProperties) Reset()func (*CloudExportAdditionalProperties) String
func (x *CloudExportAdditionalProperties) String() stringDeleteProductInputRequest
type DeleteProductInputRequest struct {
// Required. The name of the product input resource to delete.
// Format: `accounts/{account}/productInputs/{product}`
// where the last section `product` consists of 4 parts:
// `channel~content_language~feed_label~offer_id`
// example for product name is
// `accounts/123/productInputs/online~en~US~sku123`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The primary or supplemental data source from which the product
// input should be deleted. Format:
// `accounts/{account}/dataSources/{datasource}`. For example,
// `accounts/123456/dataSources/104628`.
DataSource string `protobuf:"bytes,2,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"`
// contains filtered or unexported fields
}Request message for the DeleteProductInput method.
func (*DeleteProductInputRequest) Descriptor
func (*DeleteProductInputRequest) Descriptor() ([]byte, []int)Deprecated: Use DeleteProductInputRequest.ProtoReflect.Descriptor instead.
func (*DeleteProductInputRequest) GetDataSource
func (x *DeleteProductInputRequest) GetDataSource() stringfunc (*DeleteProductInputRequest) GetName
func (x *DeleteProductInputRequest) GetName() stringfunc (*DeleteProductInputRequest) ProtoMessage
func (*DeleteProductInputRequest) ProtoMessage()func (*DeleteProductInputRequest) ProtoReflect
func (x *DeleteProductInputRequest) ProtoReflect() protoreflect.Messagefunc (*DeleteProductInputRequest) Reset
func (x *DeleteProductInputRequest) Reset()func (*DeleteProductInputRequest) String
func (x *DeleteProductInputRequest) String() stringFreeShippingThreshold
type FreeShippingThreshold struct {
// 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.
Country *string `protobuf:"bytes,1,opt,name=country,proto3,oneof" json:"country,omitempty"`
// The minimum product price for the shipping cost to become free. Represented
// as a number.
PriceThreshold *typepb.Price `protobuf:"bytes,2,opt,name=price_threshold,json=priceThreshold,proto3,oneof" json:"price_threshold,omitempty"`
// contains filtered or unexported fields
}Conditions to be met for a product to have free shipping.
func (*FreeShippingThreshold) Descriptor
func (*FreeShippingThreshold) Descriptor() ([]byte, []int)Deprecated: Use FreeShippingThreshold.ProtoReflect.Descriptor instead.
func (*FreeShippingThreshold) GetCountry
func (x *FreeShippingThreshold) GetCountry() stringfunc (*FreeShippingThreshold) GetPriceThreshold
func (x *FreeShippingThreshold) GetPriceThreshold() *typepb.Pricefunc (*FreeShippingThreshold) ProtoMessage
func (*FreeShippingThreshold) ProtoMessage()func (*FreeShippingThreshold) ProtoReflect
func (x *FreeShippingThreshold) ProtoReflect() protoreflect.Messagefunc (*FreeShippingThreshold) Reset
func (x *FreeShippingThreshold) Reset()func (*FreeShippingThreshold) String
func (x *FreeShippingThreshold) String() stringGetProductRequest
type GetProductRequest struct {
// Required. The name of the product to retrieve.
// Format: `accounts/{account}/products/{product}`
// where the last section `product` consists of 4 parts:
// `channel~content_language~feed_label~offer_id`
// example for product name is
// `accounts/123/products/online~en~US~sku123`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for the GetProduct method.
func (*GetProductRequest) Descriptor
func (*GetProductRequest) Descriptor() ([]byte, []int)Deprecated: Use GetProductRequest.ProtoReflect.Descriptor instead.
func (*GetProductRequest) GetName
func (x *GetProductRequest) GetName() stringfunc (*GetProductRequest) ProtoMessage
func (*GetProductRequest) ProtoMessage()func (*GetProductRequest) ProtoReflect
func (x *GetProductRequest) ProtoReflect() protoreflect.Messagefunc (*GetProductRequest) Reset
func (x *GetProductRequest) Reset()func (*GetProductRequest) String
func (x *GetProductRequest) String() stringInsertProductInputRequest
type InsertProductInputRequest struct {
// Required. The account where this product will be inserted.
// Format: `accounts/{account}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The product input to insert.
ProductInput *ProductInput `protobuf:"bytes,2,opt,name=product_input,json=productInput,proto3" json:"product_input,omitempty"`
// Required. The primary or supplemental product data source name. If the
// product already exists and data source provided is different, then the
// product will be moved to a new data source. For more information, see
// [Overview of Data sources
// sub-API](/merchant/api/guides/data-sources/overview).
//
// Only API data sources are supported.
//
// Format: `accounts/{account}/dataSources/{datasource}`. For example,
// `accounts/123456/dataSources/104628`.
DataSource string `protobuf:"bytes,3,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"`
// contains filtered or unexported fields
}Request message for the InsertProductInput method.
func (*InsertProductInputRequest) Descriptor
func (*InsertProductInputRequest) Descriptor() ([]byte, []int)Deprecated: Use InsertProductInputRequest.ProtoReflect.Descriptor instead.
func (*InsertProductInputRequest) GetDataSource
func (x *InsertProductInputRequest) GetDataSource() stringfunc (*InsertProductInputRequest) GetParent
func (x *InsertProductInputRequest) GetParent() stringfunc (*InsertProductInputRequest) GetProductInput
func (x *InsertProductInputRequest) GetProductInput() *ProductInputfunc (*InsertProductInputRequest) ProtoMessage
func (*InsertProductInputRequest) ProtoMessage()func (*InsertProductInputRequest) ProtoReflect
func (x *InsertProductInputRequest) ProtoReflect() protoreflect.Messagefunc (*InsertProductInputRequest) Reset
func (x *InsertProductInputRequest) Reset()func (*InsertProductInputRequest) String
func (x *InsertProductInputRequest) String() stringInstallment
type Installment struct {
// The number of installments the buyer has to pay.
Months int64 `protobuf:"varint,1,opt,name=months,proto3" json:"months,omitempty"`
// The amount the buyer has to pay per month.
Amount *typepb.Price `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"`
// The up-front down payment amount the buyer has to pay.
Downpayment *typepb.Price `protobuf:"bytes,3,opt,name=downpayment,proto3,oneof" json:"downpayment,omitempty"`
// Type of installment payments.
// Supported values are:
// - "`finance`"
// - "`lease`"
CreditType *string `protobuf:"bytes,4,opt,name=credit_type,json=creditType,proto3,oneof" json:"credit_type,omitempty"`
// contains filtered or unexported fields
}A message that represents installment.
func (*Installment) Descriptor
func (*Installment) Descriptor() ([]byte, []int)Deprecated: Use Installment.ProtoReflect.Descriptor instead.
func (*Installment) GetAmount
func (x *Installment) GetAmount() *typepb.Pricefunc (*Installment) GetCreditType
func (x *Installment) GetCreditType() stringfunc (*Installment) GetDownpayment
func (x *Installment) GetDownpayment() *typepb.Pricefunc (*Installment) GetMonths
func (x *Installment) GetMonths() int64func (*Installment) ProtoMessage
func (*Installment) ProtoMessage()func (*Installment) ProtoReflect
func (x *Installment) ProtoReflect() protoreflect.Messagefunc (*Installment) Reset
func (x *Installment) Reset()func (*Installment) String
func (x *Installment) String() stringListProductsRequest
type ListProductsRequest struct {
// Required. The account to list processed products for.
// Format: `accounts/{account}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of products to return. The service may return fewer than
// this value.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
// If unspecified, the maximum number of products will be returned.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListProducts` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListProducts` must
// match the call that provided the page token.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// contains filtered or unexported fields
}Request message for the ListProducts method.
func (*ListProductsRequest) Descriptor
func (*ListProductsRequest) Descriptor() ([]byte, []int)Deprecated: Use ListProductsRequest.ProtoReflect.Descriptor instead.
func (*ListProductsRequest) GetPageSize
func (x *ListProductsRequest) GetPageSize() int32func (*ListProductsRequest) GetPageToken
func (x *ListProductsRequest) GetPageToken() stringfunc (*ListProductsRequest) GetParent
func (x *ListProductsRequest) GetParent() stringfunc (*ListProductsRequest) ProtoMessage
func (*ListProductsRequest) ProtoMessage()func (*ListProductsRequest) ProtoReflect
func (x *ListProductsRequest) ProtoReflect() protoreflect.Messagefunc (*ListProductsRequest) Reset
func (x *ListProductsRequest) Reset()func (*ListProductsRequest) String
func (x *ListProductsRequest) String() stringListProductsResponse
type ListProductsResponse struct {
// The processed products from the specified account. These are your processed
// products after applying rules and supplemental data sources.
Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// contains filtered or unexported fields
}Response message for the ListProducts method.
func (*ListProductsResponse) Descriptor
func (*ListProductsResponse) Descriptor() ([]byte, []int)Deprecated: Use ListProductsResponse.ProtoReflect.Descriptor instead.
func (*ListProductsResponse) GetNextPageToken
func (x *ListProductsResponse) GetNextPageToken() stringfunc (*ListProductsResponse) GetProducts
func (x *ListProductsResponse) GetProducts() []*Productfunc (*ListProductsResponse) ProtoMessage
func (*ListProductsResponse) ProtoMessage()func (*ListProductsResponse) ProtoReflect
func (x *ListProductsResponse) ProtoReflect() protoreflect.Messagefunc (*ListProductsResponse) Reset
func (x *ListProductsResponse) Reset()func (*ListProductsResponse) String
func (x *ListProductsResponse) String() stringLoyaltyPoints
type LoyaltyPoints struct {
// Name of loyalty points program. It is recommended to limit the name to
// 12 full-width characters or 24 Roman characters.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The retailer's loyalty points in absolute value.
PointsValue int64 `protobuf:"varint,2,opt,name=points_value,json=pointsValue,proto3" json:"points_value,omitempty"`
// 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.
Ratio float64 `protobuf:"fixed64,3,opt,name=ratio,proto3" json:"ratio,omitempty"`
// contains filtered or unexported fields
}A message that represents loyalty points.
func (*LoyaltyPoints) Descriptor
func (*LoyaltyPoints) Descriptor() ([]byte, []int)Deprecated: Use LoyaltyPoints.ProtoReflect.Descriptor instead.
func (*LoyaltyPoints) GetName
func (x *LoyaltyPoints) GetName() stringfunc (*LoyaltyPoints) GetPointsValue
func (x *LoyaltyPoints) GetPointsValue() int64func (*LoyaltyPoints) GetRatio
func (x *LoyaltyPoints) GetRatio() float64func (*LoyaltyPoints) ProtoMessage
func (*LoyaltyPoints) ProtoMessage()func (*LoyaltyPoints) ProtoReflect
func (x *LoyaltyPoints) ProtoReflect() protoreflect.Messagefunc (*LoyaltyPoints) Reset
func (x *LoyaltyPoints) Reset()func (*LoyaltyPoints) String
func (x *LoyaltyPoints) String() stringLoyaltyProgram
type LoyaltyProgram struct {
// 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.
ProgramLabel *string `protobuf:"bytes,1,opt,name=program_label,json=programLabel,proto3,oneof" json:"program_label,omitempty"`
// The label of the tier within the loyalty program.
// Must match one of the labels within the program.
TierLabel *string `protobuf:"bytes,2,opt,name=tier_label,json=tierLabel,proto3,oneof" json:"tier_label,omitempty"`
// The price for members of the given tier, that is, the instant discount
// price. Must be smaller or equal to the regular price.
Price *typepb.Price `protobuf:"bytes,3,opt,name=price,proto3,oneof" json:"price,omitempty"`
// The cashback that can be used for future purchases.
CashbackForFutureUse *typepb.Price `protobuf:"bytes,4,opt,name=cashback_for_future_use,json=cashbackForFutureUse,proto3,oneof" json:"cashback_for_future_use,omitempty"`
// The amount of loyalty points earned on a purchase.
LoyaltyPoints *int64 `protobuf:"varint,5,opt,name=loyalty_points,json=loyaltyPoints,proto3,oneof" json:"loyalty_points,omitempty"`
// 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.Interval `protobuf:"bytes,6,opt,name=member_price_effective_date,json=memberPriceEffectiveDate,proto3,oneof" json:"member_price_effective_date,omitempty"`
// 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.
ShippingLabel *string `protobuf:"bytes,7,opt,name=shipping_label,json=shippingLabel,proto3,oneof" json:"shipping_label,omitempty"`
// contains filtered or unexported fields
}A message that represents loyalty program.
func (*LoyaltyProgram) Descriptor
func (*LoyaltyProgram) Descriptor() ([]byte, []int)Deprecated: Use LoyaltyProgram.ProtoReflect.Descriptor instead.
func (*LoyaltyProgram) GetCashbackForFutureUse
func (x *LoyaltyProgram) GetCashbackForFutureUse() *typepb.Pricefunc (*LoyaltyProgram) GetLoyaltyPoints
func (x *LoyaltyProgram) GetLoyaltyPoints() int64func (*LoyaltyProgram) GetMemberPriceEffectiveDate
func (x *LoyaltyProgram) GetMemberPriceEffectiveDate() *interval.Intervalfunc (*LoyaltyProgram) GetPrice
func (x *LoyaltyProgram) GetPrice() *typepb.Pricefunc (*LoyaltyProgram) GetProgramLabel
func (x *LoyaltyProgram) GetProgramLabel() stringfunc (*LoyaltyProgram) GetShippingLabel
func (x *LoyaltyProgram) GetShippingLabel() stringfunc (*LoyaltyProgram) GetTierLabel
func (x *LoyaltyProgram) GetTierLabel() stringfunc (*LoyaltyProgram) ProtoMessage
func (*LoyaltyProgram) ProtoMessage()func (*LoyaltyProgram) ProtoReflect
func (x *LoyaltyProgram) ProtoReflect() protoreflect.Messagefunc (*LoyaltyProgram) Reset
func (x *LoyaltyProgram) Reset()func (*LoyaltyProgram) String
func (x *LoyaltyProgram) String() stringProduct
type Product struct {
// The name of the product.
// Format:
// `accounts/{account}/products/{product}` where the last
// section `product` consists of 4 parts:
// `channel~content_language~feed_label~offer_id`
// example for product name is `accounts/123/products/online~en~US~sku123`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. The
// [channel](https://support.google.com/merchants/answer/7361332) of the
// product.
Channel typepb.Channel_ChannelEnum `protobuf:"varint,2,opt,name=channel,proto3,enum=google.shopping.type.Channel_ChannelEnum" json:"channel,omitempty"`
// 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.
OfferId string `protobuf:"bytes,3,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"`
// Output only. The two-letter [ISO
// 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the
// product.
ContentLanguage string `protobuf:"bytes,4,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"`
// 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)
FeedLabel string `protobuf:"bytes,5,opt,name=feed_label,json=feedLabel,proto3" json:"feed_label,omitempty"`
// Output only. The primary data source of the product.
DataSource string `protobuf:"bytes,6,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"`
// 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.
VersionNumber *int64 `protobuf:"varint,7,opt,name=version_number,json=versionNumber,proto3,oneof" json:"version_number,omitempty"`
// Output only. A list of product attributes.
Attributes *Attributes `protobuf:"bytes,8,opt,name=attributes,proto3" json:"attributes,omitempty"`
// 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 []*typepb.CustomAttribute `protobuf:"bytes,9,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty"`
// Output only. The status of a product, data validation issues, that is,
// information about a product computed asynchronously.
ProductStatus *ProductStatus `protobuf:"bytes,10,opt,name=product_status,json=productStatus,proto3" json:"product_status,omitempty"`
// Output only. The automated discounts information for the product.
AutomatedDiscounts *AutomatedDiscounts `protobuf:"bytes,12,opt,name=automated_discounts,json=automatedDiscounts,proto3" json:"automated_discounts,omitempty"`
// contains filtered or unexported fields
}The processed product, built from multiple [product inputs][google.shopping.merchant.products.v1main.ProductInput] after applying rules and supplemental data sources. This processed product matches what is shown in your Merchant Center account. Each product is built from exactly one primary data source product input, and multiple supplemental data source inputs. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved.
All fields in the processed product and its sub-messages match the name of their corresponding attribute in the Product data specification with some exceptions.
func (*Product) Descriptor
Deprecated: Use Product.ProtoReflect.Descriptor instead.
func (*Product) GetAttributes
func (x *Product) GetAttributes() *Attributesfunc (*Product) GetAutomatedDiscounts
func (x *Product) GetAutomatedDiscounts() *AutomatedDiscountsfunc (*Product) GetChannel
func (x *Product) GetChannel() typepb.Channel_ChannelEnumfunc (*Product) GetContentLanguage
func (*Product) GetCustomAttributes
func (x *Product) GetCustomAttributes() []*typepb.CustomAttributefunc (*Product) GetDataSource
func (*Product) GetFeedLabel
func (*Product) GetName
func (*Product) GetOfferId
func (*Product) GetProductStatus
func (x *Product) GetProductStatus() *ProductStatusfunc (*Product) GetVersionNumber
func (*Product) ProtoMessage
func (*Product) ProtoMessage()func (*Product) ProtoReflect
func (x *Product) ProtoReflect() protoreflect.Messagefunc (*Product) Reset
func (x *Product) Reset()func (*Product) String
ProductDetail
type ProductDetail struct {
// The section header used to group a set of product details.
SectionName string `protobuf:"bytes,1,opt,name=section_name,json=sectionName,proto3" json:"section_name,omitempty"`
// The name of the product detail.
AttributeName string `protobuf:"bytes,2,opt,name=attribute_name,json=attributeName,proto3" json:"attribute_name,omitempty"`
// The value of the product detail.
AttributeValue string `protobuf:"bytes,3,opt,name=attribute_value,json=attributeValue,proto3" json:"attribute_value,omitempty"`
// contains filtered or unexported fields
}The product details.
func (*ProductDetail) Descriptor
func (*ProductDetail) Descriptor() ([]byte, []int)Deprecated: Use ProductDetail.ProtoReflect.Descriptor instead.
func (*ProductDetail) GetAttributeName
func (x *ProductDetail) GetAttributeName() stringfunc (*ProductDetail) GetAttributeValue
func (x *ProductDetail) GetAttributeValue() stringfunc (*ProductDetail) GetSectionName
func (x *ProductDetail) GetSectionName() stringfunc (*ProductDetail) ProtoMessage
func (*ProductDetail) ProtoMessage()func (*ProductDetail) ProtoReflect
func (x *ProductDetail) ProtoReflect() protoreflect.Messagefunc (*ProductDetail) Reset
func (x *ProductDetail) Reset()func (*ProductDetail) String
func (x *ProductDetail) String() stringProductDimension
type ProductDimension struct {
// Required. The dimension value represented as a number. The value can have a
// maximum precision of four decimal places.
Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
// Required. The dimension units.
// Acceptable values are:
// - "`in`"
// - "`cm`"
Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"`
// contains filtered or unexported fields
}The dimension of the product.
func (*ProductDimension) Descriptor
func (*ProductDimension) Descriptor() ([]byte, []int)Deprecated: Use ProductDimension.ProtoReflect.Descriptor instead.
func (*ProductDimension) GetUnit
func (x *ProductDimension) GetUnit() stringfunc (*ProductDimension) GetValue
func (x *ProductDimension) GetValue() float64func (*ProductDimension) ProtoMessage
func (*ProductDimension) ProtoMessage()func (*ProductDimension) ProtoReflect
func (x *ProductDimension) ProtoReflect() protoreflect.Messagefunc (*ProductDimension) Reset
func (x *ProductDimension) Reset()func (*ProductDimension) String
func (x *ProductDimension) String() stringProductInput
type ProductInput struct {
// Identifier. The name of the product input.
// Format: `accounts/{account}/productInputs/{productinput}`
// where the last section `productinput` consists of 4 parts:
// `channel~content_language~feed_label~offer_id`
// example for product input name is
// `accounts/123/productInputs/online~en~US~sku123`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. The name of the processed product.
// Format: `accounts/{account}/products/{product}`
Product string `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
// Immutable. The
// [channel](https://support.google.com/merchants/answer/7361332) of the
// product.
Channel typepb.Channel_ChannelEnum `protobuf:"varint,3,opt,name=channel,proto3,enum=google.shopping.type.Channel_ChannelEnum" json:"channel,omitempty"`
// 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.
OfferId string `protobuf:"bytes,4,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"`
// Required. Immutable. The two-letter [ISO
// 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the
// product.
ContentLanguage string `protobuf:"bytes,5,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"`
// Required. Immutable. The 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).
FeedLabel string `protobuf:"bytes,6,opt,name=feed_label,json=feedLabel,proto3" json:"feed_label,omitempty"`
// 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.
VersionNumber *int64 `protobuf:"varint,7,opt,name=version_number,json=versionNumber,proto3,oneof" json:"version_number,omitempty"`
// Optional. A list of product attributes.
Attributes *Attributes `protobuf:"bytes,8,opt,name=attributes,proto3" json:"attributes,omitempty"`
// 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 []*typepb.CustomAttribute `protobuf:"bytes,9,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty"`
// contains filtered or unexported fields
}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 data source
data are combined to create the processed
[Product][google.shopping.merchant.products.v1beta.Product]. For more
information, see [Manage products](/merchant/api/guides/products/overview).
Required product input attributes to pass data validation checks are
primarily defined in the [Products Data
Specification](https://support.google.com/merchants/answer/188494).
The following attributes are required:
[feedLabel][google.shopping.merchant.products.v1beta.Product.feed_label],
[contentLanguage][google.shopping.merchant.products.v1beta.Product.content_language]
and [offerId][google.shopping.merchant.products.v1beta.Product.offer_id].
After inserting, updating, or deleting a product input, it may take several
minutes before the processed product can be retrieved.
All fields in the product input and its sub-messages match the English name
of their corresponding attribute in the [Products Data
Specification](https://support.google.com/merchants/answer/188494) with
[some exceptions](https://support.google.com/merchants/answer/7052112).
The following reference documentation lists the field names in the
**camelCase** casing style while the Products Data Specification lists the
names in the **snake_case** casing style.
func (*ProductInput) Descriptor
func (*ProductInput) Descriptor() ([]byte, []int)Deprecated: Use ProductInput.ProtoReflect.Descriptor instead.
func (*ProductInput) GetAttributes
func (x *ProductInput) GetAttributes() *Attributesfunc (*ProductInput) GetChannel
func (x *ProductInput) GetChannel() typepb.Channel_ChannelEnumfunc (*ProductInput) GetContentLanguage
func (x *ProductInput) GetContentLanguage() stringfunc (*ProductInput) GetCustomAttributes
func (x *ProductInput) GetCustomAttributes() []*typepb.CustomAttributefunc (*ProductInput) GetFeedLabel
func (x *ProductInput) GetFeedLabel() stringfunc (*ProductInput) GetName
func (x *ProductInput) GetName() stringfunc (*ProductInput) GetOfferId
func (x *ProductInput) GetOfferId() stringfunc (*ProductInput) GetProduct
func (x *ProductInput) GetProduct() stringfunc (*ProductInput) GetVersionNumber
func (x *ProductInput) GetVersionNumber() int64func (*ProductInput) ProtoMessage
func (*ProductInput) ProtoMessage()func (*ProductInput) ProtoReflect
func (x *ProductInput) ProtoReflect() protoreflect.Messagefunc (*ProductInput) Reset
func (x *ProductInput) Reset()func (*ProductInput) String
func (x *ProductInput) String() stringProductInputsServiceClient
type ProductInputsServiceClient interface {
// [Uploads a product input to your Merchant Center
// account](/merchant/api/guides/products/overview#upload-product-input). You
// must have a products data source to be able to insert a product. The unique
// identifier of the data source is passed as a query parameter in the request
// URL.
//
// If an input with the same contentLanguage, offerId, and dataSource already
// exists, this method replaces that entry.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the processed product can be retrieved.
InsertProductInput(ctx context.Context, in *InsertProductInputRequest, opts ...grpc.CallOption) (*ProductInput, error)
// Updates the existing product input in your Merchant Center account.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the processed product can be retrieved.
UpdateProductInput(ctx context.Context, in *UpdateProductInputRequest, opts ...grpc.CallOption) (*ProductInput, error)
// Deletes a product input from your Merchant Center account.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the processed product can be retrieved.
DeleteProductInput(ctx context.Context, in *DeleteProductInputRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
}ProductInputsServiceClient is the client API for ProductInputsService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewProductInputsServiceClient
func NewProductInputsServiceClient(cc grpc.ClientConnInterface) ProductInputsServiceClientProductInputsServiceServer
type ProductInputsServiceServer interface {
// [Uploads a product input to your Merchant Center
// account](/merchant/api/guides/products/overview#upload-product-input). You
// must have a products data source to be able to insert a product. The unique
// identifier of the data source is passed as a query parameter in the request
// URL.
//
// If an input with the same contentLanguage, offerId, and dataSource already
// exists, this method replaces that entry.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the processed product can be retrieved.
InsertProductInput(context.Context, *InsertProductInputRequest) (*ProductInput, error)
// Updates the existing product input in your Merchant Center account.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the processed product can be retrieved.
UpdateProductInput(context.Context, *UpdateProductInputRequest) (*ProductInput, error)
// Deletes a product input from your Merchant Center account.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the processed product can be retrieved.
DeleteProductInput(context.Context, *DeleteProductInputRequest) (*emptypb.Empty, error)
}ProductInputsServiceServer is the server API for ProductInputsService service. All implementations should embed UnimplementedProductInputsServiceServer for forward compatibility
ProductStatus
type ProductStatus struct {
// The intended destinations for the product.
DestinationStatuses []*ProductStatus_DestinationStatus `protobuf:"bytes,3,rep,name=destination_statuses,json=destinationStatuses,proto3" json:"destination_statuses,omitempty"`
// A list of all issues associated with the product.
ItemLevelIssues []*ProductStatus_ItemLevelIssue `protobuf:"bytes,4,rep,name=item_level_issues,json=itemLevelIssues,proto3" json:"item_level_issues,omitempty"`
// Date on which the item has been created, in [ISO
// 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
CreationDate *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"`
// Date on which the item has been last updated, in [ISO
// 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
LastUpdateDate *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_update_date,json=lastUpdateDate,proto3" json:"last_update_date,omitempty"`
// Date on which the item expires, in [ISO
// 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
GoogleExpirationDate *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=google_expiration_date,json=googleExpirationDate,proto3" json:"google_expiration_date,omitempty"`
// contains filtered or unexported fields
}The status of a product, data validation issues, that is, information about a product computed asynchronously.
func (*ProductStatus) Descriptor
func (*ProductStatus) Descriptor() ([]byte, []int)Deprecated: Use ProductStatus.ProtoReflect.Descriptor instead.
func (*ProductStatus) GetCreationDate
func (x *ProductStatus) GetCreationDate() *timestamppb.Timestampfunc (*ProductStatus) GetDestinationStatuses
func (x *ProductStatus) GetDestinationStatuses() []*ProductStatus_DestinationStatusfunc (*ProductStatus) GetGoogleExpirationDate
func (x *ProductStatus) GetGoogleExpirationDate() *timestamppb.Timestampfunc (*ProductStatus) GetItemLevelIssues
func (x *ProductStatus) GetItemLevelIssues() []*ProductStatus_ItemLevelIssuefunc (*ProductStatus) GetLastUpdateDate
func (x *ProductStatus) GetLastUpdateDate() *timestamppb.Timestampfunc (*ProductStatus) ProtoMessage
func (*ProductStatus) ProtoMessage()func (*ProductStatus) ProtoReflect
func (x *ProductStatus) ProtoReflect() protoreflect.Messagefunc (*ProductStatus) Reset
func (x *ProductStatus) Reset()func (*ProductStatus) String
func (x *ProductStatus) String() stringProductStatus_DestinationStatus
type ProductStatus_DestinationStatus struct {
// The name of the reporting context.
ReportingContext typepb.ReportingContext_ReportingContextEnum `protobuf:"varint,1,opt,name=reporting_context,json=reportingContext,proto3,enum=google.shopping.type.ReportingContext_ReportingContextEnum" json:"reporting_context,omitempty"`
// List of country codes (ISO 3166-1 alpha-2) where the offer is approved.
ApprovedCountries []string `protobuf:"bytes,2,rep,name=approved_countries,json=approvedCountries,proto3" json:"approved_countries,omitempty"`
// List of country codes (ISO 3166-1 alpha-2) where the offer is pending
// approval.
PendingCountries []string `protobuf:"bytes,3,rep,name=pending_countries,json=pendingCountries,proto3" json:"pending_countries,omitempty"`
// List of country codes (ISO 3166-1 alpha-2) where the offer is
// disapproved.
DisapprovedCountries []string `protobuf:"bytes,4,rep,name=disapproved_countries,json=disapprovedCountries,proto3" json:"disapproved_countries,omitempty"`
// contains filtered or unexported fields
}The destination status of the product status.
func (*ProductStatus_DestinationStatus) Descriptor
func (*ProductStatus_DestinationStatus) Descriptor() ([]byte, []int)Deprecated: Use ProductStatus_DestinationStatus.ProtoReflect.Descriptor instead.
func (*ProductStatus_DestinationStatus) GetApprovedCountries
func (x *ProductStatus_DestinationStatus) GetApprovedCountries() []stringfunc (*ProductStatus_DestinationStatus) GetDisapprovedCountries
func (x *ProductStatus_DestinationStatus) GetDisapprovedCountries() []stringfunc (*ProductStatus_DestinationStatus) GetPendingCountries
func (x *ProductStatus_DestinationStatus) GetPendingCountries() []stringfunc (*ProductStatus_DestinationStatus) GetReportingContext
func (x *ProductStatus_DestinationStatus) GetReportingContext() typepb.ReportingContext_ReportingContextEnumfunc (*ProductStatus_DestinationStatus) ProtoMessage
func (*ProductStatus_DestinationStatus) ProtoMessage()func (*ProductStatus_DestinationStatus) ProtoReflect
func (x *ProductStatus_DestinationStatus) ProtoReflect() protoreflect.Messagefunc (*ProductStatus_DestinationStatus) Reset
func (x *ProductStatus_DestinationStatus) Reset()func (*ProductStatus_DestinationStatus) String
func (x *ProductStatus_DestinationStatus) String() stringProductStatus_ItemLevelIssue
type ProductStatus_ItemLevelIssue struct {
// The error code of the issue.
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
// How this issue affects serving of the offer.
Severity ProductStatus_ItemLevelIssue_Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=google.shopping.merchant.products.v1beta.ProductStatus_ItemLevelIssue_Severity" json:"severity,omitempty"`
// Whether the issue can be resolved by the business.
Resolution string `protobuf:"bytes,3,opt,name=resolution,proto3" json:"resolution,omitempty"`
// The attribute's name, if the issue is caused by a single attribute.
Attribute string `protobuf:"bytes,4,opt,name=attribute,proto3" json:"attribute,omitempty"`
// The reporting context the issue applies to.
ReportingContext typepb.ReportingContext_ReportingContextEnum `protobuf:"varint,5,opt,name=reporting_context,json=reportingContext,proto3,enum=google.shopping.type.ReportingContext_ReportingContextEnum" json:"reporting_context,omitempty"`
// A short issue description in English.
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
// A detailed issue description in English.
Detail string `protobuf:"bytes,7,opt,name=detail,proto3" json:"detail,omitempty"`
// The URL of a web page to help with resolving this issue.
Documentation string `protobuf:"bytes,8,opt,name=documentation,proto3" json:"documentation,omitempty"`
// List of country codes (ISO 3166-1 alpha-2) where issue applies to the
// offer.
ApplicableCountries []string `protobuf:"bytes,9,rep,name=applicable_countries,json=applicableCountries,proto3" json:"applicable_countries,omitempty"`
// contains filtered or unexported fields
}The ItemLevelIssue of the product status.
func (*ProductStatus_ItemLevelIssue) Descriptor
func (*ProductStatus_ItemLevelIssue) Descriptor() ([]byte, []int)Deprecated: Use ProductStatus_ItemLevelIssue.ProtoReflect.Descriptor instead.
func (*ProductStatus_ItemLevelIssue) GetApplicableCountries
func (x *ProductStatus_ItemLevelIssue) GetApplicableCountries() []stringfunc (*ProductStatus_ItemLevelIssue) GetAttribute
func (x *ProductStatus_ItemLevelIssue) GetAttribute() stringfunc (*ProductStatus_ItemLevelIssue) GetCode
func (x *ProductStatus_ItemLevelIssue) GetCode() stringfunc (*ProductStatus_ItemLevelIssue) GetDescription
func (x *ProductStatus_ItemLevelIssue) GetDescription() stringfunc (*ProductStatus_ItemLevelIssue) GetDetail
func (x *ProductStatus_ItemLevelIssue) GetDetail() stringfunc (*ProductStatus_ItemLevelIssue) GetDocumentation
func (x *ProductStatus_ItemLevelIssue) GetDocumentation() stringfunc (*ProductStatus_ItemLevelIssue) GetReportingContext
func (x *ProductStatus_ItemLevelIssue) GetReportingContext() typepb.ReportingContext_ReportingContextEnumfunc (*ProductStatus_ItemLevelIssue) GetResolution
func (x *ProductStatus_ItemLevelIssue) GetResolution() stringfunc (*ProductStatus_ItemLevelIssue) GetSeverity
func (x *ProductStatus_ItemLevelIssue) GetSeverity() ProductStatus_ItemLevelIssue_Severityfunc (*ProductStatus_ItemLevelIssue) ProtoMessage
func (*ProductStatus_ItemLevelIssue) ProtoMessage()func (*ProductStatus_ItemLevelIssue) ProtoReflect
func (x *ProductStatus_ItemLevelIssue) ProtoReflect() protoreflect.Messagefunc (*ProductStatus_ItemLevelIssue) Reset
func (x *ProductStatus_ItemLevelIssue) Reset()func (*ProductStatus_ItemLevelIssue) String
func (x *ProductStatus_ItemLevelIssue) String() stringProductStatus_ItemLevelIssue_Severity
type ProductStatus_ItemLevelIssue_Severity int32How the issue affects the serving of the product.
ProductStatus_ItemLevelIssue_SEVERITY_UNSPECIFIED, ProductStatus_ItemLevelIssue_NOT_IMPACTED, ProductStatus_ItemLevelIssue_DEMOTED, ProductStatus_ItemLevelIssue_DISAPPROVED
const (
// Not specified.
ProductStatus_ItemLevelIssue_SEVERITY_UNSPECIFIED ProductStatus_ItemLevelIssue_Severity = 0
// This issue represents a warning and does not have a direct affect
// on the product.
ProductStatus_ItemLevelIssue_NOT_IMPACTED ProductStatus_ItemLevelIssue_Severity = 1
// The product is demoted and most likely have limited performance
// in search results
ProductStatus_ItemLevelIssue_DEMOTED ProductStatus_ItemLevelIssue_Severity = 2
// Issue disapproves the product.
ProductStatus_ItemLevelIssue_DISAPPROVED ProductStatus_ItemLevelIssue_Severity = 3
)func (ProductStatus_ItemLevelIssue_Severity) Descriptor
func (ProductStatus_ItemLevelIssue_Severity) Descriptor() protoreflect.EnumDescriptorfunc (ProductStatus_ItemLevelIssue_Severity) Enum
func (ProductStatus_ItemLevelIssue_Severity) EnumDescriptor
func (ProductStatus_ItemLevelIssue_Severity) EnumDescriptor() ([]byte, []int)Deprecated: Use ProductStatus_ItemLevelIssue_Severity.Descriptor instead.
func (ProductStatus_ItemLevelIssue_Severity) Number
func (x ProductStatus_ItemLevelIssue_Severity) Number() protoreflect.EnumNumberfunc (ProductStatus_ItemLevelIssue_Severity) String
func (x ProductStatus_ItemLevelIssue_Severity) String() stringfunc (ProductStatus_ItemLevelIssue_Severity) Type
func (ProductStatus_ItemLevelIssue_Severity) Type() protoreflect.EnumTypeProductStructuredDescription
type ProductStructuredDescription struct {
// The digital source type, for example "trained_algorithmic_media".
// Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).
// Maximum length is 40 characters.
DigitalSourceType *string `protobuf:"bytes,1,opt,name=digital_source_type,json=digitalSourceType,proto3,oneof" json:"digital_source_type,omitempty"`
// The description text
// Maximum length is 5000 characters
Content *string `protobuf:"bytes,2,opt,name=content,proto3,oneof" json:"content,omitempty"`
// contains filtered or unexported fields
}Structured description, for algorithmically (AI)-generated descriptions.
func (*ProductStructuredDescription) Descriptor
func (*ProductStructuredDescription) Descriptor() ([]byte, []int)Deprecated: Use ProductStructuredDescription.ProtoReflect.Descriptor instead.
func (*ProductStructuredDescription) GetContent
func (x *ProductStructuredDescription) GetContent() stringfunc (*ProductStructuredDescription) GetDigitalSourceType
func (x *ProductStructuredDescription) GetDigitalSourceType() stringfunc (*ProductStructuredDescription) ProtoMessage
func (*ProductStructuredDescription) ProtoMessage()func (*ProductStructuredDescription) ProtoReflect
func (x *ProductStructuredDescription) ProtoReflect() protoreflect.Messagefunc (*ProductStructuredDescription) Reset
func (x *ProductStructuredDescription) Reset()func (*ProductStructuredDescription) String
func (x *ProductStructuredDescription) String() stringProductStructuredTitle
type ProductStructuredTitle struct {
// The digital source type, for example "trained_algorithmic_media".
// Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).
// Maximum length is 40 characters.
DigitalSourceType *string `protobuf:"bytes,1,opt,name=digital_source_type,json=digitalSourceType,proto3,oneof" json:"digital_source_type,omitempty"`
// The title text
// Maximum length is 150 characters
Content *string `protobuf:"bytes,2,opt,name=content,proto3,oneof" json:"content,omitempty"`
// contains filtered or unexported fields
}Structured title, for algorithmically (AI)-generated titles.
func (*ProductStructuredTitle) Descriptor
func (*ProductStructuredTitle) Descriptor() ([]byte, []int)Deprecated: Use ProductStructuredTitle.ProtoReflect.Descriptor instead.
func (*ProductStructuredTitle) GetContent
func (x *ProductStructuredTitle) GetContent() stringfunc (*ProductStructuredTitle) GetDigitalSourceType
func (x *ProductStructuredTitle) GetDigitalSourceType() stringfunc (*ProductStructuredTitle) ProtoMessage
func (*ProductStructuredTitle) ProtoMessage()func (*ProductStructuredTitle) ProtoReflect
func (x *ProductStructuredTitle) ProtoReflect() protoreflect.Messagefunc (*ProductStructuredTitle) Reset
func (x *ProductStructuredTitle) Reset()func (*ProductStructuredTitle) String
func (x *ProductStructuredTitle) String() stringProductSustainabilityIncentive
type ProductSustainabilityIncentive struct {
// Sustainability incentive value.
//
// Types that are valid to be assigned to Value:
//
// *ProductSustainabilityIncentive_Amount
// *ProductSustainabilityIncentive_Percentage
Value isProductSustainabilityIncentive_Value `protobuf_oneof:"value"`
// Sustainability incentive program.
Type *ProductSustainabilityIncentive_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.shopping.merchant.products.v1beta.ProductSustainabilityIncentive_Type,oneof" json:"type,omitempty"`
// contains filtered or unexported fields
}Information regarding sustainability-related incentive programs such as rebates or tax relief.
func (*ProductSustainabilityIncentive) Descriptor
func (*ProductSustainabilityIncentive) Descriptor() ([]byte, []int)Deprecated: Use ProductSustainabilityIncentive.ProtoReflect.Descriptor instead.
func (*ProductSustainabilityIncentive) GetAmount
func (x *ProductSustainabilityIncentive) GetAmount() *typepb.Pricefunc (*ProductSustainabilityIncentive) GetPercentage
func (x *ProductSustainabilityIncentive) GetPercentage() float64func (*ProductSustainabilityIncentive) GetType
func (x *ProductSustainabilityIncentive) GetType() ProductSustainabilityIncentive_Typefunc (*ProductSustainabilityIncentive) GetValue
func (x *ProductSustainabilityIncentive) GetValue() isProductSustainabilityIncentive_Valuefunc (*ProductSustainabilityIncentive) ProtoMessage
func (*ProductSustainabilityIncentive) ProtoMessage()func (*ProductSustainabilityIncentive) ProtoReflect
func (x *ProductSustainabilityIncentive) ProtoReflect() protoreflect.Messagefunc (*ProductSustainabilityIncentive) Reset
func (x *ProductSustainabilityIncentive) Reset()func (*ProductSustainabilityIncentive) String
func (x *ProductSustainabilityIncentive) String() stringProductSustainabilityIncentive_Amount
type ProductSustainabilityIncentive_Amount struct {
// The fixed amount of the incentive.
Amount *typepb.Price `protobuf:"bytes,2,opt,name=amount,proto3,oneof"`
}ProductSustainabilityIncentive_Percentage
type ProductSustainabilityIncentive_Percentage struct {
// The percentage of the sale price that the incentive is applied to.
Percentage float64 `protobuf:"fixed64,3,opt,name=percentage,proto3,oneof"`
}ProductSustainabilityIncentive_Type
type ProductSustainabilityIncentive_Type int32Types of supported sustainability incentive programs.
ProductSustainabilityIncentive_TYPE_UNSPECIFIED, ProductSustainabilityIncentive_EV_TAX_CREDIT, ProductSustainabilityIncentive_EV_PRICE_DISCOUNT
const (
// Unspecified or unknown sustainability incentive type.
ProductSustainabilityIncentive_TYPE_UNSPECIFIED ProductSustainabilityIncentive_Type = 0
// 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.
ProductSustainabilityIncentive_EV_TAX_CREDIT ProductSustainabilityIncentive_Type = 1
// 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.
ProductSustainabilityIncentive_EV_PRICE_DISCOUNT ProductSustainabilityIncentive_Type = 2
)func (ProductSustainabilityIncentive_Type) Descriptor
func (ProductSustainabilityIncentive_Type) Descriptor() protoreflect.EnumDescriptorfunc (ProductSustainabilityIncentive_Type) Enum
func (x ProductSustainabilityIncentive_Type) Enum() *ProductSustainabilityIncentive_Typefunc (ProductSustainabilityIncentive_Type) EnumDescriptor
func (ProductSustainabilityIncentive_Type) EnumDescriptor() ([]byte, []int)Deprecated: Use ProductSustainabilityIncentive_Type.Descriptor instead.
func (ProductSustainabilityIncentive_Type) Number
func (x ProductSustainabilityIncentive_Type) Number() protoreflect.EnumNumberfunc (ProductSustainabilityIncentive_Type) String
func (x ProductSustainabilityIncentive_Type) String() stringfunc (ProductSustainabilityIncentive_Type) Type
func (ProductSustainabilityIncentive_Type) Type() protoreflect.EnumTypeProductWeight
type ProductWeight struct {
// Required. The weight represented as a number. The weight can have a maximum
// precision of four decimal places.
Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
// Required. The weight unit.
// Acceptable values are:
// - "`g`"
// - "`kg`"
// - "`oz`"
// - "`lb`"
Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"`
// contains filtered or unexported fields
}The weight of the product.
func (*ProductWeight) Descriptor
func (*ProductWeight) Descriptor() ([]byte, []int)Deprecated: Use ProductWeight.ProtoReflect.Descriptor instead.
func (*ProductWeight) GetUnit
func (x *ProductWeight) GetUnit() stringfunc (*ProductWeight) GetValue
func (x *ProductWeight) GetValue() float64func (*ProductWeight) ProtoMessage
func (*ProductWeight) ProtoMessage()func (*ProductWeight) ProtoReflect
func (x *ProductWeight) ProtoReflect() protoreflect.Messagefunc (*ProductWeight) Reset
func (x *ProductWeight) Reset()func (*ProductWeight) String
func (x *ProductWeight) String() stringProductsServiceClient
type ProductsServiceClient interface {
// Retrieves the processed product from your Merchant Center account.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the updated final product can be retrieved.
GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error)
// Lists the processed products in your Merchant Center account. The response
// might contain fewer items than specified by `pageSize`. Rely on `pageToken`
// to determine if there are more items to be requested.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the updated processed product can be retrieved.
ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error)
}ProductsServiceClient is the client API for ProductsService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewProductsServiceClient
func NewProductsServiceClient(cc grpc.ClientConnInterface) ProductsServiceClientProductsServiceServer
type ProductsServiceServer interface {
// Retrieves the processed product from your Merchant Center account.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the updated final product can be retrieved.
GetProduct(context.Context, *GetProductRequest) (*Product, error)
// Lists the processed products in your Merchant Center account. The response
// might contain fewer items than specified by `pageSize`. Rely on `pageToken`
// to determine if there are more items to be requested.
//
// After inserting, updating, or deleting a product input, it may take several
// minutes before the updated processed product can be retrieved.
ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error)
}ProductsServiceServer is the server API for ProductsService service. All implementations should embed UnimplementedProductsServiceServer for forward compatibility
Shipping
type Shipping struct {
// Fixed shipping price, represented as a number.
Price *typepb.Price `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"`
// 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.
Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"`
// The geographic region to which a shipping rate applies.
// See [region](https://support.google.com/merchants/answer/6324484) for more
// information.
Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
// A free-form description of the service class or delivery speed.
Service string `protobuf:"bytes,4,opt,name=service,proto3" json:"service,omitempty"`
// 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).
LocationId int64 `protobuf:"varint,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
// The location where the shipping is applicable, represented by a
// location group name.
LocationGroupName string `protobuf:"bytes,6,opt,name=location_group_name,json=locationGroupName,proto3" json:"location_group_name,omitempty"`
// 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.
PostalCode string `protobuf:"bytes,7,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
// 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][google.shopping.merchant.products.v1beta.Shipping.min_handling_time]
// can only be present together with
// [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time];
// but it is not required if
// [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time]
// is present.
MinHandlingTime *int64 `protobuf:"varint,8,opt,name=min_handling_time,json=minHandlingTime,proto3,oneof" json:"min_handling_time,omitempty"`
// 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][google.shopping.merchant.products.v1beta.Shipping.max_handling_time]
// and
// [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time]
// are required if providing shipping speeds.
// [minHandlingTime][google.shopping.merchant.products.v1beta.Shipping.min_handling_time]
// is optional if
// [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time]
// is present.
MaxHandlingTime *int64 `protobuf:"varint,9,opt,name=max_handling_time,json=maxHandlingTime,proto3,oneof" json:"max_handling_time,omitempty"`
// 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][google.shopping.merchant.products.v1beta.Shipping.min_transit_time]
// can only be present together with
// [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time];
// but it is not required if
// [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time]
// is present.
MinTransitTime *int64 `protobuf:"varint,10,opt,name=min_transit_time,json=minTransitTime,proto3,oneof" json:"min_transit_time,omitempty"`
// 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][google.shopping.merchant.products.v1beta.Shipping.max_handling_time]
// and
// [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time]
// are required if providing shipping speeds.
// [minTransitTime][google.shopping.merchant.products.v1beta.Shipping.min_transit_time]
// is optional if
// [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time]
// is present.
MaxTransitTime *int64 `protobuf:"varint,11,opt,name=max_transit_time,json=maxTransitTime,proto3,oneof" json:"max_transit_time,omitempty"`
// contains filtered or unexported fields
}The Shipping of the product.
func (*Shipping) Descriptor
Deprecated: Use Shipping.ProtoReflect.Descriptor instead.
func (*Shipping) GetCountry
func (*Shipping) GetLocationGroupName
func (*Shipping) GetLocationId
func (*Shipping) GetMaxHandlingTime
func (*Shipping) GetMaxTransitTime
func (*Shipping) GetMinHandlingTime
func (*Shipping) GetMinTransitTime
func (*Shipping) GetPostalCode
func (*Shipping) GetPrice
func (*Shipping) GetRegion
func (*Shipping) GetService
func (*Shipping) ProtoMessage
func (*Shipping) ProtoMessage()func (*Shipping) ProtoReflect
func (x *Shipping) ProtoReflect() protoreflect.Messagefunc (*Shipping) Reset
func (x *Shipping) Reset()func (*Shipping) String
ShippingDimension
type ShippingDimension struct {
// The dimension of the product used to calculate the shipping cost of the
// item.
Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
// The unit of value.
Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"`
// contains filtered or unexported fields
}The ShippingDimension of the product.
func (*ShippingDimension) Descriptor
func (*ShippingDimension) Descriptor() ([]byte, []int)Deprecated: Use ShippingDimension.ProtoReflect.Descriptor instead.
func (*ShippingDimension) GetUnit
func (x *ShippingDimension) GetUnit() stringfunc (*ShippingDimension) GetValue
func (x *ShippingDimension) GetValue() float64func (*ShippingDimension) ProtoMessage
func (*ShippingDimension) ProtoMessage()func (*ShippingDimension) ProtoReflect
func (x *ShippingDimension) ProtoReflect() protoreflect.Messagefunc (*ShippingDimension) Reset
func (x *ShippingDimension) Reset()func (*ShippingDimension) String
func (x *ShippingDimension) String() stringShippingWeight
type ShippingWeight struct {
// The weight of the product used to calculate the shipping cost of the
// item.
Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
// The unit of value.
Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"`
// contains filtered or unexported fields
}The ShippingWeight of the product.
func (*ShippingWeight) Descriptor
func (*ShippingWeight) Descriptor() ([]byte, []int)Deprecated: Use ShippingWeight.ProtoReflect.Descriptor instead.
func (*ShippingWeight) GetUnit
func (x *ShippingWeight) GetUnit() stringfunc (*ShippingWeight) GetValue
func (x *ShippingWeight) GetValue() float64func (*ShippingWeight) ProtoMessage
func (*ShippingWeight) ProtoMessage()func (*ShippingWeight) ProtoReflect
func (x *ShippingWeight) ProtoReflect() protoreflect.Messagefunc (*ShippingWeight) Reset
func (x *ShippingWeight) Reset()func (*ShippingWeight) String
func (x *ShippingWeight) String() stringSubscriptionCost
type SubscriptionCost struct {
// The type of subscription period.
// Supported values are:
// - "`month`"
// - "`year`"
Period SubscriptionPeriod `protobuf:"varint,1,opt,name=period,proto3,enum=google.shopping.merchant.products.v1beta.SubscriptionPeriod" json:"period,omitempty"`
// The number of subscription periods the buyer has to pay.
PeriodLength int64 `protobuf:"varint,2,opt,name=period_length,json=periodLength,proto3" json:"period_length,omitempty"`
// The amount the buyer has to pay per subscription period.
Amount *typepb.Price `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
// contains filtered or unexported fields
}The SubscriptionCost of the product.
func (*SubscriptionCost) Descriptor
func (*SubscriptionCost) Descriptor() ([]byte, []int)Deprecated: Use SubscriptionCost.ProtoReflect.Descriptor instead.
func (*SubscriptionCost) GetAmount
func (x *SubscriptionCost) GetAmount() *typepb.Pricefunc (*SubscriptionCost) GetPeriod
func (x *SubscriptionCost) GetPeriod() SubscriptionPeriodfunc (*SubscriptionCost) GetPeriodLength
func (x *SubscriptionCost) GetPeriodLength() int64func (*SubscriptionCost) ProtoMessage
func (*SubscriptionCost) ProtoMessage()func (*SubscriptionCost) ProtoReflect
func (x *SubscriptionCost) ProtoReflect() protoreflect.Messagefunc (*SubscriptionCost) Reset
func (x *SubscriptionCost) Reset()func (*SubscriptionCost) String
func (x *SubscriptionCost) String() stringSubscriptionPeriod
type SubscriptionPeriod int32The subscription period of the product.
SubscriptionPeriod_SUBSCRIPTION_PERIOD_UNSPECIFIED, SubscriptionPeriod_MONTH, SubscriptionPeriod_YEAR
const (
// Indicates that the subscription period is unspecified.
SubscriptionPeriod_SUBSCRIPTION_PERIOD_UNSPECIFIED SubscriptionPeriod = 0
// Indicates that the subscription period is month.
SubscriptionPeriod_MONTH SubscriptionPeriod = 1
// Indicates that the subscription period is year.
SubscriptionPeriod_YEAR SubscriptionPeriod = 2
)func (SubscriptionPeriod) Descriptor
func (SubscriptionPeriod) Descriptor() protoreflect.EnumDescriptorfunc (SubscriptionPeriod) Enum
func (x SubscriptionPeriod) Enum() *SubscriptionPeriodfunc (SubscriptionPeriod) EnumDescriptor
func (SubscriptionPeriod) EnumDescriptor() ([]byte, []int)Deprecated: Use SubscriptionPeriod.Descriptor instead.
func (SubscriptionPeriod) Number
func (x SubscriptionPeriod) Number() protoreflect.EnumNumberfunc (SubscriptionPeriod) String
func (x SubscriptionPeriod) String() stringfunc (SubscriptionPeriod) Type
func (SubscriptionPeriod) Type() protoreflect.EnumTypeTax
type Tax struct {
// The percentage of tax rate that applies to the item price.
Rate float64 `protobuf:"fixed64,1,opt,name=rate,proto3" json:"rate,omitempty"`
// The country within which the item is taxed, specified as a [CLDR
// territory
// code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"`
// The geographic region to which the tax rate applies.
Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
// Set to true if tax is charged on shipping.
TaxShip bool `protobuf:"varint,4,opt,name=tax_ship,json=taxShip,proto3" json:"tax_ship,omitempty"`
// The numeric ID of a location that the tax rate applies to as defined in
// the [AdWords
// API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
LocationId int64 `protobuf:"varint,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
// The postal code range that the tax rate applies to, represented by
// a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP
// codes or two ZIP code prefixes of equal length.
// Examples: 94114, 94*, 94002-95460, 94*-95*.
PostalCode string `protobuf:"bytes,6,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
// contains filtered or unexported fields
}The Tax of the product.
func (*Tax) Descriptor
Deprecated: Use Tax.ProtoReflect.Descriptor instead.
func (*Tax) GetCountry
func (*Tax) GetLocationId
func (*Tax) GetPostalCode
func (*Tax) GetRate
func (*Tax) GetRegion
func (*Tax) GetTaxShip
func (*Tax) ProtoMessage
func (*Tax) ProtoMessage()func (*Tax) ProtoReflect
func (x *Tax) ProtoReflect() protoreflect.Messagefunc (*Tax) Reset
func (x *Tax) Reset()func (*Tax) String
UnimplementedProductInputsServiceServer
type UnimplementedProductInputsServiceServer struct {
}UnimplementedProductInputsServiceServer should be embedded to have forward compatible implementations.
func (UnimplementedProductInputsServiceServer) DeleteProductInput
func (UnimplementedProductInputsServiceServer) DeleteProductInput(context.Context, *DeleteProductInputRequest) (*emptypb.Empty, error)func (UnimplementedProductInputsServiceServer) InsertProductInput
func (UnimplementedProductInputsServiceServer) InsertProductInput(context.Context, *InsertProductInputRequest) (*ProductInput, error)func (UnimplementedProductInputsServiceServer) UpdateProductInput
func (UnimplementedProductInputsServiceServer) UpdateProductInput(context.Context, *UpdateProductInputRequest) (*ProductInput, error)UnimplementedProductsServiceServer
type UnimplementedProductsServiceServer struct {
}UnimplementedProductsServiceServer should be embedded to have forward compatible implementations.
func (UnimplementedProductsServiceServer) GetProduct
func (UnimplementedProductsServiceServer) GetProduct(context.Context, *GetProductRequest) (*Product, error)func (UnimplementedProductsServiceServer) ListProducts
func (UnimplementedProductsServiceServer) ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error)UnitPricingBaseMeasure
type UnitPricingBaseMeasure struct {
// The denominator of the unit price.
Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
// The unit of the denominator.
Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"`
// contains filtered or unexported fields
}The UnitPricingBaseMeasure of the product.
func (*UnitPricingBaseMeasure) Descriptor
func (*UnitPricingBaseMeasure) Descriptor() ([]byte, []int)Deprecated: Use UnitPricingBaseMeasure.ProtoReflect.Descriptor instead.
func (*UnitPricingBaseMeasure) GetUnit
func (x *UnitPricingBaseMeasure) GetUnit() stringfunc (*UnitPricingBaseMeasure) GetValue
func (x *UnitPricingBaseMeasure) GetValue() int64func (*UnitPricingBaseMeasure) ProtoMessage
func (*UnitPricingBaseMeasure) ProtoMessage()func (*UnitPricingBaseMeasure) ProtoReflect
func (x *UnitPricingBaseMeasure) ProtoReflect() protoreflect.Messagefunc (*UnitPricingBaseMeasure) Reset
func (x *UnitPricingBaseMeasure) Reset()func (*UnitPricingBaseMeasure) String
func (x *UnitPricingBaseMeasure) String() stringUnitPricingMeasure
type UnitPricingMeasure struct {
// The measure of an item.
Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
// The unit of the measure.
Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"`
// contains filtered or unexported fields
}The UnitPricingMeasure of the product.
func (*UnitPricingMeasure) Descriptor
func (*UnitPricingMeasure) Descriptor() ([]byte, []int)Deprecated: Use UnitPricingMeasure.ProtoReflect.Descriptor instead.
func (*UnitPricingMeasure) GetUnit
func (x *UnitPricingMeasure) GetUnit() stringfunc (*UnitPricingMeasure) GetValue
func (x *UnitPricingMeasure) GetValue() float64func (*UnitPricingMeasure) ProtoMessage
func (*UnitPricingMeasure) ProtoMessage()func (*UnitPricingMeasure) ProtoReflect
func (x *UnitPricingMeasure) ProtoReflect() protoreflect.Messagefunc (*UnitPricingMeasure) Reset
func (x *UnitPricingMeasure) Reset()func (*UnitPricingMeasure) String
func (x *UnitPricingMeasure) String() stringUnsafeProductInputsServiceServer
type UnsafeProductInputsServiceServer interface {
// contains filtered or unexported methods
}UnsafeProductInputsServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ProductInputsServiceServer will result in compilation errors.
UnsafeProductsServiceServer
type UnsafeProductsServiceServer interface {
// contains filtered or unexported methods
}UnsafeProductsServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ProductsServiceServer will result in compilation errors.
UpdateProductInputRequest
type UpdateProductInputRequest struct {
// Required. The product input resource to update. Information you submit will
// be applied to the processed product as well.
ProductInput *ProductInput `protobuf:"bytes,1,opt,name=product_input,json=productInput,proto3" json:"product_input,omitempty"`
// Optional. The list of product attributes to be updated.
//
// If the update mask is omitted, then it is treated as implied field mask
// equivalent to all fields that are populated (have a non-empty value).
//
// Attributes specified in the update mask without a value specified in the
// body will be deleted from the product.
//
// Update mask can only be specified for top level fields in
// attributes and custom attributes.
//
// To specify the update mask for custom attributes you need to add the
// `custom_attribute.` prefix.
//
// Providing special "*" value for full product replacement is not supported.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// Required. The primary or supplemental product data source where
// `data_source` name identifies the product input to be updated.
//
// Only API data sources are supported.
//
// Format: `accounts/{account}/dataSources/{datasource}`. For example,
// `accounts/123456/dataSources/104628`.
DataSource string `protobuf:"bytes,3,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"`
// contains filtered or unexported fields
}Request message for the UpdateProductInput method. The product (primary input) must exist for the update to succeed. If the update is for a primary product input, the existing primary product input must be from the same data source.
func (*UpdateProductInputRequest) Descriptor
func (*UpdateProductInputRequest) Descriptor() ([]byte, []int)Deprecated: Use UpdateProductInputRequest.ProtoReflect.Descriptor instead.
func (*UpdateProductInputRequest) GetDataSource
func (x *UpdateProductInputRequest) GetDataSource() stringfunc (*UpdateProductInputRequest) GetProductInput
func (x *UpdateProductInputRequest) GetProductInput() *ProductInputfunc (*UpdateProductInputRequest) GetUpdateMask
func (x *UpdateProductInputRequest) GetUpdateMask() *fieldmaskpb.FieldMaskfunc (*UpdateProductInputRequest) ProtoMessage
func (*UpdateProductInputRequest) ProtoMessage()func (*UpdateProductInputRequest) ProtoReflect
func (x *UpdateProductInputRequest) ProtoReflect() protoreflect.Messagefunc (*UpdateProductInputRequest) Reset
func (x *UpdateProductInputRequest) Reset()func (*UpdateProductInputRequest) String
func (x *UpdateProductInputRequest) String() string