• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/retail/v2/user_event.proto
18 
19 package com.google.cloud.retail.v2;
20 
21 public interface UserEventOrBuilder
22     extends
23     // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2.UserEvent)
24     com.google.protobuf.MessageOrBuilder {
25 
26   /**
27    *
28    *
29    * <pre>
30    * Required. User event type. Allowed values are:
31    * * `add-to-cart`: Products being added to cart.
32    * * `category-page-view`: Special pages such as sale or promotion pages
33    *   viewed.
34    * * `detail-page-view`: Products detail page viewed.
35    * * `home-page-view`: Homepage viewed.
36    * * `promotion-offered`: Promotion is offered to a user.
37    * * `promotion-not-offered`: Promotion is not offered to a user.
38    * * `purchase-complete`: User finishing a purchase.
39    * * `search`: Product search.
40    * * `shopping-cart-page-view`: User viewing a shopping cart.
41    * </pre>
42    *
43    * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code>
44    *
45    * @return The eventType.
46    */
getEventType()47   java.lang.String getEventType();
48   /**
49    *
50    *
51    * <pre>
52    * Required. User event type. Allowed values are:
53    * * `add-to-cart`: Products being added to cart.
54    * * `category-page-view`: Special pages such as sale or promotion pages
55    *   viewed.
56    * * `detail-page-view`: Products detail page viewed.
57    * * `home-page-view`: Homepage viewed.
58    * * `promotion-offered`: Promotion is offered to a user.
59    * * `promotion-not-offered`: Promotion is not offered to a user.
60    * * `purchase-complete`: User finishing a purchase.
61    * * `search`: Product search.
62    * * `shopping-cart-page-view`: User viewing a shopping cart.
63    * </pre>
64    *
65    * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code>
66    *
67    * @return The bytes for eventType.
68    */
getEventTypeBytes()69   com.google.protobuf.ByteString getEventTypeBytes();
70 
71   /**
72    *
73    *
74    * <pre>
75    * Required. A unique identifier for tracking visitors.
76    * For example, this could be implemented with an HTTP cookie, which should be
77    * able to uniquely identify a visitor on a single device. This unique
78    * identifier should not change if the visitor log in/out of the website.
79    * Don't set the field to the same fixed ID for different users. This mixes
80    * the event history of those users together, which results in degraded model
81    * quality.
82    * The field must be a UTF-8 encoded string with a length limit of 128
83    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
84    * The field should not contain PII or user-data. We recommend to use Google
85    * Analytics [Client
86    * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
87    * for this field.
88    * </pre>
89    *
90    * <code>string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
91    *
92    * @return The visitorId.
93    */
getVisitorId()94   java.lang.String getVisitorId();
95   /**
96    *
97    *
98    * <pre>
99    * Required. A unique identifier for tracking visitors.
100    * For example, this could be implemented with an HTTP cookie, which should be
101    * able to uniquely identify a visitor on a single device. This unique
102    * identifier should not change if the visitor log in/out of the website.
103    * Don't set the field to the same fixed ID for different users. This mixes
104    * the event history of those users together, which results in degraded model
105    * quality.
106    * The field must be a UTF-8 encoded string with a length limit of 128
107    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
108    * The field should not contain PII or user-data. We recommend to use Google
109    * Analytics [Client
110    * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
111    * for this field.
112    * </pre>
113    *
114    * <code>string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
115    *
116    * @return The bytes for visitorId.
117    */
getVisitorIdBytes()118   com.google.protobuf.ByteString getVisitorIdBytes();
119 
120   /**
121    *
122    *
123    * <pre>
124    * A unique identifier for tracking a visitor session with a length limit of
125    * 128 bytes. A session is an aggregation of an end user behavior in a time
126    * span.
127    * A general guideline to populate the sesion_id:
128    * 1. If user has no activity for 30 min, a new session_id should be assigned.
129    * 2. The session_id should be unique across users, suggest use uuid or add
130    * visitor_id as prefix.
131    * </pre>
132    *
133    * <code>string session_id = 21;</code>
134    *
135    * @return The sessionId.
136    */
getSessionId()137   java.lang.String getSessionId();
138   /**
139    *
140    *
141    * <pre>
142    * A unique identifier for tracking a visitor session with a length limit of
143    * 128 bytes. A session is an aggregation of an end user behavior in a time
144    * span.
145    * A general guideline to populate the sesion_id:
146    * 1. If user has no activity for 30 min, a new session_id should be assigned.
147    * 2. The session_id should be unique across users, suggest use uuid or add
148    * visitor_id as prefix.
149    * </pre>
150    *
151    * <code>string session_id = 21;</code>
152    *
153    * @return The bytes for sessionId.
154    */
getSessionIdBytes()155   com.google.protobuf.ByteString getSessionIdBytes();
156 
157   /**
158    *
159    *
160    * <pre>
161    * Only required for
162    * [UserEventService.ImportUserEvents][google.cloud.retail.v2.UserEventService.ImportUserEvents]
163    * method. Timestamp of when the user event happened.
164    * </pre>
165    *
166    * <code>.google.protobuf.Timestamp event_time = 3;</code>
167    *
168    * @return Whether the eventTime field is set.
169    */
hasEventTime()170   boolean hasEventTime();
171   /**
172    *
173    *
174    * <pre>
175    * Only required for
176    * [UserEventService.ImportUserEvents][google.cloud.retail.v2.UserEventService.ImportUserEvents]
177    * method. Timestamp of when the user event happened.
178    * </pre>
179    *
180    * <code>.google.protobuf.Timestamp event_time = 3;</code>
181    *
182    * @return The eventTime.
183    */
getEventTime()184   com.google.protobuf.Timestamp getEventTime();
185   /**
186    *
187    *
188    * <pre>
189    * Only required for
190    * [UserEventService.ImportUserEvents][google.cloud.retail.v2.UserEventService.ImportUserEvents]
191    * method. Timestamp of when the user event happened.
192    * </pre>
193    *
194    * <code>.google.protobuf.Timestamp event_time = 3;</code>
195    */
getEventTimeOrBuilder()196   com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder();
197 
198   /**
199    *
200    *
201    * <pre>
202    * A list of identifiers for the independent experiment groups this user event
203    * belongs to. This is used to distinguish between user events associated with
204    * different experiment setups (e.g. using Retail API, using different
205    * recommendation models).
206    * </pre>
207    *
208    * <code>repeated string experiment_ids = 4;</code>
209    *
210    * @return A list containing the experimentIds.
211    */
getExperimentIdsList()212   java.util.List<java.lang.String> getExperimentIdsList();
213   /**
214    *
215    *
216    * <pre>
217    * A list of identifiers for the independent experiment groups this user event
218    * belongs to. This is used to distinguish between user events associated with
219    * different experiment setups (e.g. using Retail API, using different
220    * recommendation models).
221    * </pre>
222    *
223    * <code>repeated string experiment_ids = 4;</code>
224    *
225    * @return The count of experimentIds.
226    */
getExperimentIdsCount()227   int getExperimentIdsCount();
228   /**
229    *
230    *
231    * <pre>
232    * A list of identifiers for the independent experiment groups this user event
233    * belongs to. This is used to distinguish between user events associated with
234    * different experiment setups (e.g. using Retail API, using different
235    * recommendation models).
236    * </pre>
237    *
238    * <code>repeated string experiment_ids = 4;</code>
239    *
240    * @param index The index of the element to return.
241    * @return The experimentIds at the given index.
242    */
getExperimentIds(int index)243   java.lang.String getExperimentIds(int index);
244   /**
245    *
246    *
247    * <pre>
248    * A list of identifiers for the independent experiment groups this user event
249    * belongs to. This is used to distinguish between user events associated with
250    * different experiment setups (e.g. using Retail API, using different
251    * recommendation models).
252    * </pre>
253    *
254    * <code>repeated string experiment_ids = 4;</code>
255    *
256    * @param index The index of the value to return.
257    * @return The bytes of the experimentIds at the given index.
258    */
getExperimentIdsBytes(int index)259   com.google.protobuf.ByteString getExperimentIdsBytes(int index);
260 
261   /**
262    *
263    *
264    * <pre>
265    * Highly recommended for user events that are the result of
266    * [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
267    * This field enables accurate attribution of recommendation model
268    * performance.
269    * The value must be a valid
270    * [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
271    * for user events that are the result of
272    * [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
273    * The value must be a valid
274    * [SearchResponse.attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
275    * for user events that are the result of
276    * [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
277    * This token enables us to accurately attribute page view or purchase back to
278    * the event and the particular predict response containing this
279    * clicked/purchased product. If user clicks on product K in the
280    * recommendation results, pass
281    * [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
282    * as a URL parameter to product K's page. When recording events on product
283    * K's page, log the
284    * [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
285    * to this field.
286    * </pre>
287    *
288    * <code>string attribution_token = 5;</code>
289    *
290    * @return The attributionToken.
291    */
getAttributionToken()292   java.lang.String getAttributionToken();
293   /**
294    *
295    *
296    * <pre>
297    * Highly recommended for user events that are the result of
298    * [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
299    * This field enables accurate attribution of recommendation model
300    * performance.
301    * The value must be a valid
302    * [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
303    * for user events that are the result of
304    * [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
305    * The value must be a valid
306    * [SearchResponse.attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
307    * for user events that are the result of
308    * [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
309    * This token enables us to accurately attribute page view or purchase back to
310    * the event and the particular predict response containing this
311    * clicked/purchased product. If user clicks on product K in the
312    * recommendation results, pass
313    * [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
314    * as a URL parameter to product K's page. When recording events on product
315    * K's page, log the
316    * [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
317    * to this field.
318    * </pre>
319    *
320    * <code>string attribution_token = 5;</code>
321    *
322    * @return The bytes for attributionToken.
323    */
getAttributionTokenBytes()324   com.google.protobuf.ByteString getAttributionTokenBytes();
325 
326   /**
327    *
328    *
329    * <pre>
330    * The main product details related to the event.
331    * This field is optional except for the following event types:
332    * * `add-to-cart`
333    * * `detail-page-view`
334    * * `purchase-complete`
335    * In a `search` event, this field represents the products returned to the end
336    * user on the current page (the end user may have not finished browsing the
337    * whole page yet). When a new page is returned to the end user, after
338    * pagination/filtering/ordering even for the same query, a new `search` event
339    * with different
340    * [product_details][google.cloud.retail.v2.UserEvent.product_details] is
341    * desired. The end user may have not finished browsing the whole page yet.
342    * </pre>
343    *
344    * <code>repeated .google.cloud.retail.v2.ProductDetail product_details = 6;</code>
345    */
getProductDetailsList()346   java.util.List<com.google.cloud.retail.v2.ProductDetail> getProductDetailsList();
347   /**
348    *
349    *
350    * <pre>
351    * The main product details related to the event.
352    * This field is optional except for the following event types:
353    * * `add-to-cart`
354    * * `detail-page-view`
355    * * `purchase-complete`
356    * In a `search` event, this field represents the products returned to the end
357    * user on the current page (the end user may have not finished browsing the
358    * whole page yet). When a new page is returned to the end user, after
359    * pagination/filtering/ordering even for the same query, a new `search` event
360    * with different
361    * [product_details][google.cloud.retail.v2.UserEvent.product_details] is
362    * desired. The end user may have not finished browsing the whole page yet.
363    * </pre>
364    *
365    * <code>repeated .google.cloud.retail.v2.ProductDetail product_details = 6;</code>
366    */
getProductDetails(int index)367   com.google.cloud.retail.v2.ProductDetail getProductDetails(int index);
368   /**
369    *
370    *
371    * <pre>
372    * The main product details related to the event.
373    * This field is optional except for the following event types:
374    * * `add-to-cart`
375    * * `detail-page-view`
376    * * `purchase-complete`
377    * In a `search` event, this field represents the products returned to the end
378    * user on the current page (the end user may have not finished browsing the
379    * whole page yet). When a new page is returned to the end user, after
380    * pagination/filtering/ordering even for the same query, a new `search` event
381    * with different
382    * [product_details][google.cloud.retail.v2.UserEvent.product_details] is
383    * desired. The end user may have not finished browsing the whole page yet.
384    * </pre>
385    *
386    * <code>repeated .google.cloud.retail.v2.ProductDetail product_details = 6;</code>
387    */
getProductDetailsCount()388   int getProductDetailsCount();
389   /**
390    *
391    *
392    * <pre>
393    * The main product details related to the event.
394    * This field is optional except for the following event types:
395    * * `add-to-cart`
396    * * `detail-page-view`
397    * * `purchase-complete`
398    * In a `search` event, this field represents the products returned to the end
399    * user on the current page (the end user may have not finished browsing the
400    * whole page yet). When a new page is returned to the end user, after
401    * pagination/filtering/ordering even for the same query, a new `search` event
402    * with different
403    * [product_details][google.cloud.retail.v2.UserEvent.product_details] is
404    * desired. The end user may have not finished browsing the whole page yet.
405    * </pre>
406    *
407    * <code>repeated .google.cloud.retail.v2.ProductDetail product_details = 6;</code>
408    */
409   java.util.List<? extends com.google.cloud.retail.v2.ProductDetailOrBuilder>
getProductDetailsOrBuilderList()410       getProductDetailsOrBuilderList();
411   /**
412    *
413    *
414    * <pre>
415    * The main product details related to the event.
416    * This field is optional except for the following event types:
417    * * `add-to-cart`
418    * * `detail-page-view`
419    * * `purchase-complete`
420    * In a `search` event, this field represents the products returned to the end
421    * user on the current page (the end user may have not finished browsing the
422    * whole page yet). When a new page is returned to the end user, after
423    * pagination/filtering/ordering even for the same query, a new `search` event
424    * with different
425    * [product_details][google.cloud.retail.v2.UserEvent.product_details] is
426    * desired. The end user may have not finished browsing the whole page yet.
427    * </pre>
428    *
429    * <code>repeated .google.cloud.retail.v2.ProductDetail product_details = 6;</code>
430    */
getProductDetailsOrBuilder(int index)431   com.google.cloud.retail.v2.ProductDetailOrBuilder getProductDetailsOrBuilder(int index);
432 
433   /**
434    *
435    *
436    * <pre>
437    * The main auto-completion details related to the event.
438    * This field should be set for `search` event when autocomplete function is
439    * enabled and the user clicks a suggestion for search.
440    * </pre>
441    *
442    * <code>.google.cloud.retail.v2.CompletionDetail completion_detail = 22;</code>
443    *
444    * @return Whether the completionDetail field is set.
445    */
hasCompletionDetail()446   boolean hasCompletionDetail();
447   /**
448    *
449    *
450    * <pre>
451    * The main auto-completion details related to the event.
452    * This field should be set for `search` event when autocomplete function is
453    * enabled and the user clicks a suggestion for search.
454    * </pre>
455    *
456    * <code>.google.cloud.retail.v2.CompletionDetail completion_detail = 22;</code>
457    *
458    * @return The completionDetail.
459    */
getCompletionDetail()460   com.google.cloud.retail.v2.CompletionDetail getCompletionDetail();
461   /**
462    *
463    *
464    * <pre>
465    * The main auto-completion details related to the event.
466    * This field should be set for `search` event when autocomplete function is
467    * enabled and the user clicks a suggestion for search.
468    * </pre>
469    *
470    * <code>.google.cloud.retail.v2.CompletionDetail completion_detail = 22;</code>
471    */
getCompletionDetailOrBuilder()472   com.google.cloud.retail.v2.CompletionDetailOrBuilder getCompletionDetailOrBuilder();
473 
474   /**
475    *
476    *
477    * <pre>
478    * Extra user event features to include in the recommendation model.
479    * If you provide custom attributes for ingested user events, also include
480    * them in the user events that you associate with prediction requests. Custom
481    * attribute formatting must be consistent between imported events and events
482    * provided with prediction requests. This lets the Retail API use
483    * those custom attributes when training models and serving predictions, which
484    * helps improve recommendation quality.
485    * This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
486    * error is returned:
487    * * The key must be a UTF-8 encoded string with a length limit of 5,000
488    *   characters.
489    * * For text attributes, at most 400 values are allowed. Empty values are not
490    *   allowed. Each value must be a UTF-8 encoded string with a length limit of
491    *   256 characters.
492    * * For number attributes, at most 400 values are allowed.
493    * For product recommendations, an example of extra user information is
494    * traffic_channel, which is how a user arrives at the site. Users can arrive
495    * at the site by coming to the site directly, coming through Google
496    * search, or in other ways.
497    * </pre>
498    *
499    * <code>map&lt;string, .google.cloud.retail.v2.CustomAttribute&gt; attributes = 7;</code>
500    */
getAttributesCount()501   int getAttributesCount();
502   /**
503    *
504    *
505    * <pre>
506    * Extra user event features to include in the recommendation model.
507    * If you provide custom attributes for ingested user events, also include
508    * them in the user events that you associate with prediction requests. Custom
509    * attribute formatting must be consistent between imported events and events
510    * provided with prediction requests. This lets the Retail API use
511    * those custom attributes when training models and serving predictions, which
512    * helps improve recommendation quality.
513    * This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
514    * error is returned:
515    * * The key must be a UTF-8 encoded string with a length limit of 5,000
516    *   characters.
517    * * For text attributes, at most 400 values are allowed. Empty values are not
518    *   allowed. Each value must be a UTF-8 encoded string with a length limit of
519    *   256 characters.
520    * * For number attributes, at most 400 values are allowed.
521    * For product recommendations, an example of extra user information is
522    * traffic_channel, which is how a user arrives at the site. Users can arrive
523    * at the site by coming to the site directly, coming through Google
524    * search, or in other ways.
525    * </pre>
526    *
527    * <code>map&lt;string, .google.cloud.retail.v2.CustomAttribute&gt; attributes = 7;</code>
528    */
containsAttributes(java.lang.String key)529   boolean containsAttributes(java.lang.String key);
530   /** Use {@link #getAttributesMap()} instead. */
531   @java.lang.Deprecated
getAttributes()532   java.util.Map<java.lang.String, com.google.cloud.retail.v2.CustomAttribute> getAttributes();
533   /**
534    *
535    *
536    * <pre>
537    * Extra user event features to include in the recommendation model.
538    * If you provide custom attributes for ingested user events, also include
539    * them in the user events that you associate with prediction requests. Custom
540    * attribute formatting must be consistent between imported events and events
541    * provided with prediction requests. This lets the Retail API use
542    * those custom attributes when training models and serving predictions, which
543    * helps improve recommendation quality.
544    * This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
545    * error is returned:
546    * * The key must be a UTF-8 encoded string with a length limit of 5,000
547    *   characters.
548    * * For text attributes, at most 400 values are allowed. Empty values are not
549    *   allowed. Each value must be a UTF-8 encoded string with a length limit of
550    *   256 characters.
551    * * For number attributes, at most 400 values are allowed.
552    * For product recommendations, an example of extra user information is
553    * traffic_channel, which is how a user arrives at the site. Users can arrive
554    * at the site by coming to the site directly, coming through Google
555    * search, or in other ways.
556    * </pre>
557    *
558    * <code>map&lt;string, .google.cloud.retail.v2.CustomAttribute&gt; attributes = 7;</code>
559    */
getAttributesMap()560   java.util.Map<java.lang.String, com.google.cloud.retail.v2.CustomAttribute> getAttributesMap();
561   /**
562    *
563    *
564    * <pre>
565    * Extra user event features to include in the recommendation model.
566    * If you provide custom attributes for ingested user events, also include
567    * them in the user events that you associate with prediction requests. Custom
568    * attribute formatting must be consistent between imported events and events
569    * provided with prediction requests. This lets the Retail API use
570    * those custom attributes when training models and serving predictions, which
571    * helps improve recommendation quality.
572    * This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
573    * error is returned:
574    * * The key must be a UTF-8 encoded string with a length limit of 5,000
575    *   characters.
576    * * For text attributes, at most 400 values are allowed. Empty values are not
577    *   allowed. Each value must be a UTF-8 encoded string with a length limit of
578    *   256 characters.
579    * * For number attributes, at most 400 values are allowed.
580    * For product recommendations, an example of extra user information is
581    * traffic_channel, which is how a user arrives at the site. Users can arrive
582    * at the site by coming to the site directly, coming through Google
583    * search, or in other ways.
584    * </pre>
585    *
586    * <code>map&lt;string, .google.cloud.retail.v2.CustomAttribute&gt; attributes = 7;</code>
587    */
588   /* nullable */
getAttributesOrDefault( java.lang.String key, com.google.cloud.retail.v2.CustomAttribute defaultValue)589   com.google.cloud.retail.v2.CustomAttribute getAttributesOrDefault(
590       java.lang.String key,
591       /* nullable */
592       com.google.cloud.retail.v2.CustomAttribute defaultValue);
593   /**
594    *
595    *
596    * <pre>
597    * Extra user event features to include in the recommendation model.
598    * If you provide custom attributes for ingested user events, also include
599    * them in the user events that you associate with prediction requests. Custom
600    * attribute formatting must be consistent between imported events and events
601    * provided with prediction requests. This lets the Retail API use
602    * those custom attributes when training models and serving predictions, which
603    * helps improve recommendation quality.
604    * This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
605    * error is returned:
606    * * The key must be a UTF-8 encoded string with a length limit of 5,000
607    *   characters.
608    * * For text attributes, at most 400 values are allowed. Empty values are not
609    *   allowed. Each value must be a UTF-8 encoded string with a length limit of
610    *   256 characters.
611    * * For number attributes, at most 400 values are allowed.
612    * For product recommendations, an example of extra user information is
613    * traffic_channel, which is how a user arrives at the site. Users can arrive
614    * at the site by coming to the site directly, coming through Google
615    * search, or in other ways.
616    * </pre>
617    *
618    * <code>map&lt;string, .google.cloud.retail.v2.CustomAttribute&gt; attributes = 7;</code>
619    */
getAttributesOrThrow(java.lang.String key)620   com.google.cloud.retail.v2.CustomAttribute getAttributesOrThrow(java.lang.String key);
621 
622   /**
623    *
624    *
625    * <pre>
626    * The ID or name of the associated shopping cart. This ID is used
627    * to associate multiple items added or present in the cart before purchase.
628    * This can only be set for `add-to-cart`, `purchase-complete`, or
629    * `shopping-cart-page-view` events.
630    * </pre>
631    *
632    * <code>string cart_id = 8;</code>
633    *
634    * @return The cartId.
635    */
getCartId()636   java.lang.String getCartId();
637   /**
638    *
639    *
640    * <pre>
641    * The ID or name of the associated shopping cart. This ID is used
642    * to associate multiple items added or present in the cart before purchase.
643    * This can only be set for `add-to-cart`, `purchase-complete`, or
644    * `shopping-cart-page-view` events.
645    * </pre>
646    *
647    * <code>string cart_id = 8;</code>
648    *
649    * @return The bytes for cartId.
650    */
getCartIdBytes()651   com.google.protobuf.ByteString getCartIdBytes();
652 
653   /**
654    *
655    *
656    * <pre>
657    * A transaction represents the entire purchase transaction.
658    * Required for `purchase-complete` events. Other event types should not set
659    * this field. Otherwise, an INVALID_ARGUMENT error is returned.
660    * </pre>
661    *
662    * <code>.google.cloud.retail.v2.PurchaseTransaction purchase_transaction = 9;</code>
663    *
664    * @return Whether the purchaseTransaction field is set.
665    */
hasPurchaseTransaction()666   boolean hasPurchaseTransaction();
667   /**
668    *
669    *
670    * <pre>
671    * A transaction represents the entire purchase transaction.
672    * Required for `purchase-complete` events. Other event types should not set
673    * this field. Otherwise, an INVALID_ARGUMENT error is returned.
674    * </pre>
675    *
676    * <code>.google.cloud.retail.v2.PurchaseTransaction purchase_transaction = 9;</code>
677    *
678    * @return The purchaseTransaction.
679    */
getPurchaseTransaction()680   com.google.cloud.retail.v2.PurchaseTransaction getPurchaseTransaction();
681   /**
682    *
683    *
684    * <pre>
685    * A transaction represents the entire purchase transaction.
686    * Required for `purchase-complete` events. Other event types should not set
687    * this field. Otherwise, an INVALID_ARGUMENT error is returned.
688    * </pre>
689    *
690    * <code>.google.cloud.retail.v2.PurchaseTransaction purchase_transaction = 9;</code>
691    */
getPurchaseTransactionOrBuilder()692   com.google.cloud.retail.v2.PurchaseTransactionOrBuilder getPurchaseTransactionOrBuilder();
693 
694   /**
695    *
696    *
697    * <pre>
698    * The user's search query.
699    * See [SearchRequest.query][google.cloud.retail.v2.SearchRequest.query] for
700    * definition.
701    * The value must be a UTF-8 encoded string with a length limit of 5,000
702    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
703    * At least one of
704    * [search_query][google.cloud.retail.v2.UserEvent.search_query] or
705    * [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
706    * required for `search` events. Other event types should not set this field.
707    * Otherwise, an INVALID_ARGUMENT error is returned.
708    * </pre>
709    *
710    * <code>string search_query = 10;</code>
711    *
712    * @return The searchQuery.
713    */
getSearchQuery()714   java.lang.String getSearchQuery();
715   /**
716    *
717    *
718    * <pre>
719    * The user's search query.
720    * See [SearchRequest.query][google.cloud.retail.v2.SearchRequest.query] for
721    * definition.
722    * The value must be a UTF-8 encoded string with a length limit of 5,000
723    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
724    * At least one of
725    * [search_query][google.cloud.retail.v2.UserEvent.search_query] or
726    * [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
727    * required for `search` events. Other event types should not set this field.
728    * Otherwise, an INVALID_ARGUMENT error is returned.
729    * </pre>
730    *
731    * <code>string search_query = 10;</code>
732    *
733    * @return The bytes for searchQuery.
734    */
getSearchQueryBytes()735   com.google.protobuf.ByteString getSearchQueryBytes();
736 
737   /**
738    *
739    *
740    * <pre>
741    * The filter syntax consists of an expression language for constructing a
742    * predicate from one or more fields of the products being filtered.
743    * See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
744    * definition and syntax.
745    * The value must be a UTF-8 encoded string with a length limit of 1,000
746    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
747    * </pre>
748    *
749    * <code>string filter = 16;</code>
750    *
751    * @return The filter.
752    */
getFilter()753   java.lang.String getFilter();
754   /**
755    *
756    *
757    * <pre>
758    * The filter syntax consists of an expression language for constructing a
759    * predicate from one or more fields of the products being filtered.
760    * See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
761    * definition and syntax.
762    * The value must be a UTF-8 encoded string with a length limit of 1,000
763    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
764    * </pre>
765    *
766    * <code>string filter = 16;</code>
767    *
768    * @return The bytes for filter.
769    */
getFilterBytes()770   com.google.protobuf.ByteString getFilterBytes();
771 
772   /**
773    *
774    *
775    * <pre>
776    * The order in which products are returned.
777    * See [SearchRequest.order_by][google.cloud.retail.v2.SearchRequest.order_by]
778    * for definition and syntax.
779    * The value must be a UTF-8 encoded string with a length limit of 1,000
780    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
781    * This can only be set for `search` events. Other event types should not set
782    * this field. Otherwise, an INVALID_ARGUMENT error is returned.
783    * </pre>
784    *
785    * <code>string order_by = 17;</code>
786    *
787    * @return The orderBy.
788    */
getOrderBy()789   java.lang.String getOrderBy();
790   /**
791    *
792    *
793    * <pre>
794    * The order in which products are returned.
795    * See [SearchRequest.order_by][google.cloud.retail.v2.SearchRequest.order_by]
796    * for definition and syntax.
797    * The value must be a UTF-8 encoded string with a length limit of 1,000
798    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
799    * This can only be set for `search` events. Other event types should not set
800    * this field. Otherwise, an INVALID_ARGUMENT error is returned.
801    * </pre>
802    *
803    * <code>string order_by = 17;</code>
804    *
805    * @return The bytes for orderBy.
806    */
getOrderByBytes()807   com.google.protobuf.ByteString getOrderByBytes();
808 
809   /**
810    *
811    *
812    * <pre>
813    * An integer that specifies the current offset for pagination (the 0-indexed
814    * starting location, amongst the products deemed by the API as relevant).
815    * See [SearchRequest.offset][google.cloud.retail.v2.SearchRequest.offset] for
816    * definition.
817    * If this field is negative, an INVALID_ARGUMENT is returned.
818    * This can only be set for `search` events. Other event types should not set
819    * this field. Otherwise, an INVALID_ARGUMENT error is returned.
820    * </pre>
821    *
822    * <code>int32 offset = 18;</code>
823    *
824    * @return The offset.
825    */
getOffset()826   int getOffset();
827 
828   /**
829    *
830    *
831    * <pre>
832    * The categories associated with a category page.
833    * To represent full path of category, use '&gt;' sign to separate different
834    * hierarchies. If '&gt;' is part of the category name, replace it with
835    * other character(s).
836    * Category pages include special pages such as sales or promotions. For
837    * instance, a special sale page may have the category hierarchy:
838    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
839    * Required for `category-page-view` events. At least one of
840    * [search_query][google.cloud.retail.v2.UserEvent.search_query] or
841    * [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
842    * required for `search` events. Other event types should not set this field.
843    * Otherwise, an INVALID_ARGUMENT error is returned.
844    * </pre>
845    *
846    * <code>repeated string page_categories = 11;</code>
847    *
848    * @return A list containing the pageCategories.
849    */
getPageCategoriesList()850   java.util.List<java.lang.String> getPageCategoriesList();
851   /**
852    *
853    *
854    * <pre>
855    * The categories associated with a category page.
856    * To represent full path of category, use '&gt;' sign to separate different
857    * hierarchies. If '&gt;' is part of the category name, replace it with
858    * other character(s).
859    * Category pages include special pages such as sales or promotions. For
860    * instance, a special sale page may have the category hierarchy:
861    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
862    * Required for `category-page-view` events. At least one of
863    * [search_query][google.cloud.retail.v2.UserEvent.search_query] or
864    * [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
865    * required for `search` events. Other event types should not set this field.
866    * Otherwise, an INVALID_ARGUMENT error is returned.
867    * </pre>
868    *
869    * <code>repeated string page_categories = 11;</code>
870    *
871    * @return The count of pageCategories.
872    */
getPageCategoriesCount()873   int getPageCategoriesCount();
874   /**
875    *
876    *
877    * <pre>
878    * The categories associated with a category page.
879    * To represent full path of category, use '&gt;' sign to separate different
880    * hierarchies. If '&gt;' is part of the category name, replace it with
881    * other character(s).
882    * Category pages include special pages such as sales or promotions. For
883    * instance, a special sale page may have the category hierarchy:
884    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
885    * Required for `category-page-view` events. At least one of
886    * [search_query][google.cloud.retail.v2.UserEvent.search_query] or
887    * [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
888    * required for `search` events. Other event types should not set this field.
889    * Otherwise, an INVALID_ARGUMENT error is returned.
890    * </pre>
891    *
892    * <code>repeated string page_categories = 11;</code>
893    *
894    * @param index The index of the element to return.
895    * @return The pageCategories at the given index.
896    */
getPageCategories(int index)897   java.lang.String getPageCategories(int index);
898   /**
899    *
900    *
901    * <pre>
902    * The categories associated with a category page.
903    * To represent full path of category, use '&gt;' sign to separate different
904    * hierarchies. If '&gt;' is part of the category name, replace it with
905    * other character(s).
906    * Category pages include special pages such as sales or promotions. For
907    * instance, a special sale page may have the category hierarchy:
908    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
909    * Required for `category-page-view` events. At least one of
910    * [search_query][google.cloud.retail.v2.UserEvent.search_query] or
911    * [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
912    * required for `search` events. Other event types should not set this field.
913    * Otherwise, an INVALID_ARGUMENT error is returned.
914    * </pre>
915    *
916    * <code>repeated string page_categories = 11;</code>
917    *
918    * @param index The index of the value to return.
919    * @return The bytes of the pageCategories at the given index.
920    */
getPageCategoriesBytes(int index)921   com.google.protobuf.ByteString getPageCategoriesBytes(int index);
922 
923   /**
924    *
925    *
926    * <pre>
927    * User information.
928    * </pre>
929    *
930    * <code>.google.cloud.retail.v2.UserInfo user_info = 12;</code>
931    *
932    * @return Whether the userInfo field is set.
933    */
hasUserInfo()934   boolean hasUserInfo();
935   /**
936    *
937    *
938    * <pre>
939    * User information.
940    * </pre>
941    *
942    * <code>.google.cloud.retail.v2.UserInfo user_info = 12;</code>
943    *
944    * @return The userInfo.
945    */
getUserInfo()946   com.google.cloud.retail.v2.UserInfo getUserInfo();
947   /**
948    *
949    *
950    * <pre>
951    * User information.
952    * </pre>
953    *
954    * <code>.google.cloud.retail.v2.UserInfo user_info = 12;</code>
955    */
getUserInfoOrBuilder()956   com.google.cloud.retail.v2.UserInfoOrBuilder getUserInfoOrBuilder();
957 
958   /**
959    *
960    *
961    * <pre>
962    * Complete URL (window.location.href) of the user's current page.
963    * When using the client side event reporting with JavaScript pixel and Google
964    * Tag Manager, this value is filled in automatically. Maximum length 5,000
965    * characters.
966    * </pre>
967    *
968    * <code>string uri = 13;</code>
969    *
970    * @return The uri.
971    */
getUri()972   java.lang.String getUri();
973   /**
974    *
975    *
976    * <pre>
977    * Complete URL (window.location.href) of the user's current page.
978    * When using the client side event reporting with JavaScript pixel and Google
979    * Tag Manager, this value is filled in automatically. Maximum length 5,000
980    * characters.
981    * </pre>
982    *
983    * <code>string uri = 13;</code>
984    *
985    * @return The bytes for uri.
986    */
getUriBytes()987   com.google.protobuf.ByteString getUriBytes();
988 
989   /**
990    *
991    *
992    * <pre>
993    * The referrer URL of the current page.
994    * When using the client side event reporting with JavaScript pixel and Google
995    * Tag Manager, this value is filled in automatically.
996    * </pre>
997    *
998    * <code>string referrer_uri = 14;</code>
999    *
1000    * @return The referrerUri.
1001    */
getReferrerUri()1002   java.lang.String getReferrerUri();
1003   /**
1004    *
1005    *
1006    * <pre>
1007    * The referrer URL of the current page.
1008    * When using the client side event reporting with JavaScript pixel and Google
1009    * Tag Manager, this value is filled in automatically.
1010    * </pre>
1011    *
1012    * <code>string referrer_uri = 14;</code>
1013    *
1014    * @return The bytes for referrerUri.
1015    */
getReferrerUriBytes()1016   com.google.protobuf.ByteString getReferrerUriBytes();
1017 
1018   /**
1019    *
1020    *
1021    * <pre>
1022    * A unique ID of a web page view.
1023    * This should be kept the same for all user events triggered from the same
1024    * pageview. For example, an item detail page view could trigger multiple
1025    * events as the user is browsing the page. The `pageViewId` property should
1026    * be kept the same for all these events so that they can be grouped together
1027    * properly.
1028    * When using the client side event reporting with JavaScript pixel and Google
1029    * Tag Manager, this value is filled in automatically.
1030    * </pre>
1031    *
1032    * <code>string page_view_id = 15;</code>
1033    *
1034    * @return The pageViewId.
1035    */
getPageViewId()1036   java.lang.String getPageViewId();
1037   /**
1038    *
1039    *
1040    * <pre>
1041    * A unique ID of a web page view.
1042    * This should be kept the same for all user events triggered from the same
1043    * pageview. For example, an item detail page view could trigger multiple
1044    * events as the user is browsing the page. The `pageViewId` property should
1045    * be kept the same for all these events so that they can be grouped together
1046    * properly.
1047    * When using the client side event reporting with JavaScript pixel and Google
1048    * Tag Manager, this value is filled in automatically.
1049    * </pre>
1050    *
1051    * <code>string page_view_id = 15;</code>
1052    *
1053    * @return The bytes for pageViewId.
1054    */
getPageViewIdBytes()1055   com.google.protobuf.ByteString getPageViewIdBytes();
1056 
1057   /**
1058    *
1059    *
1060    * <pre>
1061    * The entity for customers that may run multiple different entities, domains,
1062    * sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
1063    * `google.com`, `youtube.com`, etc.
1064    * It is recommended to set this field to get better per-entity search,
1065    * completion and prediction results.
1066    * </pre>
1067    *
1068    * <code>string entity = 23;</code>
1069    *
1070    * @return The entity.
1071    */
getEntity()1072   java.lang.String getEntity();
1073   /**
1074    *
1075    *
1076    * <pre>
1077    * The entity for customers that may run multiple different entities, domains,
1078    * sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
1079    * `google.com`, `youtube.com`, etc.
1080    * It is recommended to set this field to get better per-entity search,
1081    * completion and prediction results.
1082    * </pre>
1083    *
1084    * <code>string entity = 23;</code>
1085    *
1086    * @return The bytes for entity.
1087    */
getEntityBytes()1088   com.google.protobuf.ByteString getEntityBytes();
1089 }
1090