Central instance to access all CloudRetail related resource activities
Message that represents an arbitrary HTTP body. It should only be used for payload formats that can’t be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
Request for CatalogService.AddCatalogAttribute method.
Request for AddControl method.
Request message for ProductService.AddFulfillmentPlaces method.
Request message for ProductService.AddLocalInventories method.
Catalog level attribute config.
An intended audience of the Product for whom it’s sold.
BigQuery source import data from.
The catalog configuration.
Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
Possible options for the facet that corresponds to the current attribute config.
Facet values to ignore on facets during the specified time range for the given SearchResponse.Facet.key attribute.
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).
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.
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).
The color information of a Product.
Response of the autocomplete query.
Resource that represents completion results.
Recent search of this user.
Catalog level autocomplete config for customers to customize autocomplete feature’s settings.
The input config source for completion data.
Detailed completion information including completion attribution token and clicked completion info.
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.
Query terms that we want to match on.
Used for time-dependent conditions. Example: Want to have rule applied for week long sale.
Configures dynamic metadata that can be linked to a ServingConfig and affect search or recommendation results at serving time.
A custom attribute that is not explicitly modeled in Product.
Metadata for active A/B testing Experiment.
Metadata for active serving config A/B tests.
Request message for the ExportAnalyticsMetrics
method.
Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.
Google Cloud Storage location for input content.
Response message of CatalogService.GetDefaultBranch.
Product image. Recommendations AI and Retail Search do not use product images to improve prediction and search results. However, product images can be returned in results, and are shown in prediction or search previews in the console.
Request message for ImportCompletionData methods.
Configuration of destination for Import related errors.
Request message for Import methods.
Request message for the ImportUserEvents request.
A floating point interval.
Response for CatalogService.ListCatalogs method.
Response for ListControls method.
Response to a ListModelRequest.
Response message for ProductService.ListProducts method.
Response for ListServingConfigs method.
The inventory information at a place (e.g. a store) identified by a place ID.
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.
Additional configs for the frequently-bought-together model type.
Additional model features config.
Represents an ordered combination of valid serving configs, which can be used for PAGE_OPTIMIZATION
recommendations.
The output configuration setting.
The BigQuery output destination configuration.
The Google Cloud Storage output destination configuration.
Request for pausing training of a model.
Request message for Predict method.
Response message for predict method.
PredictionResult represents the recommendation prediction results.
The price information of a Product.
The price range of all variant Product having the same Product.primary_product_id.
Product captures all metadata information of items to be recommended or searched.
Detailed product information associated with a user event.
The inline source for the input config for ImportProducts method.
The input config source for products.
Configures what level the product should be uploaded with regards to how users will be send events and how predictions will be made.
Promotion specification.
A transaction represents the entire purchase transaction.
Request message for PurgeProducts method.
Request message for PurgeUserEvents method.
The rating of a Product.
Request message for RejoinUserEvents method.
Request for CatalogService.RemoveCatalogAttribute method.
Request for RemoveControl method.
Request message for ProductService.RemoveFulfillmentPlaces method.
Request message for ProductService.RemoveLocalInventories method.
Request for CatalogService.ReplaceCatalogAttribute method.
Request for resuming training of a model.
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 with SOLUTION_TYPE_SEARCH.
A boost action to apply to results matching condition specified above.
Prevents query_term
from being associated with specified terms during search. Example: Don’t associate “gShoe” and “cheap”.
Rule Condition: - No Condition.query_terms provided is a global match. - 1 or more Condition.query_terms provided are combined with OR operator. * 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.
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) or Condition.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.
Each facet position adjustment consists of a single attribute name (i.e. facet key) along with a specified position.
Prevents a term in the query from being used in search. Example: Don’t search for “shoddy”.
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”.
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.
Removes an attribute/facet in the request if is present. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.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).
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”.
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”.
Request message for SearchService.Search method.
Boost specification to boost certain items.
Boost applies to products which match a condition.
The specifications of dynamically generated facets.
A facet specification to perform faceted search.
Specifies how a facet is computed.
The specification for personalization.
Specification to determine under which conditions query expansion should occur.
The specification for query spell correction.
Response message for SearchService.Search method.
A facet result.
A facet value which contains value names and their count.
Information describing query expansion including whether expansion has occurred.
Represents the search results.
Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions).
Request message to set a specified branch as new default_branch.
Request message for ProductService.SetInventory method.
Request to manually start a tuning process now (instead of waiting for the periodically scheduled tuning to happen).
UserEvent captures all metadata information Retail API needs to know about how end users interact with customers’ website.
The inline source for the input config for ImportUserEvents method.
The input config source for user events.
Information of an end user.
The response message for Operations.ListOperations.
This resource represents a long-running operation that is the result of a network API call.
A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
The
Status
type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by
gRPC. Each
Status
message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the
API Design Guide.
Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.
Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.
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.
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
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 Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.
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 Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.
Creates a Product.
Deletes a Product.
Gets a Product.
Bulk import of multiple Products. Request processing may be synchronous. Non-existing items are created. Note that it is possible for a subset of the Products to be successfully updated.
Gets a list of Products.
Updates a Product.
Permanently deletes all selected Products 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 Products, this operation could take hours to complete. Before the operation completes, some Products may still be returned by ProductService.GetProduct or ProductService.ListProducts. Depending on the number of Products, this operation could take hours to complete. To get a sample of Products that would be deleted, set PurgeProductsRequest.force to false.
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 Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.
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 Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.
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 Operations is obsolete after one day, and the GetOperation API returns NOT_FOUND
afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.
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.
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.
Creates a Control. If the Control to create already exists, an ALREADY_EXISTS error is returned.
Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.
Gets a Control.
Lists all Controls by their parent Catalog.
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.
Exports analytics metrics. Operation.response
is of type ExportAnalyticsMetricsResponse
. Operation.metadata
is of type ExportMetadata
.
Gets an AttributesConfig.
Gets a CompletionConfig.
Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.
Lists all the Catalogs associated with the project.
Creates a new model.
Deletes an existing model.
Gets a model.
Lists all the models linked to this event store.
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.
Pauses the training of an existing model.
Resumes the training of an existing model.
Tunes an existing model.
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
Lists operations that match the specified filter in the request. If the server doesn’t support this method, it returns UNIMPLEMENTED
.
Updates the Catalogs.
Makes a recommendation prediction.
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.
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.
Creates a ServingConfig. A maximum of 100 ServingConfigs are allowed in a Catalog, otherwise a FAILED_PRECONDITION error is returned.
Deletes a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.
Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.
Lists all ServingConfigs linked to this catalog.
Updates a ServingConfig.
Makes a recommendation prediction.
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.
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.
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}.
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.
Updates the CompletionConfigs.
Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.
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
.
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.
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.
Writes a single user event.
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
Lists operations that match the specified filter in the request. If the server doesn’t support this method, it returns UNIMPLEMENTED
.
A builder providing access to all methods supported on
project resources.
It is not used directly, but through the
CloudRetail
hub.
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
Lists operations that match the specified filter in the request. If the server doesn’t support this method, it returns UNIMPLEMENTED
.