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.
2767 2768 2769 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2767 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
2469 2470 2471 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2469 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
2474 2475 2476 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2474 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
2482 2483 2484 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2482 def availability @availability end |
#available_quantity ⇒ Fixnum
The available quantity of the item.
Corresponds to the JSON property availableQuantity
2487 2488 2489 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2487 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
2492 2493 2494 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2492 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
2501 2502 2503 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2501 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
2521 2522 2523 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2521 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
2528 2529 2530 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2528 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
2533 2534 2535 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2533 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
2544 2545 2546 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2544 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
2553 2554 2555 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2553 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
2564 2565 2566 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2564 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
2571 2572 2573 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2571 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
2584 2585 2586 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2584 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
2595 2596 2597 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2595 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
2603 2604 2605 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2603 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
2613 2614 2615 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2613 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
2623 2624 2625 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2623 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
2629 2630 2631 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2629 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
2639 2640 2641 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2639 def patterns @patterns end |
#price_info ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfo
The price information of a Product.
Corresponds to the JSON property priceInfo
2644 2645 2646 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2644 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
2657 2658 2659 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2657 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
2663 2664 2665 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2663 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
2671 2672 2673 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2671 def publish_time @publish_time end |
#rating ⇒ Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRating
The rating of a Product.
Corresponds to the JSON property rating
2676 2677 2678 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2676 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
2693 2694 2695 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2693 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
2709 2710 2711 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2709 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
2719 2720 2721 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2719 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
2728 2729 2730 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2728 def title @title end |
#ttl ⇒ String
Input only. The TTL (time to live) of the product. If it is set, it must be a
non-negative value, and 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
2739 2740 2741 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2739 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
2745 2746 2747 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2745 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
2756 2757 2758 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2756 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
2765 2766 2767 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2765 def variants @variants end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 |
# File 'lib/google/apis/retail_v2beta/classes.rb', line 2772 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 |