# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module RecommendationengineV1beta1 # Message that represents an arbitrary HTTP body. It should only be used for # payload formats that can't be represented as JSON, such as raw binary or an # HTML page. This message can be used both in streaming and non-streaming API # methods in the request as well as the response. It can be used as a top-level # request field, which is convenient if one wants to extract parameters from # either the URL or HTTP template into the request fields and also want access # to the raw HTTP body. Example: message GetResourceRequest ` // A unique # request id. string request_id = 1; // The raw HTTP body is bound to this field. # google.api.HttpBody http_body = 2; ` service ResourceService ` rpc # GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc # UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); ` Example # with streaming methods: service CaldavService ` rpc GetCalendar(stream google. # api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream # google.api.HttpBody) returns (stream google.api.HttpBody); ` Use of this type # only changes how the request and response bodies are handled, all other # features will continue to work unchanged. class GoogleApiHttpBody include Google::Apis::Core::Hashable # The HTTP Content-Type header value specifying the content type of the body. # Corresponds to the JSON property `contentType` # @return [String] attr_accessor :content_type # The HTTP request/response body as raw binary. # Corresponds to the JSON property `data` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :data # Application specific response metadata. Must be set in the first response for # streaming APIs. # Corresponds to the JSON property `extensions` # @return [Array>] attr_accessor :extensions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_type = args[:content_type] if args.key?(:content_type) @data = args[:data] if args.key?(:data) @extensions = args[:extensions] if args.key?(:extensions) end end # Metadata for TriggerCatalogRejoin method. class GoogleCloudRecommendationengineV1alphaRejoinCatalogMetadata include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Response message for TriggerCatalogRejoin method. class GoogleCloudRecommendationengineV1alphaRejoinCatalogResponse include Google::Apis::Core::Hashable # Number of user events that were joined with latest catalog items. # Corresponds to the JSON property `rejoinedUserEventsCount` # @return [Fixnum] attr_accessor :rejoined_user_events_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rejoined_user_events_count = args[:rejoined_user_events_count] if args.key?(:rejoined_user_events_count) end end # Metadata associated with a tune operation. class GoogleCloudRecommendationengineV1alphaTuningMetadata include Google::Apis::Core::Hashable # The resource name of the recommendation model that this tune applies to. # Format: projects/`project_number`/locations/`location_id`/catalogs/`catalog_id` # /eventStores/`event_store_id`/recommendationModels/`recommendation_model_id` # Corresponds to the JSON property `recommendationModel` # @return [String] attr_accessor :recommendation_model def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @recommendation_model = args[:recommendation_model] if args.key?(:recommendation_model) end end # Response associated with a tune operation. class GoogleCloudRecommendationengineV1alphaTuningResponse include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # BigQuery source import data from. class GoogleCloudRecommendationengineV1beta1BigQuerySource include Google::Apis::Core::Hashable # Optional. The schema to use when parsing the data from the source. Supported # values for catalog imports: 1: "catalog_recommendations_ai" using https:// # cloud.google.com/recommendations-ai/docs/upload-catalog#json (Default for # catalogItems.import) 2: "catalog_merchant_center" using https://cloud.google. # com/recommendations-ai/docs/upload-catalog#mc Supported values for user event # imports: 1: "user_events_recommendations_ai" using https://cloud.google.com/ # recommendations-ai/docs/manage-user-events#import (Default for userEvents. # import) 2. "user_events_ga360" using https://support.google.com/analytics/ # answer/3437719?hl=en # Corresponds to the JSON property `dataSchema` # @return [String] attr_accessor :data_schema # Required. The BigQuery data set to copy the data from. # Corresponds to the JSON property `datasetId` # @return [String] attr_accessor :dataset_id # Optional. Intermediate Cloud Storage directory used for the import. Can be # specified if one wants to have the BigQuery export to a specific Cloud Storage # directory. # Corresponds to the JSON property `gcsStagingDir` # @return [String] attr_accessor :gcs_staging_dir # Optional. The project id (can be project # or id) that the BigQuery source is # in. If not specified, inherits the project id from the parent request. # Corresponds to the JSON property `projectId` # @return [String] attr_accessor :project_id # Required. The BigQuery table to copy the data from. # Corresponds to the JSON property `tableId` # @return [String] attr_accessor :table_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data_schema = args[:data_schema] if args.key?(:data_schema) @dataset_id = args[:dataset_id] if args.key?(:dataset_id) @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir) @project_id = args[:project_id] if args.key?(:project_id) @table_id = args[:table_id] if args.key?(:table_id) end end # The catalog configuration. Next ID: 5. class GoogleCloudRecommendationengineV1beta1Catalog include Google::Apis::Core::Hashable # Configures the catalog level that users send events to, and the level at which # predictions are made. # Corresponds to the JSON property `catalogItemLevelConfig` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItemLevelConfig] attr_accessor :catalog_item_level_config # Required. The ID of the default event store. # Corresponds to the JSON property `defaultEventStoreId` # @return [String] attr_accessor :default_event_store_id # Required. The catalog display name. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The fully qualified resource name of the catalog. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @catalog_item_level_config = args[:catalog_item_level_config] if args.key?(:catalog_item_level_config) @default_event_store_id = args[:default_event_store_id] if args.key?(:default_event_store_id) @display_name = args[:display_name] if args.key?(:display_name) @name = args[:name] if args.key?(:name) end end # The inline source for the input config for ImportCatalogItems method. class GoogleCloudRecommendationengineV1beta1CatalogInlineSource include Google::Apis::Core::Hashable # Optional. A list of catalog items to update/create. Recommended max of 10k # items. # Corresponds to the JSON property `catalogItems` # @return [Array] attr_accessor :catalog_items def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @catalog_items = args[:catalog_items] if args.key?(:catalog_items) end end # CatalogItem captures all metadata information of items to be recommended. class GoogleCloudRecommendationengineV1beta1CatalogItem include Google::Apis::Core::Hashable # Required. Catalog item categories. This field is repeated for supporting one # catalog item belonging to several parallel category hierarchies. For example, # if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and [" # Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented # as: "categoryHierarchies": [ ` "categories": ["Shoes & Accessories", "Shoes"]`, # ` "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] ` ] # Corresponds to the JSON property `categoryHierarchies` # @return [Array] attr_accessor :category_hierarchies # Optional. Catalog item description. UTF-8 encoded string with a length limit # of 5 KiB. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Required. Catalog item identifier. UTF-8 encoded string with a length limit of # 128 bytes. This id must be unique among all catalog items within the same # catalog. It should also be used when logging user events in order for the user # events to be joined with the Catalog. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # FeatureMap represents extra features that customers want to include in the # recommendation model for catalogs/user events as categorical/numerical # features. # Corresponds to the JSON property `itemAttributes` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMap] attr_accessor :item_attributes # Optional. Variant group identifier for prediction results. UTF-8 encoded # string with a length limit of 128 bytes. This field must be enabled before it # can be used. [Learn more](/recommendations-ai/docs/catalog#item-group-id). # Corresponds to the JSON property `itemGroupId` # @return [String] attr_accessor :item_group_id # Optional. Deprecated. The model automatically detects the text language. Your # catalog can include text in different languages, but duplicating catalog items # to provide text in multiple languages can result in degraded model performance. # Corresponds to the JSON property `languageCode` # @return [String] attr_accessor :language_code # ProductCatalogItem captures item metadata specific to retail products. # Corresponds to the JSON property `productMetadata` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductCatalogItem] attr_accessor :product_metadata # Optional. Filtering tags associated with the catalog item. Each tag should be # a UTF-8 encoded string with a length limit of 1 KiB. This tag can be used for # filtering recommendation results by passing the tag as part of the predict # request filter. # Corresponds to the JSON property `tags` # @return [Array] attr_accessor :tags # Required. Catalog item title. UTF-8 encoded string with a length limit of 1 # KiB. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @category_hierarchies = args[:category_hierarchies] if args.key?(:category_hierarchies) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @item_attributes = args[:item_attributes] if args.key?(:item_attributes) @item_group_id = args[:item_group_id] if args.key?(:item_group_id) @language_code = args[:language_code] if args.key?(:language_code) @product_metadata = args[:product_metadata] if args.key?(:product_metadata) @tags = args[:tags] if args.key?(:tags) @title = args[:title] if args.key?(:title) end end # Category represents catalog item category hierarchy. class GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy include Google::Apis::Core::Hashable # Required. Catalog item categories. Each category should be a UTF-8 encoded # string with a length limit of 2 KiB. Note that the order in the list denotes # the specificity (from least to most specific). # Corresponds to the JSON property `categories` # @return [Array] attr_accessor :categories def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @categories = args[:categories] if args.key?(:categories) end end # Configures the catalog level that users send events to, and the level at which # predictions are made. class GoogleCloudRecommendationengineV1beta1CatalogItemLevelConfig include Google::Apis::Core::Hashable # Optional. Level of the catalog at which events are uploaded. See https://cloud. # google.com/recommendations-ai/docs/catalog#catalog-levels for more details. # Corresponds to the JSON property `eventItemLevel` # @return [String] attr_accessor :event_item_level # Optional. Level of the catalog at which predictions are made. See https:// # cloud.google.com/recommendations-ai/docs/catalog#catalog-levels for more # details. # Corresponds to the JSON property `predictItemLevel` # @return [String] attr_accessor :predict_item_level def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @event_item_level = args[:event_item_level] if args.key?(:event_item_level) @predict_item_level = args[:predict_item_level] if args.key?(:predict_item_level) end end # Request message for the `CreatePredictionApiKeyRegistration` method. class GoogleCloudRecommendationengineV1beta1CreatePredictionApiKeyRegistrationRequest include Google::Apis::Core::Hashable # Registered Api Key. # Corresponds to the JSON property `predictionApiKeyRegistration` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration] attr_accessor :prediction_api_key_registration def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @prediction_api_key_registration = args[:prediction_api_key_registration] if args.key?(:prediction_api_key_registration) end end # User event details shared by all recommendation types. class GoogleCloudRecommendationengineV1beta1EventDetail include Google::Apis::Core::Hashable # FeatureMap represents extra features that customers want to include in the # recommendation model for catalogs/user events as categorical/numerical # features. # Corresponds to the JSON property `eventAttributes` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMap] attr_accessor :event_attributes # Optional. A list of identifiers for the independent experiment groups this # user event belongs to. This is used to distinguish between user events # associated with different experiment setups (e.g. using Recommendation Engine # system, using different recommendation models). # Corresponds to the JSON property `experimentIds` # @return [Array] attr_accessor :experiment_ids # Optional. A unique id of a web page view. This should be kept the same for all # user events triggered from the same pageview. For example, an item detail page # view could trigger multiple events as the user is browsing the page. The ` # pageViewId` property should be kept the same for all these events so that they # can be grouped together properly. This `pageViewId` will be automatically # generated if using the JavaScript pixel. # Corresponds to the JSON property `pageViewId` # @return [String] attr_accessor :page_view_id # Optional. Recommendation token included in the recommendation prediction # response. This field enables accurate attribution of recommendation model # performance. This token enables us to accurately attribute page view or # purchase back to the event and the particular predict response containing this # clicked/purchased item. If user clicks on product K in the recommendation # results, pass the `PredictResponse.recommendationToken` property as a url # parameter to product K's page. When recording events on product K's page, log # the PredictResponse.recommendation_token to this field. Optional, but highly # encouraged for user events that are the result of a recommendation prediction # query. # Corresponds to the JSON property `recommendationToken` # @return [String] attr_accessor :recommendation_token # Optional. The referrer url of the current page. When using the JavaScript # pixel, this value is filled in automatically. # Corresponds to the JSON property `referrerUri` # @return [String] attr_accessor :referrer_uri # Optional. Complete url (window.location.href) of the user's current page. When # using the JavaScript pixel, this value is filled in automatically. Maximum # length 5KB. # Corresponds to the JSON property `uri` # @return [String] attr_accessor :uri def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @event_attributes = args[:event_attributes] if args.key?(:event_attributes) @experiment_ids = args[:experiment_ids] if args.key?(:experiment_ids) @page_view_id = args[:page_view_id] if args.key?(:page_view_id) @recommendation_token = args[:recommendation_token] if args.key?(:recommendation_token) @referrer_uri = args[:referrer_uri] if args.key?(:referrer_uri) @uri = args[:uri] if args.key?(:uri) end end # FeatureMap represents extra features that customers want to include in the # recommendation model for catalogs/user events as categorical/numerical # features. class GoogleCloudRecommendationengineV1beta1FeatureMap include Google::Apis::Core::Hashable # Categorical features that can take on one of a limited number of possible # values. Some examples would be the brand/maker of a product, or country of a # customer. Feature names and values must be UTF-8 encoded strings. For example: # `` "colors": `"value": ["yellow", "green"]`, "sizes": `"value":["S", "M"]`` # Corresponds to the JSON property `categoricalFeatures` # @return [Hash] attr_accessor :categorical_features # Numerical features. Some examples would be the height/weight of a product, or # age of a customer. Feature names must be UTF-8 encoded strings. For example: `` # "lengths_cm": `"value":[2.3, 15.4]`, "heights_cm": `"value":[8.1, 6.4]` `` # Corresponds to the JSON property `numericalFeatures` # @return [Hash] attr_accessor :numerical_features def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @categorical_features = args[:categorical_features] if args.key?(:categorical_features) @numerical_features = args[:numerical_features] if args.key?(:numerical_features) end end # A list of float features. class GoogleCloudRecommendationengineV1beta1FeatureMapFloatList include Google::Apis::Core::Hashable # Float feature value. # Corresponds to the JSON property `value` # @return [Array] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @value = args[:value] if args.key?(:value) end end # A list of string features. class GoogleCloudRecommendationengineV1beta1FeatureMapStringList include Google::Apis::Core::Hashable # String feature value with a length limit of 128 bytes. # Corresponds to the JSON property `value` # @return [Array] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @value = args[:value] if args.key?(:value) end end # Google Cloud Storage location for input content. format. class GoogleCloudRecommendationengineV1beta1GcsSource include Google::Apis::Core::Hashable # Required. Google Cloud Storage URIs to input files. URI can be up to 2000 # characters long. URIs can match the full object path (for example, gs://bucket/ # directory/object.json) or a pattern matching one or more files, such as gs:// # bucket/directory/*.json. A request can contain at most 100 files, and each # file can be up to 2 GB. See [Importing catalog information](/recommendations- # ai/docs/upload-catalog) for the expected file format and setup instructions. # Corresponds to the JSON property `inputUris` # @return [Array] attr_accessor :input_uris # Optional. The schema to use when parsing the data from the source. Supported # values for catalog imports: 1: "catalog_recommendations_ai" using https:// # cloud.google.com/recommendations-ai/docs/upload-catalog#json (Default for # catalogItems.import) 2: "catalog_merchant_center" using https://cloud.google. # com/recommendations-ai/docs/upload-catalog#mc Supported values for user events # imports: 1: "user_events_recommendations_ai" using https://cloud.google.com/ # recommendations-ai/docs/manage-user-events#import (Default for userEvents. # import) 2. "user_events_ga360" using https://support.google.com/analytics/ # answer/3437719?hl=en # Corresponds to the JSON property `jsonSchema` # @return [String] attr_accessor :json_schema def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @input_uris = args[:input_uris] if args.key?(:input_uris) @json_schema = args[:json_schema] if args.key?(:json_schema) end end # Catalog item thumbnail/detail image. class GoogleCloudRecommendationengineV1beta1Image include Google::Apis::Core::Hashable # Optional. Height of the image in number of pixels. # Corresponds to the JSON property `height` # @return [Fixnum] attr_accessor :height # Required. URL of the image with a length limit of 5 KiB. # Corresponds to the JSON property `uri` # @return [String] attr_accessor :uri # Optional. Width of the image in number of pixels. # Corresponds to the JSON property `width` # @return [Fixnum] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @height = args[:height] if args.key?(:height) @uri = args[:uri] if args.key?(:uri) @width = args[:width] if args.key?(:width) end end # Request message for Import methods. class GoogleCloudRecommendationengineV1beta1ImportCatalogItemsRequest include Google::Apis::Core::Hashable # Configuration of destination for Import related errors. # Corresponds to the JSON property `errorsConfig` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig] attr_accessor :errors_config # The input config source. # Corresponds to the JSON property `inputConfig` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1InputConfig] attr_accessor :input_config # Optional. Unique identifier provided by client, within the ancestor dataset # scope. Ensures idempotency and used for request deduplication. Server- # generated if unspecified. Up to 128 characters long. This is returned as # google.longrunning.Operation.name in the response. # Corresponds to the JSON property `requestId` # @return [String] attr_accessor :request_id # Optional. Indicates which fields in the provided imported 'items' to update. # If not set, will by default update all fields. # Corresponds to the JSON property `updateMask` # @return [String] attr_accessor :update_mask def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors_config = args[:errors_config] if args.key?(:errors_config) @input_config = args[:input_config] if args.key?(:input_config) @request_id = args[:request_id] if args.key?(:request_id) @update_mask = args[:update_mask] if args.key?(:update_mask) end end # Response of the ImportCatalogItemsRequest. If the long running operation is # done, then this message is returned by the google.longrunning.Operations. # response field if the operation was successful. class GoogleCloudRecommendationengineV1beta1ImportCatalogItemsResponse include Google::Apis::Core::Hashable # A sample of errors encountered while processing the request. # Corresponds to the JSON property `errorSamples` # @return [Array] attr_accessor :error_samples # Configuration of destination for Import related errors. # Corresponds to the JSON property `errorsConfig` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig] attr_accessor :errors_config def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_samples = args[:error_samples] if args.key?(:error_samples) @errors_config = args[:errors_config] if args.key?(:errors_config) end end # Configuration of destination for Import related errors. class GoogleCloudRecommendationengineV1beta1ImportErrorsConfig include Google::Apis::Core::Hashable # Google Cloud Storage path for import errors. This must be an empty, existing # Cloud Storage bucket. Import errors will be written to a file in this bucket, # one per line, as a JSON-encoded `google.rpc.Status` message. # Corresponds to the JSON property `gcsPrefix` # @return [String] attr_accessor :gcs_prefix def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @gcs_prefix = args[:gcs_prefix] if args.key?(:gcs_prefix) end end # Metadata related to the progress of the Import operation. This will be # returned by the google.longrunning.Operation.metadata field. class GoogleCloudRecommendationengineV1beta1ImportMetadata include Google::Apis::Core::Hashable # Operation create time. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Count of entries that encountered errors while processing. # Corresponds to the JSON property `failureCount` # @return [Fixnum] attr_accessor :failure_count # Name of the operation. # Corresponds to the JSON property `operationName` # @return [String] attr_accessor :operation_name # Id of the request / operation. This is parroting back the requestId that was # passed in the request. # Corresponds to the JSON property `requestId` # @return [String] attr_accessor :request_id # Count of entries that were processed successfully. # Corresponds to the JSON property `successCount` # @return [Fixnum] attr_accessor :success_count # Operation last update time. If the operation is done, this is also the finish # time. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @failure_count = args[:failure_count] if args.key?(:failure_count) @operation_name = args[:operation_name] if args.key?(:operation_name) @request_id = args[:request_id] if args.key?(:request_id) @success_count = args[:success_count] if args.key?(:success_count) @update_time = args[:update_time] if args.key?(:update_time) end end # Request message for the ImportUserEvents request. class GoogleCloudRecommendationengineV1beta1ImportUserEventsRequest include Google::Apis::Core::Hashable # Configuration of destination for Import related errors. # Corresponds to the JSON property `errorsConfig` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig] attr_accessor :errors_config # The input config source. # Corresponds to the JSON property `inputConfig` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1InputConfig] attr_accessor :input_config # Optional. Unique identifier provided by client, within the ancestor dataset # scope. Ensures idempotency for expensive long running operations. Server- # generated if unspecified. Up to 128 characters long. This is returned as # google.longrunning.Operation.name in the response. Note that this field must # not be set if the desired input config is catalog_inline_source. # Corresponds to the JSON property `requestId` # @return [String] attr_accessor :request_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors_config = args[:errors_config] if args.key?(:errors_config) @input_config = args[:input_config] if args.key?(:input_config) @request_id = args[:request_id] if args.key?(:request_id) end end # Response of the ImportUserEventsRequest. If the long running operation was # successful, then this message is returned by the google.longrunning.Operations. # response field if the operation was successful. class GoogleCloudRecommendationengineV1beta1ImportUserEventsResponse include Google::Apis::Core::Hashable # A sample of errors encountered while processing the request. # Corresponds to the JSON property `errorSamples` # @return [Array] attr_accessor :error_samples # Configuration of destination for Import related errors. # Corresponds to the JSON property `errorsConfig` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig] attr_accessor :errors_config # A summary of import result. The UserEventImportSummary summarizes the import # status for user events. # Corresponds to the JSON property `importSummary` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEventImportSummary] attr_accessor :import_summary def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_samples = args[:error_samples] if args.key?(:error_samples) @errors_config = args[:errors_config] if args.key?(:errors_config) @import_summary = args[:import_summary] if args.key?(:import_summary) end end # The input config source. class GoogleCloudRecommendationengineV1beta1InputConfig include Google::Apis::Core::Hashable # BigQuery source import data from. # Corresponds to the JSON property `bigQuerySource` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1BigQuerySource] attr_accessor :big_query_source # The inline source for the input config for ImportCatalogItems method. # Corresponds to the JSON property `catalogInlineSource` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogInlineSource] attr_accessor :catalog_inline_source # Google Cloud Storage location for input content. format. # Corresponds to the JSON property `gcsSource` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1GcsSource] attr_accessor :gcs_source # The inline source for the input config for ImportUserEvents method. # Corresponds to the JSON property `userEventInlineSource` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEventInlineSource] attr_accessor :user_event_inline_source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @big_query_source = args[:big_query_source] if args.key?(:big_query_source) @catalog_inline_source = args[:catalog_inline_source] if args.key?(:catalog_inline_source) @gcs_source = args[:gcs_source] if args.key?(:gcs_source) @user_event_inline_source = args[:user_event_inline_source] if args.key?(:user_event_inline_source) end end # Response message for ListCatalogItems method. class GoogleCloudRecommendationengineV1beta1ListCatalogItemsResponse include Google::Apis::Core::Hashable # The catalog items. # Corresponds to the JSON property `catalogItems` # @return [Array] attr_accessor :catalog_items # If empty, the list is complete. If nonempty, the token to pass to the next # request's ListCatalogItemRequest.page_token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @catalog_items = args[:catalog_items] if args.key?(:catalog_items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # Response for ListCatalogs method. class GoogleCloudRecommendationengineV1beta1ListCatalogsResponse include Google::Apis::Core::Hashable # Output only. All the customer's catalogs. # Corresponds to the JSON property `catalogs` # @return [Array] attr_accessor :catalogs # Pagination token, if not returned indicates the last page. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @catalogs = args[:catalogs] if args.key?(:catalogs) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # Response message for the `ListPredictionApiKeyRegistrations`. class GoogleCloudRecommendationengineV1beta1ListPredictionApiKeyRegistrationsResponse include Google::Apis::Core::Hashable # If empty, the list is complete. If nonempty, pass the token to the next # request's `ListPredictionApiKeysRegistrationsRequest.pageToken`. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # The list of registered API keys. # Corresponds to the JSON property `predictionApiKeyRegistrations` # @return [Array] attr_accessor :prediction_api_key_registrations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @prediction_api_key_registrations = args[:prediction_api_key_registrations] if args.key?(:prediction_api_key_registrations) end end # Response message for ListUserEvents method. class GoogleCloudRecommendationengineV1beta1ListUserEventsResponse include Google::Apis::Core::Hashable # If empty, the list is complete. If nonempty, the token to pass to the next # request's ListUserEvents.page_token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # The user events. # Corresponds to the JSON property `userEvents` # @return [Array] attr_accessor :user_events def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @user_events = args[:user_events] if args.key?(:user_events) end end # Request message for Predict method. class GoogleCloudRecommendationengineV1beta1PredictRequest include Google::Apis::Core::Hashable # Optional. Use dryRun mode for this prediction query. If set to true, a dummy # model will be used that returns arbitrary catalog items. Note that the dryRun # mode should only be used for testing the API, or if the model is not ready. # Corresponds to the JSON property `dryRun` # @return [Boolean] attr_accessor :dry_run alias_method :dry_run?, :dry_run # Optional. Filter for restricting prediction results. Accepts values for tags # and the `filterOutOfStockItems` flag. * Tag expressions. Restricts predictions # to items that match all of the specified tags. Boolean operators `OR` and `NOT` # are supported if the expression is enclosed in parentheses, and must be # separated from the tag values by a space. `-"tagA"` is also supported and is # equivalent to `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded # strings with a size limit of 1 KiB. * filterOutOfStockItems. Restricts # predictions to items that do not have a stockState value of OUT_OF_STOCK. # Examples: * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") * # filterOutOfStockItems tag=(-"promotional") * filterOutOfStockItems If your # filter blocks all prediction results, nothing will be returned. If you want # generic (unfiltered) popular items to be returned instead, set ` # strictFiltering` to false in `PredictRequest.params`. # Corresponds to the JSON property `filter` # @return [String] attr_accessor :filter # Optional. The labels for the predict request. * Label keys can contain # lowercase letters, digits and hyphens, must start with a letter, and must end # with a letter or digit. * Non-zero label values can contain lowercase letters, # digits and hyphens, must start with a letter, and must end with a letter or # digit. * No more than 64 labels can be associated with a given request. See # https://goo.gl/xmQnxf for more information on and examples of labels. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Optional. Maximum number of results to return per page. Set this property to # the number of prediction results required. If zero, the service will choose a # reasonable default. # Corresponds to the JSON property `pageSize` # @return [Fixnum] attr_accessor :page_size # Optional. The previous PredictResponse.next_page_token. # Corresponds to the JSON property `pageToken` # @return [String] attr_accessor :page_token # Optional. Additional domain specific parameters for the predictions. Allowed # values: * `returnCatalogItem`: Boolean. If set to true, the associated # catalogItem object will be returned in the `PredictResponse.PredictionResult. # itemMetadata` object in the method response. * `returnItemScore`: Boolean. If # set to true, the prediction 'score' corresponding to each returned item will # be set in the `metadata` field in the prediction response. The given 'score' # indicates the probability of an item being clicked/purchased given the user's # context and history. * `strictFiltering`: Boolean. True by default. If set to # false, the service will return generic (unfiltered) popular items instead of # empty if your filter blocks all prediction results. # Corresponds to the JSON property `params` # @return [Hash] attr_accessor :params # UserEvent captures all metadata information recommendation engine needs to # know about how end users interact with customers' website. # Corresponds to the JSON property `userEvent` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEvent] attr_accessor :user_event def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dry_run = args[:dry_run] if args.key?(:dry_run) @filter = args[:filter] if args.key?(:filter) @labels = args[:labels] if args.key?(:labels) @page_size = args[:page_size] if args.key?(:page_size) @page_token = args[:page_token] if args.key?(:page_token) @params = args[:params] if args.key?(:params) @user_event = args[:user_event] if args.key?(:user_event) end end # Response message for predict method. class GoogleCloudRecommendationengineV1beta1PredictResponse include Google::Apis::Core::Hashable # True if the dryRun property was set in the request. # Corresponds to the JSON property `dryRun` # @return [Boolean] attr_accessor :dry_run alias_method :dry_run?, :dry_run # IDs of items in the request that were missing from the catalog. # Corresponds to the JSON property `itemsMissingInCatalog` # @return [Array] attr_accessor :items_missing_in_catalog # Additional domain specific prediction response metadata. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata # If empty, the list is complete. If nonempty, the token to pass to the next # request's PredictRequest.page_token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # A unique recommendation token. This should be included in the user event logs # resulting from this recommendation, which enables accurate attribution of # recommendation model performance. # Corresponds to the JSON property `recommendationToken` # @return [String] attr_accessor :recommendation_token # A list of recommended items. The order represents the ranking (from the most # relevant item to the least). # Corresponds to the JSON property `results` # @return [Array] attr_accessor :results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dry_run = args[:dry_run] if args.key?(:dry_run) @items_missing_in_catalog = args[:items_missing_in_catalog] if args.key?(:items_missing_in_catalog) @metadata = args[:metadata] if args.key?(:metadata) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @recommendation_token = args[:recommendation_token] if args.key?(:recommendation_token) @results = args[:results] if args.key?(:results) end end # PredictionResult represents the recommendation prediction results. class GoogleCloudRecommendationengineV1beta1PredictResponsePredictionResult include Google::Apis::Core::Hashable # ID of the recommended catalog item # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Additional item metadata / annotations. Possible values: * `catalogItem`: JSON # representation of the catalogItem. Will be set if `returnCatalogItem` is set # to true in `PredictRequest.params`. * `score`: Prediction score in double # value. Will be set if `returnItemScore` is set to true in `PredictRequest. # params`. # Corresponds to the JSON property `itemMetadata` # @return [Hash] attr_accessor :item_metadata def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @item_metadata = args[:item_metadata] if args.key?(:item_metadata) end end # Registered Api Key. class GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration include Google::Apis::Core::Hashable # The API key. # Corresponds to the JSON property `apiKey` # @return [String] attr_accessor :api_key def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_key = args[:api_key] if args.key?(:api_key) end end # ProductCatalogItem captures item metadata specific to retail products. class GoogleCloudRecommendationengineV1beta1ProductCatalogItem include Google::Apis::Core::Hashable # Optional. The available quantity of the item. # Corresponds to the JSON property `availableQuantity` # @return [Fixnum] attr_accessor :available_quantity # Optional. Canonical URL directly linking to the item detail page with a length # limit of 5 KiB.. # Corresponds to the JSON property `canonicalProductUri` # @return [String] attr_accessor :canonical_product_uri # Optional. A map to pass the costs associated with the product. For example: `" # manufacturing": 45.5` The profit of selling this item is computed like so: * # If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If ' # priceRange' is provided, profit = minPrice - sum(costs) # Corresponds to the JSON property `costs` # @return [Hash] attr_accessor :costs # Optional. Only required if the price is set. Currency code for price/costs. # Use three-character ISO-4217 code. # Corresponds to the JSON property `currencyCode` # @return [String] attr_accessor :currency_code # Exact product price. # Corresponds to the JSON property `exactPrice` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice] attr_accessor :exact_price # Optional. Product images for the catalog item. # Corresponds to the JSON property `images` # @return [Array] attr_accessor :images # Product price range when there are a range of prices for different variations # of the same product. # Corresponds to the JSON property `priceRange` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRange] attr_accessor :price_range # Optional. Online stock state of the catalog item. Default is `IN_STOCK`. # Corresponds to the JSON property `stockState` # @return [String] attr_accessor :stock_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @available_quantity = args[:available_quantity] if args.key?(:available_quantity) @canonical_product_uri = args[:canonical_product_uri] if args.key?(:canonical_product_uri) @costs = args[:costs] if args.key?(:costs) @currency_code = args[:currency_code] if args.key?(:currency_code) @exact_price = args[:exact_price] if args.key?(:exact_price) @images = args[:images] if args.key?(:images) @price_range = args[:price_range] if args.key?(:price_range) @stock_state = args[:stock_state] if args.key?(:stock_state) end end # Exact product price. class GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice include Google::Apis::Core::Hashable # Optional. Display price of the product. # Corresponds to the JSON property `displayPrice` # @return [Float] attr_accessor :display_price # Optional. Price of the product without any discount. If zero, by default set # to be the 'displayPrice'. # Corresponds to the JSON property `originalPrice` # @return [Float] attr_accessor :original_price def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_price = args[:display_price] if args.key?(:display_price) @original_price = args[:original_price] if args.key?(:original_price) end end # Product price range when there are a range of prices for different variations # of the same product. class GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRange include Google::Apis::Core::Hashable # Required. The maximum product price. # Corresponds to the JSON property `max` # @return [Float] attr_accessor :max # Required. The minimum product price. # Corresponds to the JSON property `min` # @return [Float] attr_accessor :min def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max = args[:max] if args.key?(:max) @min = args[:min] if args.key?(:min) end end # Detailed product information associated with a user event. class GoogleCloudRecommendationengineV1beta1ProductDetail include Google::Apis::Core::Hashable # Optional. Quantity of the products in stock when a user event happens. # Optional. If provided, this overrides the available quantity in Catalog for # this event. and can only be set if `stock_status` is set to `IN_STOCK`. Note # that if an item is out of stock, you must set the `stock_state` field to be ` # OUT_OF_STOCK`. Leaving this field unspecified / as zero is not sufficient to # mark the item out of stock. # Corresponds to the JSON property `availableQuantity` # @return [Fixnum] attr_accessor :available_quantity # Optional. Currency code for price/costs. Use three-character ISO-4217 code. # Required only if originalPrice or displayPrice is set. # Corresponds to the JSON property `currencyCode` # @return [String] attr_accessor :currency_code # Optional. Display price of the product (e.g. discounted price). If provided, # this will override the display price in Catalog for this product. # Corresponds to the JSON property `displayPrice` # @return [Float] attr_accessor :display_price # Required. Catalog item ID. UTF-8 encoded string with a length limit of 128 # characters. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # FeatureMap represents extra features that customers want to include in the # recommendation model for catalogs/user events as categorical/numerical # features. # Corresponds to the JSON property `itemAttributes` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMap] attr_accessor :item_attributes # Optional. Original price of the product. If provided, this will override the # original price in Catalog for this product. # Corresponds to the JSON property `originalPrice` # @return [Float] attr_accessor :original_price # Optional. Quantity of the product associated with the user event. For example, # this field will be 2 if two products are added to the shopping cart for `add- # to-cart` event. Required for `add-to-cart`, `add-to-list`, `remove-from-cart`, # `checkout-start`, `purchase-complete`, `refund` event types. # Corresponds to the JSON property `quantity` # @return [Fixnum] attr_accessor :quantity # Optional. Item stock state. If provided, this overrides the stock state in # Catalog for items in this event. # Corresponds to the JSON property `stockState` # @return [String] attr_accessor :stock_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @available_quantity = args[:available_quantity] if args.key?(:available_quantity) @currency_code = args[:currency_code] if args.key?(:currency_code) @display_price = args[:display_price] if args.key?(:display_price) @id = args[:id] if args.key?(:id) @item_attributes = args[:item_attributes] if args.key?(:item_attributes) @original_price = args[:original_price] if args.key?(:original_price) @quantity = args[:quantity] if args.key?(:quantity) @stock_state = args[:stock_state] if args.key?(:stock_state) end end # ProductEventDetail captures user event information specific to retail products. class GoogleCloudRecommendationengineV1beta1ProductEventDetail include Google::Apis::Core::Hashable # Optional. The id or name of the associated shopping cart. This id is used to # associate multiple items added or present in the cart before purchase. This # can only be set for `add-to-cart`, `remove-from-cart`, `checkout-start`, ` # purchase-complete`, or `shopping-cart-page-view` events. # Corresponds to the JSON property `cartId` # @return [String] attr_accessor :cart_id # Required for `add-to-list` and `remove-from-list` events. The id or name of # the list that the item is being added to or removed from. Other event types # should not set this field. # Corresponds to the JSON property `listId` # @return [String] attr_accessor :list_id # Required for `category-page-view` events. Other event types should not set # this field. The categories associated with a category page. Category pages # include special pages such as sales or promotions. For instance, a special # sale page may have the category hierarchy: categories : ["Sales", "2017 Black # Friday Deals"]. # Corresponds to the JSON property `pageCategories` # @return [Array] attr_accessor :page_categories # The main product details related to the event. This field is required for the # following event types: * `add-to-cart` * `add-to-list` * `checkout-start` * ` # detail-page-view` * `purchase-complete` * `refund` * `remove-from-cart` * ` # remove-from-list` This field is optional for the following event types: * ` # page-visit` * `shopping-cart-page-view` - note that 'product_details' should # be set for this unless the shopping cart is empty. * `search` (highly # encouraged) In a `search` event, this field represents the products returned # to the end user on the current page (the end user may have not finished # broswing the whole page yet). When a new page is returned to the end user, # after pagination/filtering/ordering even for the same query, a new SEARCH # event with different product_details is desired. The end user may have not # finished broswing the whole page yet. This field is not allowed for the # following event types: * `category-page-view` * `home-page-view` # Corresponds to the JSON property `productDetails` # @return [Array] attr_accessor :product_details # A transaction represents the entire purchase transaction. # Corresponds to the JSON property `purchaseTransaction` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1PurchaseTransaction] attr_accessor :purchase_transaction # Required for `search` events. Other event types should not set this field. The # user's search query as UTF-8 encoded text with a length limit of 5 KiB. # Corresponds to the JSON property `searchQuery` # @return [String] attr_accessor :search_query def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cart_id = args[:cart_id] if args.key?(:cart_id) @list_id = args[:list_id] if args.key?(:list_id) @page_categories = args[:page_categories] if args.key?(:page_categories) @product_details = args[:product_details] if args.key?(:product_details) @purchase_transaction = args[:purchase_transaction] if args.key?(:purchase_transaction) @search_query = args[:search_query] if args.key?(:search_query) end end # A transaction represents the entire purchase transaction. class GoogleCloudRecommendationengineV1beta1PurchaseTransaction include Google::Apis::Core::Hashable # Optional. All the costs associated with the product. These can be # manufacturing costs, shipping expenses not borne by the end user, or any other # costs. Total product cost such that profit = revenue - (sum(taxes) + sum(costs) # ) If product_cost is not set, then profit = revenue - tax - shipping - sum( # CatalogItem.costs). If CatalogItem.cost is not specified for one of the items, # CatalogItem.cost based profit *cannot* be calculated for this Transaction. # Corresponds to the JSON property `costs` # @return [Hash] attr_accessor :costs # Required. Currency code. Use three-character ISO-4217 code. This field is not # required if the event type is `refund`. # Corresponds to the JSON property `currencyCode` # @return [String] attr_accessor :currency_code # Optional. The transaction ID with a length limit of 128 bytes. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Required. Total revenue or grand total associated with the transaction. This # value include shipping, tax, or other adjustments to total revenue that you # want to include as part of your revenue calculations. This field is not # required if the event type is `refund`. # Corresponds to the JSON property `revenue` # @return [Float] attr_accessor :revenue # Optional. All the taxes associated with the transaction. # Corresponds to the JSON property `taxes` # @return [Hash] attr_accessor :taxes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @costs = args[:costs] if args.key?(:costs) @currency_code = args[:currency_code] if args.key?(:currency_code) @id = args[:id] if args.key?(:id) @revenue = args[:revenue] if args.key?(:revenue) @taxes = args[:taxes] if args.key?(:taxes) end end # Metadata related to the progress of the PurgeUserEvents operation. This will # be returned by the google.longrunning.Operation.metadata field. class GoogleCloudRecommendationengineV1beta1PurgeUserEventsMetadata include Google::Apis::Core::Hashable # Operation create time. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # The ID of the request / operation. # Corresponds to the JSON property `operationName` # @return [String] attr_accessor :operation_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @operation_name = args[:operation_name] if args.key?(:operation_name) end end # Request message for PurgeUserEvents method. class GoogleCloudRecommendationengineV1beta1PurgeUserEventsRequest include Google::Apis::Core::Hashable # Required. The filter string to specify the events to be deleted. Empty string # filter is not allowed. The eligible fields for filtering are: * `eventType`: # UserEvent.eventType field of type string. * `eventTime`: in ISO 8601 "zulu" # format. * `visitorId`: field of type string. Specifying this will delete all # events associated with a visitor. * `userId`: field of type string. Specifying # this will delete all events associated with a user. Examples: * Deleting all # events in a time range: `eventTime > "2012-04-23T18:25:43.511Z" eventTime < " # 2012-04-23T18:30:43.511Z"` * Deleting specific eventType in time range: ` # eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` * # Deleting all events for a specific visitor: `visitorId = "visitor1024"` The # filtering fields are assumed to have an implicit AND. # Corresponds to the JSON property `filter` # @return [String] attr_accessor :filter # Optional. The default value is false. Override this flag to true to actually # perform the purge. If the field is not set to true, a sampling of events to be # deleted will be returned. # Corresponds to the JSON property `force` # @return [Boolean] attr_accessor :force alias_method :force?, :force def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @filter = args[:filter] if args.key?(:filter) @force = args[:force] if args.key?(:force) end end # Response of the PurgeUserEventsRequest. If the long running operation is # successfully done, then this message is returned by the google.longrunning. # Operations.response field. class GoogleCloudRecommendationengineV1beta1PurgeUserEventsResponse include Google::Apis::Core::Hashable # The total count of events purged as a result of the operation. # Corresponds to the JSON property `purgedEventsCount` # @return [Fixnum] attr_accessor :purged_events_count # A sampling of events deleted (or will be deleted) depending on the `force` # property in the request. Max of 500 items will be returned. # Corresponds to the JSON property `userEventsSample` # @return [Array] attr_accessor :user_events_sample def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @purged_events_count = args[:purged_events_count] if args.key?(:purged_events_count) @user_events_sample = args[:user_events_sample] if args.key?(:user_events_sample) end end # Metadata for RejoinUserEvents method. class GoogleCloudRecommendationengineV1beta1RejoinUserEventsMetadata include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Request message for CatalogRejoin method. class GoogleCloudRecommendationengineV1beta1RejoinUserEventsRequest include Google::Apis::Core::Hashable # Required. The type of the catalog rejoin to define the scope and range of the # user events to be rejoined with catalog items. # Corresponds to the JSON property `userEventRejoinScope` # @return [String] attr_accessor :user_event_rejoin_scope def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @user_event_rejoin_scope = args[:user_event_rejoin_scope] if args.key?(:user_event_rejoin_scope) end end # Response message for RejoinUserEvents method. class GoogleCloudRecommendationengineV1beta1RejoinUserEventsResponse include Google::Apis::Core::Hashable # Number of user events that were joined with latest catalog items. # Corresponds to the JSON property `rejoinedUserEventsCount` # @return [Fixnum] attr_accessor :rejoined_user_events_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rejoined_user_events_count = args[:rejoined_user_events_count] if args.key?(:rejoined_user_events_count) end end # UserEvent captures all metadata information recommendation engine needs to # know about how end users interact with customers' website. class GoogleCloudRecommendationengineV1beta1UserEvent include Google::Apis::Core::Hashable # User event details shared by all recommendation types. # Corresponds to the JSON property `eventDetail` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1EventDetail] attr_accessor :event_detail # Optional. This field should *not* be set when using JavaScript pixel or the # Recommendations AI Tag. Defaults to `EVENT_SOURCE_UNSPECIFIED`. # Corresponds to the JSON property `eventSource` # @return [String] attr_accessor :event_source # Optional. Only required for ImportUserEvents method. Timestamp of user event # created. # Corresponds to the JSON property `eventTime` # @return [String] attr_accessor :event_time # Required. User event type. Allowed values are: * `add-to-cart` Products being # added to cart. * `add-to-list` Items being added to a list (shopping list, # favorites etc). * `category-page-view` Special pages such as sale or promotion # pages viewed. * `checkout-start` User starting a checkout process. * `detail- # page-view` Products detail page viewed. * `home-page-view` Homepage viewed. * ` # page-visit` Generic page visits not included in the event types above. * ` # purchase-complete` User finishing a purchase. * `refund` Purchased items being # refunded or returned. * `remove-from-cart` Products being removed from cart. * # `remove-from-list` Items being removed from a list. * `search` Product search. # * `shopping-cart-page-view` User viewing a shopping cart. * `impression` List # of items displayed. Used by Google Tag Manager. # Corresponds to the JSON property `eventType` # @return [String] attr_accessor :event_type # ProductEventDetail captures user event information specific to retail products. # Corresponds to the JSON property `productEventDetail` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductEventDetail] attr_accessor :product_event_detail # Information of end users. # Corresponds to the JSON property `userInfo` # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserInfo] attr_accessor :user_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @event_detail = args[:event_detail] if args.key?(:event_detail) @event_source = args[:event_source] if args.key?(:event_source) @event_time = args[:event_time] if args.key?(:event_time) @event_type = args[:event_type] if args.key?(:event_type) @product_event_detail = args[:product_event_detail] if args.key?(:product_event_detail) @user_info = args[:user_info] if args.key?(:user_info) end end # A summary of import result. The UserEventImportSummary summarizes the import # status for user events. class GoogleCloudRecommendationengineV1beta1UserEventImportSummary include Google::Apis::Core::Hashable # Count of user events imported with complete existing catalog information. # Corresponds to the JSON property `joinedEventsCount` # @return [Fixnum] attr_accessor :joined_events_count # Count of user events imported, but with catalog information not found in the # imported catalog. # Corresponds to the JSON property `unjoinedEventsCount` # @return [Fixnum] attr_accessor :unjoined_events_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @joined_events_count = args[:joined_events_count] if args.key?(:joined_events_count) @unjoined_events_count = args[:unjoined_events_count] if args.key?(:unjoined_events_count) end end # The inline source for the input config for ImportUserEvents method. class GoogleCloudRecommendationengineV1beta1UserEventInlineSource include Google::Apis::Core::Hashable # Optional. A list of user events to import. Recommended max of 10k items. # Corresponds to the JSON property `userEvents` # @return [Array] attr_accessor :user_events def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @user_events = args[:user_events] if args.key?(:user_events) end end # Information of end users. class GoogleCloudRecommendationengineV1beta1UserInfo include Google::Apis::Core::Hashable # Optional. Indicates if the request is made directly from the end user in which # case the user_agent and ip_address fields can be populated from the HTTP # request. This should *not* be set when using the javascript pixel. This flag # should be set only if the API request is made directly from the end user such # as a mobile app (and not if a gateway or a server is processing and pushing # the user events). # Corresponds to the JSON property `directUserRequest` # @return [Boolean] attr_accessor :direct_user_request alias_method :direct_user_request?, :direct_user_request # Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80) # or IPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should *not* be # set when using the javascript pixel or if `direct_user_request` is set. Used # to extract location information for personalization. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # Optional. User agent as included in the HTTP header. UTF-8 encoded string with # a length limit of 1 KiB. This should *not* be set when using the JavaScript # pixel or if `directUserRequest` is set. # Corresponds to the JSON property `userAgent` # @return [String] attr_accessor :user_agent # Optional. Unique identifier for logged-in user with a length limit of 128 # bytes. Required only for logged-in users. # Corresponds to the JSON property `userId` # @return [String] attr_accessor :user_id # Required. A unique identifier for tracking visitors with a length limit of 128 # bytes. For example, this could be implemented with a http cookie, which should # be able to uniquely identify a visitor on a single device. This unique # identifier should not change if the visitor log in/out of the website. Maximum # length 128 bytes. Cannot be empty. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request) @ip_address = args[:ip_address] if args.key?(:ip_address) @user_agent = args[:user_agent] if args.key?(:user_agent) @user_id = args[:user_id] if args.key?(:user_id) @visitor_id = args[:visitor_id] if args.key?(:visitor_id) end end # The response message for Operations.ListOperations. class GoogleLongrunningListOperationsResponse include Google::Apis::Core::Hashable # The standard List next-page token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # A list of operations that matches the specified filter in the request. # Corresponds to the JSON property `operations` # @return [Array] attr_accessor :operations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @operations = args[:operations] if args.key?(:operations) end end # This resource represents a long-running operation that is the result of a # network API call. class GoogleLongrunningOperation include Google::Apis::Core::Hashable # If the value is `false`, it means the operation is still in progress. If `true` # , the operation is completed, and either `error` or `response` is available. # Corresponds to the JSON property `done` # @return [Boolean] attr_accessor :done alias_method :done?, :done # The `Status` type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by [ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of # data: error code, error message, and error details. You can find out more # about this error model and how to work with it in the [API Design Guide](https: # //cloud.google.com/apis/design/errors). # Corresponds to the JSON property `error` # @return [Google::Apis::RecommendationengineV1beta1::GoogleRpcStatus] attr_accessor :error # Service-specific metadata associated with the operation. It typically contains # progress information and common metadata such as create time. Some services # might not provide such metadata. Any method that returns a long-running # operation should document the metadata type, if any. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata # The server-assigned name, which is only unique within the same service that # originally returns it. If you use the default HTTP mapping, the `name` should # be a resource name ending with `operations/`unique_id``. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The normal response of the operation in case of success. If the original # method returns no data on success, such as `Delete`, the response is `google. # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, # the response should be the resource. For other methods, the response should # have the type `XxxResponse`, where `Xxx` is the original method name. For # example, if the original method name is `TakeSnapshot()`, the inferred # response type is `TakeSnapshotResponse`. # Corresponds to the JSON property `response` # @return [Hash] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @done = args[:done] if args.key?(:done) @error = args[:error] if args.key?(:error) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @response = args[:response] if args.key?(:response) end end # A generic empty message that you can re-use to avoid defining duplicated empty # messages in your APIs. A typical example is to use it as the request or the # response type of an API method. For instance: service Foo ` rpc Bar(google. # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for # `Empty` is empty JSON object ````. class GoogleProtobufEmpty include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # The `Status` type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by [ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of # data: error code, error message, and error details. You can find out more # about this error model and how to work with it in the [API Design Guide](https: # //cloud.google.com/apis/design/errors). class GoogleRpcStatus include Google::Apis::Core::Hashable # The status code, which should be an enum value of google.rpc.Code. # Corresponds to the JSON property `code` # @return [Fixnum] attr_accessor :code # A list of messages that carry the error details. There is a common set of # message types for APIs to use. # Corresponds to the JSON property `details` # @return [Array>] attr_accessor :details # A developer-facing error message, which should be in English. Any user-facing # error message should be localized and sent in the google.rpc.Status.details # field, or localized by the client. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @details = args[:details] if args.key?(:details) @message = args[:message] if args.key?(:message) end end end end end