| <html><body> |
| <style> |
| |
| body, h1, h2, h3, div, span, p, pre, a { |
| margin: 0; |
| padding: 0; |
| border: 0; |
| font-weight: inherit; |
| font-style: inherit; |
| font-size: 100%; |
| font-family: inherit; |
| vertical-align: baseline; |
| } |
| |
| body { |
| font-size: 13px; |
| padding: 1em; |
| } |
| |
| h1 { |
| font-size: 26px; |
| margin-bottom: 1em; |
| } |
| |
| h2 { |
| font-size: 24px; |
| margin-bottom: 1em; |
| } |
| |
| h3 { |
| font-size: 20px; |
| margin-bottom: 1em; |
| margin-top: 1em; |
| } |
| |
| pre, code { |
| line-height: 1.5; |
| font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; |
| } |
| |
| pre { |
| margin-top: 0.5em; |
| } |
| |
| h1, h2, h3, p { |
| font-family: Arial, sans serif; |
| } |
| |
| h1, h2, h3 { |
| border-bottom: solid #CCC 1px; |
| } |
| |
| .toc_element { |
| margin-top: 0.5em; |
| } |
| |
| .firstline { |
| margin-left: 2 em; |
| } |
| |
| .method { |
| margin-top: 1em; |
| border: solid 1px #CCC; |
| padding: 1em; |
| background: #EEE; |
| } |
| |
| .details { |
| font-weight: bold; |
| font-size: 14px; |
| } |
| |
| </style> |
| |
| <h1><a href="recommendationengine_v1beta1.html">Recommendations AI</a> . <a href="recommendationengine_v1beta1.projects.html">projects</a> . <a href="recommendationengine_v1beta1.projects.locations.html">locations</a> . <a href="recommendationengine_v1beta1.projects.locations.catalogs.html">catalogs</a> . <a href="recommendationengine_v1beta1.projects.locations.catalogs.eventStores.html">eventStores</a> . <a href="recommendationengine_v1beta1.projects.locations.catalogs.eventStores.userEvents.html">userEvents</a></h1> |
| <h2>Instance Methods</h2> |
| <p class="toc_element"> |
| <code><a href="#collect">collect(parent, uri=None, ets=None, userEvent=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Writes a single user event from the browser. This uses a GET request to</p> |
| <p class="toc_element"> |
| <code><a href="#import_">import_(parent, body=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Bulk import of User events. Request processing might be</p> |
| <p class="toc_element"> |
| <code><a href="#list">list(parent, filter=None, eg=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Gets a list of user events within a time range, with potential filtering.</p> |
| <p class="toc_element"> |
| <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> |
| <p class="firstline">Retrieves the next page of results.</p> |
| <p class="toc_element"> |
| <code><a href="#purge">purge(parent, body=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Deletes permanently all user events specified by the filter provided.</p> |
| <p class="toc_element"> |
| <code><a href="#rejoin">rejoin(parent, body=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Triggers a user event rejoin operation with latest catalog data. Events</p> |
| <p class="toc_element"> |
| <code><a href="#write">write(parent, body=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Writes a single user event.</p> |
| <h3>Method Details</h3> |
| <div class="method"> |
| <code class="details" id="collect">collect(parent, uri=None, ets=None, userEvent=None, x__xgafv=None)</code> |
| <pre>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 Recommendations AI JavaScript pixel. |
| Users should not call this method directly. |
| |
| Args: |
| parent: string, Required. The parent eventStore name, such as |
| "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store". (required) |
| uri: string, Optional. The url including cgi-parameters but excluding the hash fragment. The URL |
| must be truncated to 1.5K bytes to conservatively be under the 2K bytes. |
| This is often more useful than the referer url, because many browsers only |
| send the domain for 3rd party requests. |
| ets: string, Optional. The event timestamp in milliseconds. This prevents browser caching of |
| otherwise identical get requests. The name is abbreviated to reduce the |
| payload bytes. |
| userEvent: string, Required. URL encoded UserEvent proto. |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # 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. |
| "extensions": [ # Application specific response metadata. Must be set in the first response |
| # for streaming APIs. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "data": "A String", # The HTTP request/response body as raw binary. |
| "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="import_">import_(parent, body=None, x__xgafv=None)</code> |
| <pre>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. |
| |
| Args: |
| parent: string, Required. "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store" (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # Request message for the ImportUserEvents request. |
| "inputConfig": { # The input config source. # Required. The desired input location of the data. |
| "userEventInlineSource": { # The inline source for the input config for ImportUserEvents method. # The Inline source for the input content for UserEvents. |
| "userEvents": [ # Optional. A list of user events to import. Recommended max of 10k items. |
| { # UserEvent captures all metadata information recommendation engine needs to |
| # know about how end users interact with customers' website. |
| "productEventDetail": { # ProductEventDetail captures user event information specific to retail # Optional. Retail product specific user event metadata. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `category-page-view` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # * `search` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_event_detail' should be |
| # set for this unless the shopping cart is empty. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `home-page-view` |
| # products. |
| "pageCategories": [ # Required for `category-page-view` events. Other event types should not set |
| # this field. |
| # The categories associated with a category page. |
| # Category pages include special pages such as sales or promotions. For |
| # instance, a special sale page may have the category hierarchy: |
| # categories : ["Sales", "2017 Black Friday Deals"]. |
| { # Category represents catalog item category hierarchy. |
| "categories": [ # Required. Catalog item categories. Each category should be a UTF-8 |
| # encoded string with a length limit of 2 KiB. |
| # |
| # Note that the order in the list denotes the specificity (from least to |
| # most specific). |
| "A String", |
| ], |
| }, |
| ], |
| "purchaseTransaction": { # A transaction represents the entire purchase transaction. # Optional. A transaction represents the entire purchase transaction. |
| # Required for `purchase-complete` events. Optional for `checkout-start` |
| # events. Other event types should not set this field. |
| "taxes": { # Optional. All the taxes associated with the transaction. |
| "a_key": 3.14, |
| }, |
| "id": "A String", # Optional. The transaction ID with a length limit of 128 bytes. |
| "currencyCode": "A String", # Required. Currency code. Use three-character ISO-4217 code. This field |
| # is not required if the event type is `refund`. |
| "revenue": 3.14, # Required. Total revenue or grand total associated with the transaction. |
| # This value include shipping, tax, or other adjustments to total revenue |
| # that you want to include as part of your revenue calculations. This field |
| # is not required if the event type is `refund`. |
| "costs": { # Optional. All the costs associated with the product. These can be |
| # manufacturing costs, shipping expenses not borne by the end user, or any |
| # other costs. |
| # |
| # Total product cost such that |
| # profit = revenue - (sum(taxes) + sum(costs)) |
| # If product_cost is not set, then |
| # profit = revenue - tax - shipping - sum(CatalogItem.costs). |
| # |
| # If CatalogItem.cost is not specified for one of the items, CatalogItem.cost |
| # based profit *cannot* be calculated for this Transaction. |
| "a_key": 3.14, |
| }, |
| }, |
| "searchQuery": "A String", # Required for `search` events. Other event types should not set this field. |
| # The user's search query as UTF-8 encoded text with a length limit of 5 KiB. |
| "productDetails": [ # The main product details related to the event. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_details' should be set for |
| # this unless the shopping cart is empty. |
| # * `search` (highly encouraged) |
| # |
| # In a `search` event, this field represents the products returned to the end |
| # user on the current page (the end user may have not finished broswing the |
| # whole page yet). When a new page is returned to the end user, after |
| # pagination/filtering/ordering even for the same query, a new SEARCH event |
| # with different product_details is desired. The end user may have not |
| # finished broswing the whole page yet. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `category-page-view` |
| # * `home-page-view` |
| { # Detailed product information associated with a user event. |
| "itemAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra features associated with a product in the user event. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| "id": "A String", # Required. Catalog item ID. UTF-8 encoded string with a length limit of 128 |
| # characters. |
| "originalPrice": 3.14, # Optional. Original price of the product. If provided, this will override |
| # the original price in Catalog for this product. |
| "stockState": "A String", # Optional. Item stock state. If provided, this overrides the stock state |
| # in Catalog for items in this event. |
| "displayPrice": 3.14, # Optional. Display price of the product (e.g. discounted price). If |
| # provided, this will override the display price in Catalog for this product. |
| "availableQuantity": 42, # Optional. Quantity of the products in stock when a user event happens. |
| # Optional. If provided, this overrides the available quantity in Catalog for |
| # this event. and can only be set if `stock_status` is set to `IN_STOCK`. |
| # |
| # Note that if an item is out of stock, you must set the `stock_state` field |
| # to be `OUT_OF_STOCK`. Leaving this field unspecified / as zero is not |
| # sufficient to mark the item out of stock. |
| "quantity": 42, # Optional. Quantity of the product associated with the user event. For |
| # example, this field will be 2 if two products are added to the shopping |
| # cart for `add-to-cart` event. Required for `add-to-cart`, `add-to-list`, |
| # `remove-from-cart`, `checkout-start`, `purchase-complete`, `refund` event |
| # types. |
| "currencyCode": "A String", # Optional. Currency code for price/costs. Use three-character ISO-4217 |
| # code. Required only if originalPrice or displayPrice is set. |
| }, |
| ], |
| "cartId": "A String", # Optional. The id or name of the associated shopping cart. This id is used |
| # to associate multiple items added or present in the cart before purchase. |
| # |
| # This can only be set for `add-to-cart`, `remove-from-cart`, |
| # `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events. |
| "listId": "A String", # Required for `add-to-list` and `remove-from-list` events. The id or name of |
| # the list that the item is being added to or removed from. Other event types |
| # should not set this field. |
| }, |
| "eventType": "A String", # Required. User event type. Allowed values are: |
| # |
| # * `add-to-cart` Products being added to cart. |
| # * `add-to-list` Items being added to a list (shopping list, favorites |
| # etc). |
| # * `category-page-view` Special pages such as sale or promotion pages |
| # viewed. |
| # * `checkout-start` User starting a checkout process. |
| # * `detail-page-view` Products detail page viewed. |
| # * `home-page-view` Homepage viewed. |
| # * `page-visit` Generic page visits not included in the event types above. |
| # * `purchase-complete` User finishing a purchase. |
| # * `refund` Purchased items being refunded or returned. |
| # * `remove-from-cart` Products being removed from cart. |
| # * `remove-from-list` Items being removed from a list. |
| # * `search` Product search. |
| # * `shopping-cart-page-view` User viewing a shopping cart. |
| # * `impression` List of items displayed. Used by Google Tag Manager. |
| "userInfo": { # Information of end users. # Required. User information. |
| "ipAddress": "A String", # Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80) or |
| # IPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should *not* be |
| # set when using the javascript pixel or if `direct_user_request` is set. |
| # Used to extract location information for personalization. |
| "directUserRequest": True or False, # Optional. Indicates if the request is made directly from the end user |
| # in which case the user_agent and ip_address fields can be populated |
| # from the HTTP request. This should *not* be set when using the javascript |
| # pixel. This flag should be set only if the API request is made directly |
| # from the end user such as a mobile app (and not if a gateway or a server is |
| # processing and pushing the user events). |
| "userAgent": "A String", # Optional. User agent as included in the HTTP header. UTF-8 encoded string |
| # with a length limit of 1 KiB. |
| # |
| # This should *not* be set when using the JavaScript pixel or if |
| # `directUserRequest` is set. |
| "visitorId": "A String", # Required. A unique identifier for tracking visitors with a length limit of |
| # 128 bytes. |
| # |
| # For example, this could be implemented with a http cookie, which should be |
| # able to uniquely identify a visitor on a single device. This unique |
| # identifier should not change if the visitor log in/out of the website. |
| # Maximum length 128 bytes. Cannot be empty. |
| "userId": "A String", # Optional. Unique identifier for logged-in user with a length limit of 128 |
| # bytes. Required only for logged-in users. |
| }, |
| "eventTime": "A String", # Optional. Only required for ImportUserEvents method. Timestamp of user |
| # event created. |
| "eventDetail": { # User event details shared by all recommendation types. # Optional. User event detailed information common across different |
| # recommendation types. |
| "pageViewId": "A String", # Optional. A unique id of a web page view. |
| # This should be kept the same for all user events triggered from the same |
| # pageview. For example, an item detail page view could trigger multiple |
| # events as the user is browsing the page. |
| # The `pageViewId` property should be kept the same for all these events so |
| # that they can be grouped together properly. This `pageViewId` will be |
| # automatically generated if using the JavaScript pixel. |
| "uri": "A String", # Optional. Complete url (window.location.href) of the user's current page. |
| # When using the JavaScript pixel, this value is filled in automatically. |
| # Maximum length 5KB. |
| "referrerUri": "A String", # Optional. The referrer url of the current page. When using |
| # the JavaScript pixel, this value is filled in automatically. |
| "recommendationToken": "A String", # Optional. Recommendation token included in the recommendation prediction |
| # response. |
| # |
| # This field enables accurate attribution of recommendation model |
| # performance. |
| # |
| # This token enables us to accurately attribute page view or purchase back to |
| # the event and the particular predict response containing this |
| # clicked/purchased item. If user clicks on product K in the recommendation |
| # results, pass the `PredictResponse.recommendationToken` property as a url |
| # parameter to product K's page. When recording events on product K's page, |
| # log the PredictResponse.recommendation_token to this field. |
| # |
| # Optional, but highly encouraged for user events that are the result of a |
| # recommendation prediction query. |
| "experimentIds": [ # Optional. A list of identifiers for the independent experiment groups |
| # this user event belongs to. This is used to distinguish between user events |
| # associated with different experiment setups (e.g. using Recommendation |
| # Engine system, using different recommendation models). |
| "A String", |
| ], |
| "eventAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra user event features to include in the recommendation |
| # model. |
| # |
| # For product recommendation, an example of extra user information is |
| # traffic_channel, i.e. how user arrives at the site. Users can arrive |
| # at the site by coming to the site directly, or coming through Google |
| # search, and etc. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| }, |
| "eventSource": "A String", # Optional. This field should *not* be set when using JavaScript pixel |
| # or the Recommendations AI Tag. Defaults to `EVENT_SOURCE_UNSPECIFIED`. |
| }, |
| ], |
| }, |
| "gcsSource": { # Google Cloud Storage location for input content. # Google Cloud Storage location for the input content. |
| # format. |
| "jsonSchema": "A String", # Optional. The schema to use when parsing the data from the source. |
| # |
| # Supported values for catalog imports: |
| # |
| # 1: "catalog_recommendations_ai" using |
| # https://cloud.google.com/recommendations-ai/docs/upload-catalog#json |
| # (Default for catalogItems.import) |
| # |
| # 2: "catalog_merchant_center" using |
| # https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc |
| # |
| # Supported values for user events imports: |
| # |
| # 1: "user_events_recommendations_ai" using |
| # https://cloud.google.com/recommendations-ai/docs/manage-user-events#import |
| # (Default for userEvents.import) |
| "inputUris": [ # Required. Google Cloud Storage URIs to input files. URI can be up to |
| # 2000 characters long. URIs can match the full object path (for example, |
| # gs://bucket/directory/object.json) or a pattern matching one or more |
| # files, such as gs://bucket/directory/*.json. A request can |
| # contain at most 100 files, and each file can be up to 2 GB. See |
| # [Importing catalog information](/recommendations-ai/docs/upload-catalog) |
| # for the expected file format and setup instructions. |
| "A String", |
| ], |
| }, |
| "catalogInlineSource": { # The inline source for the input config for ImportCatalogItems method. # The Inline source for the input content for Catalog items. |
| "catalogItems": [ # Optional. A list of catalog items to update/create. Recommended max of 10k |
| # items. |
| { # CatalogItem captures all metadata information of items to be recommended. |
| "languageCode": "A String", # Optional. Deprecated. The model automatically detects the text language. Your |
| # catalog can include text in different languages, but duplicating |
| # catalog items to provide text in multiple languages can result in |
| # degraded model performance. |
| "tags": [ # Optional. Filtering tags associated with the catalog item. Each tag should |
| # be a UTF-8 encoded string with a length limit of 1 KiB. |
| # |
| # This tag can be used for filtering recommendation results by passing the |
| # tag as part of the predict request filter. |
| "A String", |
| ], |
| "itemGroupId": "A String", # Optional. Variant group identifier for prediction results. UTF-8 encoded |
| # string with a length limit of 128 bytes. |
| # |
| # This field must be enabled before it can be used. [Learn |
| # more](/recommendations-ai/docs/catalog#item-group-id). |
| "categoryHierarchies": [ # Required. Catalog item categories. This field is repeated for supporting |
| # one catalog item belonging to several parallel category hierarchies. |
| # |
| # For example, if a shoes product belongs to both |
| # ["Shoes & Accessories" -> "Shoes"] and |
| # ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be |
| # represented as: |
| # |
| # "categoryHierarchies": [ |
| # { "categories": ["Shoes & Accessories", "Shoes"]}, |
| # { "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] } |
| # ] |
| { # Category represents catalog item category hierarchy. |
| "categories": [ # Required. Catalog item categories. Each category should be a UTF-8 |
| # encoded string with a length limit of 2 KiB. |
| # |
| # Note that the order in the list denotes the specificity (from least to |
| # most specific). |
| "A String", |
| ], |
| }, |
| ], |
| "id": "A String", # Required. Catalog item identifier. UTF-8 encoded string with a length limit |
| # of 128 bytes. |
| # |
| # This id must be unique among all catalog items within the same catalog. It |
| # should also be used when logging user events in order for the user events |
| # to be joined with the Catalog. |
| "itemAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Highly encouraged. Extra catalog item attributes to be |
| # included in the recommendation model. For example, for retail 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 item attributes here. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| "title": "A String", # Required. Catalog item title. UTF-8 encoded string with a length limit of 1 |
| # KiB. |
| "description": "A String", # Optional. Catalog item description. UTF-8 encoded string with a length |
| # limit of 5 KiB. |
| "productMetadata": { # ProductCatalogItem captures item metadata specific to retail products. # Optional. Metadata specific to retail products. |
| "images": [ # Optional. Product images for the catalog item. |
| { # Catalog item thumbnail/detail image. |
| "uri": "A String", # Required. URL of the image with a length limit of 5 KiB. |
| "height": 42, # Optional. Height of the image in number of pixels. |
| "width": 42, # Optional. Width of the image in number of pixels. |
| }, |
| ], |
| "priceRange": { # Product price range when there are a range of prices for different # Optional. The product price range. |
| # variations of the same product. |
| "max": 3.14, # Required. The maximum product price. |
| "min": 3.14, # Required. The minimum product price. |
| }, |
| "stockState": "A String", # Optional. Online stock state of the catalog item. Default is `IN_STOCK`. |
| "canonicalProductUri": "A String", # Optional. Canonical URL directly linking to the item detail page with a |
| # length limit of 5 KiB.. |
| "currencyCode": "A String", # Optional. Only required if the price is set. Currency code for price/costs. Use |
| # three-character ISO-4217 code. |
| "costs": { # Optional. A map to pass the costs associated with the product. |
| # |
| # For example: |
| # {"manufacturing": 45.5} The profit of selling this item is computed like |
| # so: |
| # |
| # * If 'exactPrice' is provided, profit = displayPrice - sum(costs) |
| # * If 'priceRange' is provided, profit = minPrice - sum(costs) |
| "a_key": 3.14, |
| }, |
| "availableQuantity": "A String", # Optional. The available quantity of the item. |
| "exactPrice": { # Exact product price. # Optional. The exact product price. |
| "originalPrice": 3.14, # Optional. Price of the product without any discount. If zero, by default |
| # set to be the 'displayPrice'. |
| "displayPrice": 3.14, # Optional. Display price of the product. |
| }, |
| }, |
| }, |
| ], |
| }, |
| "bigQuerySource": { # BigQuery source import data from. # BigQuery input source. |
| "projectId": "A String", # Optional. The project id (can be project # or id) that the BigQuery source is in. If |
| # not specified, inherits the project id from the parent request. |
| "tableId": "A String", # Required. The BigQuery table to copy the data from. |
| "datasetId": "A String", # Required. The BigQuery data set to copy the data from. |
| "dataSchema": "A String", # Optional. The schema to use when parsing the data from the source. |
| # |
| # Supported values for catalog imports: |
| # |
| # 1: "catalog_recommendations_ai" using |
| # https://cloud.google.com/recommendations-ai/docs/upload-catalog#json |
| # (Default for catalogItems.import) |
| # |
| # 2: "catalog_merchant_center" using |
| # https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc |
| # |
| # Supported values for user event imports: |
| # |
| # 1: "user_events_recommendations_ai" using |
| # https://cloud.google.com/recommendations-ai/docs/manage-user-events#import |
| # (Default for userEvents.import) |
| "gcsStagingDir": "A String", # Required. Intermediate gcs dir used for the import. |
| # . |
| }, |
| }, |
| "errorsConfig": { # Configuration of destination for Import related errors. # Optional. The desired location of errors incurred during the Import. |
| "gcsPrefix": "A String", # Google Cloud Storage path for import errors. This must be an empty, |
| # existing Cloud Storage bucket. Import errors will be written to a file in |
| # this bucket, one per line, as a JSON-encoded |
| # `google.rpc.Status` message. |
| }, |
| "requestId": "A String", # Optional. Unique identifier provided by client, within the ancestor |
| # dataset scope. Ensures idempotency for expensive long running operations. |
| # Server-generated if unspecified. Up to 128 characters long. This is |
| # returned as google.longrunning.Operation.name in the response. Note that |
| # this field must not be set if the desired input config is |
| # catalog_inline_source. |
| } |
| |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # This resource represents a long-running operation that is the result of a |
| # network API call. |
| "name": "A String", # The server-assigned name, which is only unique within the same service that |
| # originally returns it. If you use the default HTTP mapping, the |
| # `name` should be a resource name ending with `operations/{unique_id}`. |
| "metadata": { # Service-specific metadata associated with the operation. It typically |
| # contains progress information and common metadata such as create time. |
| # Some services might not provide such metadata. Any method that returns a |
| # long-running operation should document the metadata type, if any. |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| "response": { # The normal response of the operation in case of success. If the original |
| # method returns no data on success, such as `Delete`, the response is |
| # `google.protobuf.Empty`. If the original method is standard |
| # `Get`/`Create`/`Update`, the response should be the resource. For other |
| # methods, the response should have the type `XxxResponse`, where `Xxx` |
| # is the original method name. For example, if the original method name |
| # is `TakeSnapshot()`, the inferred response type is |
| # `TakeSnapshotResponse`. |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| "done": True or False, # If the value is `false`, it means the operation is still in progress. |
| # If `true`, the operation is completed, and either `error` or `response` is |
| # available. |
| "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="list">list(parent, filter=None, eg=None, pageToken=None, pageSize=None, x__xgafv=None)</code> |
| <pre>Gets a list of user events within a time range, with potential filtering. |
| The method does not list unjoined user events. |
| |
| Unjoined user event definition: when a user event is ingested from |
| Recommendations AI User Event APIs, the catalog item included in the user |
| event is connected with the current catalog. If a catalog item of the |
| ingested event is not in the current catalog, it could lead to degraded |
| model quality. This is called an unjoined event. |
| |
| Args: |
| parent: string, Required. The parent eventStore resource name, such as |
| "projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store". (required) |
| filter: string, Optional. Filtering expression to specify restrictions over |
| returned events. This is a sequence of terms, where each term applies some |
| kind of a restriction to the returned user events. Use this expression to |
| restrict results to a specific time range, or filter events by eventType. |
| eg: eventTime > "2012-04-23T18:25:43.511Z" eventsMissingCatalogItems |
| eventTime<"2012-04-23T18:25:43.511Z" eventType=search |
| |
| We expect only 3 types of fields: |
| |
| * eventTime: this can be specified a maximum of 2 times, once with a |
| less than operator and once with a greater than operator. The |
| eventTime restrict should result in one contiguous valid eventTime |
| range. |
| |
| * eventType: only 1 eventType restriction can be specified. |
| |
| * eventsMissingCatalogItems: specififying this will restrict results |
| to events for which catalog items were not found in the catalog. The |
| default behavior is to return only those events for which catalog |
| items were found. |
| |
| Some examples of valid filters expressions: |
| |
| * Example 1: eventTime > "2012-04-23T18:25:43.511Z" |
| eventTime < "2012-04-23T18:30:43.511Z" |
| * Example 2: eventTime > "2012-04-23T18:25:43.511Z" |
| eventType = detail-page-view |
| * Example 3: eventsMissingCatalogItems |
| eventType = search eventTime < "2018-04-23T18:30:43.511Z" |
| * Example 4: eventTime > "2012-04-23T18:25:43.511Z" |
| * Example 5: eventType = search |
| * Example 6: eventsMissingCatalogItems |
| pageToken: string, Optional. The previous ListUserEventsResponse.next_page_token. |
| pageSize: integer, Optional. Maximum number of results to return per page. If zero, the |
| service will choose a reasonable default. |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Response message for ListUserEvents method. |
| "userEvents": [ # The user events. |
| { # UserEvent captures all metadata information recommendation engine needs to |
| # know about how end users interact with customers' website. |
| "productEventDetail": { # ProductEventDetail captures user event information specific to retail # Optional. Retail product specific user event metadata. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `category-page-view` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # * `search` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_event_detail' should be |
| # set for this unless the shopping cart is empty. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `home-page-view` |
| # products. |
| "pageCategories": [ # Required for `category-page-view` events. Other event types should not set |
| # this field. |
| # The categories associated with a category page. |
| # Category pages include special pages such as sales or promotions. For |
| # instance, a special sale page may have the category hierarchy: |
| # categories : ["Sales", "2017 Black Friday Deals"]. |
| { # Category represents catalog item category hierarchy. |
| "categories": [ # Required. Catalog item categories. Each category should be a UTF-8 |
| # encoded string with a length limit of 2 KiB. |
| # |
| # Note that the order in the list denotes the specificity (from least to |
| # most specific). |
| "A String", |
| ], |
| }, |
| ], |
| "purchaseTransaction": { # A transaction represents the entire purchase transaction. # Optional. A transaction represents the entire purchase transaction. |
| # Required for `purchase-complete` events. Optional for `checkout-start` |
| # events. Other event types should not set this field. |
| "taxes": { # Optional. All the taxes associated with the transaction. |
| "a_key": 3.14, |
| }, |
| "id": "A String", # Optional. The transaction ID with a length limit of 128 bytes. |
| "currencyCode": "A String", # Required. Currency code. Use three-character ISO-4217 code. This field |
| # is not required if the event type is `refund`. |
| "revenue": 3.14, # Required. Total revenue or grand total associated with the transaction. |
| # This value include shipping, tax, or other adjustments to total revenue |
| # that you want to include as part of your revenue calculations. This field |
| # is not required if the event type is `refund`. |
| "costs": { # Optional. All the costs associated with the product. These can be |
| # manufacturing costs, shipping expenses not borne by the end user, or any |
| # other costs. |
| # |
| # Total product cost such that |
| # profit = revenue - (sum(taxes) + sum(costs)) |
| # If product_cost is not set, then |
| # profit = revenue - tax - shipping - sum(CatalogItem.costs). |
| # |
| # If CatalogItem.cost is not specified for one of the items, CatalogItem.cost |
| # based profit *cannot* be calculated for this Transaction. |
| "a_key": 3.14, |
| }, |
| }, |
| "searchQuery": "A String", # Required for `search` events. Other event types should not set this field. |
| # The user's search query as UTF-8 encoded text with a length limit of 5 KiB. |
| "productDetails": [ # The main product details related to the event. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_details' should be set for |
| # this unless the shopping cart is empty. |
| # * `search` (highly encouraged) |
| # |
| # In a `search` event, this field represents the products returned to the end |
| # user on the current page (the end user may have not finished broswing the |
| # whole page yet). When a new page is returned to the end user, after |
| # pagination/filtering/ordering even for the same query, a new SEARCH event |
| # with different product_details is desired. The end user may have not |
| # finished broswing the whole page yet. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `category-page-view` |
| # * `home-page-view` |
| { # Detailed product information associated with a user event. |
| "itemAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra features associated with a product in the user event. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| "id": "A String", # Required. Catalog item ID. UTF-8 encoded string with a length limit of 128 |
| # characters. |
| "originalPrice": 3.14, # Optional. Original price of the product. If provided, this will override |
| # the original price in Catalog for this product. |
| "stockState": "A String", # Optional. Item stock state. If provided, this overrides the stock state |
| # in Catalog for items in this event. |
| "displayPrice": 3.14, # Optional. Display price of the product (e.g. discounted price). If |
| # provided, this will override the display price in Catalog for this product. |
| "availableQuantity": 42, # Optional. Quantity of the products in stock when a user event happens. |
| # Optional. If provided, this overrides the available quantity in Catalog for |
| # this event. and can only be set if `stock_status` is set to `IN_STOCK`. |
| # |
| # Note that if an item is out of stock, you must set the `stock_state` field |
| # to be `OUT_OF_STOCK`. Leaving this field unspecified / as zero is not |
| # sufficient to mark the item out of stock. |
| "quantity": 42, # Optional. Quantity of the product associated with the user event. For |
| # example, this field will be 2 if two products are added to the shopping |
| # cart for `add-to-cart` event. Required for `add-to-cart`, `add-to-list`, |
| # `remove-from-cart`, `checkout-start`, `purchase-complete`, `refund` event |
| # types. |
| "currencyCode": "A String", # Optional. Currency code for price/costs. Use three-character ISO-4217 |
| # code. Required only if originalPrice or displayPrice is set. |
| }, |
| ], |
| "cartId": "A String", # Optional. The id or name of the associated shopping cart. This id is used |
| # to associate multiple items added or present in the cart before purchase. |
| # |
| # This can only be set for `add-to-cart`, `remove-from-cart`, |
| # `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events. |
| "listId": "A String", # Required for `add-to-list` and `remove-from-list` events. The id or name of |
| # the list that the item is being added to or removed from. Other event types |
| # should not set this field. |
| }, |
| "eventType": "A String", # Required. User event type. Allowed values are: |
| # |
| # * `add-to-cart` Products being added to cart. |
| # * `add-to-list` Items being added to a list (shopping list, favorites |
| # etc). |
| # * `category-page-view` Special pages such as sale or promotion pages |
| # viewed. |
| # * `checkout-start` User starting a checkout process. |
| # * `detail-page-view` Products detail page viewed. |
| # * `home-page-view` Homepage viewed. |
| # * `page-visit` Generic page visits not included in the event types above. |
| # * `purchase-complete` User finishing a purchase. |
| # * `refund` Purchased items being refunded or returned. |
| # * `remove-from-cart` Products being removed from cart. |
| # * `remove-from-list` Items being removed from a list. |
| # * `search` Product search. |
| # * `shopping-cart-page-view` User viewing a shopping cart. |
| # * `impression` List of items displayed. Used by Google Tag Manager. |
| "userInfo": { # Information of end users. # Required. User information. |
| "ipAddress": "A String", # Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80) or |
| # IPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should *not* be |
| # set when using the javascript pixel or if `direct_user_request` is set. |
| # Used to extract location information for personalization. |
| "directUserRequest": True or False, # Optional. Indicates if the request is made directly from the end user |
| # in which case the user_agent and ip_address fields can be populated |
| # from the HTTP request. This should *not* be set when using the javascript |
| # pixel. This flag should be set only if the API request is made directly |
| # from the end user such as a mobile app (and not if a gateway or a server is |
| # processing and pushing the user events). |
| "userAgent": "A String", # Optional. User agent as included in the HTTP header. UTF-8 encoded string |
| # with a length limit of 1 KiB. |
| # |
| # This should *not* be set when using the JavaScript pixel or if |
| # `directUserRequest` is set. |
| "visitorId": "A String", # Required. A unique identifier for tracking visitors with a length limit of |
| # 128 bytes. |
| # |
| # For example, this could be implemented with a http cookie, which should be |
| # able to uniquely identify a visitor on a single device. This unique |
| # identifier should not change if the visitor log in/out of the website. |
| # Maximum length 128 bytes. Cannot be empty. |
| "userId": "A String", # Optional. Unique identifier for logged-in user with a length limit of 128 |
| # bytes. Required only for logged-in users. |
| }, |
| "eventTime": "A String", # Optional. Only required for ImportUserEvents method. Timestamp of user |
| # event created. |
| "eventDetail": { # User event details shared by all recommendation types. # Optional. User event detailed information common across different |
| # recommendation types. |
| "pageViewId": "A String", # Optional. A unique id of a web page view. |
| # This should be kept the same for all user events triggered from the same |
| # pageview. For example, an item detail page view could trigger multiple |
| # events as the user is browsing the page. |
| # The `pageViewId` property should be kept the same for all these events so |
| # that they can be grouped together properly. This `pageViewId` will be |
| # automatically generated if using the JavaScript pixel. |
| "uri": "A String", # Optional. Complete url (window.location.href) of the user's current page. |
| # When using the JavaScript pixel, this value is filled in automatically. |
| # Maximum length 5KB. |
| "referrerUri": "A String", # Optional. The referrer url of the current page. When using |
| # the JavaScript pixel, this value is filled in automatically. |
| "recommendationToken": "A String", # Optional. Recommendation token included in the recommendation prediction |
| # response. |
| # |
| # This field enables accurate attribution of recommendation model |
| # performance. |
| # |
| # This token enables us to accurately attribute page view or purchase back to |
| # the event and the particular predict response containing this |
| # clicked/purchased item. If user clicks on product K in the recommendation |
| # results, pass the `PredictResponse.recommendationToken` property as a url |
| # parameter to product K's page. When recording events on product K's page, |
| # log the PredictResponse.recommendation_token to this field. |
| # |
| # Optional, but highly encouraged for user events that are the result of a |
| # recommendation prediction query. |
| "experimentIds": [ # Optional. A list of identifiers for the independent experiment groups |
| # this user event belongs to. This is used to distinguish between user events |
| # associated with different experiment setups (e.g. using Recommendation |
| # Engine system, using different recommendation models). |
| "A String", |
| ], |
| "eventAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra user event features to include in the recommendation |
| # model. |
| # |
| # For product recommendation, an example of extra user information is |
| # traffic_channel, i.e. how user arrives at the site. Users can arrive |
| # at the site by coming to the site directly, or coming through Google |
| # search, and etc. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| }, |
| "eventSource": "A String", # Optional. This field should *not* be set when using JavaScript pixel |
| # or the Recommendations AI Tag. Defaults to `EVENT_SOURCE_UNSPECIFIED`. |
| }, |
| ], |
| "nextPageToken": "A String", # If empty, the list is complete. If nonempty, the token to pass to the next |
| # request's ListUserEvents.page_token. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="list_next">list_next(previous_request, previous_response)</code> |
| <pre>Retrieves the next page of results. |
| |
| Args: |
| previous_request: The request for the previous page. (required) |
| previous_response: The response from the request for the previous page. (required) |
| |
| Returns: |
| A request object that you can call 'execute()' on to request the next |
| page. Returns None if there are no more items in the collection. |
| </pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="purge">purge(parent, body=None, x__xgafv=None)</code> |
| <pre>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. |
| |
| Args: |
| parent: string, Required. The resource name of the event_store under which the events are |
| created. The format is |
| "projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}" (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # Request message for PurgeUserEvents method. |
| "force": True or False, # Optional. The default value is false. Override this flag to true to |
| # actually perform the purge. If the field is not set to true, a sampling of |
| # events to be deleted will be returned. |
| "filter": "A String", # Required. The filter string to specify the events to be deleted. Empty |
| # string filter is not allowed. The eligible fields |
| # for filtering are: |
| # |
| # * `eventType`: UserEvent.eventType field of type string. |
| # * `eventTime`: in ISO 8601 "zulu" format. |
| # * `visitorId`: field of type string. Specifying this will delete all |
| # events associated with a visitor. |
| # * `userId`: field of type string. Specifying this will delete all events |
| # associated with a user. |
| # |
| # Examples: |
| # |
| # * Deleting all events in a time range: |
| # `eventTime > "2012-04-23T18:25:43.511Z" |
| # eventTime < "2012-04-23T18:30:43.511Z"` |
| # * Deleting specific eventType in time range: |
| # `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` |
| # * Deleting all events for a specific visitor: |
| # `visitorId = "visitor1024"` |
| # |
| # The filtering fields are assumed to have an implicit AND. |
| } |
| |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # This resource represents a long-running operation that is the result of a |
| # network API call. |
| "name": "A String", # The server-assigned name, which is only unique within the same service that |
| # originally returns it. If you use the default HTTP mapping, the |
| # `name` should be a resource name ending with `operations/{unique_id}`. |
| "metadata": { # Service-specific metadata associated with the operation. It typically |
| # contains progress information and common metadata such as create time. |
| # Some services might not provide such metadata. Any method that returns a |
| # long-running operation should document the metadata type, if any. |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| "response": { # The normal response of the operation in case of success. If the original |
| # method returns no data on success, such as `Delete`, the response is |
| # `google.protobuf.Empty`. If the original method is standard |
| # `Get`/`Create`/`Update`, the response should be the resource. For other |
| # methods, the response should have the type `XxxResponse`, where `Xxx` |
| # is the original method name. For example, if the original method name |
| # is `TakeSnapshot()`, the inferred response type is |
| # `TakeSnapshotResponse`. |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| "done": True or False, # If the value is `false`, it means the operation is still in progress. |
| # If `true`, the operation is completed, and either `error` or `response` is |
| # available. |
| "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="rejoin">rejoin(parent, body=None, x__xgafv=None)</code> |
| <pre>Triggers a user event rejoin operation with latest catalog data. Events |
| will not be annotated with detailed catalog information if catalog item is |
| missing at the time the user event is ingested, and these events are stored |
| as unjoined events with a limited usage on training and serving. This API |
| can be used to trigger a 'join' operation on specified events with latest |
| version of catalog items. It can also be used to correct events joined with |
| wrong catalog items. |
| |
| Args: |
| parent: string, Required. Full resource name of user event, such as |
| "projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store". (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # Request message for CatalogRejoin method. |
| "userEventRejoinScope": "A String", # Required. The type of the catalog rejoin to define the scope and range of the user |
| # events to be rejoined with catalog items. |
| } |
| |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # This resource represents a long-running operation that is the result of a |
| # network API call. |
| "name": "A String", # The server-assigned name, which is only unique within the same service that |
| # originally returns it. If you use the default HTTP mapping, the |
| # `name` should be a resource name ending with `operations/{unique_id}`. |
| "metadata": { # Service-specific metadata associated with the operation. It typically |
| # contains progress information and common metadata such as create time. |
| # Some services might not provide such metadata. Any method that returns a |
| # long-running operation should document the metadata type, if any. |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| "response": { # The normal response of the operation in case of success. If the original |
| # method returns no data on success, such as `Delete`, the response is |
| # `google.protobuf.Empty`. If the original method is standard |
| # `Get`/`Create`/`Update`, the response should be the resource. For other |
| # methods, the response should have the type `XxxResponse`, where `Xxx` |
| # is the original method name. For example, if the original method name |
| # is `TakeSnapshot()`, the inferred response type is |
| # `TakeSnapshotResponse`. |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| "done": True or False, # If the value is `false`, it means the operation is still in progress. |
| # If `true`, the operation is completed, and either `error` or `response` is |
| # available. |
| "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="write">write(parent, body=None, x__xgafv=None)</code> |
| <pre>Writes a single user event. |
| |
| Args: |
| parent: string, Required. The parent eventStore resource name, such as |
| "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store". (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # UserEvent captures all metadata information recommendation engine needs to |
| # know about how end users interact with customers' website. |
| "productEventDetail": { # ProductEventDetail captures user event information specific to retail # Optional. Retail product specific user event metadata. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `category-page-view` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # * `search` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_event_detail' should be |
| # set for this unless the shopping cart is empty. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `home-page-view` |
| # products. |
| "pageCategories": [ # Required for `category-page-view` events. Other event types should not set |
| # this field. |
| # The categories associated with a category page. |
| # Category pages include special pages such as sales or promotions. For |
| # instance, a special sale page may have the category hierarchy: |
| # categories : ["Sales", "2017 Black Friday Deals"]. |
| { # Category represents catalog item category hierarchy. |
| "categories": [ # Required. Catalog item categories. Each category should be a UTF-8 |
| # encoded string with a length limit of 2 KiB. |
| # |
| # Note that the order in the list denotes the specificity (from least to |
| # most specific). |
| "A String", |
| ], |
| }, |
| ], |
| "purchaseTransaction": { # A transaction represents the entire purchase transaction. # Optional. A transaction represents the entire purchase transaction. |
| # Required for `purchase-complete` events. Optional for `checkout-start` |
| # events. Other event types should not set this field. |
| "taxes": { # Optional. All the taxes associated with the transaction. |
| "a_key": 3.14, |
| }, |
| "id": "A String", # Optional. The transaction ID with a length limit of 128 bytes. |
| "currencyCode": "A String", # Required. Currency code. Use three-character ISO-4217 code. This field |
| # is not required if the event type is `refund`. |
| "revenue": 3.14, # Required. Total revenue or grand total associated with the transaction. |
| # This value include shipping, tax, or other adjustments to total revenue |
| # that you want to include as part of your revenue calculations. This field |
| # is not required if the event type is `refund`. |
| "costs": { # Optional. All the costs associated with the product. These can be |
| # manufacturing costs, shipping expenses not borne by the end user, or any |
| # other costs. |
| # |
| # Total product cost such that |
| # profit = revenue - (sum(taxes) + sum(costs)) |
| # If product_cost is not set, then |
| # profit = revenue - tax - shipping - sum(CatalogItem.costs). |
| # |
| # If CatalogItem.cost is not specified for one of the items, CatalogItem.cost |
| # based profit *cannot* be calculated for this Transaction. |
| "a_key": 3.14, |
| }, |
| }, |
| "searchQuery": "A String", # Required for `search` events. Other event types should not set this field. |
| # The user's search query as UTF-8 encoded text with a length limit of 5 KiB. |
| "productDetails": [ # The main product details related to the event. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_details' should be set for |
| # this unless the shopping cart is empty. |
| # * `search` (highly encouraged) |
| # |
| # In a `search` event, this field represents the products returned to the end |
| # user on the current page (the end user may have not finished broswing the |
| # whole page yet). When a new page is returned to the end user, after |
| # pagination/filtering/ordering even for the same query, a new SEARCH event |
| # with different product_details is desired. The end user may have not |
| # finished broswing the whole page yet. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `category-page-view` |
| # * `home-page-view` |
| { # Detailed product information associated with a user event. |
| "itemAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra features associated with a product in the user event. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| "id": "A String", # Required. Catalog item ID. UTF-8 encoded string with a length limit of 128 |
| # characters. |
| "originalPrice": 3.14, # Optional. Original price of the product. If provided, this will override |
| # the original price in Catalog for this product. |
| "stockState": "A String", # Optional. Item stock state. If provided, this overrides the stock state |
| # in Catalog for items in this event. |
| "displayPrice": 3.14, # Optional. Display price of the product (e.g. discounted price). If |
| # provided, this will override the display price in Catalog for this product. |
| "availableQuantity": 42, # Optional. Quantity of the products in stock when a user event happens. |
| # Optional. If provided, this overrides the available quantity in Catalog for |
| # this event. and can only be set if `stock_status` is set to `IN_STOCK`. |
| # |
| # Note that if an item is out of stock, you must set the `stock_state` field |
| # to be `OUT_OF_STOCK`. Leaving this field unspecified / as zero is not |
| # sufficient to mark the item out of stock. |
| "quantity": 42, # Optional. Quantity of the product associated with the user event. For |
| # example, this field will be 2 if two products are added to the shopping |
| # cart for `add-to-cart` event. Required for `add-to-cart`, `add-to-list`, |
| # `remove-from-cart`, `checkout-start`, `purchase-complete`, `refund` event |
| # types. |
| "currencyCode": "A String", # Optional. Currency code for price/costs. Use three-character ISO-4217 |
| # code. Required only if originalPrice or displayPrice is set. |
| }, |
| ], |
| "cartId": "A String", # Optional. The id or name of the associated shopping cart. This id is used |
| # to associate multiple items added or present in the cart before purchase. |
| # |
| # This can only be set for `add-to-cart`, `remove-from-cart`, |
| # `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events. |
| "listId": "A String", # Required for `add-to-list` and `remove-from-list` events. The id or name of |
| # the list that the item is being added to or removed from. Other event types |
| # should not set this field. |
| }, |
| "eventType": "A String", # Required. User event type. Allowed values are: |
| # |
| # * `add-to-cart` Products being added to cart. |
| # * `add-to-list` Items being added to a list (shopping list, favorites |
| # etc). |
| # * `category-page-view` Special pages such as sale or promotion pages |
| # viewed. |
| # * `checkout-start` User starting a checkout process. |
| # * `detail-page-view` Products detail page viewed. |
| # * `home-page-view` Homepage viewed. |
| # * `page-visit` Generic page visits not included in the event types above. |
| # * `purchase-complete` User finishing a purchase. |
| # * `refund` Purchased items being refunded or returned. |
| # * `remove-from-cart` Products being removed from cart. |
| # * `remove-from-list` Items being removed from a list. |
| # * `search` Product search. |
| # * `shopping-cart-page-view` User viewing a shopping cart. |
| # * `impression` List of items displayed. Used by Google Tag Manager. |
| "userInfo": { # Information of end users. # Required. User information. |
| "ipAddress": "A String", # Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80) or |
| # IPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should *not* be |
| # set when using the javascript pixel or if `direct_user_request` is set. |
| # Used to extract location information for personalization. |
| "directUserRequest": True or False, # Optional. Indicates if the request is made directly from the end user |
| # in which case the user_agent and ip_address fields can be populated |
| # from the HTTP request. This should *not* be set when using the javascript |
| # pixel. This flag should be set only if the API request is made directly |
| # from the end user such as a mobile app (and not if a gateway or a server is |
| # processing and pushing the user events). |
| "userAgent": "A String", # Optional. User agent as included in the HTTP header. UTF-8 encoded string |
| # with a length limit of 1 KiB. |
| # |
| # This should *not* be set when using the JavaScript pixel or if |
| # `directUserRequest` is set. |
| "visitorId": "A String", # Required. A unique identifier for tracking visitors with a length limit of |
| # 128 bytes. |
| # |
| # For example, this could be implemented with a http cookie, which should be |
| # able to uniquely identify a visitor on a single device. This unique |
| # identifier should not change if the visitor log in/out of the website. |
| # Maximum length 128 bytes. Cannot be empty. |
| "userId": "A String", # Optional. Unique identifier for logged-in user with a length limit of 128 |
| # bytes. Required only for logged-in users. |
| }, |
| "eventTime": "A String", # Optional. Only required for ImportUserEvents method. Timestamp of user |
| # event created. |
| "eventDetail": { # User event details shared by all recommendation types. # Optional. User event detailed information common across different |
| # recommendation types. |
| "pageViewId": "A String", # Optional. A unique id of a web page view. |
| # This should be kept the same for all user events triggered from the same |
| # pageview. For example, an item detail page view could trigger multiple |
| # events as the user is browsing the page. |
| # The `pageViewId` property should be kept the same for all these events so |
| # that they can be grouped together properly. This `pageViewId` will be |
| # automatically generated if using the JavaScript pixel. |
| "uri": "A String", # Optional. Complete url (window.location.href) of the user's current page. |
| # When using the JavaScript pixel, this value is filled in automatically. |
| # Maximum length 5KB. |
| "referrerUri": "A String", # Optional. The referrer url of the current page. When using |
| # the JavaScript pixel, this value is filled in automatically. |
| "recommendationToken": "A String", # Optional. Recommendation token included in the recommendation prediction |
| # response. |
| # |
| # This field enables accurate attribution of recommendation model |
| # performance. |
| # |
| # This token enables us to accurately attribute page view or purchase back to |
| # the event and the particular predict response containing this |
| # clicked/purchased item. If user clicks on product K in the recommendation |
| # results, pass the `PredictResponse.recommendationToken` property as a url |
| # parameter to product K's page. When recording events on product K's page, |
| # log the PredictResponse.recommendation_token to this field. |
| # |
| # Optional, but highly encouraged for user events that are the result of a |
| # recommendation prediction query. |
| "experimentIds": [ # Optional. A list of identifiers for the independent experiment groups |
| # this user event belongs to. This is used to distinguish between user events |
| # associated with different experiment setups (e.g. using Recommendation |
| # Engine system, using different recommendation models). |
| "A String", |
| ], |
| "eventAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra user event features to include in the recommendation |
| # model. |
| # |
| # For product recommendation, an example of extra user information is |
| # traffic_channel, i.e. how user arrives at the site. Users can arrive |
| # at the site by coming to the site directly, or coming through Google |
| # search, and etc. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| }, |
| "eventSource": "A String", # Optional. This field should *not* be set when using JavaScript pixel |
| # or the Recommendations AI Tag. Defaults to `EVENT_SOURCE_UNSPECIFIED`. |
| } |
| |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # UserEvent captures all metadata information recommendation engine needs to |
| # know about how end users interact with customers' website. |
| "productEventDetail": { # ProductEventDetail captures user event information specific to retail # Optional. Retail product specific user event metadata. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `category-page-view` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # * `search` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_event_detail' should be |
| # set for this unless the shopping cart is empty. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `home-page-view` |
| # products. |
| "pageCategories": [ # Required for `category-page-view` events. Other event types should not set |
| # this field. |
| # The categories associated with a category page. |
| # Category pages include special pages such as sales or promotions. For |
| # instance, a special sale page may have the category hierarchy: |
| # categories : ["Sales", "2017 Black Friday Deals"]. |
| { # Category represents catalog item category hierarchy. |
| "categories": [ # Required. Catalog item categories. Each category should be a UTF-8 |
| # encoded string with a length limit of 2 KiB. |
| # |
| # Note that the order in the list denotes the specificity (from least to |
| # most specific). |
| "A String", |
| ], |
| }, |
| ], |
| "purchaseTransaction": { # A transaction represents the entire purchase transaction. # Optional. A transaction represents the entire purchase transaction. |
| # Required for `purchase-complete` events. Optional for `checkout-start` |
| # events. Other event types should not set this field. |
| "taxes": { # Optional. All the taxes associated with the transaction. |
| "a_key": 3.14, |
| }, |
| "id": "A String", # Optional. The transaction ID with a length limit of 128 bytes. |
| "currencyCode": "A String", # Required. Currency code. Use three-character ISO-4217 code. This field |
| # is not required if the event type is `refund`. |
| "revenue": 3.14, # Required. Total revenue or grand total associated with the transaction. |
| # This value include shipping, tax, or other adjustments to total revenue |
| # that you want to include as part of your revenue calculations. This field |
| # is not required if the event type is `refund`. |
| "costs": { # Optional. All the costs associated with the product. These can be |
| # manufacturing costs, shipping expenses not borne by the end user, or any |
| # other costs. |
| # |
| # Total product cost such that |
| # profit = revenue - (sum(taxes) + sum(costs)) |
| # If product_cost is not set, then |
| # profit = revenue - tax - shipping - sum(CatalogItem.costs). |
| # |
| # If CatalogItem.cost is not specified for one of the items, CatalogItem.cost |
| # based profit *cannot* be calculated for this Transaction. |
| "a_key": 3.14, |
| }, |
| }, |
| "searchQuery": "A String", # Required for `search` events. Other event types should not set this field. |
| # The user's search query as UTF-8 encoded text with a length limit of 5 KiB. |
| "productDetails": [ # The main product details related to the event. |
| # |
| # This field is required for the following event types: |
| # |
| # * `add-to-cart` |
| # * `add-to-list` |
| # * `checkout-start` |
| # * `detail-page-view` |
| # * `purchase-complete` |
| # * `refund` |
| # * `remove-from-cart` |
| # * `remove-from-list` |
| # |
| # This field is optional for the following event types: |
| # |
| # * `page-visit` |
| # * `shopping-cart-page-view` - note that 'product_details' should be set for |
| # this unless the shopping cart is empty. |
| # * `search` (highly encouraged) |
| # |
| # In a `search` event, this field represents the products returned to the end |
| # user on the current page (the end user may have not finished broswing the |
| # whole page yet). When a new page is returned to the end user, after |
| # pagination/filtering/ordering even for the same query, a new SEARCH event |
| # with different product_details is desired. The end user may have not |
| # finished broswing the whole page yet. |
| # |
| # This field is not allowed for the following event types: |
| # |
| # * `category-page-view` |
| # * `home-page-view` |
| { # Detailed product information associated with a user event. |
| "itemAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra features associated with a product in the user event. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| "id": "A String", # Required. Catalog item ID. UTF-8 encoded string with a length limit of 128 |
| # characters. |
| "originalPrice": 3.14, # Optional. Original price of the product. If provided, this will override |
| # the original price in Catalog for this product. |
| "stockState": "A String", # Optional. Item stock state. If provided, this overrides the stock state |
| # in Catalog for items in this event. |
| "displayPrice": 3.14, # Optional. Display price of the product (e.g. discounted price). If |
| # provided, this will override the display price in Catalog for this product. |
| "availableQuantity": 42, # Optional. Quantity of the products in stock when a user event happens. |
| # Optional. If provided, this overrides the available quantity in Catalog for |
| # this event. and can only be set if `stock_status` is set to `IN_STOCK`. |
| # |
| # Note that if an item is out of stock, you must set the `stock_state` field |
| # to be `OUT_OF_STOCK`. Leaving this field unspecified / as zero is not |
| # sufficient to mark the item out of stock. |
| "quantity": 42, # Optional. Quantity of the product associated with the user event. For |
| # example, this field will be 2 if two products are added to the shopping |
| # cart for `add-to-cart` event. Required for `add-to-cart`, `add-to-list`, |
| # `remove-from-cart`, `checkout-start`, `purchase-complete`, `refund` event |
| # types. |
| "currencyCode": "A String", # Optional. Currency code for price/costs. Use three-character ISO-4217 |
| # code. Required only if originalPrice or displayPrice is set. |
| }, |
| ], |
| "cartId": "A String", # Optional. The id or name of the associated shopping cart. This id is used |
| # to associate multiple items added or present in the cart before purchase. |
| # |
| # This can only be set for `add-to-cart`, `remove-from-cart`, |
| # `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events. |
| "listId": "A String", # Required for `add-to-list` and `remove-from-list` events. The id or name of |
| # the list that the item is being added to or removed from. Other event types |
| # should not set this field. |
| }, |
| "eventType": "A String", # Required. User event type. Allowed values are: |
| # |
| # * `add-to-cart` Products being added to cart. |
| # * `add-to-list` Items being added to a list (shopping list, favorites |
| # etc). |
| # * `category-page-view` Special pages such as sale or promotion pages |
| # viewed. |
| # * `checkout-start` User starting a checkout process. |
| # * `detail-page-view` Products detail page viewed. |
| # * `home-page-view` Homepage viewed. |
| # * `page-visit` Generic page visits not included in the event types above. |
| # * `purchase-complete` User finishing a purchase. |
| # * `refund` Purchased items being refunded or returned. |
| # * `remove-from-cart` Products being removed from cart. |
| # * `remove-from-list` Items being removed from a list. |
| # * `search` Product search. |
| # * `shopping-cart-page-view` User viewing a shopping cart. |
| # * `impression` List of items displayed. Used by Google Tag Manager. |
| "userInfo": { # Information of end users. # Required. User information. |
| "ipAddress": "A String", # Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80) or |
| # IPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should *not* be |
| # set when using the javascript pixel or if `direct_user_request` is set. |
| # Used to extract location information for personalization. |
| "directUserRequest": True or False, # Optional. Indicates if the request is made directly from the end user |
| # in which case the user_agent and ip_address fields can be populated |
| # from the HTTP request. This should *not* be set when using the javascript |
| # pixel. This flag should be set only if the API request is made directly |
| # from the end user such as a mobile app (and not if a gateway or a server is |
| # processing and pushing the user events). |
| "userAgent": "A String", # Optional. User agent as included in the HTTP header. UTF-8 encoded string |
| # with a length limit of 1 KiB. |
| # |
| # This should *not* be set when using the JavaScript pixel or if |
| # `directUserRequest` is set. |
| "visitorId": "A String", # Required. A unique identifier for tracking visitors with a length limit of |
| # 128 bytes. |
| # |
| # For example, this could be implemented with a http cookie, which should be |
| # able to uniquely identify a visitor on a single device. This unique |
| # identifier should not change if the visitor log in/out of the website. |
| # Maximum length 128 bytes. Cannot be empty. |
| "userId": "A String", # Optional. Unique identifier for logged-in user with a length limit of 128 |
| # bytes. Required only for logged-in users. |
| }, |
| "eventTime": "A String", # Optional. Only required for ImportUserEvents method. Timestamp of user |
| # event created. |
| "eventDetail": { # User event details shared by all recommendation types. # Optional. User event detailed information common across different |
| # recommendation types. |
| "pageViewId": "A String", # Optional. A unique id of a web page view. |
| # This should be kept the same for all user events triggered from the same |
| # pageview. For example, an item detail page view could trigger multiple |
| # events as the user is browsing the page. |
| # The `pageViewId` property should be kept the same for all these events so |
| # that they can be grouped together properly. This `pageViewId` will be |
| # automatically generated if using the JavaScript pixel. |
| "uri": "A String", # Optional. Complete url (window.location.href) of the user's current page. |
| # When using the JavaScript pixel, this value is filled in automatically. |
| # Maximum length 5KB. |
| "referrerUri": "A String", # Optional. The referrer url of the current page. When using |
| # the JavaScript pixel, this value is filled in automatically. |
| "recommendationToken": "A String", # Optional. Recommendation token included in the recommendation prediction |
| # response. |
| # |
| # This field enables accurate attribution of recommendation model |
| # performance. |
| # |
| # This token enables us to accurately attribute page view or purchase back to |
| # the event and the particular predict response containing this |
| # clicked/purchased item. If user clicks on product K in the recommendation |
| # results, pass the `PredictResponse.recommendationToken` property as a url |
| # parameter to product K's page. When recording events on product K's page, |
| # log the PredictResponse.recommendation_token to this field. |
| # |
| # Optional, but highly encouraged for user events that are the result of a |
| # recommendation prediction query. |
| "experimentIds": [ # Optional. A list of identifiers for the independent experiment groups |
| # this user event belongs to. This is used to distinguish between user events |
| # associated with different experiment setups (e.g. using Recommendation |
| # Engine system, using different recommendation models). |
| "A String", |
| ], |
| "eventAttributes": { # FeatureMap represents extra features that customers want to include in the # Optional. Extra user event features to include in the recommendation |
| # model. |
| # |
| # For product recommendation, an example of extra user information is |
| # traffic_channel, i.e. how user arrives at the site. Users can arrive |
| # at the site by coming to the site directly, or coming through Google |
| # search, and etc. |
| # recommendation model for catalogs/user events as categorical/numerical |
| # features. |
| "numericalFeatures": { # Numerical features. Some examples would be the height/weight of a product, |
| # or age of a customer. |
| # |
| # Feature names must be UTF-8 encoded strings. |
| # |
| # For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, |
| # "heights_cm": {"value":[8.1, 6.4]} }` |
| "a_key": { # A list of float features. |
| "value": [ # Float feature value. |
| 3.14, |
| ], |
| }, |
| }, |
| "categoricalFeatures": { # Categorical features that can take on one of a limited number of possible |
| # values. Some examples would be the brand/maker of a product, or country of |
| # a customer. |
| # |
| # Feature names and values must be UTF-8 encoded strings. |
| # |
| # For example: `{ "colors": {"value": ["yellow", "green"]}, |
| # "sizes": {"value":["S", "M"]}` |
| "a_key": { # A list of string features. |
| "value": [ # String feature value with a length limit of 128 bytes. |
| "A String", |
| ], |
| }, |
| }, |
| }, |
| }, |
| "eventSource": "A String", # Optional. This field should *not* be set when using JavaScript pixel |
| # or the Recommendations AI Tag. Defaults to `EVENT_SOURCE_UNSPECIFIED`. |
| }</pre> |
| </div> |
| |
| </body></html> |