Class: Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct
- Inherits:
-
Object
- Object
- Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/retail_v2beta/classes.rb,
lib/google/apis/retail_v2beta/representations.rb,
lib/google/apis/retail_v2beta/representations.rb
Overview
Product captures all metadata information of items to be recommended or searched.
Instance Attribute Summary collapse
-
#attributes ⇒ Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>
Highly encouraged.
-
#audience ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAudience
An intended audience of the Product for whom it's sold.
-
#availability ⇒ String
The online availability of the Product.
-
#available_quantity ⇒ Fixnum
The available quantity of the item.
-
#available_time ⇒ String
The timestamp when this Product becomes available for SearchService.Search.
-
#brands ⇒ Array<String>
The brands of the product.
-
#categories ⇒ Array<String>
Product categories.
-
#collection_member_ids ⇒ Array<String>
The id of the collection members when type is Type.COLLECTION.
-
#color_info ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaColorInfo
The color information of a Product.
-
#conditions ⇒ Array<String>
The condition of the product.
-
#description ⇒ String
Product description.
-
#expire_time ⇒ String
The timestamp when this product becomes unavailable for SearchService.Search.
-
#fulfillment_info ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaFulfillmentInfo>
Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.
-
#gtin ⇒ String
The Global Trade Item Number (GTIN) of the product.
-
#id ⇒ String
Immutable.
-
#images ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaImage>
Product images for the product.Highly recommended to put the main image to the first.
-
#language_code ⇒ String
Language of the title/description and other string attributes.
-
#materials ⇒ Array<String>
The material of the product.
-
#name ⇒ String
Immutable.
-
#patterns ⇒ Array<String>
The pattern or graphic print of the product.
-
#price_info ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfo
The price information of a Product.
-
#primary_product_id ⇒ String
Variant group identifier.
-
#promotions ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPromotion>
The promotions applied to the product.
-
#publish_time ⇒ String
The timestamp when the product is published by the retailer for the first time, which indicates the freshness of the products.
-
#rating ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRating
The rating of a Product.
-
#retrievable_fields ⇒ String
Indicates which fields in the Products are returned in SearchResponse.
-
#sizes ⇒ Array<String>
The size of the product.
-
#tags ⇒ Array<String>
Custom tags associated with the product.
-
#title ⇒ String
Required.
-
#ttl ⇒ String
Input only.
-
#type ⇒ String
Immutable.
-
#uri ⇒ String
Canonical URL directly linking to the product detail page.
-
#variants ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct>
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleCloudRetailV2betaProduct
constructor
A new instance of GoogleCloudRetailV2betaProduct.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleCloudRetailV2betaProduct
Returns a new instance of GoogleCloudRetailV2betaProduct.
2722 2723 2724 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2722 def initialize(**args) update!(**args) end |
Instance Attribute Details
#attributes ⇒ Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>
Highly encouraged. Extra product attributes to be included. For example, for
products, this could include the store name, vendor, style, color, etc. These
are very strong signals for recommendation model, thus we highly recommend
providing the attributes here. Features that can take on one of a limited
number of possible values. Two types of features can be set are: Textual
features. some examples would be the brand/maker of a product, or country of a
customer. Numerical features. Some examples would be the height/weight of a
product, or age of a customer. For example: "vendor": `"text": ["vendor123",
"vendor456"]`, "lengths_cm": `"numbers":[2.3, 15.4]`, "heights_cm": `"numbers"
:[8.1, 6.4]`. This field needs to pass all below criteria, otherwise an
INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must
be a UTF-8 encoded string with a length limit of 128 characters. * For
indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example,
key0LikeThis or KEY_1_LIKE_THIS.
Corresponds to the JSON property attributes
2425 2426 2427 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2425 def attributes @attributes end |
#audience ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAudience
An intended audience of the Product for whom it's sold.
Corresponds to the JSON property audience
2430 2431 2432 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2430 def audience @audience end |
#availability ⇒ String
The online availability of the Product. Default to Availability.IN_STOCK.
Google Merchant Center Property availability. Schema.org Property Offer.availability.
Corresponds to the JSON property availability
2438 2439 2440 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2438 def availability @availability end |
#available_quantity ⇒ Fixnum
The available quantity of the item.
Corresponds to the JSON property availableQuantity
2443 2444 2445 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2443 def available_quantity @available_quantity end |
#available_time ⇒ String
The timestamp when this Product becomes available for SearchService.Search.
Corresponds to the JSON property availableTime
2448 2449 2450 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2448 def available_time @available_time end |
#brands ⇒ Array<String>
The brands of the product. A maximum of 30 brands are allowed. Each brand must
be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise,
an INVALID_ARGUMENT error is returned. Google Merchant Center property brand. Schema.org property
Product.brand.
Corresponds to the JSON property brands
2457 2458 2459 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2457 def brands @brands end |
#categories ⇒ Array<String>
Product categories. This field is repeated for supporting one product
belonging to several parallel categories. Strongly recommended using the full
path for better search / recommendation quality. To represent full path of
category, use '>' sign to separate different hierarchies. If '>' is part of
the category name, please replace it with other character(s). For example, if
a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["
Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented
as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness >
Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an
INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product.
Empty values are not allowed. Each value must be a UTF-8 encoded string with
a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is
returned. Google Merchant Center property google_product_category. Schema.org
property Product.category. [
mc_google_product_category]: https://support.google.com/merchants/answer/
6324436
Corresponds to the JSON property categories
2477 2478 2479 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2477 def categories @categories end |
#collection_member_ids ⇒ Array<String>
The id of the collection members when type is Type.COLLECTION. Should not set
it for other types. A maximum of 1000 values are allowed. Otherwise, an
INVALID_ARGUMENT error is return.
Corresponds to the JSON property collectionMemberIds
2484 2485 2486 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2484 def collection_member_ids @collection_member_ids end |
#color_info ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaColorInfo
The color information of a Product.
Corresponds to the JSON property colorInfo
2489 2490 2491 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2489 def color_info @color_info end |
#conditions ⇒ Array<String>
The condition of the product. Strongly encouraged to use the standard values: "
new", "refurbished", "used". A maximum of 5 values are allowed per Product.
Each value must be a UTF-8 encoded string with a length limit of 128
characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant
Center property condition. Schema.org property Offer.itemCondition.
Corresponds to the JSON property conditions
2500 2501 2502 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2500 def conditions @conditions end |
#description ⇒ String
Product description. This field must be a UTF-8 encoded string with a length
limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
Google Merchant Center property description. schema.org property Product.description.
Corresponds to the JSON property description
2509 2510 2511 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2509 def description @description end |
#expire_time ⇒ String
The timestamp when this product becomes unavailable for SearchService.Search.
If it is set, the Product is not available for SearchService.Search after
expire_time. However, the product can still be retrieved by ProductService.
GetProduct and ProductService.ListProducts. expire_time must be later than
available_time and publish_time, otherwise an INVALID_ARGUMENT error is thrown.
Google Merchant Center property expiration_date.
Corresponds to the JSON property expireTime
2520 2521 2522 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2520 def expire_time @expire_time end |
#fulfillment_info ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaFulfillmentInfo>
Fulfillment information, such as the store IDs for in-store pickup or region
IDs for different shipping methods. All the elements must have distinct
FulfillmentInfo.type. Otherwise, an INVALID_ARGUMENT error is returned.
Corresponds to the JSON property fulfillmentInfo
2527 2528 2529 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2527 def fulfillment_info @fulfillment_info end |
#gtin ⇒ String
The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8
encoded string with a length limit of 128 characters. Otherwise, an
INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise,
an INVALID_ARGUMENT error is returned. Google Merchant Center property gtin. Schema.org property
Product.isbn or Product.gtin8 or Product.gtin12 or Product.gtin13 or Product.gtin14. If
the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
Corresponds to the JSON property gtin
2540 2541 2542 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2540 def gtin @gtin end |
#id ⇒ String
Immutable. Product identifier, which is the final component of name. For
example, this field is "id_1", if name is projects/*/locations/global/
catalogs/default_catalog/branches/default_branch/products/id_1. This field
must be a UTF-8 encoded string with a length limit of 128 characters.
Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center
property id. Schema.org
Property Product.sku.
Corresponds to the JSON property id
2551 2552 2553 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2551 def id @id end |
#images ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaImage>
Product images for the product.Highly recommended to put the main image to the
first. A maximum of 300 images are allowed. Google Merchant Center property
image_link. Schema.org
property Product.image.
Corresponds to the JSON property images
2559 2560 2561 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2559 def images @images end |
#language_code ⇒ String
Language of the title/description and other string attributes. Use language
tags defined by BCP 47. For product prediction, this field is ignored and the
model automatically detects the text language. The Product can include text in
different languages, but duplicating Products to provide text in multiple
languages can result in degraded model performance. For product search this
field is in use. It defaults to "en-US" if unset.
Corresponds to the JSON property languageCode
2569 2570 2571 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2569 def language_code @language_code end |
#materials ⇒ Array<String>
The material of the product. For example, "leather", "wooden". A maximum of 20
values are allowed. Each value must be a UTF-8 encoded string with a length
limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
Google Merchant Center property material. Schema.org property Product.material.
Corresponds to the JSON property materials
2579 2580 2581 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2579 def materials @materials end |
#name ⇒ String
Immutable. Full resource name of the product, such as projects/*/locations/
global/catalogs/default_catalog/branches/default_branch/products/product_id.
Corresponds to the JSON property name
2585 2586 2587 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2585 def name @name end |
#patterns ⇒ Array<String>
The pattern or graphic print of the product. For example, "striped", "polka
dot", "paisley". A maximum of 20 values are allowed per Product. Each value
must be a UTF-8 encoded string with a length limit of 128 characters.
Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center
property pattern.
Schema.org property Product.pattern.
Corresponds to the JSON property patterns
2595 2596 2597 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2595 def patterns @patterns end |
#price_info ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfo
The price information of a Product.
Corresponds to the JSON property priceInfo
2600 2601 2602 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2600 def price_info @price_info end |
#primary_product_id ⇒ String
Variant group identifier. Must be an id, with the same parent branch with this
product. Otherwise, an error is thrown. For Type.PRIMARY Products, this field
can only be empty or set to the same value as id. For VARIANT Products, this
field cannot be empty. A maximum of 2,000 products are allowed to share the
same Type.PRIMARY Product. Otherwise, an INVALID_ARGUMENT error is returned.
Google Merchant Center Property item_group_id. Schema.org Property Product.inProductGroupWithID. This field must be enabled before it
can be used. Learn more.
Corresponds to the JSON property primaryProductId
2613 2614 2615 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2613 def primary_product_id @primary_product_id end |
#promotions ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPromotion>
The promotions applied to the product. A maximum of 10 values are allowed per
Product.
Corresponds to the JSON property promotions
2619 2620 2621 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2619 def promotions @promotions end |
#publish_time ⇒ String
The timestamp when the product is published by the retailer for the first time,
which indicates the freshness of the products. Note that this field is
different from available_time, given it purely describes product freshness
regardless of when it is available on search and recommendation.
Corresponds to the JSON property publishTime
2627 2628 2629 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2627 def publish_time @publish_time end |
#rating ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRating
The rating of a Product.
Corresponds to the JSON property rating
2632 2633 2634 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2632 def @rating end |
#retrievable_fields ⇒ String
Indicates which fields in the Products are returned in SearchResponse.
Supported fields for all types: * audience * availability * brands *
color_info * conditions * gtin * materials * name * patterns * price_info *
rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.
COLLECTION: * categories * description * images Supported fields only for Type.
VARIANT: * Only the first image in images To mark attributes as retrievable,
include paths of the form "attributes.key" where "key" is the key of a custom
attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
the following fields are always returned in SearchResponse by default: * name
For Type.VARIANT, the following fields are always returned in by default: *
name * color_info Maximum number of paths is 30. Otherwise, an
INVALID_ARGUMENT error is returned. Note: Returning more fields in
SearchResponse may increase response payload size and serving latency.
Corresponds to the JSON property retrievableFields
2649 2650 2651 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2649 def retrievable_fields @retrievable_fields end |
#sizes ⇒ Array<String>
The size of the product. To represent different size systems or size types,
consider using this format: [[[size_system:]size_type:]size_value]. For
example, in "US:MENS:M", "US" represents size system; "MENS" represents size
type; "M" represents size value. In "GIRLS:27", size system is empty; "GIRLS"
represents size type; "27" represents size value. In "32 inches", both size
system and size type are empty, while size value is "32 inches". A maximum of
20 values are allowed per Product. Each value must be a UTF-8 encoded string
with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is
returned. Google Merchant Center property size, size_type and size_system. Schema.org property Product.size.
Corresponds to the JSON property sizes
2665 2666 2667 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2665 def sizes @sizes end |
#tags ⇒ Array<String>
Custom tags associated with the product. At most 250 values are allowed per
Product. This value must be a UTF-8 encoded string with a length limit of 1,
000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This tag can
be used for filtering recommendation results by passing the tag as part of the
PredictRequest.filter. Google Merchant Center property custom_label_0–4.
Corresponds to the JSON property tags
2675 2676 2677 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2675 def @tags end |
#title ⇒ String
Required. Product title. This field must be a UTF-8 encoded string with a
length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is
returned. Google Merchant Center property title. Schema.org property Product.name.
Corresponds to the JSON property title
2684 2685 2686 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2684 def title @title end |
#ttl ⇒ String
Input only. The TTL (time to live) of the product. If it is set, expire_time
is set as current timestamp plus ttl. The derived expire_time is returned in
the output and ttl is left blank when retrieving the Product. If it is set,
the product is not available for SearchService.Search after current timestamp
plus ttl. However, the product can still be retrieved by ProductService.
GetProduct and ProductService.ListProducts.
Corresponds to the JSON property ttl
2694 2695 2696 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2694 def ttl @ttl end |
#type ⇒ String
Immutable. The type of the product. Default to Catalog.product_level_config.
ingestion_product_type if unset.
Corresponds to the JSON property type
2700 2701 2702 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2700 def type @type end |
#uri ⇒ String
Canonical URL directly linking to the product detail page. It is strongly
recommended to provide a valid uri for the product, otherwise the service
performance could be significantly degraded. This field must be a UTF-8
encoded string with a length limit of 5,000 characters. Otherwise, an
INVALID_ARGUMENT error is returned. Google Merchant Center property link. Schema.org property
Offer.url.
Corresponds to the JSON property uri
2711 2712 2713 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2711 def uri @uri end |
#variants ⇒ Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct>
Output only. Product variants grouped together on primary product which share
similar product attributes. It's automatically grouped by primary_product_id
for all the product variants. Only populated for Type.PRIMARY Products. Note:
This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field
in API requests.
Corresponds to the JSON property variants
2720 2721 2722 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2720 def variants @variants end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2727 def update!(**args) @attributes = args[:attributes] if args.key?(:attributes) @audience = args[:audience] if args.key?(:audience) @availability = args[:availability] if args.key?(:availability) @available_quantity = args[:available_quantity] if args.key?(:available_quantity) @available_time = args[:available_time] if args.key?(:available_time) @brands = args[:brands] if args.key?(:brands) @categories = args[:categories] if args.key?(:categories) @collection_member_ids = args[:collection_member_ids] if args.key?(:collection_member_ids) @color_info = args[:color_info] if args.key?(:color_info) @conditions = args[:conditions] if args.key?(:conditions) @description = args[:description] if args.key?(:description) @expire_time = args[:expire_time] if args.key?(:expire_time) @fulfillment_info = args[:fulfillment_info] if args.key?(:fulfillment_info) @gtin = args[:gtin] if args.key?(:gtin) @id = args[:id] if args.key?(:id) @images = args[:images] if args.key?(:images) @language_code = args[:language_code] if args.key?(:language_code) @materials = args[:materials] if args.key?(:materials) @name = args[:name] if args.key?(:name) @patterns = args[:patterns] if args.key?(:patterns) @price_info = args[:price_info] if args.key?(:price_info) @primary_product_id = args[:primary_product_id] if args.key?(:primary_product_id) @promotions = args[:promotions] if args.key?(:promotions) @publish_time = args[:publish_time] if args.key?(:publish_time) @rating = args[:rating] if args.key?(:rating) @retrievable_fields = args[:retrievable_fields] if args.key?(:retrievable_fields) @sizes = args[:sizes] if args.key?(:sizes) @tags = args[:tags] if args.key?(:tags) @title = args[:title] if args.key?(:title) @ttl = args[:ttl] if args.key?(:ttl) @type = args[:type] if args.key?(:type) @uri = args[:uri] if args.key?(:uri) @variants = args[:variants] if args.key?(:variants) end |