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<string, .google.cloud.retail.v2.CustomAttribute> 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<string, .google.cloud.retail.v2.CustomAttribute> 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<string, .google.cloud.retail.v2.CustomAttribute> 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<string, .google.cloud.retail.v2.CustomAttribute> 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<string, .google.cloud.retail.v2.CustomAttribute> 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 '>' sign to separate different 834 * hierarchies. If '>' 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 > 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 '>' sign to separate different 857 * hierarchies. If '>' 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 > 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 '>' sign to separate different 880 * hierarchies. If '>' 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 > 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 '>' sign to separate different 904 * hierarchies. If '>' 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 > 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