Index
-
AnalyticsService
(interface) -
CatalogService
(interface) -
CompletionService
(interface) -
ControlService
(interface) -
GenerativeQuestionService
(interface) -
ModelService
(interface) -
PredictionService
(interface) -
ProductService
(interface) -
SearchService
(interface) -
ServingConfigService
(interface) -
UserEventService
(interface) -
AddCatalogAttributeRequest
(message) -
AddControlRequest
(message) -
AddFulfillmentPlacesMetadata
(message) -
AddFulfillmentPlacesRequest
(message) -
AddFulfillmentPlacesResponse
(message) -
AddLocalInventoriesMetadata
(message) -
AddLocalInventoriesRequest
(message) -
AddLocalInventoriesResponse
(message) -
AttributeConfigLevel
(enum) -
AttributesConfig
(message) -
Audience
(message) -
BatchUpdateGenerativeQuestionConfigsRequest
(message) -
BatchUpdateGenerativeQuestionConfigsResponse
(message) -
BigQueryOutputResult
(message) -
BigQuerySource
(message) -
Catalog
(message) -
CatalogAttribute
(message) -
CatalogAttribute.AttributeType
(enum) -
CatalogAttribute.DynamicFacetableOption
(enum) -
CatalogAttribute.ExactSearchableOption
(enum) -
CatalogAttribute.FacetConfig
(message) -
CatalogAttribute.FacetConfig.IgnoredFacetValues
(message) -
CatalogAttribute.FacetConfig.MergedFacet
(message) -
CatalogAttribute.FacetConfig.MergedFacetValue
(message) -
CatalogAttribute.FacetConfig.RerankConfig
(message) -
CatalogAttribute.IndexableOption
(enum) -
CatalogAttribute.RetrievableOption
(enum) -
CatalogAttribute.SearchableOption
(enum) -
CollectUserEventRequest
(message) -
ColorInfo
(message) -
CompleteQueryRequest
(message) -
CompleteQueryResponse
(message) -
CompleteQueryResponse.AttributeResult
(message) -
CompleteQueryResponse.CompletionResult
(message) -
CompleteQueryResponse.RecentSearchResult
(message) (deprecated) -
CompletionConfig
(message) -
CompletionDataInputConfig
(message) -
CompletionDetail
(message) -
Condition
(message) -
Condition.QueryTerm
(message) -
Condition.TimeRange
(message) -
Control
(message) -
ConversationalSearchCustomizationConfig
(message) -
CreateControlRequest
(message) -
CreateModelMetadata
(message) -
CreateModelRequest
(message) -
CreateProductRequest
(message) -
CreateServingConfigRequest
(message) -
CustomAttribute
(message) -
DeleteControlRequest
(message) -
DeleteModelRequest
(message) -
DeleteProductRequest
(message) -
DeleteServingConfigRequest
(message) -
DoubleList
(message) -
ExperimentInfo
(message) -
ExperimentInfo.ServingConfigExperiment
(message) -
ExportAnalyticsMetricsRequest
(message) -
ExportAnalyticsMetricsResponse
(message) -
ExportErrorsConfig
(message) -
ExportMetadata
(message) -
FulfillmentInfo
(message) -
GcsOutputResult
(message) -
GcsSource
(message) -
GenerativeQuestionConfig
(message) -
GenerativeQuestionsFeatureConfig
(message) -
GetAttributesConfigRequest
(message) -
GetCompletionConfigRequest
(message) -
GetControlRequest
(message) -
GetConversationalSearchCustomizationConfigRequest
(message) -
GetDefaultBranchRequest
(message) -
GetDefaultBranchResponse
(message) -
GetGenerativeQuestionsFeatureConfigRequest
(message) -
GetModelRequest
(message) -
GetProductRequest
(message) -
GetServingConfigRequest
(message) -
Image
(message) -
ImportCompletionDataRequest
(message) -
ImportCompletionDataResponse
(message) -
ImportErrorsConfig
(message) -
ImportMetadata
(message) -
ImportProductsRequest
(message) -
ImportProductsRequest.ReconciliationMode
(enum) -
ImportProductsResponse
(message) -
ImportUserEventsRequest
(message) -
ImportUserEventsResponse
(message) -
IntentClassificationConfig
(message) -
IntentClassificationConfig.Example
(message) -
IntentClassificationConfig.InlineForceIntent
(message) -
IntentClassificationConfig.InlineForceIntent.Operation
(enum) -
IntentClassificationConfig.InlineSource
(message) -
Interval
(message) -
ListCatalogsRequest
(message) -
ListCatalogsResponse
(message) -
ListControlsRequest
(message) -
ListControlsResponse
(message) -
ListGenerativeQuestionConfigsRequest
(message) -
ListGenerativeQuestionConfigsResponse
(message) -
ListModelsRequest
(message) -
ListModelsResponse
(message) -
ListProductsRequest
(message) -
ListProductsResponse
(message) -
ListServingConfigsRequest
(message) -
ListServingConfigsResponse
(message) -
LocalInventory
(message) -
Model
(message) -
Model.ContextProductsType
(enum) -
Model.DataState
(enum) -
Model.FrequentlyBoughtTogetherFeaturesConfig
(message) -
Model.ModelFeaturesConfig
(message) -
Model.PeriodicTuningState
(enum) -
Model.ServingConfigList
(message) -
Model.ServingState
(enum) -
Model.TrainingState
(enum) -
OutputConfig
(message) -
OutputConfig.BigQueryDestination
(message) -
OutputConfig.GcsDestination
(message) -
OutputResult
(message) -
PanelInfo
(message) -
PauseModelRequest
(message) -
PinControlMetadata
(message) -
PinControlMetadata.ProductPins
(message) -
PredictRequest
(message) -
PredictResponse
(message) -
PredictResponse.PredictionResult
(message) -
PriceInfo
(message) -
PriceInfo.PriceRange
(message) -
Product
(message) -
Product.Availability
(enum) -
Product.Type
(enum) -
ProductAttributeInterval
(message) -
ProductAttributeValue
(message) -
ProductDetail
(message) -
ProductInlineSource
(message) -
ProductInputConfig
(message) -
ProductLevelConfig
(message) -
Promotion
(message) -
PurchaseTransaction
(message) -
PurgeMetadata
(message) -
PurgeProductsMetadata
(message) -
PurgeProductsRequest
(message) -
PurgeProductsResponse
(message) -
PurgeUserEventsRequest
(message) -
PurgeUserEventsResponse
(message) -
Rating
(message) -
RecommendationsFilteringOption
(enum) -
RejoinUserEventsMetadata
(message) -
RejoinUserEventsRequest
(message) -
RejoinUserEventsRequest.UserEventRejoinScope
(enum) -
RejoinUserEventsResponse
(message) -
RemoveCatalogAttributeRequest
(message) -
RemoveControlRequest
(message) -
RemoveFulfillmentPlacesMetadata
(message) -
RemoveFulfillmentPlacesRequest
(message) -
RemoveFulfillmentPlacesResponse
(message) -
RemoveLocalInventoriesMetadata
(message) -
RemoveLocalInventoriesRequest
(message) -
RemoveLocalInventoriesResponse
(message) -
ReplaceCatalogAttributeRequest
(message) -
ResumeModelRequest
(message) -
Rule
(message) -
Rule.BoostAction
(message) -
Rule.DoNotAssociateAction
(message) -
Rule.FilterAction
(message) -
Rule.ForceReturnFacetAction
(message) -
Rule.ForceReturnFacetAction.FacetPositionAdjustment
(message) -
Rule.IgnoreAction
(message) -
Rule.OnewaySynonymsAction
(message) -
Rule.PinAction
(message) -
Rule.RedirectAction
(message) -
Rule.RemoveFacetAction
(message) -
Rule.ReplacementAction
(message) -
Rule.TwowaySynonymsAction
(message) -
SearchRequest
(message) -
SearchRequest.BoostSpec
(message) -
SearchRequest.BoostSpec.ConditionBoostSpec
(message) -
SearchRequest.ConversationalSearchSpec
(message) -
SearchRequest.ConversationalSearchSpec.UserAnswer
(message) -
SearchRequest.ConversationalSearchSpec.UserAnswer.SelectedAnswer
(message) -
SearchRequest.DynamicFacetSpec
(message) -
SearchRequest.DynamicFacetSpec.Mode
(enum) -
SearchRequest.FacetSpec
(message) -
SearchRequest.FacetSpec.FacetKey
(message) -
SearchRequest.PersonalizationSpec
(message) -
SearchRequest.PersonalizationSpec.Mode
(enum) -
SearchRequest.QueryExpansionSpec
(message) -
SearchRequest.QueryExpansionSpec.Condition
(enum) -
SearchRequest.SearchMode
(enum) -
SearchRequest.SpellCorrectionSpec
(message) -
SearchRequest.SpellCorrectionSpec.Mode
(enum) -
SearchRequest.TileNavigationSpec
(message) -
SearchResponse
(message) -
SearchResponse.ConversationalSearchResult
(message) -
SearchResponse.ConversationalSearchResult.AdditionalFilter
(message) -
SearchResponse.ConversationalSearchResult.QueryType
(enum) (deprecated) -
SearchResponse.ConversationalSearchResult.SuggestedAnswer
(message) -
SearchResponse.Facet
(message) -
SearchResponse.Facet.FacetValue
(message) -
SearchResponse.QueryExpansionInfo
(message) -
SearchResponse.SearchResult
(message) -
SearchResponse.TileNavigationResult
(message) -
SearchSolutionUseCase
(enum) -
ServingConfig
(message) -
ServingConfig.DiversityType
(enum) -
SetDefaultBranchRequest
(message) -
SetInventoryMetadata
(message) -
SetInventoryRequest
(message) -
SetInventoryResponse
(message) -
SolutionType
(enum) -
StringList
(message) -
Tile
(message) -
TuneModelMetadata
(message) -
TuneModelRequest
(message) -
TuneModelResponse
(message) -
UpdateAttributesConfigRequest
(message) -
UpdateCatalogRequest
(message) -
UpdateCompletionConfigRequest
(message) -
UpdateControlRequest
(message) -
UpdateConversationalSearchCustomizationConfigRequest
(message) -
UpdateGenerativeQuestionConfigRequest
(message) -
UpdateGenerativeQuestionsFeatureConfigRequest
(message) -
UpdateModelRequest
(message) -
UpdateProductRequest
(message) -
UpdateServingConfigRequest
(message) -
UserEvent
(message) -
UserEventImportSummary
(message) -
UserEventInlineSource
(message) -
UserEventInputConfig
(message) -
UserInfo
(message) -
WriteUserEventRequest
(message)
AnalyticsService
Service for managing & accessing retail search business metric. Retail recommendation business metric is currently not available.
rpc ExportAnalyticsMetrics(
ExportAnalyticsMetricsRequest
) returns ( Operation
)
Exports analytics metrics.
Operation.response
is of type ExportAnalyticsMetricsResponse
. Operation.metadata
is of type ExportMetadata
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
catalog
resource:-
retail.catalogs.exportAnalyticsMetrics
For more information, see the IAM documentation .
-
CatalogService
Service for managing catalog configuration.
rpc AddCatalogAttribute(
AddCatalogAttributeRequest
) returns ( AttributesConfig
)
Adds the specified CatalogAttribute
to the AttributesConfig
.
If the CatalogAttribute
to add already exists, an ALREADY_EXISTS error is returned.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
attributesConfig
resource:-
retail.attributesConfigs.addCatalogAttribute
For more information, see the IAM documentation .
-
rpc GetAttributesConfig(
GetAttributesConfigRequest
) returns ( AttributesConfig
)
Gets an AttributesConfig
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.attributesConfigs.get
For more information, see the IAM documentation .
-
rpc GetCompletionConfig(
GetCompletionConfigRequest
) returns ( CompletionConfig
)
Gets a CompletionConfig
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetDefaultBranch(
GetDefaultBranchRequest
) returns ( GetDefaultBranchResponse
)
Get which branch is currently default branch set by CatalogService.SetDefaultBranch
method under a specified parent catalog.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
catalog
resource:-
retail.catalogs.get
For more information, see the IAM documentation .
-
rpc ListCatalogs(
ListCatalogsRequest
) returns ( ListCatalogsResponse
)
Lists all the Catalog
s associated with the project.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.catalogs.list
For more information, see the IAM documentation .
-
rpc RemoveCatalogAttribute(
RemoveCatalogAttributeRequest
) returns ( AttributesConfig
)
Removes the specified CatalogAttribute
from the AttributesConfig
.
If the CatalogAttribute
to remove does not exist, a NOT_FOUND error is returned.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
attributesConfig
resource:-
retail.attributesConfigs.removeCatalogAttribute
For more information, see the IAM documentation .
-
rpc ReplaceCatalogAttribute(
ReplaceCatalogAttributeRequest
) returns ( AttributesConfig
)
Replaces the specified CatalogAttribute
in the AttributesConfig
by updating the catalog attribute with the same CatalogAttribute.key
.
If the CatalogAttribute
to replace does not exist, a NOT_FOUND error is returned.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
attributesConfig
resource:-
retail.attributesConfigs.replaceCatalogAttribute
For more information, see the IAM documentation .
-
rpc SetDefaultBranch(
SetDefaultBranchRequest
) returns ( Empty
)
Set a specified branch id as default branch. API methods such as SearchService.Search
, ProductService.GetProduct
, ProductService.ListProducts
will treat requests using "default_branch" to the actual branch id set as default.
For example, if projects/*/locations/*/catalogs/*/branches/1
is set as default, setting SearchRequest.branch
to projects/*/locations/*/catalogs/*/branches/default_branch
is equivalent to setting SearchRequest.branch
to projects/*/locations/*/catalogs/*/branches/1
.
Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using projects/*/locations/*/catalogs/*/branches/default_branch
as SearchRequest.branch
to route the traffic to this staging branch.
CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.
More specifically:
- PredictionService will only return product IDs from branch {newBranch}.
- SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set).
- UserEventService will only join events with products from branch {newBranch}.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
catalog
resource:-
retail.catalogs.update
For more information, see the IAM documentation .
-
rpc UpdateAttributesConfig(
UpdateAttributesConfigRequest
) returns ( AttributesConfig
)
Updates the AttributesConfig
.
The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.attributesConfigs.update
For more information, see the IAM documentation .
-
rpc UpdateCatalog(
UpdateCatalogRequest
) returns ( Catalog
)
Updates the Catalog
s.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.catalogs.update
For more information, see the IAM documentation .
-
rpc UpdateCompletionConfig(
UpdateCompletionConfigRequest
) returns ( CompletionConfig
)
Updates the CompletionConfig
s.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
CompletionService
Autocomplete service for retail.
This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.
rpc CompleteQuery(
CompleteQueryRequest
) returns ( CompleteQueryResponse
)
Completes the specified prefix with keyword suggestions.
This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
catalog
resource:-
retail.catalogs.completeQuery
For more information, see the IAM documentation .
-
rpc ImportCompletionData(
ImportCompletionDataRequest
) returns ( Operation
)
Bulk import of processed completion dataset.
Request processing is asynchronous. Partial updating is not supported.
The operation is successfully finished only after the imported suggestions are indexed successfully and ready for serving. The process takes hours.
This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.catalogs.import
For more information, see the IAM documentation .
-
ControlService
Service for modifying Control.
rpc CreateControl(
CreateControlRequest
) returns ( Control
)
Creates a Control.
If the Control
to create already exists, an ALREADY_EXISTS error is returned.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.controls.create
For more information, see the IAM documentation .
-
rpc DeleteControl(
DeleteControlRequest
) returns ( Empty
)
Deletes a Control.
If the Control
to delete does not exist, a NOT_FOUND error is returned.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.controls.delete
For more information, see the IAM documentation .
-
rpc GetControl(
GetControlRequest
) returns ( Control
)
Gets a Control.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.controls.get
For more information, see the IAM documentation .
-
rpc ListControls(
ListControlsRequest
) returns ( ListControlsResponse
)
Lists all Controls by their parent Catalog
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.controls.list
For more information, see the IAM documentation .
-
rpc UpdateControl(
UpdateControlRequest
) returns ( Control
)
Updates a Control.
Control
cannot be set to a different oneof field, if so an INVALID_ARGUMENT is returned. If the Control
to update does not exist, a NOT_FOUND error is returned.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.controls.update
For more information, see the IAM documentation .
-
GenerativeQuestionService
Service for managing LLM generated questions in search serving.
rpc BatchUpdateGenerativeQuestionConfigs(
BatchUpdateGenerativeQuestionConfigsRequest
) returns ( BatchUpdateGenerativeQuestionConfigsResponse
)
Allows management of multiple questions.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetConversationalSearchCustomizationConfig(
GetConversationalSearchCustomizationConfigRequest
) returns ( ConversationalSearchCustomizationConfig
)
Returns the conversational search customization config for a given catalog.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetGenerativeQuestionsFeatureConfig(
GetGenerativeQuestionsFeatureConfigRequest
) returns ( GenerativeQuestionsFeatureConfig
)
Manages overal generative question feature state -- enables toggling feature on and off.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListGenerativeQuestionConfigs(
ListGenerativeQuestionConfigsRequest
) returns ( ListGenerativeQuestionConfigsResponse
)
Returns all questions for a given catalog.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateConversationalSearchCustomizationConfig(
UpdateConversationalSearchCustomizationConfigRequest
) returns ( ConversationalSearchCustomizationConfig
)
Updates the conversational search customization config for a given catalog.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateGenerativeQuestionConfig(
UpdateGenerativeQuestionConfigRequest
) returns ( GenerativeQuestionConfig
)
Allows management of individual questions.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateGenerativeQuestionsFeatureConfig(
UpdateGenerativeQuestionsFeatureConfigRequest
) returns ( GenerativeQuestionsFeatureConfig
)
Manages overal generative question feature state -- enables toggling feature on and off.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
ModelService
Service for performing CRUD operations on models. Recommendation models contain all the metadata necessary to generate a set of models for the Predict()
API. A model is queried indirectly via a ServingConfig, which associates a model with a given Placement (e.g. Frequently Bought Together on Home Page).
This service allows you to do the following:
- Initiate training of a model.
- Pause training of an existing model.
- List all the available models along with their metadata.
- Control their tuning schedule.
rpc CreateModel(
CreateModelRequest
) returns ( Operation
)
Creates a new model.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.models.create
For more information, see the IAM documentation .
-
rpc DeleteModel(
DeleteModelRequest
) returns ( Empty
)
Deletes an existing model.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.models.delete
For more information, see the IAM documentation .
-
rpc GetModel(
GetModelRequest
) returns ( Model
)
Gets a model.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.models.get
For more information, see the IAM documentation .
-
rpc ListModels(
ListModelsRequest
) returns ( ListModelsResponse
)
Lists all the models linked to this event store.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.models.list
For more information, see the IAM documentation .
-
rpc PauseModel(
PauseModelRequest
) returns ( Model
)
Pauses the training of an existing model.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.models.pause
For more information, see the IAM documentation .
-
rpc ResumeModel(
ResumeModelRequest
) returns ( Model
)
Resumes the training of an existing model.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.models.resume
For more information, see the IAM documentation .
-
rpc TuneModel(
TuneModelRequest
) returns ( Operation
)
Tunes an existing model.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.models.tune
For more information, see the IAM documentation .
-
rpc UpdateModel(
UpdateModelRequest
) returns ( Model
)
Update of model metadata. Only fields that currently can be updated are: filtering_option
and periodic_tuning_state
. If other values are provided, this API method ignores them.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.models.update
For more information, see the IAM documentation .
-
PredictionService
Service for making recommendation prediction.
rpc Predict(
PredictRequest
) returns ( PredictResponse
)
Makes a recommendation prediction.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires one of the following IAM permissions on the
placement
resource, depending on the resource type:-
retail.placements.predict
-
retail.servingConfigs.predict
For more information, see the IAM documentation .
-
ProductService
Service for ingesting Product
information of the customer's website.
rpc AddFulfillmentPlaces(
AddFulfillmentPlacesRequest
) returns ( Operation
)
We recommend that you use the ProductService.AddLocalInventories
method instead of the ProductService.AddFulfillmentPlaces
method. ProductService.AddLocalInventories
achieves the same results but provides more fine-grained control over ingesting local inventory data.
Incrementally adds place IDs to Product.fulfillment_info.place_ids
.
This process is asynchronous and does not require the Product
to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product
queried by ProductService.GetProduct
or ProductService.ListProducts
.
The returned Operation
s will be obsolete after 1 day, and GetOperation
API will return NOT_FOUND afterwards.
If conflicting updates are issued, the Operation
s associated with the stale updates will not be marked as done
until being obsolete.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
product
resource:-
retail.products.update
For more information, see the IAM documentation .
-
rpc AddLocalInventories(
AddLocalInventoriesRequest
) returns ( Operation
)
Updates local inventory information for a Product
at a list of places, while respecting the last update timestamps of each inventory field.
This process is asynchronous and does not require the Product
to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product
queried by ProductService.GetProduct
or ProductService.ListProducts
.
Local inventory information can only be modified using this method. ProductService.CreateProduct
and ProductService.UpdateProduct
has no effect on local inventories.
The returned Operation
s will be obsolete after 1 day, and GetOperation
API will return NOT_FOUND afterwards.
If conflicting updates are issued, the Operation
s associated with the stale updates will not be marked as done
until being obsolete.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
product
resource:-
retail.products.update
For more information, see the IAM documentation .
-
rpc CreateProduct(
CreateProductRequest
) returns ( Product
)
Creates a Product
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.products.create
For more information, see the IAM documentation .
-
rpc DeleteProduct(
DeleteProductRequest
) returns ( Empty
)
Deletes a Product
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.products.delete
For more information, see the IAM documentation .
-
rpc GetProduct(
GetProductRequest
) returns ( Product
)
Gets a Product
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.products.get
For more information, see the IAM documentation .
-
rpc ImportProducts(
ImportProductsRequest
) returns ( Operation
)
Bulk import of multiple Product
s.
Request processing may be synchronous. Non-existing items are created.
Note that it is possible for a subset of the Product
s to be successfully updated.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.products.import
For more information, see the IAM documentation .
-
rpc ListProducts(
ListProductsRequest
) returns ( ListProductsResponse
)
Gets a list of Product
s.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.products.list
For more information, see the IAM documentation .
-
rpc PurgeProducts(
PurgeProductsRequest
) returns ( Operation
)
Permanently deletes all selected Product
s under a branch.
This process is asynchronous. If the request is valid, the removal will be enqueued and processed offline. Depending on the number of Product
s, this operation could take hours to complete. Before the operation completes, some Product
s may still be returned by ProductService.GetProduct
or ProductService.ListProducts
.
Depending on the number of Product
s, this operation could take hours to complete. To get a sample of Product
s that would be deleted, set PurgeProductsRequest.force
to false.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.products.purge
For more information, see the IAM documentation .
-
rpc RemoveFulfillmentPlaces(
RemoveFulfillmentPlacesRequest
) returns ( Operation
)
We recommend that you use the ProductService.RemoveLocalInventories
method instead of the ProductService.RemoveFulfillmentPlaces
method. ProductService.RemoveLocalInventories
achieves the same results but provides more fine-grained control over ingesting local inventory data.
Incrementally removes place IDs from a Product.fulfillment_info.place_ids
.
This process is asynchronous and does not require the Product
to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product
queried by ProductService.GetProduct
or ProductService.ListProducts
.
The returned Operation
s will be obsolete after 1 day, and GetOperation
API will return NOT_FOUND afterwards.
If conflicting updates are issued, the Operation
s associated with the stale updates will not be marked as done
until being obsolete.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
product
resource:-
retail.products.update
For more information, see the IAM documentation .
-
rpc RemoveLocalInventories(
RemoveLocalInventoriesRequest
) returns ( Operation
)
Remove local inventory information for a Product
at a list of places at a removal timestamp.
This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product
queried by ProductService.GetProduct
or ProductService.ListProducts
.
Local inventory information can only be removed using this method. ProductService.CreateProduct
and ProductService.UpdateProduct
has no effect on local inventories.
The returned Operation
s will be obsolete after 1 day, and GetOperation
API will return NOT_FOUND afterwards.
If conflicting updates are issued, the Operation
s associated with the stale updates will not be marked as done
until being obsolete.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
product
resource:-
retail.products.update
For more information, see the IAM documentation .
-
rpc SetInventory(
SetInventoryRequest
) returns ( Operation
)
Updates inventory information for a Product
while respecting the last update timestamps of each inventory field.
This process is asynchronous and does not require the Product
to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product
queried by ProductService.GetProduct
or ProductService.ListProducts
.
When inventory is updated with ProductService.CreateProduct
and ProductService.UpdateProduct
, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct
or ProductService.UpdateProduct
request.
If no inventory fields are set in CreateProductRequest.product
, then any pre-existing inventory information for this product is used.
If no inventory fields are set in SetInventoryRequest.set_mask
, then any existing inventory information is preserved.
Pre-existing inventory information can only be updated with ProductService.SetInventory
, ProductService.AddFulfillmentPlaces
, and ProductService.RemoveFulfillmentPlaces
.
The returned Operation
s is obsolete after one day, and the GetOperation
API returns NOT_FOUND
afterwards.
If conflicting updates are issued, the Operation
s associated with the stale updates are not marked as done
until they are obsolete.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.products.update
For more information, see the IAM documentation .
-
rpc UpdateProduct(
UpdateProductRequest
) returns ( Product
)
Updates a Product
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.products.update
For more information, see the IAM documentation .
-
SearchService
Service for search.
This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.
rpc Search(
SearchRequest
) returns ( SearchResponse
)
Performs a search.
This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires one of the following IAM permissions on the
placement
resource, depending on the resource type:-
retail.placements.search
-
retail.servingConfigs.search
For more information, see the IAM documentation .
-
ServingConfigService
Service for modifying ServingConfig.
rpc AddControl(
AddControlRequest
) returns ( ServingConfig
)
Enables a Control on the specified ServingConfig. The control is added in the last position of the list of controls it belongs to (e.g. if it's a facet spec control it will be applied in the last position of servingConfig.facetSpecIds) Returns a ALREADY_EXISTS error if the control has already been applied. Returns a FAILED_PRECONDITION error if the addition could exceed maximum number of control allowed for that type of control.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
servingConfig
resource:-
retail.servingConfigs.update
For more information, see the IAM documentation .
-
rpc CreateServingConfig(
CreateServingConfigRequest
) returns ( ServingConfig
)
Creates a ServingConfig.
A maximum of 100 ServingConfig
s are allowed in a Catalog
, otherwise a FAILED_PRECONDITION error is returned.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.servingConfigs.create
For more information, see the IAM documentation .
-
rpc DeleteServingConfig(
DeleteServingConfigRequest
) returns ( Empty
)
Deletes a ServingConfig.
Returns a NotFound error if the ServingConfig does not exist.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.servingConfigs.delete
For more information, see the IAM documentation .
-
rpc GetServingConfig(
GetServingConfigRequest
) returns ( ServingConfig
)
Gets a ServingConfig.
Returns a NotFound error if the ServingConfig does not exist.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.servingConfigs.get
For more information, see the IAM documentation .
-
rpc ListServingConfigs(
ListServingConfigsRequest
) returns ( ListServingConfigsResponse
)
Lists all ServingConfigs linked to this catalog.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.servingConfigs.list
For more information, see the IAM documentation .
-
rpc RemoveControl(
RemoveControlRequest
) returns ( ServingConfig
)
Disables a Control on the specified ServingConfig. The control is removed from the ServingConfig. Returns a NOT_FOUND error if the Control is not enabled for the ServingConfig.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
servingConfig
resource:-
retail.servingConfigs.update
For more information, see the IAM documentation .
-
rpc UpdateServingConfig(
UpdateServingConfigRequest
) returns ( ServingConfig
)
Updates a ServingConfig.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
name
resource:-
retail.servingConfigs.update
For more information, see the IAM documentation .
-
UserEventService
Service for ingesting end user actions on the customer website.
rpc CollectUserEvent(
CollectUserEventRequest
) returns ( HttpBody
)
Writes a single user event from the browser.
For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned.
This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ImportUserEvents(
ImportUserEventsRequest
) returns ( Operation
)
Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events.
Operation.response
is of type ImportResponse
. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata
is of type ImportMetadata
.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.userEvents.import
For more information, see the IAM documentation .
-
rpc PurgeUserEvents(
PurgeUserEventsRequest
) returns ( Operation
)
Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.userEvents.purge
For more information, see the IAM documentation .
-
rpc RejoinUserEvents(
RejoinUserEventsRequest
) returns ( Operation
)
Starts a user-event rejoin operation with latest product catalog. Events are not annotated with detailed product information for products that are missing from the catalog when the user event is ingested. These events are stored as unjoined events with limited usage on training and serving. You can use this method to start a join operation on specified events with the latest version of product catalog. You can also use this method to correct events joined with the wrong product catalog. A rejoin operation can take hours or days to complete.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.userEvents.rejoin
For more information, see the IAM documentation .
-
rpc WriteUserEvent(
WriteUserEventRequest
) returns ( UserEvent
)
Writes a single user event.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parent
resource:-
retail.userEvents.create
For more information, see the IAM documentation .
-
AddCatalogAttributeRequest
Request for CatalogService.AddCatalogAttribute
method.
Fields | |
---|---|
attributes_config
|
Required. Full AttributesConfig resource name. Format: |
catalog_attribute
|
Required. The |
AddControlRequest
Request for AddControl method.
Fields | |
---|---|
serving_config
|
Required. The source ServingConfig resource name . Format: |
control_id
|
Required. The id of the control to apply. Assumed to be in the same catalog as the serving config - if id is not found a NOT_FOUND error is returned. |
AddFulfillmentPlacesMetadata
This type has no fields.
Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddFulfillmentPlaces
method.
AddFulfillmentPlacesRequest
Request message for ProductService.AddFulfillmentPlaces
method.
product
string
Required. Full resource name of Product
, such as projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id
.
If the caller does not have permission to access the Product
, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.
type
string
Required. The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types.
Supported values:
- "pickup-in-store"
- "ship-to-store"
- "same-day-delivery"
- "next-day-delivery"
- "custom-type-1"
- "custom-type-2"
- "custom-type-3"
- "custom-type-4"
- "custom-type-5"
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
This field directly corresponds to Product.fulfillment_info.type
.
place_ids[]
string
Required. The IDs for this type
, such as the store IDs for "pickup-in-store" or the region IDs for "same-day-delivery" to be added for this type
. Duplicate IDs will be automatically ignored.
At least 1 value is required, and a maximum of 2000 values are allowed. Each value must be a string with a length limit of 10 characters, matching the pattern [a-zA-Z0-9_-]+
, such as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned.
If the total number of place IDs exceeds 2000 for this type
after adding, then the update will be rejected.
add_time
The time when the fulfillment updates are issued, used to prevent out-of-order updates on fulfillment information. If not provided, the internal system time will be used.
AddFulfillmentPlacesResponse
This type has no fields.
Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.AddFulfillmentPlaces
method.
AddLocalInventoriesMetadata
This type has no fields.
Metadata related to the progress of the AddLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddLocalInventories
method.
AddLocalInventoriesRequest
Request message for ProductService.AddLocalInventories
method.
Fields | |
---|---|
product
|
Required. Full resource name of If the caller does not have permission to access the |
local_inventories[]
|
Required. A list of inventory information at difference places. Each place is identified by its place ID. At most 3000 inventories are allowed per request. |
add_mask
|
Indicates which inventory fields in the provided list of If a field is set while the place does not have a previous local inventory, the local inventory at that store is created. If a field is set while the value of that field is not provided, the original field value, if it exists, is deleted. If the mask is not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored. |
add_time
|
The time when the inventory updates are issued. Used to prevent out-of-order updates on local inventory fields. If not provided, the internal system time will be used. |
allow_missing
|
If set to true, and the |
AddLocalInventoriesResponse
This type has no fields.
Response of the ProductService.AddLocalInventories
API. Currently empty because there is no meaningful response populated from the ProductService.AddLocalInventories
method.
AttributeConfigLevel
At which level we offer configuration for attributes.
Enums | |
---|---|
ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED
|
Value used when unset. In this case, server behavior defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG
. |
PRODUCT_LEVEL_ATTRIBUTE_CONFIG
|
At this level, we honor the attribute configurations set in Product.attributes
. |
CATALOG_LEVEL_ATTRIBUTE_CONFIG
|
At this level, we honor the attribute configurations set in CatalogConfig.attribute_configs
. |
AttributesConfig
Catalog level attribute config.
Fields | |
---|---|
name
|
Required. Immutable. The fully qualified resource name of the attribute config. Format: |
catalog_attributes
|
Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: The maximum number of catalog attributes allowed in a request is 1000. |
attribute_config_level
|
Output only. The |
Audience
An intended audience of the Product
for whom it's sold.
Fields | |
---|---|
genders[]
|
The genders of the audience. Strongly encouraged to use the standard values: "male", "female", "unisex". At most 5 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 gender . Schema.org property Product.audience.suggestedGender . |
age_groups[]
|
The age groups of the audience. Strongly encouraged to use the standard values: "newborn" (up to 3 months old), "infant" (3–12 months old), "toddler" (1–5 years old), "kids" (5–13 years old), "adult" (typically teens or older). At most 5 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 age_group . Schema.org property Product.audience.suggestedMinAge and Product.audience.suggestedMaxAge . |
BatchUpdateGenerativeQuestionConfigsRequest
Request for BatchUpdateGenerativeQuestionConfig method.
Fields | |
---|---|
parent
|
Optional. Resource name of the parent catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog} |
requests[]
|
Required. The updates question configs. |
BatchUpdateGenerativeQuestionConfigsResponse
Aggregated response for UpdateGenerativeQuestionConfig method.
Fields | |
---|---|
generative_question_configs[]
|
Optional. The updates question configs. |
BigQueryOutputResult
A BigQuery output result.
Fields | |
---|---|
dataset_id
|
The ID of a BigQuery Dataset. |
table_id
|
The ID of a BigQuery Table. |
BigQuerySource
BigQuery source import data from.
project_id
string
The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
dataset_id
string
Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
table_id
string
Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
gcs_staging_dir
string
Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
data_schema
string
The schema to use when parsing the data from the source.
Supported values for product imports:
-
product
(default): One JSONProduct
per line. Each product must have a validProduct.id
. -
product_merchant_center
: See Importing catalog data from Merchant Center .
Supported values for user events imports:
-
user_event
(default): One JSONUserEvent
per line. -
user_event_ga360
: The schema is available here: https://support.google.com/analytics/answer/3437719 . -
user_event_ga4
: The schema is available here: https://support.google.com/analytics/answer/7029846 .
Supported values for autocomplete imports:
-
suggestions
(default): One JSON completion suggestion per line. -
denylist
: One JSON deny suggestion per line. -
allowlist
: One JSON allow suggestion per line.
partition
. BigQuery table partition info. Leave this empty if the BigQuery table is not partitioned. partition
can be only one of the following:partition_date
BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
Catalog
The catalog configuration.
Fields | |
---|---|
name
|
Required. Immutable. The fully qualified resource name of the catalog. |
display_name
|
Required. Immutable. The catalog display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. |
product_level_config
|
Required. The product level configuration. |
CatalogAttribute
Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
Fields | |
---|---|
key
|
Required. Attribute name. For example: If the attribute key starts with |
in_use
|
Output only. Indicates whether this attribute has been used by any products. Only pre-loaded After catalog changes, it takes about 10 minutes for this field to update. |
type
|
Output only. The type of this attribute. This is derived from the attribute in |
indexable_option
|
When Must be specified when |
dynamic_facetable_option
|
If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if Must be specified, otherwise throws INVALID_FORMAT error. |
searchable_option
|
When If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in Must be specified, when |
exact_searchable_option
|
If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. If unset, the server behavior defaults to |
retrievable_option
|
If RETRIEVABLE_ENABLED, attribute values are retrievable in the search results. If unset, the server behavior defaults to |
facet_config
|
Contains facet options. |
AttributeType
The type of an attribute.
Enums | |
---|---|
UNKNOWN
|
The type of the attribute is unknown. Used when type cannot be derived from attribute that is not |
TEXTUAL
|
Textual attribute. |
NUMERICAL
|
Numerical attribute. |
DynamicFacetableOption
The status of the dynamic facetable option of a catalog attribute.
Enums | |
---|---|
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED
|
Value used when unset. |
DYNAMIC_FACETABLE_ENABLED
|
Dynamic facetable option enabled for an attribute. |
DYNAMIC_FACETABLE_DISABLED
|
Dynamic facetable option disabled for an attribute. |
ExactSearchableOption
The status of the exact-searchable option of a catalog attribute.
Enums | |
---|---|
EXACT_SEARCHABLE_OPTION_UNSPECIFIED
|
Value used when unset. |
EXACT_SEARCHABLE_ENABLED
|
Exact searchable option enabled for an attribute. |
EXACT_SEARCHABLE_DISABLED
|
Exact searchable option disabled for an attribute. |
FacetConfig
Possible options for the facet that corresponds to the current attribute config.
Fields | |
---|---|
facet_intervals[]
|
If you don't set the facet |
ignored_facet_values[]
|
Each instance represents a list of attribute values to ignore as facet values for a specific time range. The maximum number of instances per |
merged_facet_values[]
|
Each instance replaces a list of facet values by a merged facet value. If a facet value is not in any list, then it will stay the same. To avoid conflicts, only paths of length 1 are accepted. In other words, if "dark_blue" merged into "BLUE", then the latter can't merge into "blues" because this would create a path of length 2. The maximum number of instances of MergedFacetValue per |
merged_facet
|
Use this field only if you want to merge a facet key into another facet key. |
rerank_config
|
Set this field only if you want to rerank based on facet values engaged by the user for the current key. This option is only possible for custom facetable textual keys. |
IgnoredFacetValues
Facet values
to ignore on facets
during the specified time range for the given SearchResponse.Facet.key
attribute.
Fields | |
---|---|
values[]
|
List of facet values to ignore for the following time range. The facet values are the same as the attribute values. There is a limit of 10 values per instance of IgnoredFacetValues. Each value can have at most 128 characters. |
start_time
|
Time range for the current list of facet values to ignore. If multiple time ranges are specified for an facet value for the current attribute, consider all of them. If both are empty, ignore always. If start time and end time are set, then start time must be before end time. If start time is not empty and end time is empty, then will ignore these facet values after the start time. |
end_time
|
If start time is empty and end time is not empty, then ignore these facet values before end time. |
MergedFacet
The current facet key (i.e. attribute config) maps into the merged_facet_key
. A facet key can have at most one child. The current facet key and the merged facet key need both to be textual custom attributes or both numerical custom attributes (same type).
Fields | |
---|---|
merged_facet_key
|
The merged facet key should be a valid facet key that is different than the facet key of the current catalog attribute. We refer this is merged facet key as the child of the current catalog attribute. This merged facet key can't be a parent of another facet key (i.e. no directed path of length 2). This merged facet key needs to be either a textual custom attribute or a numerical custom attribute. |
MergedFacetValue
Replaces a set of textual facet values by the same (possibly different) merged facet value. Each facet value should appear at most once as a value per CatalogAttribute
. This feature is available only for textual custom attributes.
Fields | |
---|---|
values[]
|
All the facet values that are replaces by the same |
merged_value
|
All the previous values are replaced by this merged facet value. This merged_value must be non-empty and can have up to 128 characters. |
RerankConfig
Options to rerank based on facet values engaged by the user for the current key. That key needs to be a custom textual key and facetable. To use this control, you also need to pass all the facet keys engaged by the user in the request using the field [SearchRequest.FacetSpec]. In particular, if you don't pass the facet keys engaged that you want to rerank on, this control won't be effective. Moreover, to obtain better results, the facet values that you want to rerank on should be close to English (ideally made of words, underscores, and spaces).
Fields | |
---|---|
rerank_facet
|
If set to true, then we also rerank the dynamic facets based on the facet values engaged by the user for the current attribute key during serving. |
facet_values[]
|
If empty, rerank on all facet values for the current key. Otherwise, will rerank on the facet values from this list only. |
IndexableOption
The status of the indexable option of a catalog attribute.
Enums | |
---|---|
INDEXABLE_OPTION_UNSPECIFIED
|
Value used when unset. |
INDEXABLE_ENABLED
|
Indexable option enabled for an attribute. |
INDEXABLE_DISABLED
|
Indexable option disabled for an attribute. |
RetrievableOption
The status of the retrievable option of a catalog attribute.
Enums | |
---|---|
RETRIEVABLE_OPTION_UNSPECIFIED
|
Value used when unset. |
RETRIEVABLE_ENABLED
|
Retrievable option enabled for an attribute. |
RETRIEVABLE_DISABLED
|
Retrievable option disabled for an attribute. |
SearchableOption
The status of the searchable option of a catalog attribute.
Enums | |
---|---|
SEARCHABLE_OPTION_UNSPECIFIED
|
Value used when unset. |
SEARCHABLE_ENABLED
|
Searchable option enabled for an attribute. |
SEARCHABLE_DISABLED
|
Searchable option disabled for an attribute. |
CollectUserEventRequest
Request message for CollectUserEvent method.
parent
string
Required. The parent catalog name, such as projects/1234/locations/global/catalogs/default_catalog
.
user_event
string
Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.
uri
string
The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.
ets
int64
The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.
raw_json
string
An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.
conversion_rule
. The rule that can convert the raw_json to a user event. It is needed only when the raw_json is set. conversion_rule
can be only one of the following:prebuilt_rule
string
The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema.
ColorInfo
The color information of a Product
.
Fields | |
---|---|
color_families[]
|
The standard color families. Strongly recommended to use the following standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is expected to have only 1 color family. May consider using single "Mixed" instead of multiple values. A maximum of 5 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 color . Schema.org property Product.color . The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified. |
colors[]
|
The color display names, which may be different from standard color family names, such as the color aliases used in the website frontend. Normally it is expected to have only 1 color. May consider using single "Mixed" instead of multiple values. A maximum of 75 colors 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 color . Schema.org property Product.color . |
CompleteQueryRequest
Autocomplete parameters.
catalog
string
Required. Catalog for which the completion is performed.
Full resource name of catalog, such as projects/*/locations/global/catalogs/default_catalog
.
query
string
Required. The query used to generate suggestions.
The maximum number of allowed characters is 255.
visitor_id
string
Recommended field. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website.
The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
language_codes[]
string
Note that this field applies for user-data
dataset only. For requests with cloud-retail
dataset, setting this field has no effect.
The language filters applied to the output suggestions. If set, it should contain the language of the query. If not set, suggestions are returned without considering language restrictions. This is the BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see Tags for Identifying Languages . The maximum number of language codes is 3.
device_type
string
The device type context for completion suggestions. We recommend that you leave this field empty.
It can apply different suggestions on different device types, e.g. DESKTOP
, MOBILE
. If it is empty, the suggestions are across all device types.
Supported formats:
-
UNKNOWN_DEVICE_TYPE
-
DESKTOP
-
MOBILE
-
A customized string starts with
OTHER_
, e.g.OTHER_IPHONE
.
dataset
string
Determines which dataset to use for fetching completion. "user-data" will use the dataset imported through CompletionService.ImportCompletionData
. cloud-retail
will use the dataset generated by Cloud Retail based on user events. If left empty, completions will be fetched from the user-data
dataset.
Current supported values:
-
user-data
-
cloud-retail: This option requires enabling auto-learning function first. See guidelines .
max_suggestions
int32
Completion max suggestions. If left unset or set to 0, then will fallback to the configured value CompletionConfig.max_suggestions
.
The maximum allowed max suggestions is 20. If it is set higher, it will be capped by 20.
enable_attribute_suggestions
bool
If true, attribute suggestions are enabled and provided in the response.
This field is only available for the cloud-retail
dataset.
entity
string
The entity for customers who run multiple entities, domains, sites, or regions, for example, Google US
, Google Ads
, Waymo
, google.com
, youtube.com
, etc. If this is set, it must be an exact match with UserEvent.entity
to get per-entity autocomplete results. This field will be applied to completion_results
only. It has no effect on the attribute_results
. Also, this entity should be limited to 256 characters, if too long, it will be truncated to 256 characters in both generation and serving time, and may lead to mis-match. To ensure it works, please set the entity with string within 256 characters.
CompleteQueryResponse
Response of the autocomplete query.
completion_results[]
Results of the matching suggestions. The result list is ordered and the first result is top suggestion.
attribution_token
string
A unique complete token. This should be included in the UserEvent.completion_detail
for search events resulting from this completion, which enables accurate attribution of complete model performance.
recent_search_results[]
(deprecated)
Deprecated. Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. If you want to enable it, contact Retail Search support.
This feature is only available when CompleteQueryRequest.visitor_id
field is set and UserEvent
is imported. The recent searches satisfy the follow rules:
-
They are ordered from latest to oldest.
-
They are matched with
CompleteQueryRequest.query
case insensitively. -
They are transformed to lower case.
-
They are UTF-8 safe.
Recent searches are deduplicated. More recent searches will be reserved when duplication happens.
attribute_results
map<string,
AttributeResult
>
A map of matched attribute suggestions. This field is only available for cloud-retail
dataset.
Current supported keys:
-
brands
-
categories
AttributeResult
Resource that represents attribute results.
Fields | |
---|---|
suggestions[]
|
The list of suggestions for the attribute. |
CompletionResult
Resource that represents completion results.
suggestion
string
The suggestion for the query.
attributes
map<string,
CustomAttribute
>
Custom attributes for the suggestion term.
-
For
user-data
, the attributes are additional custom attributes ingested through BigQuery. -
For
cloud-retail
, the attributes are product attributes generated by Cloud Retail. It requiresUserEvent.product_details
is imported properly.
RecentSearchResult
Deprecated: Recent search of this user.
Fields | |
---|---|
recent_search
|
The recent search query. |
CompletionConfig
Catalog level autocomplete config for customers to customize autocomplete feature's settings.
name
string
Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/completionConfig
matching_order
string
Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values:
- 'out-of-order'
- 'exact-prefix'
Default value: 'exact-prefix'.
max_suggestions
int32
The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value.
Value range is 1 to 20.
min_prefix_length
int32
The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value.
Value range is 1 to 20.
auto_learning
bool
If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use cloud-retail
data in CompleteQueryRequest
.
suggestions_input_config
Output only. The source data for the latest import of the autocomplete suggestion phrases.
last_suggestions_import_operation
string
Output only. Name of the LRO corresponding to the latest suggestion terms list import.
Can use GetOperation
API method to retrieve the latest state of the Long Running Operation.
denylist_input_config
Output only. The source data for the latest import of the autocomplete denylist phrases.
last_denylist_import_operation
string
Output only. Name of the LRO corresponding to the latest denylist import.
Can use GetOperation
API to retrieve the latest state of the Long Running Operation.
allowlist_input_config
Output only. The source data for the latest import of the autocomplete allowlist phrases.
last_allowlist_import_operation
string
Output only. Name of the LRO corresponding to the latest allowlist import.
Can use GetOperation
API to retrieve the latest state of the Long Running Operation.
CompletionDataInputConfig
The input config source for completion data.
Union field source
. The source of the input.
Supported BigQuerySource.data_schema
values for suggestions imports:
-
suggestions
(default): One JSON completion suggestion per line. -
denylist
: One JSON deny suggestion per line. -
allowlist
: One JSON allow suggestion per line.source
can be only one of the following:
big_query_source
Required. BigQuery input source.
Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
CompletionDetail
Detailed completion information including completion attribution token and clicked completion info.
Fields | |
---|---|
completion_attribution_token
|
Completion attribution token in |
selected_suggestion
|
End user selected |
selected_position
|
End user selected |
Condition
Metadata that is used to define a condition that triggers an action. A valid condition must specify at least one of 'query_terms' or 'products_filter'. If multiple fields are specified, the condition is met if all the fields are satisfied e.g. if a set of query terms and product_filter are set, then only items matching the product_filter for requests with a query matching the query terms wil get boosted.
Fields | |
---|---|
query_terms[]
|
A list (up to 10 entries) of terms to match the query on. If not specified, match all queries. If many query terms are specified, the condition is matched if any of the terms is a match (i.e. using the OR operator). |
active_time_range[]
|
Range of time(s) specifying when Condition is active. Condition true if any time range matches. |
page_categories[]
|
Used to support browse uses cases. A list (up to 10 entries) of categories or departments. The format should be the same as |
QueryTerm
Query terms that we want to match on.
Fields | |
---|---|
value
|
The value of the term to match on. Value cannot be empty. Value can have at most 3 terms if specified as a partial match. Each space separated string is considered as one term. For example, "a b c" is 3 terms and allowed, but " a b c d" is 4 terms and not allowed for a partial match. |
full_match
|
Whether this is supposed to be a full or partial match. |
TimeRange
Used for time-dependent conditions. Example: Want to have rule applied for week long sale.
Fields | |
---|---|
start_time
|
Start of time range. Range is inclusive. |
end_time
|
End of time range. Range is inclusive. |
Control
Configures dynamic metadata that can be linked to a ServingConfig
and affect search or recommendation results at serving time.
Fields | |
---|---|
name
|
Immutable. Fully qualified name |
display_name
|
Required. The human readable control display name. Used in Retail UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is thrown. |
rule
|
A rule control - a condition-action pair. Enacts a set action when the condition is triggered. For example: Boost "gShoe" when query full matches "Running Shoes". |
associated_serving_config_ids[]
|
Output only. List of Note the association is managed via the |
solution_types[]
|
Required. Immutable. The solution types that the control is used for. Currently we support setting only one type of solution at creation time. Only |
search_solution_use_case[]
|
Specifies the use case for the control. Affects what condition fields can be set. Only settable by search controls. Will default to |
ConversationalSearchCustomizationConfig
The public proto to represent the conversational search customization config. It will be converted to the internal proto in the backend.
Fields | |
---|---|
retailer_display_name
|
Optional. The retailer's display name that could be used in our LLM answers. Example - "Google" |
intent_classification_config
|
Optional. The configs for intent classification. |
catalog
|
Required. Resource name of the catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog} |
CreateControlRequest
Request for CreateControl method.
Fields | |
---|---|
parent
|
Required. Full resource name of parent catalog. Format: |
control
|
Required. The Control to create. |
control_id
|
Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-_/. |
CreateModelMetadata
Metadata associated with a create operation.
Fields | |
---|---|
model
|
The resource name of the model that this create applies to. Format: |
CreateModelRequest
Request for creating a model.
Fields | |
---|---|
parent
|
Required. The parent resource under which to create the model. Format: |
model
|
Required. The payload of the |
dry_run
|
Optional. Whether to run a dry run to validate the request (without actually creating the model). |
CreateProductRequest
Request message for ProductService.CreateProduct
method.
Fields | |
---|---|
parent
|
Required. The parent catalog resource name, such as |
product
|
Required. The |
product_id
|
Required. The ID to use for the If the caller does not have permission to create the This field must be unique among all This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. |
CreateServingConfigRequest
Request for CreateServingConfig method.
Fields | |
---|---|
parent
|
Required. Full resource name of parent. Format: |
serving_config
|
Required. The ServingConfig to create. |
serving_config_id
|
Required. The ID to use for the ServingConfig, which will become the final component of the ServingConfig's resource name. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-_/. |
CustomAttribute
A custom attribute that is not explicitly modeled in Product
.
Fields | |
---|---|
text[]
|
The textual values of this custom attribute. For example, Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of |
numbers[]
|
The numerical values of this custom attribute. For example, Exactly one of |
searchable
|
This field is normally ignored unless This field is ignored in a Only set if type |
indexable
|
This field is normally ignored unless This field is ignored in a See |
DeleteControlRequest
Request for DeleteControl method.
Fields | |
---|---|
name
|
Required. The resource name of the Control to delete. Format: |
DeleteModelRequest
Request for deleting a model.
Fields | |
---|---|
name
|
Required. The resource name of the |
DeleteProductRequest
Request message for ProductService.DeleteProduct
method.
Fields | |
---|---|
name
|
Required. Full resource name of If the caller does not have permission to delete the If the The All inventory information for the named |
DeleteServingConfigRequest
Request for DeleteServingConfig method.
Fields | |
---|---|
name
|
Required. The resource name of the ServingConfig to delete. Format: |
DoubleList
A message with a list of double values.
Fields | |
---|---|
values[]
|
The list of double values. |
ExperimentInfo
Metadata for active A/B testing experiment.
experiment
string
The fully qualified resource name of the experiment that provides the serving config under test, should an active experiment exist. For example: projects/*/locations/global/catalogs/default_catalog/experiments/experiment_id
serving_config_experiment
A/B test between existing Cloud Retail Search ServingConfig
s.
ServingConfigExperiment
Metadata for active serving config A/B tests.
Fields | |
---|---|
original_serving_config
|
The fully qualified resource name of the original |
experiment_serving_config
|
The fully qualified resource name of the serving config |
ExportAnalyticsMetricsRequest
Request message for the ExportAnalyticsMetrics
method.
catalog
string
Required. Full resource name of the parent catalog. Expected format: projects/*/locations/*/catalogs/*
output_config
Required. The output location of the data.
filter
string
A filtering expression to specify restrictions on returned metrics. The expression is a sequence of terms. Each term applies a restriction to the returned metrics. Use this expression to restrict results to a specific time range.
Currently we expect only one types of fields:
-
timestamp
: This can be specified twice, once with a less than operator and once with a greater than operator. Thetimestamp
restriction should result in one, contiguous, valid,timestamp
range.
Some examples of valid filters expressions:
- Example 1:
timestamp > "2012-04-23T18:25:43.511Z" timestamp < "2012-04-23T18:30:43.511Z"
- Example 2:
timestamp > "2012-04-23T18:25:43.511Z"
ExportAnalyticsMetricsResponse
Response of the ExportAnalyticsMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.
Fields | |
---|---|
error_samples[]
|
A sample of errors encountered while processing the request. |
errors_config
|
This field is never set. |
output_result
|
Output result indicating where the data were exported to. |
ExportErrorsConfig
Configuration of destination for Export related errors.
destination
. Required. Errors destination. destination
can be only one of the following:gcs_prefix
string
Google Cloud Storage path for import errors. This must be an empty, existing Cloud Storage bucket. Export errors will be written to a file in this bucket, one per line, as a JSON-encoded google.rpc.Status
message.
ExportMetadata
Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field.
Fields | |
---|---|
create_time
|
Operation create time. |
update_time
|
Operation last update time. If the operation is done, this is also the finish time. |
FulfillmentInfo
Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.
type
string
The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI.
Supported values:
- "pickup-in-store"
- "ship-to-store"
- "same-day-delivery"
- "next-day-delivery"
- "custom-type-1"
- "custom-type-2"
- "custom-type-3"
- "custom-type-4"
- "custom-type-5"
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
place_ids[]
string
The IDs for this type
, such as the store IDs for FulfillmentInfo.type.pickup-in-store
or the region IDs for FulfillmentInfo.type.same-day-delivery
.
A maximum of 3000 values are allowed. Each value must be a string with a length limit of 30 characters, matching the pattern [a-zA-Z0-9_-]+
, such as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned.
GcsOutputResult
A Gcs output result.
Fields | |
---|---|
output_uri
|
The uri of Gcs output |
GcsSource
Google Cloud Storage location for input content.
input_uris[]
string
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 product information
for the expected file format and setup instructions.
data_schema
string
The schema to use when parsing the data from the source.
Supported values for product imports:
-
product
(default): One JSONProduct
per line. Each product must have a validProduct.id
. -
product_merchant_center
: See Importing catalog data from Merchant Center .
Supported values for user events imports:
-
user_event
(default): One JSONUserEvent
per line. -
user_event_ga360
: Using https://support.google.com/analytics/answer/3437719 .
Supported values for control imports:
-
control
(default): One JSONControl
per line.
Supported values for catalog attribute imports:
-
catalog_attribute
(default): One CSVCatalogAttribute
per line.
GenerativeQuestionConfig
Configuration for a single generated question.
Fields | |
---|---|
catalog
|
Required. Resource name of the catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog} |
facet
|
Required. The facet to which the question is associated. |
generated_question
|
Output only. The LLM generated question. |
final_question
|
Optional. The question that will be used at serving time. Question can have a max length of 300 bytes. When not populated, generated_question should be used. |
example_values[]
|
Output only. Values that can be used to answer the question. |
frequency
|
Output only. The ratio of how often a question was asked. |
allowed_in_conversation
|
Optional. Whether the question is asked at serving time. |
GenerativeQuestionsFeatureConfig
Configuration for overall generative question feature state.
Fields | |
---|---|
catalog
|
Required. Resource name of the affected catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog} |
feature_enabled
|
Optional. Determines whether questions will be used at serving time. Note: This feature cannot be enabled until initial data requirements are satisfied. |
minimum_products
|
Optional. Minimum number of products in the response to trigger follow-up questions. Value must be 0 or positive. |
GetAttributesConfigRequest
Request for CatalogService.GetAttributesConfig
method.
Fields | |
---|---|
name
|
Required. Full AttributesConfig resource name. Format: |
GetCompletionConfigRequest
Request for CatalogService.GetCompletionConfig
method.
Fields | |
---|---|
name
|
Required. Full CompletionConfig resource name. Format: |
GetControlRequest
Request for GetControl method.
Fields | |
---|---|
name
|
Required. The resource name of the Control to get. Format: |
GetConversationalSearchCustomizationConfigRequest
Request for GetConversationalSearchCustomizationConfig method.
Fields | |
---|---|
name
|
Required. Resource name of the parent catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog} |
GetDefaultBranchRequest
Request message to show which branch is currently the default branch.
Fields | |
---|---|
catalog
|
The parent catalog resource name, such as |
GetDefaultBranchResponse
Response message of CatalogService.GetDefaultBranch
.
Fields | |
---|---|
branch
|
Full resource name of the branch id currently set as default branch. |
set_time
|
The time when this branch is set to default. |
note
|
This corresponds to |
GetGenerativeQuestionsFeatureConfigRequest
Request for GetGenerativeQuestionsFeatureConfig method.
Fields | |
---|---|
catalog
|
Required. Resource name of the parent catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog} |
GetModelRequest
Request for getting a model.
Fields | |
---|---|
name
|
Required. The resource name of the |
GetProductRequest
Request message for ProductService.GetProduct
method.
Fields | |
---|---|
name
|
Required. Full resource name of If the caller does not have permission to access the If the requested |
GetServingConfigRequest
Request for GetServingConfig method.
Fields | |
---|---|
name
|
Required. The resource name of the ServingConfig to get. Format: |
Image
Product
image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small.
Fields | |
---|---|
uri
|
Required. URI of the image. This field must be a valid UTF-8 encoded URI with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property image_link . Schema.org property Product.image . |
height
|
Height of the image in number of pixels. This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned. |
width
|
Width of the image in number of pixels. This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned. |
ImportCompletionDataRequest
Request message for ImportCompletionData methods.
Fields | |
---|---|
parent
|
Required. The catalog which the suggestions dataset belongs to. Format: |
input_config
|
Required. The desired input location of the data. |
notification_pubsub_topic
|
Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a |
ImportCompletionDataResponse
Response of the ImportCompletionDataRequest
. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.
Fields | |
---|---|
error_samples[]
|
A sample of errors encountered while processing the request. |
ImportErrorsConfig
Configuration of destination for Import related errors.
destination
. Required. Errors destination. destination
can be only one of the following:gcs_prefix
string
Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded google.rpc.Status
message.
ImportMetadata
Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.
Fields | |
---|---|
create_time
|
Operation create time. |
update_time
|
Operation last update time. If the operation is done, this is also the finish time. |
success_count
|
Count of entries that were processed successfully. |
failure_count
|
Count of entries that encountered errors while processing. |
request_id
|
Deprecated. This field is never set. |
notification_pubsub_topic
|
Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a |
ImportProductsRequest
Request message for Import methods.
Fields | |
---|---|
parent
|
Required. If no updateMask is specified, requires products.create permission. If updateMask is specified, requires products.update permission. |
request_id
|
Deprecated. This field has no effect. |
input_config
|
Required. The desired input location of the data. |
errors_config
|
The desired location of errors incurred during the Import. |
update_mask
|
Indicates which fields in the provided imported |
reconciliation_mode
|
The mode of reconciliation between existing products and the products to be imported. Defaults to |
notification_pubsub_topic
|
Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Format of the Pub/Sub topic is Only supported when |
ReconciliationMode
Indicates how imported products are reconciled with the existing products created or imported before.
Enums | |
---|---|
RECONCILIATION_MODE_UNSPECIFIED
|
Defaults to INCREMENTAL. |
INCREMENTAL
|
Inserts new products or updates existing products. |
FULL
|
Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location. |
ImportProductsResponse
Response of the ImportProductsRequest
. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.
Fields | |
---|---|
error_samples[]
|
A sample of errors encountered while processing the request. |
errors_config
|
Echoes the destination for the complete errors in the request if set. |
ImportUserEventsRequest
Request message for the ImportUserEvents request.
Fields | |
---|---|
parent
|
Required. |
input_config
|
Required. The desired input location of the data. |
errors_config
|
The desired location of errors incurred during the Import. Cannot be set for inline user event imports. |
ImportUserEventsResponse
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.
Fields | |
---|---|
error_samples[]
|
A sample of errors encountered while processing the request. |
errors_config
|
Echoes the destination for the complete errors if this field was set in the request. |
import_summary
|
Aggregated statistics of user event import status. |
IntentClassificationConfig
The public proto to represent the intent classification config. It will be converted to the internal proto in the backend.
model_preamble
string
Optional. Customers can use the preamble to specify any requirements for blocklisting intent classification. This preamble will be added to the blocklisting intent classification model prompt.
example[]
Optional. A list of examples for intent classification.
blocklist_keywords[]
string
Optional. A list of keywords that will be used to classify the query to the "BLOCKLISTED" intent type. The keywords are case insensitive.
disabled_intent_types[]
string
Optional. A list of intent types that will be disabled for this customer. The intent types must match one of the predefined intent types defined at https://cloud.google.com/retail/docs/reference/rpc/google.cloud.retail.v2alpha#querytype
force_intent_classification
. Parsed from the external proto force_intent_classification string. force_intent_classification
can be only one of the following:inline_source
Optional. Inline source for intent classifications.
Example
An example for intent classification.
Fields | |
---|---|
query
|
Required. Example query. |
intent_type
|
Optional. The intent_type must match one of the predefined intent types defined at https://cloud.google.com/retail/docs/reference/rpc/google.cloud.retail.v2alpha#querytype |
reason
|
Optional. The reason for the intent classification. This is used to explain the intent classification decision. |
classified_positive
|
Required. Whether the example is classified positively. |
InlineForceIntent
An inline force intent classification configuration.
Fields | |
---|---|
query
|
Optional. A example query. |
operation
|
Optional. The operation to perform for the query. |
intent_type
|
Optional. The intent_type must match one of the predefined intent types defined at https://cloud.google.com/retail/docs/reference/rpc/google.cloud.retail.v2alpha#querytype |
Operation
Controls whether the query will be exact match or contains match.
Enums | |
---|---|
OPERATION_UNSPECIFIED
|
Unspecified match operation. |
EXACT_MATCH
|
Exact match. |
CONTAINS
|
Contains match. |
InlineSource
Inline source for intent classifications.
Fields | |
---|---|
inline_force_intents[]
|
Optional. A list of inline force intent classifications. |
Interval
A floating point interval.
Union field min
. The lower bound of the interval. If neither of the min fields are set, then the lower bound is negative infinity.
This field must not be larger than max. Otherwise, an INVALID_ARGUMENT error is returned. min
can be only one of the following:
minimum
double
Inclusive lower bound.
exclusive_minimum
double
Exclusive lower bound.
Union field max
. The upper bound of the interval. If neither of the max fields are set, then the upper bound is positive infinity.
This field must be not smaller than min. Otherwise, an INVALID_ARGUMENT error is returned. max
can be only one of the following:
maximum
double
Inclusive upper bound.
exclusive_maximum
double
Exclusive upper bound.
ListCatalogsRequest
Request for CatalogService.ListCatalogs
method.
Fields | |
---|---|
parent
|
Required. The account resource name with an associated location. If the caller does not have permission to list |
page_size
|
Maximum number of If this field is negative, an INVALID_ARGUMENT is returned. |
page_token
|
A page token When paginating, all other parameters provided to |
ListCatalogsResponse
Response for CatalogService.ListCatalogs
method.
Fields | |
---|---|
catalogs[]
|
All the customer's |
next_page_token
|
A token that can be sent as |
ListControlsRequest
Request for ListControls method.
parent
string
Required. The catalog resource name. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}
page_size
int32
Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.
page_token
string
Optional. A page token, received from a previous ListControls
call. Provide this to retrieve the subsequent page.
filter
string
Optional. A filter to apply on the list results. Supported features:
- List all the products under the parent branch if
filter
is unset. - List controls that are used in a single ServingConfig: 'serving_config = "boosted_home_page_cvr"'
ListControlsResponse
Response for ListControls method.
Fields | |
---|---|
controls[]
|
All the Controls for a given catalog. |
next_page_token
|
Pagination token, if not returned indicates the last page. |
ListGenerativeQuestionConfigsRequest
Request for ListQuestions method.
Fields | |
---|---|
parent
|
Required. Resource name of the parent catalog. Format: projects/{project}/locations/{location}/catalogs/{catalog} |
ListGenerativeQuestionConfigsResponse
Response for ListQuestions method.
Fields | |
---|---|
generative_question_configs[]
|
All the questions for a given catalog. |
ListModelsRequest
Request for listing models associated with a resource.
Fields | |
---|---|
parent
|
Required. The parent for which to list models. Format: |
page_size
|
Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. |
page_token
|
Optional. A page token, received from a previous |
ListModelsResponse
Response to a ListModelRequest.
Fields | |
---|---|
models[]
|
List of Models. |
next_page_token
|
Pagination token, if not returned indicates the last page. |
ListProductsRequest
Request message for ProductService.ListProducts
method.
parent
string
Required. The parent branch resource name, such as projects/*/locations/global/catalogs/default_catalog/branches/0
. Use default_branch
as the branch ID, to list products under the default branch.
If the caller does not have permission to list Product
s under this branch, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.
page_size
int32
Maximum number of Product
s to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000.
If this field is negative, an INVALID_ARGUMENT error is returned.
page_token
string
A page token ListProductsResponse.next_page_token
, received from a previous ProductService.ListProducts
call. Provide this to retrieve the subsequent page.
When paginating, all other parameters provided to ProductService.ListProducts
must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.
filter
string
A filter to apply on the list results. Supported features:
- List all the products under the parent branch if
filter
is unset. - List
Product.Type.VARIANT
Product
s sharing the sameProduct.Type.PRIMARY
Product
. For example:primary_product_id = "some_product_id"
- List
Product
s bundled in aProduct.Type.COLLECTION
Product
. For example:collection_product_id = "some_product_id"
- List
Product
s with a partibular type. For example:type = "PRIMARY"
type = "VARIANT"
type = "COLLECTION"
If the field is unrecognizable, an INVALID_ARGUMENT error is returned.
If the specified Product.Type.PRIMARY
Product
or Product.Type.COLLECTION
Product
does not exist, a NOT_FOUND error is returned.
read_mask
The fields of Product
to return in the responses. If not set or empty, the following fields are returned:
If "*" is provided, all fields are returned. Product.name
is always returned no matter what mask is set.
If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.
ListProductsResponse
Response message for ProductService.ListProducts
method.
Fields | |
---|---|
products[]
|
The |
next_page_token
|
A token that can be sent as |
ListServingConfigsRequest
Request for ListServingConfigs method.
Fields | |
---|---|
parent
|
Required. The catalog resource name. Format: |
page_size
|
Optional. Maximum number of results to return. If unspecified, defaults to 100. If a value greater than 100 is provided, at most 100 results are returned. |
page_token
|
Optional. A page token, received from a previous |
ListServingConfigsResponse
Response for ListServingConfigs method.
Fields | |
---|---|
serving_configs[]
|
All the ServingConfigs for a given catalog. |
next_page_token
|
Pagination token, if not returned indicates the last page. |
LocalInventory
The inventory information at a place (e.g. a store) identified by a place ID.
place_id
string
Optional. The place ID for the current set of inventory information.
price_info
attributes
map<string,
CustomAttribute
>
Optional. Additional local inventory attributes, for example, store name, promotion tags, etc.
This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned:
- At most 30 attributes are allowed.
- The key must be a UTF-8 encoded string with a length limit of 32 characters.
- The key must match the pattern:
[a-zA-Z0-9][a-zA-Z0-9_]*
. For example, key0LikeThis or KEY_1_LIKE_THIS. - The attribute values must be of the same type (text or number).
- Only 1 value is allowed for each attribute.
- For text values, the length limit is 256 UTF-8 characters.
- The attribute does not support search. The
searchable
field should be unset or set to false. - The max summed total bytes of custom attribute keys and values per product is 5MiB.
fulfillment_types[]
string
Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI.
Supported values:
- "pickup-in-store"
- "ship-to-store"
- "same-day-delivery"
- "next-day-delivery"
- "custom-type-1"
- "custom-type-2"
- "custom-type-3"
- "custom-type-4"
- "custom-type-5"
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.
Model
Metadata that describes the training and serving parameters of a Model
. A Model
can be associated with a ServingConfig
and then queried through the Predict API.
Fields | |
---|---|
name
|
Required. The fully qualified resource name of the model. Format: |
display_name
|
Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters. |
training_state
|
Optional. The training state that the model is in (e.g. Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for |
serving_state
|
Output only. The serving state of the model: |
create_time
|
Output only. Timestamp the Recommendation Model was created at. |
update_time
|
Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated. |
type
|
Required. The type of model e.g. Currently supported values: This field together with |
optimization_objective
|
Optional. The optimization objective e.g. Currently supported values: If not specified, we choose default based on model type. Default depends on type of recommendation: This field together with |
periodic_tuning_state
|
Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the |
last_tune_time
|
Output only. The timestamp when the latest successful tune finished. |
tuning_operation
|
Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. |
data_state
|
Output only. The state of data requirements for this model: Recommendation model cannot be trained if the data is in |
filtering_option
|
Optional. If |
serving_config_lists[]
|
Output only. The list of valid serving configs associated with the PageOptimizationConfig. |
model_features_config
|
Optional. Additional model features config. |
ContextProductsType
Use single or multiple context products for recommendations.
Enums | |
---|---|
CONTEXT_PRODUCTS_TYPE_UNSPECIFIED
|
Unspecified default value, should never be explicitly set. Defaults to MULTIPLE_CONTEXT_PRODUCTS
. |
SINGLE_CONTEXT_PRODUCT
|
Use only a single product as context for the recommendation. Typically used on pages like add-to-cart or product details. |
MULTIPLE_CONTEXT_PRODUCTS
|
Use one or multiple products as context for the recommendation. Typically used on shopping cart pages. |
DataState
Describes whether this model have sufficient training data to be continuously trained.
Enums | |
---|---|
DATA_STATE_UNSPECIFIED
|
Unspecified default value, should never be explicitly set. |
DATA_OK
|
The model has sufficient training data. |
DATA_ERROR
|
The model does not have sufficient training data. Error messages can be queried via Stackdriver. |
FrequentlyBoughtTogetherFeaturesConfig
Additional configs for the frequently-bought-together model type.
Fields | |
---|---|
context_products_type
|
Optional. Specifies the context of the model when it is used in predict requests. Can only be set for the |
ModelFeaturesConfig
Additional model features config.
Union field type_dedicated_config
.
type_dedicated_config
can be only one of the following:
frequently_bought_together_config
FrequentlyBoughtTogetherFeaturesConfig
Additional configs for frequently-bought-together models.
PeriodicTuningState
Describes whether periodic tuning is enabled for this model or not. Periodic tuning is scheduled at most every three months. You can start a tuning process manually by using the TuneModel
method, which starts a tuning process immediately and resets the quarterly schedule. Enabling or disabling periodic tuning does not affect any current tuning processes.
Enums | |
---|---|
PERIODIC_TUNING_STATE_UNSPECIFIED
|
Unspecified default value, should never be explicitly set. |
PERIODIC_TUNING_DISABLED
|
The model has periodic tuning disabled. Tuning can be reenabled by calling the EnableModelPeriodicTuning
method or by calling the TuneModel
method. |
ALL_TUNING_DISABLED
|
The model cannot be tuned with periodic tuning OR the TuneModel
method. Hide the options in customer UI and reject any requests through the backend self serve API. |
PERIODIC_TUNING_ENABLED
|
The model has periodic tuning enabled. Tuning can be disabled by calling the DisableModelPeriodicTuning
method. |
ServingConfigList
Represents an ordered combination of valid serving configs, which can be used for PAGE_OPTIMIZATION
recommendations.
Fields | |
---|---|
serving_config_ids[]
|
Optional. A set of valid serving configs that may be used for |
ServingState
The serving state of the model.
Enums | |
---|---|
SERVING_STATE_UNSPECIFIED
|
Unspecified serving state. |
INACTIVE
|
The model is not serving. |
ACTIVE
|
The model is serving and can be queried. |
TUNED
|
The model is trained on tuned hyperparameters and can be queried. |
TrainingState
The training state of the model.
Enums | |
---|---|
TRAINING_STATE_UNSPECIFIED
|
Unspecified training state. |
PAUSED
|
The model training is paused. |
TRAINING
|
The model is training. |
OutputConfig
The output configuration setting.
destination
. The configuration of destination for holding output data. destination
can be only one of the following:gcs_destination
The Google Cloud Storage location where the output is to be written to.
bigquery_destination
The BigQuery location where the output is to be written to.
BigQueryDestination
The BigQuery output destination configuration.
dataset_id
string
Required. The ID of a BigQuery Dataset.
table_id_prefix
string
Required. The prefix of exported BigQuery tables.
table_type
string
Required. Describes the table type. The following values are supported:
-
table
: A BigQuery native table. -
view
: A virtual table defined by a SQL query.
GcsDestination
The Google Cloud Storage output destination configuration.
Fields | |
---|---|
output_uri_prefix
|
Required. The output uri prefix for saving output data to json files. Some mapping examples are as follows: output_uri_prefix sample output(assuming the object is foo.json) ======================== ============================================= gs://bucket/ gs://bucket/foo.json gs://bucket/folder/ gs://bucket/folder/foo.json gs://bucket/folder/item_ gs://bucket/folder/item_foo.json |
OutputResult
Output result that stores the information about where the exported data is stored.
Fields | |
---|---|
bigquery_result[]
|
The BigQuery location where the result is stored. |
gcs_result[]
|
The Google Cloud Storage location where the result is stored. |
PanelInfo
Detailed panel information associated with a user event.
Fields | |
---|---|
panel_id
|
Required. The panel ID. |
display_name
|
Optional. The display name of the panel. |
product_details[]
|
Optional. The product details associated with the panel. |
total_panels
|
Optional. The total number of panels, including this one, shown to the user. Must be set if |
panel_position
|
Optional. The ordered position of the panel, if shown to the user with other panels. If set, then |
attribution_token
|
Optional. The attribution token of the panel. |
PauseModelRequest
Request for pausing training of a model.
Fields | |
---|---|
name
|
Required. The name of the model to pause. Format: |
PinControlMetadata
Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins.
Fields | |
---|---|
all_matched_pins
|
Map of all matched pins, keyed by pin position. |
dropped_pins
|
Map of pins that were dropped due to overlap with other matching pins, keyed by pin position. |
ProductPins
List of product ids which have associated pins.
Fields | |
---|---|
product_id[]
|
List of product ids which have associated pins. |
PredictRequest
Request message for Predict method.
placement
string
Required. Full resource name of the format: {placement=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*}
or {placement=projects/*/locations/global/catalogs/default_catalog/placements/*}
. We recommend using the servingConfigs
resource. placements
is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see Manage serving configs
.
The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs
user_event
Required. Context about the user, what they are looking at and what action they took to trigger the predict request. Note that this user event detail won't be ingested to userEvent logs. Thus, a separate userEvent write request is required for event logging.
Don't set UserEvent.visitor_id
or UserInfo.user_id
to the same fixed ID for different users. If you are trying to receive non-personalized recommendations (not recommended; this can negatively impact model performance), instead set UserEvent.visitor_id
to a random unique ID and leave UserInfo.user_id
unset.
page_size
int32
Maximum number of results to return. Set this property to the number of prediction results needed. If zero, the service will choose a reasonable default. The maximum allowed value is 100. Values above 100 will be coerced to 100.
page_token
(deprecated)
string
This field is not used; leave it unset.
filter
string
Filter for restricting prediction results with a length limit of 5,000 characters. Accepts values for tags and the filterOutOfStockItems
flag.
- Tag expressions. Restricts predictions to products that match all of the specified tags. Boolean operators
OR
andNOT
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 toNOT "tagA"
. Tag values must be double quoted UTF-8 encoded strings with a size limit of 1,000 characters.
Note: "Recently viewed" models don't support tag filtering at the moment.
- filterOutOfStockItems. Restricts predictions to products 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, the API will return no
results. If instead you want empty result sets to return generic (unfiltered) popular products, set strictFiltering
to False in PredictRequest.params
. Note that the API will never return items with storageStatus of "EXPIRED" or "DELETED" regardless of filter choices.
If filterSyntaxV2
is set to true under the params
field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples:
- (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones"))
- (availability: ANY("IN_STOCK")) AND (colors: ANY("Red") OR categories: ANY("Phones"))
For more information, see Filter recommendations .
validate_only
bool
Use validate only mode for this prediction query. If set to true, a dummy model will be used that returns arbitrary products. Note that the validate only mode should only be used for testing the API, or if the model is not ready.
params
map<string,
Value
>
Additional domain specific parameters for the predictions.
Allowed values:
-
returnProduct
: Boolean. If set to true, the associated product object will be returned in theresults.metadata
field in the prediction response. -
returnScore
: Boolean. If set to true, the prediction 'score' corresponding to each returned product will be set in theresults.metadata
field in the prediction response. The given 'score' indicates the probability of a product 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 products instead of empty if your filter blocks all prediction results. -
priceRerankLevel
: String. Default empty. If set to be non-empty, then it needs to be one of {'no-price-reranking', 'low-price-reranking', 'medium-price-reranking', 'high-price-reranking'}. This gives request-level control and adjusts prediction results based on product price. -
diversityLevel
: String. Default empty. If set to be non-empty, then it needs to be one of {'no-diversity', 'low-diversity', 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives request-level control and adjusts prediction results based on product category. -
filterSyntaxV2
: Boolean. False by default. If set to true, thefilter
field is interpreteted according to the new, attribute-based syntax.
labels
map<string, string>
The labels applied to a resource must meet the following requirements:
- Each resource can have multiple labels, up to a maximum of 64.
- Each label must be a key-value pair.
- Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters.
- Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed.
- The key portion of a label must be unique. However, you can use the same key with multiple resources.
- Keys must start with a lowercase letter or international character.
See Google Cloud Document for more details.
PredictResponse
Response message for predict method.
Fields | |
---|---|
results[]
|
A list of recommended products. The order represents the ranking (from the most relevant product to the least). |
attribution_token
|
A unique attribution token. This should be included in the |
missing_ids[]
|
IDs of products in the request that were missing from the inventory. |
validate_only
|
True if the validateOnly property was set in the request. |
PredictionResult
PredictionResult represents the recommendation prediction results.
id
string
ID of the recommended product
PriceInfo
The price information of a Product
.
currency_code
string
The 3-letter currency code defined in ISO 4217 .
If this field is an unrecognizable currency code, an INVALID_ARGUMENT error is returned.
The Product.Type.VARIANT
Product
s with the same Product.primary_product_id
must share the same currency_code
. Otherwise, a FAILED_PRECONDITION error is returned.
price
float
Price of the product.
Google Merchant Center property price . Schema.org property Offer.price .
original_price
float
Price of the product without any discount. If zero, by default set to be the price
. If set, original_price
should be greater than or equal to price
, otherwise an INVALID_ARGUMENT error is thrown.
cost
float
The costs associated with the sale of a particular product. Used for gross profit reporting.
Google Merchant Center property cost_of_goods_sold .
price_effective_time
The timestamp when the price
starts to be effective. This can be set as a future timestamp, and the price
is only used for search after price_effective_time
. If so, the original_price
must be set and original_price
is used before price_effective_time
.
Do not set if price
is always effective because it will cause additional latency during search.
price_expire_time
The timestamp when the price
stops to be effective. The price
is used for search before price_expire_time
. If this field is set, the original_price
must be set and original_price
is used after price_expire_time
.
Do not set if price
is always effective because it will cause additional latency during search.
price_range
Output only. The price range of all the child Product.Type.VARIANT
Product
s grouped together on the Product.Type.PRIMARY
Product
. Only populated for Product.Type.PRIMARY
Product
s.
Note: This field is OUTPUT_ONLY for ProductService.GetProduct
. Do not set this field in API requests.
PriceRange
The price range of all variant
Product
having the same Product.primary_product_id
.
Fields | |
---|---|
price
|
The inclusive |
original_price
|
The inclusive |
Product
Product captures all metadata information of items to be recommended or searched.
name
string
Immutable. Full resource name of the product, such as projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id
.
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.
Corresponding properties: Google Merchant Center property id . Schema.org property Product.sku .
type
Immutable. The type of the product. Default to Catalog.product_level_config.ingestion_product_type
if unset.
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
Product
s, this field can only be empty or set to the same value as id
.
For VARIANT Product
s, 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.
Corresponding properties: Google Merchant Center property item_group_id . Schema.org property Product.inProductGroupWithID .
collection_member_ids[]
string
The id
of the collection members when type
is Type.COLLECTION
.
Non-existent product ids are allowed. The type
of the members must be either Type.PRIMARY
or Type.VARIANT
otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.
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.
Corresponding properties: Google Merchant Center property gtin . Schema.org property Product.isbn , Product.gtin8 , Product.gtin12 , Product.gtin13 , or Product.gtin14 .
If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
categories[]
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, 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
unless overridden through the Google Cloud console. 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.
Corresponding properties: Google Merchant Center property google_product_category . Schema.org property Product.category .
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.
Corresponding properties: Google Merchant Center property title . Schema.org property Product.name .
brands[]
string
The brands of the product.
A maximum of 30 brands are allowed unless overridden through the Google Cloud console. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
Corresponding properties: Google Merchant Center property brand . Schema.org property Product.brand .
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.
Corresponding properties: Google Merchant Center property description . Schema.org property Product.description .
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 Product
s 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.
attributes
map<string,
CustomAttribute
>
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][a-zA-Z0-9_]*
. For example,key0LikeThis
orKEY_1_LIKE_THIS
. - For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters.
- For number attributes, at most 400 values are allowed.
price_info
available_time
The timestamp when this Product
becomes available for SearchService.Search
. Note that this is only applicable to Type.PRIMARY
and Type.COLLECTION
, and ignored for Type.VARIANT
.
availability
The online availability of the Product
. Default to Availability.IN_STOCK
.
For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK
and set the true availability at the variant level. This way the primary product will be considered "in stock" as long as it has at least one variant in stock.
For primary products with no variants set the true availability at the primary level.
Corresponding properties: Google Merchant Center property availability . Schema.org property Offer.availability .
available_quantity
The available quantity of the item.
fulfillment_info[]
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.
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.
Corresponding properties: Google Merchant Center property link . Schema.org property Offer.url .
images[]
Product images for the product. We highly recommend putting the main image first.
A maximum of 300 images are allowed.
Corresponding properties: Google Merchant Center property image_link . Schema.org property Product.image .
audience
The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product.
color_info
The color of the product.
Corresponding properties: Google Merchant Center property color . Schema.org property Product.color .
sizes[]
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.
Corresponding properties: Google Merchant Center property size , size_type , and size_system . Schema.org property Product.size .
materials[]
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 200 characters. Otherwise, an INVALID_ARGUMENT error is returned.
Corresponding properties: Google Merchant Center property material . Schema.org property Product.material .
patterns[]
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.
Corresponding properties: Google Merchant Center property pattern . Schema.org property Product.pattern .
conditions[]
string
The condition of the product. Strongly encouraged to use the standard values: "new", "refurbished", "used".
A maximum of 1 value is 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.
Corresponding properties: Google Merchant Center property condition . Schema.org property Offer.itemCondition .
promotions[]
The promotions applied to the product. A maximum of 10 values are allowed per Product
. Only Promotion.promotion_id
will be used, other fields will be ignored if set.
publish_time
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.
retrievable_fields
(deprecated)
Indicates which fields in the Product
s are returned in SearchResponse
.
Supported fields for all type
s:
-
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
:
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:
For Type.VARIANT
, the following fields are always returned in by default:
Note: Returning more fields in SearchResponse
can increase response payload size and serving latency.
This field is deprecated. Use the retrievable site-wide control instead.
variants[]
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
Product
s.
Note: This field is OUTPUT_ONLY for ProductService.GetProduct
. Do not set this field in API requests.
local_inventories[]
Output only. A list of local inventories specific to different places.
This field can be managed by ProductService.AddLocalInventories
and ProductService.RemoveLocalInventories
APIs if fine-grained, high-volume updates are necessary.
Union field expiration
.
expiration
can be only one of the following:
expire_time
Note that this field is applied in the following ways:
-
If the
Product
is already expired when it is uploaded, this product is not indexed for search. -
If the
Product
is not expired when it is uploaded, only theType.PRIMARY
's andType.COLLECTION
's expireTime is respected, andType.VARIANT
's expireTime is not used.
In general, we suggest the users to delete the stale products explicitly, instead of using this field to determine staleness.
expire_time
must be later than available_time
and publish_time
, otherwise an INVALID_ARGUMENT error is thrown.
Corresponding properties: Google Merchant Center property expiration_date .
ttl
Input only. The TTL (time to live) of the product. Note that this is only applicable to Type.PRIMARY
and Type.COLLECTION
, and ignored for Type.VARIANT
. In general, we suggest the users to delete the stale products explicitly, instead of using this field to determine staleness.
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
.
Availability
Product availability. If this field is unspecified, the product is assumed to be in stock.
Enums | |
---|---|
AVAILABILITY_UNSPECIFIED
|
Default product availability. Default to Availability.IN_STOCK
if unset. |
IN_STOCK
|
Product in stock. |
OUT_OF_STOCK
|
Product out of stock. |
PREORDER
|
Product that is in pre-order state. |
BACKORDER
|
Product that is back-ordered (i.e. temporarily out of stock). |
Type
The type of this product.
Enums | |
---|---|
TYPE_UNSPECIFIED
|
Default value. Default to Catalog.product_level_config.ingestion_product_type
if unset. |
PRIMARY
|
The primary type. As the primary unit for predicting, indexing and search serving, a |
VARIANT
|
The variant type. |
COLLECTION
|
The collection type. Collection products are bundled Type.PRIMARY
Product
s or Type.VARIANT
Product
s that are sold together, such as a jewelry set with necklaces, earrings and rings, etc. |
ProductAttributeInterval
Product attribute name and numeric interval.
Fields | |
---|---|
name
|
The attribute name (e.g. "length") |
interval
|
The numeric interval (e.g. [10, 20)) |
ProductAttributeValue
Product attribute which structured by an attribute name and value. This structure is used in conversational search filters and answers. For example, if we have name=color
and value=red
, this means that the color is red
.
Fields | |
---|---|
name
|
The attribute name. |
value
|
The attribute value. |
ProductDetail
Detailed product information associated with a user event.
product
Required. Product
information.
Required field(s):
Optional override field(s):
If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete.
All other product fields are ignored and instead populated via catalog lookup after event ingestion.
quantity
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 purchase-complete
event. Required for add-to-cart
and purchase-complete
event types.
ProductInlineSource
The inline source for the input config for ImportProducts method.
Fields | |
---|---|
products[]
|
Required. A list of products to update/create. Each product must have a valid |
ProductInputConfig
The input config source for products.
source
. Required. The source of the input. source
can be only one of the following:product_inline_source
The Inline source for the input content for products.
gcs_source
Google Cloud Storage location for the input content.
big_query_source
BigQuery input source.
ProductLevelConfig
Configures what level the product should be uploaded with regards to how users will be send events and how predictions will be made.
ingestion_product_type
string
The type of Product
s allowed to be ingested into the catalog. Acceptable values are:
-
primary
(default): You can ingestProduct
s of all types. When ingesting aProduct
, its type will default toProduct.Type.PRIMARY
if unset. -
variant
(incompatible with Retail Search): You can only ingestProduct.Type.VARIANT
Product
s. This meansProduct.primary_product_id
cannot be empty.
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
If this field is variant
and merchant_center_product_id_field
is itemGroupId
, an INVALID_ARGUMENT error is returned.
See Product levels for more details.
merchant_center_product_id_field
string
Which field of Merchant Center Product
should be imported as Product.id
. Acceptable values are:
-
offerId
(default): ImportofferId
as the product ID. -
itemGroupId
: ImportitemGroupId
as the product ID. Notice that Retail API will choose one item from the ones with the sameitemGroupId
, and use it to represent the item group.
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
If this field is itemGroupId
and ingestion_product_type
is variant
, an INVALID_ARGUMENT error is returned.
See Product levels for more details.
Promotion
Promotion specification.
Fields | |
---|---|
promotion_id
|
The value must be a UTF-8 encoded string with a length limit of 128 characters, and match the pattern: Corresponds to Google Merchant Center property promotion_id . |
PurchaseTransaction
A transaction represents the entire purchase transaction.
id
string
The transaction ID with a length limit of 128 characters.
revenue
float
Required. Total non-zero 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.
tax
float
All the taxes associated with the transaction.
cost
currency_code
string
Required. Currency code. Use three-character ISO-4217 code.
PurgeMetadata
This type has no fields.
Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.
PurgeProductsMetadata
Metadata related to the progress of the PurgeProducts operation. This will be returned by the google.longrunning.Operation.metadata field.
Fields | |
---|---|
create_time
|
Operation create time. |
update_time
|
Operation last update time. If the operation is done, this is also the finish time. |
success_count
|
Count of entries that were deleted successfully. |
failure_count
|
Count of entries that encountered errors while processing. |
PurgeProductsRequest
Request message for PurgeProducts method.
parent
string
Required. The resource name of the branch under which the products are created. The format is projects/${projectId}/locations/global/catalogs/${catalogId}/branches/${branchId}
filter
string
Required. The filter string to specify the products to be deleted with a length limit of 5,000 characters.
Empty string filter is not allowed. "*" implies delete all items in a branch.
The eligible fields for filtering are:
-
availability
: Double quotedProduct.availability
string. -
create_time
: in ISO 8601 "zulu" format.
Supported syntax:
- Comparators (">", "<", ">=", "<=", "="). Examples:
- create_time <= "2015-02-13T17:05:46Z"
- availability = "IN_STOCK"
-
Conjunctions ("AND") Examples:
- create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER"
-
Disjunctions ("OR") Examples:
- create_time <= "2015-02-13T17:05:46Z" OR availability = "IN_STOCK"
-
Can support nested queries. Examples:
- (create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER") OR (create_time >= "2015-02-14T13:03:32Z" AND availability = "IN_STOCK")
-
Filter Limits:
- Filter should not contain more than 6 conditions.
- Max nesting depth should not exceed 2 levels.
Examples queries: * Delete back order products created before a timestamp. create_time <= "2015-02-13T17:05:46Z" OR availability = "BACKORDER"
force
bool
Actually perform the purge. If force
is set to false, the method will return the expected purge count without deleting any products.
PurgeProductsResponse
Response of the PurgeProductsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.
Fields | |
---|---|
purge_count
|
The total count of products purged as a result of the operation. |
purge_sample[]
|
A sample of the product names that will be deleted. Only populated if |
PurgeUserEventsRequest
Request message for PurgeUserEvents method.
parent
string
Required. The resource name of the catalog under which the events are created. The format is projects/${projectId}/locations/global/catalogs/${catalogId}
filter
string
Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. Empty string filter is not allowed. The eligible fields for filtering are:
-
eventType
: Double quotedUserEvent.event_type
string. -
eventTime
: in ISO 8601 "zulu" format. -
visitorId
: Double quoted string. Specifying this will delete all events associated with a visitor. -
userId
: Double quoted 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.
force
bool
Actually perform the purge. If force
is set to false, the method will return the expected purge count without deleting any user events.
PurgeUserEventsResponse
Response of the PurgeUserEventsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.
Fields | |
---|---|
purged_events_count
|
The total count of events purged as a result of the operation. |
Rating
The rating of a Product
.
Fields | |
---|---|
rating_count
|
The total number of ratings. This value is independent of the value of This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned. |
average_rating
|
The average rating of the The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is returned. |
rating_histogram[]
|
List of rating counts per rating value (index = rating - 1). The list is empty if there is no rating. If the list is non-empty, its size is always 5. Otherwise, an INVALID_ARGUMENT error is returned. For example, [41, 14, 13, 47, 303]. It means that the |
RecommendationsFilteringOption
If filtering for recommendations is enabled.
Enums | |
---|---|
RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED
|
Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED
. |
RECOMMENDATIONS_FILTERING_DISABLED
|
Recommendation filtering is disabled. |
RECOMMENDATIONS_FILTERING_ENABLED
|
Recommendation filtering is enabled. |
RejoinUserEventsMetadata
This type has no fields.
Metadata for RejoinUserEvents
method.
RejoinUserEventsRequest
Request message for RejoinUserEvents method.
Fields | |
---|---|
parent
|
Required. The parent catalog resource name, such as |
user_event_rejoin_scope
|
The type of the user event rejoin to define the scope and range of the user events to be rejoined with the latest product catalog. Defaults to |
UserEventRejoinScope
The scope of user events to be rejoined with the latest product catalog. If the rejoining aims at reducing number of unjoined events, set UserEventRejoinScope
to UNJOINED_EVENTS
. If the rejoining aims at correcting product catalog information in joined events, set UserEventRejoinScope
to JOINED_EVENTS
. If all events needs to be rejoined, set UserEventRejoinScope
to USER_EVENT_REJOIN_SCOPE_UNSPECIFIED
.
Enums | |
---|---|
USER_EVENT_REJOIN_SCOPE_UNSPECIFIED
|
Rejoin all events with the latest product catalog, including both joined events and unjoined events. |
JOINED_EVENTS
|
Only rejoin joined events with the latest product catalog. |
UNJOINED_EVENTS
|
Only rejoin unjoined events with the latest product catalog. |
RejoinUserEventsResponse
Response message for RejoinUserEvents
method.
Fields | |
---|---|
rejoined_user_events_count
|
Number of user events that were joined with latest product catalog. |
RemoveCatalogAttributeRequest
Request for CatalogService.RemoveCatalogAttribute
method.
Fields | |
---|---|
attributes_config
|
Required. Full AttributesConfig resource name. Format: |
key
|
Required. The attribute name key of the |
RemoveControlRequest
Request for RemoveControl method.
Fields | |
---|---|
serving_config
|
Required. The source ServingConfig resource name . Format: |
control_id
|
Required. The id of the control to apply. Assumed to be in the same catalog as the serving config. |
RemoveFulfillmentPlacesMetadata
This type has no fields.
Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveFulfillmentPlaces
method.
RemoveFulfillmentPlacesRequest
Request message for ProductService.RemoveFulfillmentPlaces
method.
product
string
Required. Full resource name of Product
, such as projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id
.
If the caller does not have permission to access the Product
, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.
type
string
Required. The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types.
Supported values:
- "pickup-in-store"
- "ship-to-store"
- "same-day-delivery"
- "next-day-delivery"
- "custom-type-1"
- "custom-type-2"
- "custom-type-3"
- "custom-type-4"
- "custom-type-5"
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
This field directly corresponds to Product.fulfillment_info.type
.
place_ids[]
string
Required. The IDs for this type
, such as the store IDs for "pickup-in-store" or the region IDs for "same-day-delivery", to be removed for this type
.
At least 1 value is required, and a maximum of 2000 values are allowed. Each value must be a string with a length limit of 10 characters, matching the pattern [a-zA-Z0-9_-]+
, such as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned.
remove_time
The time when the fulfillment updates are issued, used to prevent out-of-order updates on fulfillment information. If not provided, the internal system time will be used.
RemoveFulfillmentPlacesResponse
This type has no fields.
Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the ProductService.RemoveFulfillmentPlaces
method.
RemoveLocalInventoriesMetadata
This type has no fields.
Metadata related to the progress of the RemoveLocalInventories operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveLocalInventories
method.
RemoveLocalInventoriesRequest
Request message for ProductService.RemoveLocalInventories
method.
Fields | |
---|---|
product
|
Required. Full resource name of If the caller does not have permission to access the |
place_ids[]
|
Required. A list of place IDs to have their inventory deleted. At most 3000 place IDs are allowed per request. |
remove_time
|
The time when the inventory deletions are issued. Used to prevent out-of-order updates and deletions on local inventory fields. If not provided, the internal system time will be used. |
allow_missing
|
If set to true, and the |
RemoveLocalInventoriesResponse
This type has no fields.
Response of the ProductService.RemoveLocalInventories
API. Currently empty because there is no meaningful response populated from the ProductService.RemoveLocalInventories
method.
ReplaceCatalogAttributeRequest
Request for CatalogService.ReplaceCatalogAttribute
method.
attributes_config
string
Required. Full AttributesConfig resource name. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig
catalog_attribute
Required. The updated CatalogAttribute
.
update_mask
Indicates which fields in the provided CatalogAttribute
to update. The following are NOT supported:
If not set, all supported fields are updated.
ResumeModelRequest
Request for resuming training of a model.
Fields | |
---|---|
name
|
Required. The name of the model to resume. Format: |
Rule
A rule is a condition-action pair
- A condition defines when a rule is to be triggered.
- An action specifies what occurs on that trigger. Currently rules only work for
controls
withSOLUTION_TYPE_SEARCH
.
condition
Required. The condition that triggers the rule. If the condition is empty, the rule will always apply.
action
. An action must be provided. action
can be only one of the following:boost_action
A boost action.
redirect_action
Redirects a shopper to a specific page.
oneway_synonyms_action
Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term.
do_not_associate_action
Prevents term from being associated with other terms.
replacement_action
Replaces specific terms in the query.
ignore_action
Ignores specific terms from query during search.
filter_action
Filters results.
twoway_synonyms_action
Treats a set of terms as synonyms of one another.
force_return_facet_action
Force returns an attribute as a facet in the request.
remove_facet_action
Remove an attribute as a facet in the request (if present).
pin_action
Pins one or more specified products to a specific position in the results.
BoostAction
A boost action to apply to results matching condition specified above.
boost
float
Strength of the condition boost, which must be in [-1, 1]. Negative boost means demotion. Default is 0.0.
Setting to 1.0 gives the item a big promotion. However, it does not necessarily mean that the boosted item will be the top result at all times, nor that other items will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant items.
Setting to -1.0 gives the item a big demotion. However, results that are deeply relevant might still be shown. The item will have an upstream battle to get a fairly high ranking, but it is not blocked out completely.
Setting to 0.0 means no boost applied. The boosting condition is ignored.
products_filter
string
The filter can have a max size of 5000 characters. An expression which specifies which products to apply an action to. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter
for detail syntax and limitations.
Examples:
- To boost products with product ID "product_1" or "product_2", and color "Red" or "Blue":
(id: ANY("product_1", "product_2"))
AND
(colorFamilies: ANY("Red", "Blue"))
DoNotAssociateAction
Prevents query_term
from being associated with specified terms during search. Example: Don't associate "gShoe" and "cheap".
Fields | |
---|---|
query_terms[]
|
Terms from the search query. Will not consider do_not_associate_terms for search if in search query. Can specify up to 100 terms. |
do_not_associate_terms[]
|
Cannot contain duplicates or the query term. Can specify up to 100 terms. |
terms[]
|
Will be [deprecated = true] post migration; |
FilterAction
-
Rule Condition:
- No
Condition.query_terms
provided is a global match. - 1 or more
Condition.query_terms
provided are combined with OR operator.
- No
-
Action Input: The request query and filter that are applied to the retrieved products, in addition to any filters already provided with the SearchRequest. The AND operator is used to combine the query's existing filters with the filter rule(s). NOTE: May result in 0 results when filters conflict.
-
Action Result: Filters the returned objects to be ONLY those that passed the filter.
filter
string
A filter to apply on the matching condition results. Supported features:
-
filter
must be set. - Filter syntax is identical to
SearchRequest.filter
. For more information, see Filter . - To filter products with product ID "product_1" or "product_2", and color "Red" or "Blue":
(id: ANY("product_1", "product_2"))
AND
(colorFamilies: ANY("Red", "Blue"))
ForceReturnFacetAction
Force returns an attribute/facet in the request around a certain position or above.
-
Rule Condition: Must specify non-empty
Condition.query_terms
(for search only) orCondition.page_categories
(for browse only), but can't specify both. -
Action Inputs: attribute name, position
-
Action Result: Will force return a facet key around a certain position or above if the condition is satisfied.
Example: Suppose the query is "shoes", the Condition.query_terms
is "shoes", the ForceReturnFacetAction.FacetPositionAdjustment.attribute_name
is "size" and the ForceReturnFacetAction.FacetPositionAdjustment.position
is 8.
Two cases: a) The facet key "size" is not already in the top 8 slots, then the facet "size" will appear at a position close to 8. b) The facet key "size" in among the top 8 positions in the request, then it will stay at its current rank.
Fields | |
---|---|
facet_position_adjustments[]
|
Each instance corresponds to a force return attribute for the given condition. There can't be more 15 instances here. |
FacetPositionAdjustment
Each facet position adjustment consists of a single attribute name (i.e. facet key) along with a specified position.
Fields | |
---|---|
attribute_name
|
The attribute name to force return as a facet. Each attribute name should be a valid attribute name, be non-empty and contain at most 80 characters long. |
position
|
This is the position in the request as explained above. It should be strictly positive be at most 100. |
IgnoreAction
Prevents a term in the query from being used in search. Example: Don't search for "shoddy".
Fields | |
---|---|
ignore_terms[]
|
Terms to ignore in the search query. |
OnewaySynonymsAction
Maps a set of terms to a set of synonyms. Set of synonyms will be treated as synonyms of each query term only. query_terms
will not be treated as synonyms of each other. Example: "sneakers" will use a synonym of "shoes". "shoes" will not use a synonym of "sneakers".
Fields | |
---|---|
query_terms[]
|
Terms from the search query. Will treat synonyms as their synonyms. Not themselves synonyms of the synonyms. Can specify up to 100 terms. |
synonyms[]
|
Defines a set of synonyms. Cannot contain duplicates. Can specify up to 100 synonyms. |
oneway_terms[]
|
Will be [deprecated = true] post migration; |
PinAction
Pins one or more specified products to a specific position in the results.
-
Rule Condition: Must specify non-empty
Condition.query_terms
(for search only) orCondition.page_categories
(for browse only), but can't specify both. -
Action Input: mapping of
[pin_position, product_id]
pairs (pin position uses 1-based indexing). -
Action Result: Will pin products with matching ids to the position specified in the final result order.
Example: Suppose the query is shoes
, the Condition.query_terms
is shoes
and the pin_map has {1, "pid1"}
, then product with pid1
will be pinned to the top position in the final results.
If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated.
Pins to positions larger than the max allowed page size of 120 are not allowed.
Fields | |
---|---|
pin_map
|
Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max request page size . |
RedirectAction
Redirects a shopper to a specific page.
- Rule Condition: Must specify
Condition.query_terms
. - Action Input: Request Query
- Action Result: Redirects shopper to provided uri.
Fields | |
---|---|
redirect_uri
|
URL must have length equal or less than 2000 characters. |
RemoveFacetAction
Removes an attribute/facet in the request if is present.
-
Rule Condition: Must specify non-empty
Condition.query_terms
(for search only) orCondition.page_categories
(for browse only), but can't specify both. -
Action Input: attribute name
-
Action Result: Will remove the attribute (as a facet) from the request if it is present.
Example: Suppose the query is "shoes", the Condition.query_terms
is "shoes" and the attribute name "size", then facet key "size" will be removed from the request (if it is present).
Fields | |
---|---|
attribute_names[]
|
The attribute names (i.e. facet keys) to remove from the dynamic facets (if present in the request). There can't be more 3 attribute names. Each attribute name should be a valid attribute name, be non-empty and contain at most 80 characters. |
ReplacementAction
Replaces a term in the query. Multiple replacement candidates can be specified. All query_terms
will be replaced with the replacement term. Example: Replace "gShoe" with "google shoe".
Fields | |
---|---|
query_terms[]
|
Terms from the search query. Will be replaced by replacement term. Can specify up to 100 terms. |
replacement_term
|
Term that will be used for replacement. |
term
|
Will be [deprecated = true] post migration; |
TwowaySynonymsAction
Creates a set of terms that will be treated as synonyms of each other. Example: synonyms of "sneakers" and "shoes":
- "sneakers" will use a synonym of "shoes".
- "shoes" will use a synonym of "sneakers".
Fields | |
---|---|
synonyms[]
|
Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. |
SearchRequest
Request message for SearchService.Search
method.
placement
string
Required. The resource name of the Retail Search serving config, such as projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config
or the name of the legacy placement resource, such as projects/*/locations/global/catalogs/default_catalog/placements/default_search
. This field is used to identify the serving config name and the set of models that are used to make the search.
branch
string
The branch resource name, such as projects/*/locations/global/catalogs/default_catalog/branches/0
.
Use "default_branch" as the branch ID or leave this field empty, to search products under the default branch.
query
string
Raw search query.
If this field is empty, the request is considered a category browsing request and returned results are based on filter
and page_categories
.
visitor_id
string
Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website.
This should be the same identifier as UserEvent.visitor_id
.
The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
user_info
User information.
page_size
int32
Maximum number of Product
s to return. If unspecified, defaults to a reasonable value. The maximum allowed value is 120. Values above 120 will be coerced to 120.
If this field is negative, an INVALID_ARGUMENT is returned.
page_token
string
A page token SearchResponse.next_page_token
, received from a previous SearchService.Search
call. Provide this to retrieve the subsequent page.
When paginating, all other parameters provided to SearchService.Search
must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.
offset
int32
A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Product
s deemed by the API as relevant) in search results. This field is only considered if page_token
is unset.
If this field is negative, an INVALID_ARGUMENT is returned.
filter
string
The filter syntax consists of an expression language for constructing a predicate from one or more fields of the products being filtered. Filter expression is case-sensitive. For more information, see Filter .
If this field is unrecognizable, an INVALID_ARGUMENT is returned.
canonical_filter
string
The default filter that is applied when a user performs a search without checking any filters on the search page.
The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality.
For more information about filter syntax, see SearchRequest.filter
.
order_by
facet_specs[]
Facet specifications for faceted search. If empty, no facets are returned.
A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
dynamic_facet_spec
(deprecated)
Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic to enable dynamic facets. Do not set this field.
The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated.
boost_spec
Boost specification to boost certain products. For more information, see Boost results .
Notice that if both ServingConfig.boost_control_ids
and SearchRequest.boost_spec
are set, the boost conditions from both places are evaluated. If a search request matches multiple boost conditions, the final boost score is equal to the sum of the boost scores from all matched boost conditions.
query_expansion_spec
The query expansion specification that specifies the conditions under which query expansion occurs. For more information, see Query expansion .
variant_rollup_keys[]
string
The keys to fetch and rollup the matching variant
Product
s attributes, FulfillmentInfo
or LocalInventory
s attributes. The attributes from all the matching variant
Product
s or LocalInventory
s are merged and de-duplicated. Notice that rollup attributes will lead to extra query latency. Maximum number of keys is 30.
For FulfillmentInfo
, a fulfillment type and a fulfillment ID must be provided in the format of "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123", "pickupInStore" is fulfillment type and "store123" is the store ID.
Supported keys are:
- colorFamilies
- price
- originalPrice
- discount
- variantId
- inventory(place_id,price)
- inventory(place_id,original_price)
- inventory(place_id,attributes.key), where key is any key in the
Product.local_inventories.attributes
map. - attributes.key, where key is any key in the
Product.attributes
map. - pickupInStore.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"pickup-in-store". - shipToStore.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"ship-to-store". - sameDayDelivery.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"same-day-delivery". - nextDayDelivery.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"next-day-delivery". - customFulfillment1.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"custom-type-1". - customFulfillment2.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"custom-type-2". - customFulfillment3.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"custom-type-3". - customFulfillment4.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"custom-type-4". - customFulfillment5.id, where id is any
FulfillmentInfo.place_ids
forFulfillmentInfo.type
"custom-type-5".
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
page_categories[]
string
The categories associated with a category page. Must be set for category navigation queries to achieve good search quality. The format should be the same as UserEvent.page_categories
;
To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, replace it with other character(s).
Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: "pageCategories" : ["Sales > 2017 Black Friday Deals"].
search_mode
The search mode of the search request. If not specified, a single search request triggers both product search and faceted search.
personalization_spec
The specification for personalization.
Notice that if both ServingConfig.personalization_spec
and SearchRequest.personalization_spec
are set. SearchRequest.personalization_spec
will override ServingConfig.personalization_spec
.
labels
map<string, string>
The labels applied to a resource must meet the following requirements:
- Each resource can have multiple labels, up to a maximum of 64.
- Each label must be a key-value pair.
- Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters.
- Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed.
- The key portion of a label must be unique. However, you can use the same key with multiple resources.
- Keys must start with a lowercase letter or international character.
For more information, see Requirements for labels in the Resource Manager documentation.
entity
string
The entity for customers that may run multiple different entities, domains, sites or regions, for example, Google US
, Google Ads
, Waymo
, google.com
, youtube.com
, etc. If this is set, it should be exactly matched with UserEvent.entity
to get search results boosted by entity.
conversational_search_spec
Optional. This field specifies all conversational related parameters addition to traditional retail search.
language_code
string
Optional. The BCP-47 language code, such as "en-US" or "sr-Latn" list . For more information, see Standardized codes . This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.
region_code
string
Optional. The Unicode country/region code (CLDR) of a location, such as "US" and "419" list . For more information, see Standardized codes . If set, then results will be boosted based on the region_code provided.
place_id
string
Optional. An id corresponding to a place, such as a store id or region id. When specified, we use the price from the local inventory with the matching product's LocalInventory.place_id
for revenue optimization.
user_attributes
map<string,
StringList
>
Optional. The user attributes that could be used for personalization of search results.
- Populate at most 100 key-value pairs per query.
- Only supports string keys and repeated string values.
- Duplicate keys are not allowed within a single query.
Example: user_attributes: [ { key: "pets" value { values: "dog" values: "cat" } }, { key: "state" value { values: "CA" } } ]
spell_correction_spec
The spell correction specification that specifies the mode under which spell correction will take effect.
BoostSpec
Boost specification to boost certain items.
Fields | |
---|---|
condition_boost_specs[]
|
Condition boost specifications. If a product matches multiple conditions in the specifications, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. |
skip_boost_spec_validation
|
Whether to skip boostspec validation. If this field is set to true, invalid |
ConditionBoostSpec
Boost applies to products which match a condition.
condition
string
An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter
for detail syntax and limitations.
Examples:
- To boost products with product ID "product_1" or "product_2", and color "Red" or "Blue":
- (id: ANY("product_1", "product_2")) AND (colorFamilies: ANY("Red","Blue"))
boost
float
Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0.
Setting to 1.0 gives the item a big promotion. However, it does not necessarily mean that the boosted item will be the top result at all times, nor that other items will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant items.
Setting to -1.0 gives the item a big demotion. However, results that are deeply relevant might still be shown. The item will have an upstream battle to get a fairly high ranking, but it is not blocked out completely.
Setting to 0.0 means no boost applied. The boosting condition is ignored.
ConversationalSearchSpec
This field specifies all conversational related parameters addition to traditional retail search.
Fields | |
---|---|
followup_conversation_requested
|
This field specifies whether the customer would like to do conversational search. If this field is set to true, conversational related extra information will be returned from server side, including follow-up question, answer options, etc. |
conversation_id
|
This field specifies the conversation id, which maintains the state of the conversation between client side and server side. Use the value from the previous [ConversationalSearchResult.conversation_id][]. For the initial request, this should be empty. |
user_answer
|
This field specifies the current user answer during the conversational search. This can be either user selected from suggested answers or user input plain text. |
UserAnswer
This field specifies the current user answer during the conversational search. This can be either user selected from suggested answers or user input plain text.
type
. This field specifies the type of user answer. type
can be only one of the following:text_answer
string
This field specifies the incremental input text from the user during the conversational search.
selected_answer
This field specifies the selected attributes during the conversational search. This should be a subset of [ConversationalSearchResult.suggested_answers][].
SelectedAnswer
This field specifies the selected answers during the conversational search.
Fields | |
---|---|
product_attribute_values[]
|
This field is deprecated and should not be set. |
product_attribute_value
|
This field specifies the selected answer which is a attribute key-value. |
DynamicFacetSpec
The specifications of dynamically generated facets.
Fields | |
---|---|
mode
|
Mode of the DynamicFacet feature. Defaults to |
Mode
Enum to control DynamicFacet mode
Enums | |
---|---|
MODE_UNSPECIFIED
|
Default value. |
DISABLED
|
Disable Dynamic Facet. |
ENABLED
|
Automatic mode built by Google Retail Search. |
FacetSpec
A facet specification to perform faceted search.
facet_key
Required. The facet key specification.
limit
int32
Maximum of facet values that should be returned for this facet. If unspecified, defaults to 50. The maximum allowed value is 300. Values above 300 will be coerced to 300.
If this field is negative, an INVALID_ARGUMENT is returned.
excluded_filter_keys[]
string
List of keys to exclude when faceting.
By default, FacetKey.key
is not excluded from the filter unless it is listed in this field.
Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned.
For example, suppose there are 100 products with the color facet "Red" and 200 products with the color facet "Blue". A query containing the filter "colorFamilies:ANY("Red")" and having "colorFamilies" as FacetKey.key
would by default return only "Red" products in the search results, and also return "Red" with count 100 as the only color facet. Although there are also blue products available, "Blue" would not be shown as an available facet value.
If "colorFamilies" is listed in "excludedFilterKeys", then the query returns the facet values "Red" with count 100 and "Blue" with count 200, because the "colorFamilies" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only "Red" products.
A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
enable_dynamic_position
bool
Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined by Google Retail Search. It is ordered together with dynamic facets if dynamic facets is enabled. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets.
For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined by Google Retail Search.
Another example, assuming you have the following facets in the request:
-
"rating", enable_dynamic_position = true
-
"price", enable_dynamic_position = false
-
"brands", enable_dynamic_position = false
And also you have a dynamic facets enable, which generates a facet "gender". Then, the final order of the facets in the response can be ("price", "brands", "rating", "gender") or ("price", "brands", "gender", "rating") depends on how Google Retail Search orders "gender" and "rating" facets. However, notice that "price" and "brands" are always ranked at first and second position because their enable_dynamic_position values are false.
FacetKey
Specifies how a facet is computed.
key
string
Required. Supported textual and numerical facet keys in Product
object, over which the facet values are computed. Facet key is case-sensitive.
Allowed facet keys when FacetKey.query
is not specified:
-
textual_field =
- "brands"
- "categories"
- "genders"
- "ageGroups"
- "availability"
- "colorFamilies"
- "colors"
- "sizes"
- "materials"
- "patterns"
- "conditions"
- "attributes.key"
- "pickupInStore"
- "shipToStore"
- "sameDayDelivery"
- "nextDayDelivery"
- "customFulfillment1"
- "customFulfillment2"
- "customFulfillment3"
- "customFulfillment4"
- "customFulfillment5"
- "inventory(place_id,attributes.key)"
-
numerical_field =
- "price"
- "discount"
- "rating"
- "ratingCount"
- "attributes.key"
- "inventory(place_id,price)"
- "inventory(place_id,original_price)"
- "inventory(place_id,attributes.key)"
intervals[]
Set only if values should be bucketized into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 40.
For all numerical facet keys that appear in the list of products from the catalog, the percentiles 0, 10, 30, 50, 70, 90, and 100 are computed from their distribution weekly. If the model assigns a high score to a numerical facet key and its intervals are not specified in the search request, these percentiles become the bounds for its intervals and are returned in the response. If the facet key intervals are specified in the request, then the specified intervals are returned instead.
restricted_values[]
string
Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20.
Must be set for the fulfillment facet keys:
-
pickupInStore
-
shipToStore
-
sameDayDelivery
-
nextDayDelivery
-
customFulfillment1
-
customFulfillment2
-
customFulfillment3
-
customFulfillment4
-
customFulfillment5
prefixes[]
string
Only get facet values that start with the given string prefix. For example, suppose "categories" has three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set "prefixes" to "Women", the "categories" facet gives only "Women > Shoe" and "Women > Dress". Only supported on textual fields. Maximum is 10.
contains[]
string
Only get facet values that contains the given strings. For example, suppose "categories" has three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the "categories" facet gives only "Women > Shoe" and "Men > Shoe". Only supported on textual fields. Maximum is 10.
case_insensitive
bool
True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.
order_by
string
The order in which SearchResponse.Facet.values
are returned.
Allowed values are:
-
"count desc", which means order by
SearchResponse.Facet.values.count
descending. -
"value desc", which means order by
SearchResponse.Facet.values.value
descending. Only applies to textual facets.
If not set, textual values are sorted in natural order
; numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals
; FulfillmentInfo.place_ids
are sorted in the order given by FacetSpec.FacetKey.restricted_values
.
query
string
The query that is used to compute facet for the given facet key. When provided, it overrides the default behavior of facet computation. The query syntax is the same as a filter expression. See SearchRequest.filter
for detail syntax and limitations. Notice that there is no limitation on FacetKey.key
when query is specified.
In the response, SearchResponse.Facet.values.value
is always "1" and SearchResponse.Facet.values.count
is the number of results that match the query.
For example, you can set a customized facet for "shipToStore", where FacetKey.key
is "customizedShipToStore", and FacetKey.query
is "availability: ANY("IN_STOCK") AND shipToStore: ANY("123")". Then the facet counts the products that are both in stock and ship to store "123".
return_min_max
bool
Returns the min and max value for each numerical facet intervals. Ignored for textual facets.
PersonalizationSpec
The specification for personalization.
Fields | |
---|---|
mode
|
Defaults to |
Mode
The personalization mode of each search request.
Enums | |
---|---|
MODE_UNSPECIFIED
|
Default value. In this case, server behavior defaults to Mode.AUTO
. |
AUTO
|
Let CRS decide whether to use personalization based on quality of user event data. |
DISABLED
|
Disable personalization. |
QueryExpansionSpec
Specification to determine under which conditions query expansion should occur.
Fields | |
---|---|
condition
|
The condition under which query expansion should occur. Default to |
pin_unexpanded_results
|
Whether to pin unexpanded results. The default value is false. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. |
Condition
Enum describing under which condition query expansion should occur.
Enums | |
---|---|
CONDITION_UNSPECIFIED
|
Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED
. |
DISABLED
|
Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size
is zero. |
AUTO
|
Automatic query expansion built by Google Retail Search. |
SearchMode
The search mode of each search request.
Enums | |
---|---|
SEARCH_MODE_UNSPECIFIED
|
Default value. In this case both product search and faceted search will be performed. Both SearchResponse.SearchResult
and SearchResponse.Facet
will be returned. |
PRODUCT_SEARCH_ONLY
|
Only product search will be performed. The faceted search will be disabled. Only |
FACETED_SEARCH_ONLY
|
Only faceted search will be performed. The product search will be disabled. When in this mode, one or both of |
CONVERSATIONAL_SEARCH_ONLY
|
Only conversational search will be performed. Product search and other search modes will be disabled. Only |
SpellCorrectionSpec
The specification for query spell correction.
Fields | |
---|---|
mode
|
The mode under which spell correction should take effect to replace the original search query. Default to |
Mode
Enum describing under which mode spell correction should occur.
Enums | |
---|---|
MODE_UNSPECIFIED
|
Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO
. |
SUGGESTION_ONLY
|
Google Retail Search will try to find a spell suggestion if there is any and put in the SearchResponse.corrected_query
. The spell suggestion will not be used as the search query. |
AUTO
|
Automatic spell correction built by Google Retail Search. Search will be based on the corrected query if found. |
SearchResponse
Response message for SearchService.Search
method.
Fields | |
---|---|
results[]
|
A list of matched items. The order represents the ranking. |
facets[]
|
Results of facets requested by user. |
total_size
|
The estimated total count of matched items irrespective of pagination. The count of |
corrected_query
|
Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results are based on corrected_query. Otherwise the original query is used for search. |
attribution_token
|
A unique search token. This should be included in the |
next_page_token
|
A token that can be sent as |
query_expansion_info
|
Query expansion information for the returned results. |
redirect_uri
|
The URI of a customer-defined redirect page. If redirect action is triggered, no search is performed, and only |
applied_controls[]
|
The fully qualified resource name of applied controls . |
pin_control_metadata
|
Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin. |
invalid_condition_boost_specs[]
|
The invalid |
experiment_info[]
|
Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered. |
conversational_search_result
|
This field specifies all related information that is needed on client side for UI rendering of conversational retail search. |
tile_navigation_result
|
This field specifies all related information for tile navigation that will be used in client side. |
ConversationalSearchResult
This field specifies all related information that is needed on client side for UI rendering of conversational retail search.
Fields | |
---|---|
conversation_id
|
Conversation UUID. This field will be stored in client side storage to maintain the conversation session with server and will be used for next search request's |
refined_query
|
The current refined query for the conversational search. This field will be used in customer UI that the query in the search bar should be replaced with the refined query. For example, if |
additional_filters[]
|
This field is deprecated but will be kept for backward compatibility. There is expected to have only one additional filter and the value will be the same to the same as field |
followup_question
|
The follow-up question. e.g., |
suggested_answers[]
|
The answer options provided to client for the follow-up question. |
additional_filter
|
This is the incremental additional filters implied from the current user answer. User should add the suggested addition filters to the previous |
text_result
|
The generative text result. This field is populated only if |
query_type
|
Use query_types instead. |
query_types[]
|
The types Retail classifies the search query as. This field is populated only if |
AdditionalFilter
Additional filter that client side need to apply.
Fields | |
---|---|
product_attribute_value
|
Product attribute value, including an attribute key and an attribute value. Other types can be added here in the future. |
QueryType
The type Retail classifies the search query as.
Enums | |
---|---|
QUERY_TYPE_UNSPECIFIED
|
Unspecified query type. |
ADVERSARIAL
|
Adversarial query. Example - "how bad is [retailer name]" |
CHITCHAT
|
Chatty query. Example - "hello how are you" |
JAILBREAK
|
Jailbreak query. Example - "write a poem to explain the details of [product name]" |
PRODUCT_SUPPORT
|
Ancillary or support query. Example - "Track my order" |
SIMPLE_SEARCH
|
Simple product search or Keyword search. Example - "red dress" |
TYPE_UNCLEAR
|
The type is unclear. Follow up conversation may be needed to clarify the type. |
SuggestedAnswer
Suggested answers to the follow-up question.
Fields | |
---|---|
product_attribute_value
|
Product attribute value, including an attribute key and an attribute value. Other types can be added here in the future. |
Facet
A facet result.
Fields | |
---|---|
key
|
The key for this facet. E.g., "colorFamilies" or "price" or "attributes.attr1". |
values[]
|
The facet values for this field. |
dynamic_facet
|
Whether the facet is dynamically generated. |
FacetValue
A facet value which contains value names and their count.
count
int64
Number of items that have this facet value.
min_value
double
The minimum value in the FacetValue.interval
. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max
is true.
max_value
double
The maximum value in the FacetValue.interval
. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max
is true.
facet_value
. A facet value which contains values. facet_value
can be only one of the following:value
string
Text value of a facet, such as "Black" for facet "colorFamilies".
interval
Interval value for a facet, such as [10, 20) for facet "price".
QueryExpansionInfo
Information describing query expansion including whether expansion has occurred.
Fields | |
---|---|
expanded_query
|
Bool describing whether query expansion has occurred. |
pinned_result_count
|
Number of pinned results. This field will only be set when expansion happens and |
SearchResult
Represents the search results.
id
string
Product.id
of the searched Product
.
product
The product data snippet in the search response. Only Product.name
is guaranteed to be populated.
Product.variants
contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy.
If relevancy can be deternmined, use matching_variant_fields
to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless.
matching_variant_fields
map<string,
FieldMask
>
If a variant
Product
matches the search query, this map indicates which Product
fields are matched. The key is the Product.name
, the value is a field mask of the matched Product
fields. If matched attributes cannot be determined, this map will be empty.
For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo
and the query.
variant_rollup_values
map<string,
Value
>
The rollup matching variant
Product
attributes. The key is one of the SearchRequest.variant_rollup_keys
. The values are the merged and de-duplicated Product
attributes. Notice that the rollup values are respect filter. For example, when filtering by "colorFamilies:ANY("red")" and rollup "colorFamilies", only "red" is returned.
For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue
. For example, if there are two variants with colors "red" and "blue", the rollup values are
{ key: "colorFamilies"
value {
list_value {
values { string_value: "red" }
values { string_value: "blue" }
}
}
}
For FulfillmentInfo
, the rollup values is a double value with type google.protobuf.Value
. For example, {key: "pickupInStore.store1" value { number_value: 10 }}
means a there are 10 variants in this product are available in the store "store1".
personal_labels[]
string
Specifies previous events related to this product for this user based on UserEvent
with same SearchRequest.visitor_id
or UserInfo.user_id
.
This is set only when SearchRequest.PersonalizationSpec.mode
is SearchRequest.PersonalizationSpec.Mode.AUTO
.
Possible values:
-
purchased
: Indicates that this product has been purchased before.
model_scores
map<string,
DoubleList
>
Google provided available scores.
SearchSolutionUseCase
The use case of Cloud Retail Search.
Enums | |
---|---|
SEARCH_SOLUTION_USE_CASE_UNSPECIFIED
|
The value when it's unspecified. In this case, server behavior defaults to SEARCH_SOLUTION_USE_CASE_SEARCH
. |
SEARCH_SOLUTION_USE_CASE_SEARCH
|
Search use case. Expects the traffic has a non-empty query
. |
SEARCH_SOLUTION_USE_CASE_BROWSE
|
Browse use case. Expects the traffic has an empty query
. |
ServingConfig
Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions).
name
string
Immutable. Fully qualified name projects/*/locations/global/catalogs/*/servingConfig/*
display_name
string
Required. The human readable serving config display name. Used in Retail UI.
This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
model_id
string
The id of the model in the same Catalog
to use at serving time. Currently only RecommendationModels are supported: https://cloud.google.com/retail/recommendations-ai/docs/create-models
Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR).
Required when solution_types
is SOLUTION_TYPE_RECOMMENDATION
.
price_reranking_level
string
How much price ranking we want in serving results. Price reranking causes product items with a similar recommendation probability to be ordered by price, with the highest-priced items first. This setting could result in a decrease in click-through and conversion rates. Allowed values are:
-
no-price-reranking
-
low-price-reranking
-
medium-price-reranking
-
high-price-reranking
If not specified, we choose default based on model type. Default value: no-price-reranking
.
Can only be set if solution_types
is SOLUTION_TYPE_RECOMMENDATION
.
facet_control_ids[]
string
Facet specifications for faceted search. If empty, no facets are returned. The ids refer to the ids of Control
resources with only the Facet control set. These controls are assumed to be in the same Catalog
as the ServingConfig
. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
dynamic_facet_spec
The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
boost_control_ids[]
string
Condition boost specifications. If a product matches multiple conditions in the specifications, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 100.
Notice that if both ServingConfig.boost_control_ids
and SearchRequest.boost_spec
are set, the boost conditions from both places are evaluated. If a search request matches multiple boost conditions, the final boost score is equal to the sum of the boost scores from all matched boost conditions.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
filter_control_ids[]
string
Condition filter specifications. If a product matches multiple conditions in the specifications, filters from these specifications are all applied and combined via the AND operator. Maximum number of specifications is 100.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
redirect_control_ids[]
string
Condition redirect specifications. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 1000.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
twoway_synonyms_control_ids[]
string
Condition synonyms specifications. If multiple syonyms conditions match, all matching synonyms control in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
oneway_synonyms_control_ids[]
string
Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
do_not_associate_control_ids[]
string
Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. - Order does not matter. - Maximum number of specifications is 100.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
replacement_control_ids[]
string
Condition replacement specifications. - Applied according to the order in the list. - A previously replaced term can not be re-replaced. - Maximum number of specifications is 100.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
ignore_control_ids[]
string
Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. - Order does not matter. - Maximum number of specifications is 100.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
diversity_level
string
How much diversity to use in recommendation model results e.g. medium-diversity
or high-diversity
. Currently supported values:
-
no-diversity
-
low-diversity
-
medium-diversity
-
high-diversity
-
auto-diversity
If not specified, we choose default based on recommendation model type. Default value: no-diversity
.
Can only be set if solution_types
is SOLUTION_TYPE_RECOMMENDATION
.
diversity_type
What kind of diversity to use - data driven or rule based. If unset, the server behavior defaults to RULE_BASED_DIVERSITY
.
enable_category_filter_level
string
Whether to add additional category filters on the similar-items
model. If not specified, we enable it by default. Allowed values are:
-
no-category-match
: No additional filtering of original results from the model and the customer's filters. -
relaxed-category-match
: Only keep results with categories that match at least one item categories in the PredictRequests's context item. - If customer also sends filters in the PredictRequest, then the results will satisfy both conditions (user given and category match).
Can only be set if solution_types
is SOLUTION_TYPE_RECOMMENDATION
.
ignore_recs_denylist
bool
When the flag is enabled, the products in the denylist will not be filtered out in the recommendation filtering results.
personalization_spec
The specification for personalization spec.
Can only be set if solution_types
is SOLUTION_TYPE_SEARCH
.
Notice that if both ServingConfig.personalization_spec
and SearchRequest.personalization_spec
are set. SearchRequest.personalization_spec
will override ServingConfig.personalization_spec
.
solution_types[]
Required. Immutable. Specifies the solution types that a serving config can be associated with. Currently we support setting only one type of solution.
DiversityType
What type of diversity - data or rule based.
Enums | |
---|---|
DIVERSITY_TYPE_UNSPECIFIED
|
Default value. |
RULE_BASED_DIVERSITY
|
Rule based diversity. |
DATA_DRIVEN_DIVERSITY
|
Data driven diversity. |
SetDefaultBranchRequest
Request message to set a specified branch as new default_branch.
Fields | |
---|---|
catalog
|
Full resource name of the catalog, such as |
branch_id
|
The final component of the resource name of a branch. This field must be one of "0", "1" or "2". Otherwise, an INVALID_ARGUMENT error is returned. If there are no sufficient active products in the targeted branch and |
note
|
Some note on this request, this can be retrieved by This field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. |
force
|
If set to true, it permits switching to a branch with |
SetInventoryMetadata
This type has no fields.
Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the ProductService.SetInventory
method.
SetInventoryRequest
Request message for ProductService.SetInventory
method.
inventory
Required. The inventory information to update. The allowable fields to update are:
-
Product.price_info
-
Product.availability
-
Product.available_quantity
-
Product.fulfillment_info
The updated inventory fields must be specified inSetInventoryRequest.set_mask
.
If SetInventoryRequest.inventory.name
is empty or invalid, an INVALID_ARGUMENT error is returned.
If the caller does not have permission to update the Product
named in Product.name
, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.
If the Product
to update does not have existing inventory information, the provided inventory information will be inserted.
If the Product
to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time
.
The caller can replace place IDs for a subset of fulfillment types in the following ways:
- Adds "fulfillment_info" in
SetInventoryRequest.set_mask
- Specifies only the desired fulfillment types and corresponding place IDs to update in
SetInventoryRequest.inventory.fulfillment_info
The caller can clear all place IDs from a subset of fulfillment types in the following ways:
- Adds "fulfillment_info" in
SetInventoryRequest.set_mask
- Specifies only the desired fulfillment types to clear in
SetInventoryRequest.inventory.fulfillment_info
- Checks that only the desired fulfillment info types have empty
SetInventoryRequest.inventory.fulfillment_info.place_ids
The last update time is recorded for the following inventory fields: * Product.price_info
* Product.availability
* Product.available_quantity
* Product.fulfillment_info
If a full overwrite of inventory information while ignoring timestamps is needed, ProductService.UpdateProduct
should be invoked instead.
set_mask
set_time
The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded. If not provided, the internal system time will be used.
allow_missing
bool
If set to true, and the Product
with name Product.name
is not found, the inventory update will still be processed and retained for at most 1 day until the Product
is created. If set to false, a NOT_FOUND error is returned if the Product
is not found.
SetInventoryResponse
This type has no fields.
Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the ProductService.SetInventory
method.
SolutionType
The type of solution.
Enums | |
---|---|
SOLUTION_TYPE_UNSPECIFIED
|
Default value. |
SOLUTION_TYPE_RECOMMENDATION
|
Used for Recommendations AI. |
SOLUTION_TYPE_SEARCH
|
Used for Retail Search. |
StringList
A list of string values.
Fields | |
---|---|
values[]
|
String values. |
Tile
This field specifies the tile information including an attribute key, attribute value. More fields will be added in the future, eg: product id or product counts, etc.
representative_product_id
string
The representative product id for this tile.
product_attribute
. The attribute key and value for the tile. product_attribute
can be only one of the following:product_attribute_value
The product attribute key-value.
product_attribute_interval
The product attribute key-numeric interval.
TuneModelMetadata
Metadata associated with a tune operation.
Fields | |
---|---|
model
|
The resource name of the model that this tune applies to. Format: |
TuneModelRequest
Request to manually start a tuning process now (instead of waiting for the periodically scheduled tuning to happen).
Fields | |
---|---|
name
|
Required. The resource name of the model to tune. Format: |
TuneModelResponse
This type has no fields.
Response associated with a tune operation.
UpdateAttributesConfigRequest
Request for CatalogService.UpdateAttributesConfig
method.
attributes_config
Required. The AttributesConfig
to update.
update_mask
Indicates which fields in the provided AttributesConfig
to update. The following is the only supported field:
If not set, all supported fields are updated.
UpdateCatalogRequest
Request for CatalogService.UpdateCatalog
method.
Fields | |
---|---|
catalog
|
Required. The If the caller does not have permission to update the If the |
update_mask
|
Indicates which fields in the provided If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned. |
UpdateCompletionConfigRequest
Request for CatalogService.UpdateCompletionConfig
method.
completion_config
Required. The CompletionConfig
to update.
If the caller does not have permission to update the CompletionConfig
, then a PERMISSION_DENIED error is returned.
If the CompletionConfig
to update does not exist, a NOT_FOUND error is returned.
update_mask
Indicates which fields in the provided CompletionConfig
to update. The following are the only supported fields:
-
CompletionConfig.matching_order
-
CompletionConfig.max_suggestions
-
CompletionConfig.min_prefix_length
-
CompletionConfig.auto_learning
If not set, all supported fields are updated.
UpdateControlRequest
Request for UpdateControl method.
control
Required. The Control to update.
update_mask
Indicates which fields in the provided Control
to update. The following are NOT supported:
If not set or empty, all supported fields are updated.
UpdateConversationalSearchCustomizationConfigRequest
Request for UpdateConversationalSearchCustomizationConfig method.
Fields | |
---|---|
conversational_search_customization_config
|
Required. The conversational search customization config to update. |
update_mask
|
Optional. Indicates which fields in the provided |
UpdateGenerativeQuestionConfigRequest
Request for UpdateGenerativeQuestionConfig method.
generative_question_config
Required. The question to update.
update_mask
Optional. Indicates which fields in the provided GenerativeQuestionConfig
to update. The following are NOT supported:
If not set or empty, all supported fields are updated.
UpdateGenerativeQuestionsFeatureConfigRequest
Request for UpdateGenerativeQuestionsFeatureConfig method.
Fields | |
---|---|
generative_questions_feature_config
|
Required. The configuration managing the feature state. |
update_mask
|
Optional. Indicates which fields in the provided |
UpdateModelRequest
Request for updating an existing model.
Fields | |
---|---|
model
|
Required. The body of the updated |
update_mask
|
Optional. Indicates which fields in the provided 'model' to update. If not set, by default updates all fields. |
UpdateProductRequest
Request message for ProductService.UpdateProduct
method.
Fields | |
---|---|
product
|
Required. The product to update/create. If the caller does not have permission to update the If the |
update_mask
|
Indicates which fields in the provided If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned. The attribute key can be updated by setting the mask path as "attributes.${key_name}". If a key name is present in the mask but not in the patching product from the request, this key will be deleted after the update. |
allow_missing
|
If set to true, and the |
UpdateServingConfigRequest
Request for UpdateServingConfig method.
serving_config
Required. The ServingConfig to update.
update_mask
Indicates which fields in the provided ServingConfig
to update. The following are NOT supported:
If not set, all supported fields are updated.
UserEvent
UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.
event_type
string
Required. User event type. Allowed values are:
-
add-to-cart
: Products being added to cart. -
remove-from-cart
: Products being removed from cart. -
category-page-view
: Special pages such as sale or promotion pages viewed. -
detail-page-view
: Products detail page viewed. -
home-page-view
: Homepage viewed. -
purchase-complete
: User finishing a purchase. -
search
: Product search. -
shopping-cart-page-view
: User viewing a shopping cart.
visitor_id
string
Required. A unique identifier for tracking visitors.
For example, this could be implemented with an 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.
Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality.
The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
The field should not contain PII or user-data. We recommend to use Google Analytics Client ID for this field.
session_id
string
A unique identifier for tracking a visitor session with a length limit of 128 bytes. A session is an aggregation of an end user behavior in a time span.
A general guideline to populate the session_id: 1. If user has no activity for 30 min, a new session_id should be assigned. 2. The session_id should be unique across users, suggest use uuid or add visitor_id as prefix.
event_time
Only required for UserEventService.ImportUserEvents
method. Timestamp of when the user event happened.
experiment_ids[]
string
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 Retail API, using different recommendation models).
attribution_token
string
Highly recommended for user events that are the result of PredictionService.Predict
. This field enables accurate attribution of recommendation model performance.
The value must be a valid PredictResponse.attribution_token
for user events that are the result of PredictionService.Predict
. The value must be a valid SearchResponse.attribution_token
for user events that are the result of SearchService.Search
.
This token enables us to accurately attribute page view or purchase back to the event and the particular predict response containing this clicked/purchased product. If user clicks on product K in the recommendation results, pass PredictResponse.attribution_token
as a URL parameter to product K's page. When recording events on product K's page, log the PredictResponse.attribution_token
to this field.
product_details[]
The main product details related to the event.
This field is optional except for the following event types:
-
add-to-cart
-
detail-page-view
-
purchase-complete
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 browsing 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 browsing the whole page yet.
completion_detail
The main auto-completion details related to the event.
This field should be set for search
event when autocomplete function is enabled and the user clicks a suggestion for search.
attributes
map<string,
CustomAttribute
>
Extra user event features to include in the recommendation model.
If you provide custom attributes for ingested user events, also include them in the user events that you associate with prediction requests. Custom attribute formatting must be consistent between imported events and events provided with prediction requests. This lets the Retail API use those custom attributes when training models and serving predictions, which helps improve recommendation quality.
This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned:
- The key must be a UTF-8 encoded string with a length limit of 5,000 characters.
- For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 256 characters.
- For number attributes, at most 400 values are allowed.
For product recommendations, an example of extra user information is traffic_channel, which is how a user arrives at the site. Users can arrive at the site by coming to the site directly, coming through Google search, or in other ways.
cart_id
string
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
, purchase-complete
, or shopping-cart-page-view
events.
purchase_transaction
A transaction represents the entire purchase transaction.
Required for purchase-complete
events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
search_query
string
The user's search query.
See SearchRequest.query
for definition.
The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
At least one of search_query
or page_categories
is required for search
events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
filter
string
The filter syntax consists of an expression language for constructing a predicate from one or more fields of the products being filtered.
See SearchRequest.filter
for definition and syntax.
The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
order_by
string
The order in which products are returned.
See SearchRequest.order_by
for definition and syntax.
The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
This can only be set for search
events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
offset
int32
An integer that specifies the current offset for pagination (the 0-indexed starting location, amongst the products deemed by the API as relevant).
See SearchRequest.offset
for definition.
If this field is negative, an INVALID_ARGUMENT is returned.
This can only be set for search
events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
page_categories[]
string
The categories associated with a category page.
To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, replace it with other character(s).
Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: "pageCategories" : ["Sales > 2017 Black Friday Deals"].
Required for category-page-view
events. At least one of search_query
or page_categories
is required for search
events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
user_info
User information.
uri
string
Complete URL (window.location.href) of the user's current page.
When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.
referrer_uri
string
The referrer URL of the current page.
When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.
page_view_id
string
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.
When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.
entity
string
The entity for customers that may run multiple different entities, domains, sites or regions, for example, Google US
, Google Ads
, Waymo
, google.com
, youtube.com
, etc. We recommend that you set this field to get better per-entity search, completion, and prediction results.
panels[]
Optional. List of panels associated with this event. Used for panel-level impression data.
UserEventImportSummary
A summary of import result. The UserEventImportSummary summarizes the import status for user events.
Fields | |
---|---|
joined_events_count
|
Count of user events imported with complete existing catalog information. |
unjoined_events_count
|
Count of user events imported, but with catalog information not found in the imported catalog. |
UserEventInlineSource
The inline source for the input config for ImportUserEvents method.
Fields | |
---|---|
user_events[]
|
Required. A list of user events to import. Recommended max of 10k items. |
UserEventInputConfig
The input config source for user events.
source
. The source of the input. source
can be only one of the following:user_event_inline_source
Required. The Inline source for the input content for UserEvents.
gcs_source
Required. Google Cloud Storage location for the input content.
big_query_source
Required. BigQuery input source.
UserInfo
Information of an end user.
user_id
string
Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users.
Always use a hashed value for this ID.
Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality.
The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
ip_address
string
The end user's IP address. This field is used to extract location information for personalization.
This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6 address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an INVALID_ARGUMENT error is returned.
This should not be set when:
- setting
SearchRequest.user_info
. - using the JavaScript tag in
UserEventService.CollectUserEvent
or ifdirect_user_request
is set.
user_agent
string
User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent
or if direct_user_request
is set.
direct_user_request
bool
True if the request is made directly from the end user, in which case the ip_address
and user_agent
can be populated from the HTTP request. 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).
This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent
.
WriteUserEventRequest
Request message for WriteUserEvent method.
Fields | |
---|---|
parent
|
Required. The parent catalog resource name, such as |
user_event
|
Required. User event to write. |
write_async
|
If set to true, the user event will be written asynchronously after validation, and the API will respond without waiting for the write. Therefore, silent failures can occur even if the API returns success. In case of silent failures, error messages can be found in Stackdriver logs. |