retail

package
v0.0.0-...-b395a37 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2021 License: Apache-2.0 Imports: 19 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ImportProductsRequest_ReconciliationMode_name = map[int32]string{
		0: "RECONCILIATION_MODE_UNSPECIFIED",
		1: "INCREMENTAL",
		2: "FULL",
	}
	ImportProductsRequest_ReconciliationMode_value = map[string]int32{
		"RECONCILIATION_MODE_UNSPECIFIED": 0,
		"INCREMENTAL":                     1,
		"FULL":                            2,
	}
)

Enum value maps for ImportProductsRequest_ReconciliationMode.

View Source
var (
	Product_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "PRIMARY",
		2: "VARIANT",
		3: "COLLECTION",
	}
	Product_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"PRIMARY":          1,
		"VARIANT":          2,
		"COLLECTION":       3,
	}
)

Enum value maps for Product_Type.

View Source
var (
	Product_Availability_name = map[int32]string{
		0: "AVAILABILITY_UNSPECIFIED",
		1: "IN_STOCK",
		2: "OUT_OF_STOCK",
		3: "PREORDER",
		4: "BACKORDER",
	}
	Product_Availability_value = map[string]int32{
		"AVAILABILITY_UNSPECIFIED": 0,
		"IN_STOCK":                 1,
		"OUT_OF_STOCK":             2,
		"PREORDER":                 3,
		"BACKORDER":                4,
	}
)

Enum value maps for Product_Availability.

View Source
var (
	SearchRequest_DynamicFacetSpec_Mode_name = map[int32]string{
		0: "MODE_UNSPECIFIED",
		1: "DISABLED",
		2: "ENABLED",
	}
	SearchRequest_DynamicFacetSpec_Mode_value = map[string]int32{
		"MODE_UNSPECIFIED": 0,
		"DISABLED":         1,
		"ENABLED":          2,
	}
)

Enum value maps for SearchRequest_DynamicFacetSpec_Mode.

View Source
var (
	SearchRequest_QueryExpansionSpec_Condition_name = map[int32]string{
		0: "CONDITION_UNSPECIFIED",
		1: "DISABLED",
		3: "AUTO",
	}
	SearchRequest_QueryExpansionSpec_Condition_value = map[string]int32{
		"CONDITION_UNSPECIFIED": 0,
		"DISABLED":              1,
		"AUTO":                  3,
	}
)

Enum value maps for SearchRequest_QueryExpansionSpec_Condition.

View Source
var (
	RejoinUserEventsRequest_UserEventRejoinScope_name = map[int32]string{
		0: "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED",
		1: "JOINED_EVENTS",
		2: "UNJOINED_EVENTS",
	}
	RejoinUserEventsRequest_UserEventRejoinScope_value = map[string]int32{
		"USER_EVENT_REJOIN_SCOPE_UNSPECIFIED": 0,
		"JOINED_EVENTS":                       1,
		"UNJOINED_EVENTS":                     2,
	}
)

Enum value maps for RejoinUserEventsRequest_UserEventRejoinScope.

View Source
var File_google_cloud_retail_v2_catalog_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_catalog_service_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_common_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_completion_service_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_import_config_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_prediction_service_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_product_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_product_service_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_purge_config_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_search_service_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_user_event_proto protoreflect.FileDescriptor
View Source
var File_google_cloud_retail_v2_user_event_service_proto protoreflect.FileDescriptor

Functions

func RegisterCatalogServiceServer

func RegisterCatalogServiceServer(s *grpc.Server, srv CatalogServiceServer)

func RegisterCompletionServiceServer

func RegisterCompletionServiceServer(s *grpc.Server, srv CompletionServiceServer)

func RegisterPredictionServiceServer

func RegisterPredictionServiceServer(s *grpc.Server, srv PredictionServiceServer)

func RegisterProductServiceServer

func RegisterProductServiceServer(s *grpc.Server, srv ProductServiceServer)

func RegisterSearchServiceServer

func RegisterSearchServiceServer(s *grpc.Server, srv SearchServiceServer)

func RegisterUserEventServiceServer

func RegisterUserEventServiceServer(s *grpc.Server, srv UserEventServiceServer)

Types

type AddFulfillmentPlacesMetadata

type AddFulfillmentPlacesMetadata struct {
	// contains filtered or unexported fields
}

Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the [AddFulfillmentPlaces][] method.

func (*AddFulfillmentPlacesMetadata) Descriptor deprecated

func (*AddFulfillmentPlacesMetadata) Descriptor() ([]byte, []int)

Deprecated: Use AddFulfillmentPlacesMetadata.ProtoReflect.Descriptor instead.

func (*AddFulfillmentPlacesMetadata) ProtoMessage

func (*AddFulfillmentPlacesMetadata) ProtoMessage()

func (*AddFulfillmentPlacesMetadata) ProtoReflect

func (*AddFulfillmentPlacesMetadata) Reset

func (x *AddFulfillmentPlacesMetadata) Reset()

func (*AddFulfillmentPlacesMetadata) String

type AddFulfillmentPlacesRequest

type AddFulfillmentPlacesRequest struct {

	// Required. Full resource name of [Product][google.cloud.retail.v2.Product],
	// such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
	//
	// If the caller does not have permission to access the
	// [Product][google.cloud.retail.v2.Product], regardless of whether or not it
	// exists, a PERMISSION_DENIED error is returned.
	Product string `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
	// Required. The fulfillment type, including commonly used types (such as
	// pickup in store and same day delivery), and custom types.
	//
	// Supported values:
	//
	// * "pickup-in-store"
	// * "ship-to-store"
	// * "same-day-delivery"
	// * "next-day-delivery"
	// * "custom-type-1"
	// * "custom-type-2"
	// * "custom-type-3"
	// * "custom-type-4"
	// * "custom-type-5"
	//
	// If this field is set to an invalid value other than these, an
	// INVALID_ARGUMENT error is returned.
	//
	// This field directly corresponds to [Product.fulfillment_info.type][].
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// Required. The IDs for this
	// [type][google.cloud.retail.v2.AddFulfillmentPlacesRequest.type], such as
	// the store IDs for "pickup-in-store" or the region IDs for
	// "same-day-delivery" to be added for this
	// [type][google.cloud.retail.v2.AddFulfillmentPlacesRequest.type]. Duplicate
	// IDs will be automatically ignored.
	//
	// At least 1 value is required, and a maximum of 2000 values are allowed.
	// Each value must be a string with a length limit of 10 characters, matching
	// the pattern [a-zA-Z0-9_-]+, such as "store1" or "REGION-2". Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// If the total number of place IDs exceeds 2000 for this
	// [type][google.cloud.retail.v2.AddFulfillmentPlacesRequest.type] after
	// adding, then the update will be rejected.
	PlaceIds []string `protobuf:"bytes,3,rep,name=place_ids,json=placeIds,proto3" json:"place_ids,omitempty"`
	// The time when the fulfillment updates are issued, used to prevent
	// out-of-order updates on fulfillment information. If not provided, the
	// internal system time will be used.
	AddTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=add_time,json=addTime,proto3" json:"add_time,omitempty"`
	// If set to true, and the [Product][google.cloud.retail.v2.Product] is not
	// found, the fulfillment information will still be processed and retained for
	// at most 1 day and processed once the
	// [Product][google.cloud.retail.v2.Product] is created. If set to false, an
	// INVALID_ARGUMENT error is returned if the
	// [Product][google.cloud.retail.v2.Product] is not found.
	AllowMissing bool `protobuf:"varint,5,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
	// contains filtered or unexported fields
}

Request message for [AddFulfillmentPlaces][] method.

func (*AddFulfillmentPlacesRequest) Descriptor deprecated

func (*AddFulfillmentPlacesRequest) Descriptor() ([]byte, []int)

Deprecated: Use AddFulfillmentPlacesRequest.ProtoReflect.Descriptor instead.

func (*AddFulfillmentPlacesRequest) GetAddTime

func (*AddFulfillmentPlacesRequest) GetAllowMissing

func (x *AddFulfillmentPlacesRequest) GetAllowMissing() bool

func (*AddFulfillmentPlacesRequest) GetPlaceIds

func (x *AddFulfillmentPlacesRequest) GetPlaceIds() []string

func (*AddFulfillmentPlacesRequest) GetProduct

func (x *AddFulfillmentPlacesRequest) GetProduct() string

func (*AddFulfillmentPlacesRequest) GetType

func (x *AddFulfillmentPlacesRequest) GetType() string

func (*AddFulfillmentPlacesRequest) ProtoMessage

func (*AddFulfillmentPlacesRequest) ProtoMessage()

func (*AddFulfillmentPlacesRequest) ProtoReflect

func (*AddFulfillmentPlacesRequest) Reset

func (x *AddFulfillmentPlacesRequest) Reset()

func (*AddFulfillmentPlacesRequest) String

func (x *AddFulfillmentPlacesRequest) String() string

type AddFulfillmentPlacesResponse

type AddFulfillmentPlacesResponse struct {
	// contains filtered or unexported fields
}

Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the [AddFulfillmentPlaces][] method.

func (*AddFulfillmentPlacesResponse) Descriptor deprecated

func (*AddFulfillmentPlacesResponse) Descriptor() ([]byte, []int)

Deprecated: Use AddFulfillmentPlacesResponse.ProtoReflect.Descriptor instead.

func (*AddFulfillmentPlacesResponse) ProtoMessage

func (*AddFulfillmentPlacesResponse) ProtoMessage()

func (*AddFulfillmentPlacesResponse) ProtoReflect

func (*AddFulfillmentPlacesResponse) Reset

func (x *AddFulfillmentPlacesResponse) Reset()

func (*AddFulfillmentPlacesResponse) String

type Audience

type Audience struct {

	// The genders of the audience. Strongly encouraged to use the standard
	// values: "male", "female", "unisex".
	//
	// At most 5 values are allowed. Each value must be a UTF-8 encoded string
	// with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
	// is returned.
	//
	// Google Merchant Center property
	// [gender](https://support.google.com/merchants/answer/6324479). Schema.org
	// property
	// [Product.audience.suggestedGender](https://schema.org/suggestedGender).
	Genders []string `protobuf:"bytes,1,rep,name=genders,proto3" json:"genders,omitempty"`
	// The age groups of the audience. Strongly encouraged to use the standard
	// values: "newborn" (up to 3 months old), "infant" (3–12 months old),
	// "toddler" (1–5 years old), "kids" (5–13 years old), "adult" (typically
	// teens or older).
	//
	// At most 5 values are allowed. Each value must be a UTF-8 encoded string
	// with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
	// is returned.
	//
	// Google Merchant Center property
	// [age_group](https://support.google.com/merchants/answer/6324463).
	// Schema.org property
	// [Product.audience.suggestedMinAge](https://schema.org/suggestedMinAge) and
	// [Product.audience.suggestedMaxAge](https://schema.org/suggestedMaxAge).
	AgeGroups []string `protobuf:"bytes,2,rep,name=age_groups,json=ageGroups,proto3" json:"age_groups,omitempty"`
	// contains filtered or unexported fields
}

An intended audience of the Product[google.cloud.retail.v2.Product] for whom it's sold.

func (*Audience) Descriptor deprecated

func (*Audience) Descriptor() ([]byte, []int)

Deprecated: Use Audience.ProtoReflect.Descriptor instead.

func (*Audience) GetAgeGroups

func (x *Audience) GetAgeGroups() []string

func (*Audience) GetGenders

func (x *Audience) GetGenders() []string

func (*Audience) ProtoMessage

func (*Audience) ProtoMessage()

func (*Audience) ProtoReflect

func (x *Audience) ProtoReflect() protoreflect.Message

func (*Audience) Reset

func (x *Audience) Reset()

func (*Audience) String

func (x *Audience) String() string

type BigQuerySource

type BigQuerySource struct {

	// BigQuery table partition info. Leave this empty if the BigQuery table
	// is not partitioned.
	//
	// Types that are assignable to Partition:
	//	*BigQuerySource_PartitionDate
	Partition isBigQuerySource_Partition `protobuf_oneof:"partition"`
	// The project ID (can be project # or ID) that the BigQuery source is in with
	// a length limit of 128 characters. If not specified, inherits the project
	// ID from the parent request.
	ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. The BigQuery data set to copy the data from with a length limit
	// of 1,024 characters.
	DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
	// Required. The BigQuery table to copy the data from with a length limit of
	// 1,024 characters.
	TableId string `protobuf:"bytes,2,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
	// Intermediate Cloud Storage directory used for the import with a length
	// limit of 2,000 characters. Can be specified if one wants to have the
	// BigQuery export to a specific Cloud Storage directory.
	GcsStagingDir string `protobuf:"bytes,3,opt,name=gcs_staging_dir,json=gcsStagingDir,proto3" json:"gcs_staging_dir,omitempty"`
	// The schema to use when parsing the data from the source.
	//
	// Supported values for product imports:
	//
	// * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
	// per line. Each product must
	//   have a valid [Product.id][google.cloud.retail.v2.Product.id].
	// * `product_merchant_center`: See [Importing catalog data from Merchant
	//   Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
	//
	// Supported values for user events imports:
	//
	// * `user_event` (default): One JSON
	// [UserEvent][google.cloud.retail.v2.UserEvent] per line.
	// * `user_event_ga360`: Using
	//   https://support.google.com/analytics/answer/3437719.
	DataSchema string `protobuf:"bytes,4,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"`
	// contains filtered or unexported fields
}

BigQuery source import data from.

func (*BigQuerySource) Descriptor deprecated

func (*BigQuerySource) Descriptor() ([]byte, []int)

Deprecated: Use BigQuerySource.ProtoReflect.Descriptor instead.

func (*BigQuerySource) GetDataSchema

func (x *BigQuerySource) GetDataSchema() string

func (*BigQuerySource) GetDatasetId

func (x *BigQuerySource) GetDatasetId() string

func (*BigQuerySource) GetGcsStagingDir

func (x *BigQuerySource) GetGcsStagingDir() string

func (*BigQuerySource) GetPartition

func (m *BigQuerySource) GetPartition() isBigQuerySource_Partition

func (*BigQuerySource) GetPartitionDate

func (x *BigQuerySource) GetPartitionDate() *date.Date

func (*BigQuerySource) GetProjectId

func (x *BigQuerySource) GetProjectId() string

func (*BigQuerySource) GetTableId

func (x *BigQuerySource) GetTableId() string

func (*BigQuerySource) ProtoMessage

func (*BigQuerySource) ProtoMessage()

func (*BigQuerySource) ProtoReflect

func (x *BigQuerySource) ProtoReflect() protoreflect.Message

func (*BigQuerySource) Reset

func (x *BigQuerySource) Reset()

func (*BigQuerySource) String

func (x *BigQuerySource) String() string

type BigQuerySource_PartitionDate

type BigQuerySource_PartitionDate struct {
	// BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
	//
	// Only supported when
	// [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2.ImportProductsRequest.reconciliation_mode]
	// is set to `FULL`.
	PartitionDate *date.Date `protobuf:"bytes,6,opt,name=partition_date,json=partitionDate,proto3,oneof"`
}

type Catalog

type Catalog struct {

	// Required. Immutable. The fully qualified resource name of the catalog.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. Immutable. The catalog display name.
	//
	// This field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Required. The product level configuration.
	ProductLevelConfig *ProductLevelConfig `protobuf:"bytes,4,opt,name=product_level_config,json=productLevelConfig,proto3" json:"product_level_config,omitempty"`
	// contains filtered or unexported fields
}

The catalog configuration.

func (*Catalog) Descriptor deprecated

func (*Catalog) Descriptor() ([]byte, []int)

Deprecated: Use Catalog.ProtoReflect.Descriptor instead.

func (*Catalog) GetDisplayName

func (x *Catalog) GetDisplayName() string

func (*Catalog) GetName

func (x *Catalog) GetName() string

func (*Catalog) GetProductLevelConfig

func (x *Catalog) GetProductLevelConfig() *ProductLevelConfig

func (*Catalog) ProtoMessage

func (*Catalog) ProtoMessage()

func (*Catalog) ProtoReflect

func (x *Catalog) ProtoReflect() protoreflect.Message

func (*Catalog) Reset

func (x *Catalog) Reset()

func (*Catalog) String

func (x *Catalog) String() string

type CatalogServiceClient

type CatalogServiceClient interface {
	// Lists all the [Catalog][google.cloud.retail.v2.Catalog]s associated with
	// the project.
	ListCatalogs(ctx context.Context, in *ListCatalogsRequest, opts ...grpc.CallOption) (*ListCatalogsResponse, error)
	// Updates the [Catalog][google.cloud.retail.v2.Catalog]s.
	UpdateCatalog(ctx context.Context, in *UpdateCatalogRequest, opts ...grpc.CallOption) (*Catalog, error)
	// Set a specified branch id as default branch. API methods such as
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search],
	// [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct],
	// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
	// will treat requests using "default_branch" to the actual branch id set as
	// default.
	//
	// For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as
	// default, setting
	// [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
	// `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent
	// to setting
	// [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
	// `projects/*/locations/*/catalogs/*/branches/1`.
	//
	// Using multiple branches can be useful when developers would like
	// to have a staging branch to test and verify for future usage. When it
	// becomes ready, developers switch on the staging branch using this API while
	// keeping using `projects/*/locations/*/catalogs/*/branches/default_branch`
	// as [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
	// route the traffic to this staging branch.
	//
	// CAUTION: If you have live predict/search traffic, switching the default
	// branch could potentially cause outages if the ID space of the new branch is
	// very different from the old one.
	//
	// More specifically:
	//
	// * PredictionService will only return product IDs from branch {newBranch}.
	// * SearchService will only return product IDs from branch {newBranch}
	//   (if branch is not explicitly set).
	// * UserEventService will only join events with products from branch
	//   {newBranch}.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	SetDefaultBranch(ctx context.Context, in *SetDefaultBranchRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Get which branch is currently default branch set by
	// [CatalogService.SetDefaultBranch][google.cloud.retail.v2.CatalogService.SetDefaultBranch]
	// method under a specified parent catalog.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	GetDefaultBranch(ctx context.Context, in *GetDefaultBranchRequest, opts ...grpc.CallOption) (*GetDefaultBranchResponse, error)
}

CatalogServiceClient is the client API for CatalogService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type CatalogServiceServer

type CatalogServiceServer interface {
	// Lists all the [Catalog][google.cloud.retail.v2.Catalog]s associated with
	// the project.
	ListCatalogs(context.Context, *ListCatalogsRequest) (*ListCatalogsResponse, error)
	// Updates the [Catalog][google.cloud.retail.v2.Catalog]s.
	UpdateCatalog(context.Context, *UpdateCatalogRequest) (*Catalog, error)
	// Set a specified branch id as default branch. API methods such as
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search],
	// [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct],
	// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
	// will treat requests using "default_branch" to the actual branch id set as
	// default.
	//
	// For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as
	// default, setting
	// [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
	// `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent
	// to setting
	// [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
	// `projects/*/locations/*/catalogs/*/branches/1`.
	//
	// Using multiple branches can be useful when developers would like
	// to have a staging branch to test and verify for future usage. When it
	// becomes ready, developers switch on the staging branch using this API while
	// keeping using `projects/*/locations/*/catalogs/*/branches/default_branch`
	// as [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
	// route the traffic to this staging branch.
	//
	// CAUTION: If you have live predict/search traffic, switching the default
	// branch could potentially cause outages if the ID space of the new branch is
	// very different from the old one.
	//
	// More specifically:
	//
	// * PredictionService will only return product IDs from branch {newBranch}.
	// * SearchService will only return product IDs from branch {newBranch}
	//   (if branch is not explicitly set).
	// * UserEventService will only join events with products from branch
	//   {newBranch}.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	SetDefaultBranch(context.Context, *SetDefaultBranchRequest) (*emptypb.Empty, error)
	// Get which branch is currently default branch set by
	// [CatalogService.SetDefaultBranch][google.cloud.retail.v2.CatalogService.SetDefaultBranch]
	// method under a specified parent catalog.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	GetDefaultBranch(context.Context, *GetDefaultBranchRequest) (*GetDefaultBranchResponse, error)
}

CatalogServiceServer is the server API for CatalogService service.

type CollectUserEventRequest

type CollectUserEventRequest struct {

	// Required. The parent catalog name, such as
	// `projects/1234/locations/global/catalogs/default_catalog`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. URL encoded UserEvent proto with a length limit of 2,000,000
	// characters.
	UserEvent string `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"`
	// The URL including cgi-parameters but excluding the hash fragment with a
	// length limit of 5,000 characters. This is often more useful than the
	// referer URL, because many browsers only send the domain for 3rd party
	// requests.
	Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"`
	// The event timestamp in milliseconds. This prevents browser caching of
	// otherwise identical get requests. The name is abbreviated to reduce the
	// payload bytes.
	Ets int64 `protobuf:"varint,4,opt,name=ets,proto3" json:"ets,omitempty"`
	// contains filtered or unexported fields
}

Request message for CollectUserEvent method.

func (*CollectUserEventRequest) Descriptor deprecated

func (*CollectUserEventRequest) Descriptor() ([]byte, []int)

Deprecated: Use CollectUserEventRequest.ProtoReflect.Descriptor instead.

func (*CollectUserEventRequest) GetEts

func (x *CollectUserEventRequest) GetEts() int64

func (*CollectUserEventRequest) GetParent

func (x *CollectUserEventRequest) GetParent() string

func (*CollectUserEventRequest) GetUri

func (x *CollectUserEventRequest) GetUri() string

func (*CollectUserEventRequest) GetUserEvent

func (x *CollectUserEventRequest) GetUserEvent() string

func (*CollectUserEventRequest) ProtoMessage

func (*CollectUserEventRequest) ProtoMessage()

func (*CollectUserEventRequest) ProtoReflect

func (x *CollectUserEventRequest) ProtoReflect() protoreflect.Message

func (*CollectUserEventRequest) Reset

func (x *CollectUserEventRequest) Reset()

func (*CollectUserEventRequest) String

func (x *CollectUserEventRequest) String() string

type ColorInfo

type ColorInfo struct {

	// The standard color families. Strongly recommended to use the following
	// standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple",
	// "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and
	// "Mixed". Normally it is expected to have only 1 color family. May consider
	// using single "Mixed" instead of multiple values.
	//
	// A maximum of 5 values are allowed. Each value must be a UTF-8 encoded
	// string with a length limit of 128 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [color](https://support.google.com/merchants/answer/6324487). Schema.org
	// property [Product.color](https://schema.org/color).
	ColorFamilies []string `protobuf:"bytes,1,rep,name=color_families,json=colorFamilies,proto3" json:"color_families,omitempty"`
	// The color display names, which may be different from standard color family
	// names, such as the color aliases used in the website frontend. Normally
	// it is expected to have only 1 color. May consider using single "Mixed"
	// instead of multiple values.
	//
	// A maximum of 5 colors are allowed. Each value must be a UTF-8 encoded
	// string with a length limit of 128 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [color](https://support.google.com/merchants/answer/6324487). Schema.org
	// property [Product.color](https://schema.org/color).
	Colors []string `protobuf:"bytes,2,rep,name=colors,proto3" json:"colors,omitempty"`
	// contains filtered or unexported fields
}

The color information of a Product[google.cloud.retail.v2.Product].

func (*ColorInfo) Descriptor deprecated

func (*ColorInfo) Descriptor() ([]byte, []int)

Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.

func (*ColorInfo) GetColorFamilies

func (x *ColorInfo) GetColorFamilies() []string

func (*ColorInfo) GetColors

func (x *ColorInfo) GetColors() []string

func (*ColorInfo) ProtoMessage

func (*ColorInfo) ProtoMessage()

func (*ColorInfo) ProtoReflect

func (x *ColorInfo) ProtoReflect() protoreflect.Message

func (*ColorInfo) Reset

func (x *ColorInfo) Reset()

func (*ColorInfo) String

func (x *ColorInfo) String() string

type CompleteQueryRequest

type CompleteQueryRequest struct {

	// Required. Catalog for which the completion is performed.
	//
	// Full resource name of catalog, such as
	// `projects/*/locations/global/catalogs/default_catalog`.
	Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"`
	// Required. The query used to generate suggestions.
	//
	// The maximum number of allowed characters is 255.
	Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
	// A unique identifier for tracking visitors. For example, this could be
	// implemented with an HTTP cookie, which should be able to uniquely identify
	// a visitor on a single device. This unique identifier should not change if
	// the visitor logs in or out of the website.
	//
	// The field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	VisitorId string `protobuf:"bytes,7,opt,name=visitor_id,json=visitorId,proto3" json:"visitor_id,omitempty"`
	// The list of languages of the query. This is
	// the BCP-47 language code, such as "en-US" or "sr-Latn".
	// For more information, see
	// [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
	//
	// The maximum number of allowed characters is 255.
	// Only "en-US" is currently supported.
	LanguageCodes []string `protobuf:"bytes,3,rep,name=language_codes,json=languageCodes,proto3" json:"language_codes,omitempty"`
	// The device type context for completion suggestions.
	// It is useful to apply different suggestions on different device types, e.g.
	// DESKTOP, MOBILE. If it is empty, the suggestions are across all device
	// types.
	//
	// Supported formats:
	//
	// * UNKNOWN_DEVICE_TYPE
	//
	// * DESKTOP
	//
	// * MOBILE
	//
	// * A customized string starts with OTHER_, e.g. OTHER_IPHONE.
	DeviceType string `protobuf:"bytes,4,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
	// Determines which dataset to use for fetching completion. "user-data" will
	// use the imported dataset through
	// [CompletionService.ImportCompletionData][google.cloud.retail.v2.CompletionService.ImportCompletionData].
	// "cloud-retail" will use the dataset generated by cloud retail based on user
	// events. If leave empty, it will use the "user-data".
	//
	// Current supported values:
	//
	// * user-data
	//
	// * cloud-retail
	//   This option requires additional allowlisting. Before using cloud-retail,
	//   contact Cloud Retail support team first.
	Dataset string `protobuf:"bytes,6,opt,name=dataset,proto3" json:"dataset,omitempty"`
	// Completion max suggestions. If left unset or set to 0, then will fallback
	// to the configured value [CompletionConfig.max_suggestions][].
	//
	// The maximum allowed max suggestions is 20. If it is set higher, it will be
	// capped by 20.
	MaxSuggestions int32 `protobuf:"varint,5,opt,name=max_suggestions,json=maxSuggestions,proto3" json:"max_suggestions,omitempty"`
	// contains filtered or unexported fields
}

Auto-complete parameters.

func (*CompleteQueryRequest) Descriptor deprecated

func (*CompleteQueryRequest) Descriptor() ([]byte, []int)

Deprecated: Use CompleteQueryRequest.ProtoReflect.Descriptor instead.

func (*CompleteQueryRequest) GetCatalog

func (x *CompleteQueryRequest) GetCatalog() string

func (*CompleteQueryRequest) GetDataset

func (x *CompleteQueryRequest) GetDataset() string

func (*CompleteQueryRequest) GetDeviceType

func (x *CompleteQueryRequest) GetDeviceType() string

func (*CompleteQueryRequest) GetLanguageCodes

func (x *CompleteQueryRequest) GetLanguageCodes() []string

func (*CompleteQueryRequest) GetMaxSuggestions

func (x *CompleteQueryRequest) GetMaxSuggestions() int32

func (*CompleteQueryRequest) GetQuery

func (x *CompleteQueryRequest) GetQuery() string

func (*CompleteQueryRequest) GetVisitorId

func (x *CompleteQueryRequest) GetVisitorId() string

func (*CompleteQueryRequest) ProtoMessage

func (*CompleteQueryRequest) ProtoMessage()

func (*CompleteQueryRequest) ProtoReflect

func (x *CompleteQueryRequest) ProtoReflect() protoreflect.Message

func (*CompleteQueryRequest) Reset

func (x *CompleteQueryRequest) Reset()

func (*CompleteQueryRequest) String

func (x *CompleteQueryRequest) String() string

type CompleteQueryResponse

type CompleteQueryResponse struct {

	// Results of the matching suggestions. The result list is ordered and the
	// first result is top suggestion.
	CompletionResults []*CompleteQueryResponse_CompletionResult `protobuf:"bytes,1,rep,name=completion_results,json=completionResults,proto3" json:"completion_results,omitempty"`
	// A unique complete token. This should be included in the
	// [SearchRequest][google.cloud.retail.v2.SearchRequest] resulting from this
	// completion, which enables accurate attribution of complete model
	// performance.
	AttributionToken string `protobuf:"bytes,2,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"`
	// Matched recent searches of this user. The maximum number of recent searches
	// is 10. This field is a restricted feature. Contact Retail Search support
	// team if you are interested in enabling it.
	//
	// This feature is only available when
	// [CompleteQueryRequest.visitor_id][google.cloud.retail.v2.CompleteQueryRequest.visitor_id]
	// field is set and [UserEvent][google.cloud.retail.v2.UserEvent] is imported.
	// The recent searches satisfy the follow rules:
	//  * They are ordered from latest to oldest.
	//  * They are matched with
	//  [CompleteQueryRequest.query][google.cloud.retail.v2.CompleteQueryRequest.query]
	//  case insensitively.
	//  * They are transformed to lower cases.
	//  * They are UTF-8 safe.
	//
	// Recent searches are deduplicated. More recent searches will be reserved
	// when duplication happens.
	RecentSearchResults []*CompleteQueryResponse_RecentSearchResult `protobuf:"bytes,3,rep,name=recent_search_results,json=recentSearchResults,proto3" json:"recent_search_results,omitempty"`
	// contains filtered or unexported fields
}

Response of the auto-complete query.

func (*CompleteQueryResponse) Descriptor deprecated

func (*CompleteQueryResponse) Descriptor() ([]byte, []int)

Deprecated: Use CompleteQueryResponse.ProtoReflect.Descriptor instead.

func (*CompleteQueryResponse) GetAttributionToken

func (x *CompleteQueryResponse) GetAttributionToken() string

func (*CompleteQueryResponse) GetCompletionResults

func (*CompleteQueryResponse) GetRecentSearchResults

func (x *CompleteQueryResponse) GetRecentSearchResults() []*CompleteQueryResponse_RecentSearchResult

func (*CompleteQueryResponse) ProtoMessage

func (*CompleteQueryResponse) ProtoMessage()

func (*CompleteQueryResponse) ProtoReflect

func (x *CompleteQueryResponse) ProtoReflect() protoreflect.Message

func (*CompleteQueryResponse) Reset

func (x *CompleteQueryResponse) Reset()

func (*CompleteQueryResponse) String

func (x *CompleteQueryResponse) String() string

type CompleteQueryResponse_CompletionResult

type CompleteQueryResponse_CompletionResult struct {

	// The suggestion for the query.
	Suggestion string `protobuf:"bytes,1,opt,name=suggestion,proto3" json:"suggestion,omitempty"`
	// Additional custom attributes ingested through BigQuery.
	Attributes map[string]*CustomAttribute `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

Resource that represents completion results.

func (*CompleteQueryResponse_CompletionResult) Descriptor deprecated

func (*CompleteQueryResponse_CompletionResult) Descriptor() ([]byte, []int)

Deprecated: Use CompleteQueryResponse_CompletionResult.ProtoReflect.Descriptor instead.

func (*CompleteQueryResponse_CompletionResult) GetAttributes

func (*CompleteQueryResponse_CompletionResult) GetSuggestion

func (*CompleteQueryResponse_CompletionResult) ProtoMessage

func (*CompleteQueryResponse_CompletionResult) ProtoReflect

func (*CompleteQueryResponse_CompletionResult) Reset

func (*CompleteQueryResponse_CompletionResult) String

type CompleteQueryResponse_RecentSearchResult

type CompleteQueryResponse_RecentSearchResult struct {

	// The recent search query.
	RecentSearch string `protobuf:"bytes,1,opt,name=recent_search,json=recentSearch,proto3" json:"recent_search,omitempty"`
	// contains filtered or unexported fields
}

Recent search of this user.

func (*CompleteQueryResponse_RecentSearchResult) Descriptor deprecated

func (*CompleteQueryResponse_RecentSearchResult) Descriptor() ([]byte, []int)

Deprecated: Use CompleteQueryResponse_RecentSearchResult.ProtoReflect.Descriptor instead.

func (*CompleteQueryResponse_RecentSearchResult) GetRecentSearch

func (x *CompleteQueryResponse_RecentSearchResult) GetRecentSearch() string

func (*CompleteQueryResponse_RecentSearchResult) ProtoMessage

func (*CompleteQueryResponse_RecentSearchResult) ProtoReflect

func (*CompleteQueryResponse_RecentSearchResult) Reset

func (*CompleteQueryResponse_RecentSearchResult) String

type CompletionDataInputConfig

type CompletionDataInputConfig struct {

	// The source of the input.
	//
	// Supported
	// [BigQuerySource.data_schema][google.cloud.retail.v2.BigQuerySource.data_schema]
	// values for suggestions imports:
	//
	// * `suggestions` (default): One JSON completion suggestion per line.
	// * `denylist`:  One JSON deny suggestion per line.
	// * `allowlist`:  One JSON allow suggestion per line.
	//
	// Types that are assignable to Source:
	//	*CompletionDataInputConfig_BigQuerySource
	Source isCompletionDataInputConfig_Source `protobuf_oneof:"source"`
	// contains filtered or unexported fields
}

The input config source for completion data.

func (*CompletionDataInputConfig) Descriptor deprecated

func (*CompletionDataInputConfig) Descriptor() ([]byte, []int)

Deprecated: Use CompletionDataInputConfig.ProtoReflect.Descriptor instead.

func (*CompletionDataInputConfig) GetBigQuerySource

func (x *CompletionDataInputConfig) GetBigQuerySource() *BigQuerySource

func (*CompletionDataInputConfig) GetSource

func (m *CompletionDataInputConfig) GetSource() isCompletionDataInputConfig_Source

func (*CompletionDataInputConfig) ProtoMessage

func (*CompletionDataInputConfig) ProtoMessage()

func (*CompletionDataInputConfig) ProtoReflect

func (*CompletionDataInputConfig) Reset

func (x *CompletionDataInputConfig) Reset()

func (*CompletionDataInputConfig) String

func (x *CompletionDataInputConfig) String() string

type CompletionDataInputConfig_BigQuerySource

type CompletionDataInputConfig_BigQuerySource struct {
	// Required. BigQuery input source.
	//
	// Add the IAM permission "BigQuery Data Viewer" for
	// cloud-retail-customer-data-access@system.gserviceaccount.com before
	// using this feature otherwise an error is thrown.
	BigQuerySource *BigQuerySource `protobuf:"bytes,1,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"`
}

type CompletionDetail

type CompletionDetail struct {

	// Completion attribution token in
	// [CompleteQueryResponse.attribution_token][google.cloud.retail.v2.CompleteQueryResponse.attribution_token].
	CompletionAttributionToken string `` /* 141-byte string literal not displayed */
	// End user selected
	// [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2.CompleteQueryResponse.CompletionResult.suggestion].
	SelectedSuggestion string `protobuf:"bytes,2,opt,name=selected_suggestion,json=selectedSuggestion,proto3" json:"selected_suggestion,omitempty"`
	// End user selected
	// [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2.CompleteQueryResponse.CompletionResult.suggestion]
	// position, starting from 0.
	SelectedPosition int32 `protobuf:"varint,3,opt,name=selected_position,json=selectedPosition,proto3" json:"selected_position,omitempty"`
	// contains filtered or unexported fields
}

Detailed completion information including completion attribution token and clicked completion info.

func (*CompletionDetail) Descriptor deprecated

func (*CompletionDetail) Descriptor() ([]byte, []int)

Deprecated: Use CompletionDetail.ProtoReflect.Descriptor instead.

func (*CompletionDetail) GetCompletionAttributionToken

func (x *CompletionDetail) GetCompletionAttributionToken() string

func (*CompletionDetail) GetSelectedPosition

func (x *CompletionDetail) GetSelectedPosition() int32

func (*CompletionDetail) GetSelectedSuggestion

func (x *CompletionDetail) GetSelectedSuggestion() string

func (*CompletionDetail) ProtoMessage

func (*CompletionDetail) ProtoMessage()

func (*CompletionDetail) ProtoReflect

func (x *CompletionDetail) ProtoReflect() protoreflect.Message

func (*CompletionDetail) Reset

func (x *CompletionDetail) Reset()

func (*CompletionDetail) String

func (x *CompletionDetail) String() string

type CompletionServiceClient

type CompletionServiceClient interface {
	// Completes the specified prefix with keyword suggestions.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	CompleteQuery(ctx context.Context, in *CompleteQueryRequest, opts ...grpc.CallOption) (*CompleteQueryResponse, error)
	// Bulk import of processed completion dataset.
	//
	// Request processing may be synchronous. Partial updating is not supported.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	ImportCompletionData(ctx context.Context, in *ImportCompletionDataRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
}

CompletionServiceClient is the client API for CompletionService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type CompletionServiceServer

type CompletionServiceServer interface {
	// Completes the specified prefix with keyword suggestions.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	CompleteQuery(context.Context, *CompleteQueryRequest) (*CompleteQueryResponse, error)
	// Bulk import of processed completion dataset.
	//
	// Request processing may be synchronous. Partial updating is not supported.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	ImportCompletionData(context.Context, *ImportCompletionDataRequest) (*longrunning.Operation, error)
}

CompletionServiceServer is the server API for CompletionService service.

type CreateProductRequest

type CreateProductRequest struct {

	// Required. The parent catalog resource name, such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/default_branch`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The [Product][google.cloud.retail.v2.Product] to create.
	Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
	// Required. The ID to use for the [Product][google.cloud.retail.v2.Product],
	// which will become the final component of the
	// [Product.name][google.cloud.retail.v2.Product.name].
	//
	// If the caller does not have permission to create the
	// [Product][google.cloud.retail.v2.Product], regardless of whether or not it
	// exists, a PERMISSION_DENIED error is returned.
	//
	// This field must be unique among all
	// [Product][google.cloud.retail.v2.Product]s with the same
	// [parent][google.cloud.retail.v2.CreateProductRequest.parent]. Otherwise, an
	// ALREADY_EXISTS error is returned.
	//
	// This field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
	// contains filtered or unexported fields
}

Request message for [CreateProduct][] method.

func (*CreateProductRequest) Descriptor deprecated

func (*CreateProductRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateProductRequest.ProtoReflect.Descriptor instead.

func (*CreateProductRequest) GetParent

func (x *CreateProductRequest) GetParent() string

func (*CreateProductRequest) GetProduct

func (x *CreateProductRequest) GetProduct() *Product

func (*CreateProductRequest) GetProductId

func (x *CreateProductRequest) GetProductId() string

func (*CreateProductRequest) ProtoMessage

func (*CreateProductRequest) ProtoMessage()

func (*CreateProductRequest) ProtoReflect

func (x *CreateProductRequest) ProtoReflect() protoreflect.Message

func (*CreateProductRequest) Reset

func (x *CreateProductRequest) Reset()

func (*CreateProductRequest) String

func (x *CreateProductRequest) String() string

type CustomAttribute

type CustomAttribute struct {

	// The textual values of this custom attribute. For example, `["yellow",
	// "green"]` when the key is "color".
	//
	// At most 400 values are allowed. Empty values are not allowed. Each value
	// must be a UTF-8 encoded string with a length limit of 256 characters.
	// Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or
	// [numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set.
	// Otherwise, an INVALID_ARGUMENT error is returned.
	Text []string `protobuf:"bytes,1,rep,name=text,proto3" json:"text,omitempty"`
	// The numerical values of this custom attribute. For example, `[2.3, 15.4]`
	// when the key is "lengths_cm".
	//
	// At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is
	// returned.
	//
	// Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or
	// [numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set.
	// Otherwise, an INVALID_ARGUMENT error is returned.
	Numbers []float64 `protobuf:"fixed64,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"`
	// If true, custom attribute values are searchable by text queries in
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
	//
	// This field is ignored in a [UserEvent][google.cloud.retail.v2.UserEvent].
	//
	// Only set if type [text][google.cloud.retail.v2.CustomAttribute.text] is
	// set. Otherwise, a INVALID_ARGUMENT error is returned.
	Searchable *bool `protobuf:"varint,3,opt,name=searchable,proto3,oneof" json:"searchable,omitempty"`
	// If true, custom attribute values are indexed, so that it can be filtered,
	// faceted or boosted in
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
	//
	// This field is ignored in a [UserEvent][google.cloud.retail.v2.UserEvent].
	//
	// See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter],
	// [SearchRequest.facet_specs][google.cloud.retail.v2.SearchRequest.facet_specs]
	// and
	// [SearchRequest.boost_spec][google.cloud.retail.v2.SearchRequest.boost_spec]
	// for more details.
	Indexable *bool `protobuf:"varint,4,opt,name=indexable,proto3,oneof" json:"indexable,omitempty"`
	// contains filtered or unexported fields
}

A custom attribute that is not explicitly modeled in Product[google.cloud.retail.v2.Product].

func (*CustomAttribute) Descriptor deprecated

func (*CustomAttribute) Descriptor() ([]byte, []int)

Deprecated: Use CustomAttribute.ProtoReflect.Descriptor instead.

func (*CustomAttribute) GetIndexable

func (x *CustomAttribute) GetIndexable() bool

func (*CustomAttribute) GetNumbers

func (x *CustomAttribute) GetNumbers() []float64

func (*CustomAttribute) GetSearchable

func (x *CustomAttribute) GetSearchable() bool

func (*CustomAttribute) GetText

func (x *CustomAttribute) GetText() []string

func (*CustomAttribute) ProtoMessage

func (*CustomAttribute) ProtoMessage()

func (*CustomAttribute) ProtoReflect

func (x *CustomAttribute) ProtoReflect() protoreflect.Message

func (*CustomAttribute) Reset

func (x *CustomAttribute) Reset()

func (*CustomAttribute) String

func (x *CustomAttribute) String() string

type DeleteProductRequest

type DeleteProductRequest struct {

	// Required. Full resource name of [Product][google.cloud.retail.v2.Product],
	// such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
	//
	// If the caller does not have permission to delete the
	// [Product][google.cloud.retail.v2.Product], regardless of whether or not it
	// exists, a PERMISSION_DENIED error is returned.
	//
	// If the [Product][google.cloud.retail.v2.Product] to delete does not exist,
	// a NOT_FOUND error is returned.
	//
	// The [Product][google.cloud.retail.v2.Product] to delete can neither be a
	// [Product.Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]
	// [Product][google.cloud.retail.v2.Product] member nor a
	// [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product] with more than one
	// [variants][google.cloud.retail.v2.Product.Type.VARIANT]. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// All inventory information for the named
	// [Product][google.cloud.retail.v2.Product] will be deleted.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Request message for [DeleteProduct][] method.

func (*DeleteProductRequest) Descriptor deprecated

func (*DeleteProductRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteProductRequest.ProtoReflect.Descriptor instead.

func (*DeleteProductRequest) GetName

func (x *DeleteProductRequest) GetName() string

func (*DeleteProductRequest) ProtoMessage

func (*DeleteProductRequest) ProtoMessage()

func (*DeleteProductRequest) ProtoReflect

func (x *DeleteProductRequest) ProtoReflect() protoreflect.Message

func (*DeleteProductRequest) Reset

func (x *DeleteProductRequest) Reset()

func (*DeleteProductRequest) String

func (x *DeleteProductRequest) String() string

type FulfillmentInfo

type FulfillmentInfo struct {

	// The fulfillment type, including commonly used types (such as pickup in
	// store and same day delivery), and custom types. Customers have to map
	// custom types to their display names before rendering UI.
	//
	// Supported values:
	//
	// * "pickup-in-store"
	// * "ship-to-store"
	// * "same-day-delivery"
	// * "next-day-delivery"
	// * "custom-type-1"
	// * "custom-type-2"
	// * "custom-type-3"
	// * "custom-type-4"
	// * "custom-type-5"
	//
	// If this field is set to an invalid value other than these, an
	// INVALID_ARGUMENT error is returned.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// The IDs for this [type][google.cloud.retail.v2.FulfillmentInfo.type], such
	// as the store IDs for
	// [FulfillmentInfo.type.pickup-in-store][google.cloud.retail.v2.FulfillmentInfo.type]
	// or the region IDs for
	// [FulfillmentInfo.type.same-day-delivery][google.cloud.retail.v2.FulfillmentInfo.type].
	//
	// A maximum of 2000 values are allowed. Each value must be a string with a
	// length limit of 10 characters, matching the pattern [a-zA-Z0-9_-]+, such as
	// "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned.
	PlaceIds []string `protobuf:"bytes,2,rep,name=place_ids,json=placeIds,proto3" json:"place_ids,omitempty"`
	// contains filtered or unexported fields
}

Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.

func (*FulfillmentInfo) Descriptor deprecated

func (*FulfillmentInfo) Descriptor() ([]byte, []int)

Deprecated: Use FulfillmentInfo.ProtoReflect.Descriptor instead.

func (*FulfillmentInfo) GetPlaceIds

func (x *FulfillmentInfo) GetPlaceIds() []string

func (*FulfillmentInfo) GetType

func (x *FulfillmentInfo) GetType() string

func (*FulfillmentInfo) ProtoMessage

func (*FulfillmentInfo) ProtoMessage()

func (*FulfillmentInfo) ProtoReflect

func (x *FulfillmentInfo) ProtoReflect() protoreflect.Message

func (*FulfillmentInfo) Reset

func (x *FulfillmentInfo) Reset()

func (*FulfillmentInfo) String

func (x *FulfillmentInfo) String() string

type GcsSource

type GcsSource struct {

	// Required. Google Cloud Storage URIs to input files. URI can be up to
	// 2000 characters long. URIs can match the full object path (for example,
	// `gs://bucket/directory/object.json`) or a pattern matching one or more
	// files, such as `gs://bucket/directory/*.json`. A request can
	// contain at most 100 files, and each file can be up to 2 GB. See
	// [Importing product
	// information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog)
	// for the expected file format and setup instructions.
	InputUris []string `protobuf:"bytes,1,rep,name=input_uris,json=inputUris,proto3" json:"input_uris,omitempty"`
	// The schema to use when parsing the data from the source.
	//
	// Supported values for product imports:
	//
	// * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
	// per line. Each product must
	//   have a valid [Product.id][google.cloud.retail.v2.Product.id].
	// * `product_merchant_center`: See [Importing catalog data from Merchant
	//   Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
	//
	// Supported values for user events imports:
	//
	// * `user_event` (default): One JSON
	// [UserEvent][google.cloud.retail.v2.UserEvent] per line.
	// * `user_event_ga360`: Using
	//   https://support.google.com/analytics/answer/3437719.
	DataSchema string `protobuf:"bytes,2,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"`
	// contains filtered or unexported fields
}

Google Cloud Storage location for input content. format.

func (*GcsSource) Descriptor deprecated

func (*GcsSource) Descriptor() ([]byte, []int)

Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.

func (*GcsSource) GetDataSchema

func (x *GcsSource) GetDataSchema() string

func (*GcsSource) GetInputUris

func (x *GcsSource) GetInputUris() []string

func (*GcsSource) ProtoMessage

func (*GcsSource) ProtoMessage()

func (*GcsSource) ProtoReflect

func (x *GcsSource) ProtoReflect() protoreflect.Message

func (*GcsSource) Reset

func (x *GcsSource) Reset()

func (*GcsSource) String

func (x *GcsSource) String() string

type GetDefaultBranchRequest

type GetDefaultBranchRequest struct {

	// The parent catalog resource name, such as
	// `projects/*/locations/global/catalogs/default_catalog`.
	Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"`
	// contains filtered or unexported fields
}

Request message to show which branch is currently the default branch.

func (*GetDefaultBranchRequest) Descriptor deprecated

func (*GetDefaultBranchRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetDefaultBranchRequest.ProtoReflect.Descriptor instead.

func (*GetDefaultBranchRequest) GetCatalog

func (x *GetDefaultBranchRequest) GetCatalog() string

func (*GetDefaultBranchRequest) ProtoMessage

func (*GetDefaultBranchRequest) ProtoMessage()

func (*GetDefaultBranchRequest) ProtoReflect

func (x *GetDefaultBranchRequest) ProtoReflect() protoreflect.Message

func (*GetDefaultBranchRequest) Reset

func (x *GetDefaultBranchRequest) Reset()

func (*GetDefaultBranchRequest) String

func (x *GetDefaultBranchRequest) String() string

type GetDefaultBranchResponse

type GetDefaultBranchResponse struct {

	// Full resource name of the branch id currently set as default branch.
	Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"`
	// The time when this branch is set to default.
	SetTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=set_time,json=setTime,proto3" json:"set_time,omitempty"`
	// This corresponds to
	// [SetDefaultBranchRequest.note][google.cloud.retail.v2.SetDefaultBranchRequest.note]
	// field, when this branch was set as default.
	Note string `protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"`
	// contains filtered or unexported fields
}

Response message of [CatalogService.GetDefaultBranch][google.cloud.retail.v2.CatalogService.GetDefaultBranch].

func (*GetDefaultBranchResponse) Descriptor deprecated

func (*GetDefaultBranchResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetDefaultBranchResponse.ProtoReflect.Descriptor instead.

func (*GetDefaultBranchResponse) GetBranch

func (x *GetDefaultBranchResponse) GetBranch() string

func (*GetDefaultBranchResponse) GetNote

func (x *GetDefaultBranchResponse) GetNote() string

func (*GetDefaultBranchResponse) GetSetTime

func (*GetDefaultBranchResponse) ProtoMessage

func (*GetDefaultBranchResponse) ProtoMessage()

func (*GetDefaultBranchResponse) ProtoReflect

func (x *GetDefaultBranchResponse) ProtoReflect() protoreflect.Message

func (*GetDefaultBranchResponse) Reset

func (x *GetDefaultBranchResponse) Reset()

func (*GetDefaultBranchResponse) String

func (x *GetDefaultBranchResponse) String() string

type GetProductRequest

type GetProductRequest struct {

	// Required. Full resource name of [Product][google.cloud.retail.v2.Product],
	// such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
	//
	// If the caller does not have permission to access the
	// [Product][google.cloud.retail.v2.Product], regardless of whether or not it
	// exists, a PERMISSION_DENIED error is returned.
	//
	// If the requested [Product][google.cloud.retail.v2.Product] does not exist,
	// a NOT_FOUND error is returned.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Request message for [GetProduct][] method.

func (*GetProductRequest) Descriptor deprecated

func (*GetProductRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetProductRequest.ProtoReflect.Descriptor instead.

func (*GetProductRequest) GetName

func (x *GetProductRequest) GetName() string

func (*GetProductRequest) ProtoMessage

func (*GetProductRequest) ProtoMessage()

func (*GetProductRequest) ProtoReflect

func (x *GetProductRequest) ProtoReflect() protoreflect.Message

func (*GetProductRequest) Reset

func (x *GetProductRequest) Reset()

func (*GetProductRequest) String

func (x *GetProductRequest) String() string

type Image

type Image struct {

	// Required. URI of the image.
	//
	// This field must be a valid UTF-8 encoded URI with a length limit of 5,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [image_link](https://support.google.com/merchants/answer/6324350).
	// Schema.org property [Product.image](https://schema.org/image).
	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// Height of the image in number of pixels.
	//
	// This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
	// returned.
	Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	// Width of the image in number of pixels.
	//
	// This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
	// returned.
	Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
	// contains filtered or unexported fields
}

Product[google.cloud.retail.v2.Product] thumbnail/detail image.

func (*Image) Descriptor deprecated

func (*Image) Descriptor() ([]byte, []int)

Deprecated: Use Image.ProtoReflect.Descriptor instead.

func (*Image) GetHeight

func (x *Image) GetHeight() int32

func (*Image) GetUri

func (x *Image) GetUri() string

func (*Image) GetWidth

func (x *Image) GetWidth() int32

func (*Image) ProtoMessage

func (*Image) ProtoMessage()

func (*Image) ProtoReflect

func (x *Image) ProtoReflect() protoreflect.Message

func (*Image) Reset

func (x *Image) Reset()

func (*Image) String

func (x *Image) String() string

type ImportCompletionDataRequest

type ImportCompletionDataRequest struct {

	// Required. The catalog which the suggestions dataset belongs to.
	//
	// Format: `projects/1234/locations/global/catalogs/default_catalog`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The desired input location of the data.
	InputConfig *CompletionDataInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
	// Pub/Sub topic for receiving notification. If this field is set,
	// when the import is finished, a notification will be sent to
	// specified Pub/Sub topic. The message data will be JSON string of a
	// [Operation][google.longrunning.Operation].
	// Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
	NotificationPubsubTopic string `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

Request message for ImportCompletionData methods.

func (*ImportCompletionDataRequest) Descriptor deprecated

func (*ImportCompletionDataRequest) Descriptor() ([]byte, []int)

Deprecated: Use ImportCompletionDataRequest.ProtoReflect.Descriptor instead.

func (*ImportCompletionDataRequest) GetInputConfig

func (*ImportCompletionDataRequest) GetNotificationPubsubTopic

func (x *ImportCompletionDataRequest) GetNotificationPubsubTopic() string

func (*ImportCompletionDataRequest) GetParent

func (x *ImportCompletionDataRequest) GetParent() string

func (*ImportCompletionDataRequest) ProtoMessage

func (*ImportCompletionDataRequest) ProtoMessage()

func (*ImportCompletionDataRequest) ProtoReflect

func (*ImportCompletionDataRequest) Reset

func (x *ImportCompletionDataRequest) Reset()

func (*ImportCompletionDataRequest) String

func (x *ImportCompletionDataRequest) String() string

type ImportCompletionDataResponse

type ImportCompletionDataResponse struct {

	// A sample of errors encountered while processing the request.
	ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"`
	// contains filtered or unexported fields
}

Response of the ImportCompletionDataRequest[google.cloud.retail.v2.ImportCompletionDataRequest]. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.

func (*ImportCompletionDataResponse) Descriptor deprecated

func (*ImportCompletionDataResponse) Descriptor() ([]byte, []int)

Deprecated: Use ImportCompletionDataResponse.ProtoReflect.Descriptor instead.

func (*ImportCompletionDataResponse) GetErrorSamples

func (x *ImportCompletionDataResponse) GetErrorSamples() []*status.Status

func (*ImportCompletionDataResponse) ProtoMessage

func (*ImportCompletionDataResponse) ProtoMessage()

func (*ImportCompletionDataResponse) ProtoReflect

func (*ImportCompletionDataResponse) Reset

func (x *ImportCompletionDataResponse) Reset()

func (*ImportCompletionDataResponse) String

type ImportErrorsConfig

type ImportErrorsConfig struct {

	// Required. Errors destination.
	//
	// Types that are assignable to Destination:
	//	*ImportErrorsConfig_GcsPrefix
	Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"`
	// contains filtered or unexported fields
}

Configuration of destination for Import related errors.

func (*ImportErrorsConfig) Descriptor deprecated

func (*ImportErrorsConfig) Descriptor() ([]byte, []int)

Deprecated: Use ImportErrorsConfig.ProtoReflect.Descriptor instead.

func (*ImportErrorsConfig) GetDestination

func (m *ImportErrorsConfig) GetDestination() isImportErrorsConfig_Destination

func (*ImportErrorsConfig) GetGcsPrefix

func (x *ImportErrorsConfig) GetGcsPrefix() string

func (*ImportErrorsConfig) ProtoMessage

func (*ImportErrorsConfig) ProtoMessage()

func (*ImportErrorsConfig) ProtoReflect

func (x *ImportErrorsConfig) ProtoReflect() protoreflect.Message

func (*ImportErrorsConfig) Reset

func (x *ImportErrorsConfig) Reset()

func (*ImportErrorsConfig) String

func (x *ImportErrorsConfig) String() string

type ImportErrorsConfig_GcsPrefix

type ImportErrorsConfig_GcsPrefix struct {
	// 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.
	GcsPrefix string `protobuf:"bytes,1,opt,name=gcs_prefix,json=gcsPrefix,proto3,oneof"`
}

type ImportMetadata

type ImportMetadata struct {

	// Operation create time.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Operation last update time. If the operation is done, this is also the
	// finish time.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// Count of entries that were processed successfully.
	SuccessCount int64 `protobuf:"varint,3,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"`
	// Count of entries that encountered errors while processing.
	FailureCount int64 `protobuf:"varint,4,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"`
	// Id of the request / operation. This is parroting back the requestId
	// that was passed in the request.
	RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Pub/Sub topic for receiving notification. If this field is set,
	// when the import is finished, a notification will be sent to
	// specified Pub/Sub topic. The message data will be JSON string of a
	// [Operation][google.longrunning.Operation].
	// Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
	NotificationPubsubTopic string `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.

func (*ImportMetadata) Descriptor deprecated

func (*ImportMetadata) Descriptor() ([]byte, []int)

Deprecated: Use ImportMetadata.ProtoReflect.Descriptor instead.

func (*ImportMetadata) GetCreateTime

func (x *ImportMetadata) GetCreateTime() *timestamppb.Timestamp

func (*ImportMetadata) GetFailureCount

func (x *ImportMetadata) GetFailureCount() int64

func (*ImportMetadata) GetNotificationPubsubTopic

func (x *ImportMetadata) GetNotificationPubsubTopic() string

func (*ImportMetadata) GetRequestId

func (x *ImportMetadata) GetRequestId() string

func (*ImportMetadata) GetSuccessCount

func (x *ImportMetadata) GetSuccessCount() int64

func (*ImportMetadata) GetUpdateTime

func (x *ImportMetadata) GetUpdateTime() *timestamppb.Timestamp

func (*ImportMetadata) ProtoMessage

func (*ImportMetadata) ProtoMessage()

func (*ImportMetadata) ProtoReflect

func (x *ImportMetadata) ProtoReflect() protoreflect.Message

func (*ImportMetadata) Reset

func (x *ImportMetadata) Reset()

func (*ImportMetadata) String

func (x *ImportMetadata) String() string

type ImportProductsRequest

type ImportProductsRequest struct {

	// Required.
	// `projects/1234/locations/global/catalogs/default_catalog/branches/default_branch`
	//
	// If no updateMask is specified, requires products.create permission.
	// If updateMask is specified, requires products.update permission.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Unique identifier provided by client, within the ancestor
	// dataset scope. Ensures idempotency and used for request deduplication.
	// Server-generated if unspecified. Up to 128 characters long and must match
	// the pattern: "[a-zA-Z0-9_]+". This is returned as [Operation.name][] in
	// [ImportMetadata][google.cloud.retail.v2.ImportMetadata].
	//
	// Only supported when
	// [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2.ImportProductsRequest.reconciliation_mode]
	// is set to `FULL`.
	RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Required. The desired input location of the data.
	InputConfig *ProductInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
	// The desired location of errors incurred during the Import.
	ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"`
	// Indicates which fields in the provided imported 'products' to update. If
	// not set, will by default update all fields.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// The mode of reconciliation between existing products and the products to be
	// imported. Defaults to
	// [ReconciliationMode.INCREMENTAL][google.cloud.retail.v2.ImportProductsRequest.ReconciliationMode.INCREMENTAL].
	ReconciliationMode ImportProductsRequest_ReconciliationMode `` /* 185-byte string literal not displayed */
	// Pub/Sub topic for receiving notification. If this field is set,
	// when the import is finished, a notification will be sent to
	// specified Pub/Sub topic. The message data will be JSON string of a
	// [Operation][google.longrunning.Operation].
	// Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
	//
	// Only supported when
	// [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2.ImportProductsRequest.reconciliation_mode]
	// is set to `FULL`.
	NotificationPubsubTopic string `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

Request message for Import methods.

func (*ImportProductsRequest) Descriptor deprecated

func (*ImportProductsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ImportProductsRequest.ProtoReflect.Descriptor instead.

func (*ImportProductsRequest) GetErrorsConfig

func (x *ImportProductsRequest) GetErrorsConfig() *ImportErrorsConfig

func (*ImportProductsRequest) GetInputConfig

func (x *ImportProductsRequest) GetInputConfig() *ProductInputConfig

func (*ImportProductsRequest) GetNotificationPubsubTopic

func (x *ImportProductsRequest) GetNotificationPubsubTopic() string

func (*ImportProductsRequest) GetParent

func (x *ImportProductsRequest) GetParent() string

func (*ImportProductsRequest) GetReconciliationMode

func (*ImportProductsRequest) GetRequestId

func (x *ImportProductsRequest) GetRequestId() string

func (*ImportProductsRequest) GetUpdateMask

func (x *ImportProductsRequest) GetUpdateMask() *fieldmaskpb.FieldMask

func (*ImportProductsRequest) ProtoMessage

func (*ImportProductsRequest) ProtoMessage()

func (*ImportProductsRequest) ProtoReflect

func (x *ImportProductsRequest) ProtoReflect() protoreflect.Message

func (*ImportProductsRequest) Reset

func (x *ImportProductsRequest) Reset()

func (*ImportProductsRequest) String

func (x *ImportProductsRequest) String() string

type ImportProductsRequest_ReconciliationMode

type ImportProductsRequest_ReconciliationMode int32

Indicates how imported products are reconciled with the existing products created or imported before.

const (
	// Defaults to INCREMENTAL.
	ImportProductsRequest_RECONCILIATION_MODE_UNSPECIFIED ImportProductsRequest_ReconciliationMode = 0
	// Inserts new products or updates existing products.
	ImportProductsRequest_INCREMENTAL ImportProductsRequest_ReconciliationMode = 1
	// Calculates diff and replaces the entire product dataset. Existing
	// products may be deleted if they are not present in the source location.
	//
	// Can only be while using
	// [BigQuerySource][google.cloud.retail.v2.BigQuerySource].
	//
	// Add the IAM permission "BigQuery Data Viewer" for
	// cloud-retail-customer-data-access@system.gserviceaccount.com before
	// using this feature otherwise an error is thrown.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	ImportProductsRequest_FULL ImportProductsRequest_ReconciliationMode = 2
)

func (ImportProductsRequest_ReconciliationMode) Descriptor

func (ImportProductsRequest_ReconciliationMode) Enum

func (ImportProductsRequest_ReconciliationMode) EnumDescriptor deprecated

func (ImportProductsRequest_ReconciliationMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use ImportProductsRequest_ReconciliationMode.Descriptor instead.

func (ImportProductsRequest_ReconciliationMode) Number

func (ImportProductsRequest_ReconciliationMode) String

func (ImportProductsRequest_ReconciliationMode) Type

type ImportProductsResponse

type ImportProductsResponse struct {

	// A sample of errors encountered while processing the request.
	ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"`
	// Echoes the destination for the complete errors in the request if set.
	ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"`
	// contains filtered or unexported fields
}

Response of the ImportProductsRequest[google.cloud.retail.v2.ImportProductsRequest]. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.

func (*ImportProductsResponse) Descriptor deprecated

func (*ImportProductsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ImportProductsResponse.ProtoReflect.Descriptor instead.

func (*ImportProductsResponse) GetErrorSamples

func (x *ImportProductsResponse) GetErrorSamples() []*status.Status

func (*ImportProductsResponse) GetErrorsConfig

func (x *ImportProductsResponse) GetErrorsConfig() *ImportErrorsConfig

func (*ImportProductsResponse) ProtoMessage

func (*ImportProductsResponse) ProtoMessage()

func (*ImportProductsResponse) ProtoReflect

func (x *ImportProductsResponse) ProtoReflect() protoreflect.Message

func (*ImportProductsResponse) Reset

func (x *ImportProductsResponse) Reset()

func (*ImportProductsResponse) String

func (x *ImportProductsResponse) String() string

type ImportUserEventsRequest

type ImportUserEventsRequest struct {

	// Required. `projects/1234/locations/global/catalogs/default_catalog`
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The desired input location of the data.
	InputConfig *UserEventInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
	// The desired location of errors incurred during the Import. Cannot be set
	// for inline user event imports.
	ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"`
	// contains filtered or unexported fields
}

Request message for the ImportUserEvents request.

func (*ImportUserEventsRequest) Descriptor deprecated

func (*ImportUserEventsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ImportUserEventsRequest.ProtoReflect.Descriptor instead.

func (*ImportUserEventsRequest) GetErrorsConfig

func (x *ImportUserEventsRequest) GetErrorsConfig() *ImportErrorsConfig

func (*ImportUserEventsRequest) GetInputConfig

func (x *ImportUserEventsRequest) GetInputConfig() *UserEventInputConfig

func (*ImportUserEventsRequest) GetParent

func (x *ImportUserEventsRequest) GetParent() string

func (*ImportUserEventsRequest) ProtoMessage

func (*ImportUserEventsRequest) ProtoMessage()

func (*ImportUserEventsRequest) ProtoReflect

func (x *ImportUserEventsRequest) ProtoReflect() protoreflect.Message

func (*ImportUserEventsRequest) Reset

func (x *ImportUserEventsRequest) Reset()

func (*ImportUserEventsRequest) String

func (x *ImportUserEventsRequest) String() string

type ImportUserEventsResponse

type ImportUserEventsResponse struct {

	// A sample of errors encountered while processing the request.
	ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"`
	// Echoes the destination for the complete errors if this field was set in
	// the request.
	ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"`
	// Aggregated statistics of user event import status.
	ImportSummary *UserEventImportSummary `protobuf:"bytes,3,opt,name=import_summary,json=importSummary,proto3" json:"import_summary,omitempty"`
	// contains filtered or unexported fields
}

Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.

func (*ImportUserEventsResponse) Descriptor deprecated

func (*ImportUserEventsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ImportUserEventsResponse.ProtoReflect.Descriptor instead.

func (*ImportUserEventsResponse) GetErrorSamples

func (x *ImportUserEventsResponse) GetErrorSamples() []*status.Status

func (*ImportUserEventsResponse) GetErrorsConfig

func (x *ImportUserEventsResponse) GetErrorsConfig() *ImportErrorsConfig

func (*ImportUserEventsResponse) GetImportSummary

func (x *ImportUserEventsResponse) GetImportSummary() *UserEventImportSummary

func (*ImportUserEventsResponse) ProtoMessage

func (*ImportUserEventsResponse) ProtoMessage()

func (*ImportUserEventsResponse) ProtoReflect

func (x *ImportUserEventsResponse) ProtoReflect() protoreflect.Message

func (*ImportUserEventsResponse) Reset

func (x *ImportUserEventsResponse) Reset()

func (*ImportUserEventsResponse) String

func (x *ImportUserEventsResponse) String() string

type Interval

type Interval struct {

	// The lower bound of the interval. If neither of the min fields are set, then
	// the lower bound is negative infinity.
	//
	// This field must be not larger than
	// [max][google.cloud.retail.v2.Interval.max]. Otherwise, an INVALID_ARGUMENT
	// error is returned.
	//
	// Types that are assignable to Min:
	//	*Interval_Minimum
	//	*Interval_ExclusiveMinimum
	Min isInterval_Min `protobuf_oneof:"min"`
	// The upper bound of the interval. If neither of the max fields are set, then
	// the upper bound is positive infinity.
	//
	// This field must be not smaller than
	// [min][google.cloud.retail.v2.Interval.min]. Otherwise, an INVALID_ARGUMENT
	// error is returned.
	//
	// Types that are assignable to Max:
	//	*Interval_Maximum
	//	*Interval_ExclusiveMaximum
	Max isInterval_Max `protobuf_oneof:"max"`
	// contains filtered or unexported fields
}

A floating point interval.

func (*Interval) Descriptor deprecated

func (*Interval) Descriptor() ([]byte, []int)

Deprecated: Use Interval.ProtoReflect.Descriptor instead.

func (*Interval) GetExclusiveMaximum

func (x *Interval) GetExclusiveMaximum() float64

func (*Interval) GetExclusiveMinimum

func (x *Interval) GetExclusiveMinimum() float64

func (*Interval) GetMax

func (m *Interval) GetMax() isInterval_Max

func (*Interval) GetMaximum

func (x *Interval) GetMaximum() float64

func (*Interval) GetMin

func (m *Interval) GetMin() isInterval_Min

func (*Interval) GetMinimum

func (x *Interval) GetMinimum() float64

func (*Interval) ProtoMessage

func (*Interval) ProtoMessage()

func (*Interval) ProtoReflect

func (x *Interval) ProtoReflect() protoreflect.Message

func (*Interval) Reset

func (x *Interval) Reset()

func (*Interval) String

func (x *Interval) String() string

type Interval_ExclusiveMaximum

type Interval_ExclusiveMaximum struct {
	// Exclusive upper bound.
	ExclusiveMaximum float64 `protobuf:"fixed64,4,opt,name=exclusive_maximum,json=exclusiveMaximum,proto3,oneof"`
}

type Interval_ExclusiveMinimum

type Interval_ExclusiveMinimum struct {
	// Exclusive lower bound.
	ExclusiveMinimum float64 `protobuf:"fixed64,2,opt,name=exclusive_minimum,json=exclusiveMinimum,proto3,oneof"`
}

type Interval_Maximum

type Interval_Maximum struct {
	// Inclusive upper bound.
	Maximum float64 `protobuf:"fixed64,3,opt,name=maximum,proto3,oneof"`
}

type Interval_Minimum

type Interval_Minimum struct {
	// Inclusive lower bound.
	Minimum float64 `protobuf:"fixed64,1,opt,name=minimum,proto3,oneof"`
}

type ListCatalogsRequest

type ListCatalogsRequest struct {

	// Required. The account resource name with an associated location.
	//
	// If the caller does not have permission to list
	// [Catalog][google.cloud.retail.v2.Catalog]s under this location, regardless
	// of whether or not this location exists, a PERMISSION_DENIED error is
	// returned.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Maximum number of [Catalog][google.cloud.retail.v2.Catalog]s to return. If
	// unspecified, defaults to 50. The maximum allowed value is 1000. Values
	// above 1000 will be coerced to 1000.
	//
	// If this field is negative, an INVALID_ARGUMENT is returned.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token
	// [ListCatalogsResponse.next_page_token][google.cloud.retail.v2.ListCatalogsResponse.next_page_token],
	// received from a previous
	// [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs]
	// call. Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to
	// [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs]
	// must match the call that provided the page token. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

Request for [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs] method.

func (*ListCatalogsRequest) Descriptor deprecated

func (*ListCatalogsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListCatalogsRequest.ProtoReflect.Descriptor instead.

func (*ListCatalogsRequest) GetPageSize

func (x *ListCatalogsRequest) GetPageSize() int32

func (*ListCatalogsRequest) GetPageToken

func (x *ListCatalogsRequest) GetPageToken() string

func (*ListCatalogsRequest) GetParent

func (x *ListCatalogsRequest) GetParent() string

func (*ListCatalogsRequest) ProtoMessage

func (*ListCatalogsRequest) ProtoMessage()

func (*ListCatalogsRequest) ProtoReflect

func (x *ListCatalogsRequest) ProtoReflect() protoreflect.Message

func (*ListCatalogsRequest) Reset

func (x *ListCatalogsRequest) Reset()

func (*ListCatalogsRequest) String

func (x *ListCatalogsRequest) String() string

type ListCatalogsResponse

type ListCatalogsResponse struct {

	// All the customer's [Catalog][google.cloud.retail.v2.Catalog]s.
	Catalogs []*Catalog `protobuf:"bytes,1,rep,name=catalogs,proto3" json:"catalogs,omitempty"`
	// A token that can be sent as
	// [ListCatalogsRequest.page_token][google.cloud.retail.v2.ListCatalogsRequest.page_token]
	// to retrieve the next page. If this field is omitted, there are no
	// subsequent pages.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

Response for [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs] method.

func (*ListCatalogsResponse) Descriptor deprecated

func (*ListCatalogsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListCatalogsResponse.ProtoReflect.Descriptor instead.

func (*ListCatalogsResponse) GetCatalogs

func (x *ListCatalogsResponse) GetCatalogs() []*Catalog

func (*ListCatalogsResponse) GetNextPageToken

func (x *ListCatalogsResponse) GetNextPageToken() string

func (*ListCatalogsResponse) ProtoMessage

func (*ListCatalogsResponse) ProtoMessage()

func (*ListCatalogsResponse) ProtoReflect

func (x *ListCatalogsResponse) ProtoReflect() protoreflect.Message

func (*ListCatalogsResponse) Reset

func (x *ListCatalogsResponse) Reset()

func (*ListCatalogsResponse) String

func (x *ListCatalogsResponse) String() string

type ListProductsRequest

type ListProductsRequest struct {

	// Required. The parent branch resource name, such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/0`. Use
	// `default_branch` as the branch ID, to list products under the default
	// branch.
	//
	// If the caller does not have permission to list
	// [Product][google.cloud.retail.v2.Product]s under this branch, regardless of
	// whether or not this branch exists, a PERMISSION_DENIED error is returned.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Maximum number of [Product][google.cloud.retail.v2.Product]s to return. If
	// unspecified, defaults to 100. The maximum allowed value is 1000. Values
	// above 1000 will be coerced to 1000.
	//
	// If this field is negative, an INVALID_ARGUMENT error is returned.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token
	// [ListProductsResponse.next_page_token][google.cloud.retail.v2.ListProductsResponse.next_page_token],
	// received from a previous
	// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
	// call. Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to
	// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
	// must match the call that provided the page token. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// A filter to apply on the list results. Supported features:
	//
	// * List all the products under the parent branch if
	// [filter][google.cloud.retail.v2.ListProductsRequest.filter] is unset.
	// * List [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s sharing the same
	//   [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	//   [Product][google.cloud.retail.v2.Product]. For example:
	//     `primary_product_id = "some_product_id"`
	// * List [Product][google.cloud.retail.v2.Product]s bundled in a
	// [Product.Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]
	// [Product][google.cloud.retail.v2.Product].
	//   For example:
	//     `collection_product_id = "some_product_id"`
	// * List [Product][google.cloud.retail.v2.Product]s with a partibular type.
	// For example:
	//     `type = "PRIMARY"`
	//     `type = "VARIANT"`
	//     `type = "COLLECTION"`
	//
	// If the field is unrecognizable, an INVALID_ARGUMENT error is returned.
	//
	// If the specified
	// [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product] or
	// [Product.Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]
	// [Product][google.cloud.retail.v2.Product] does not exist, a NOT_FOUND error
	// is returned.
	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
	// The fields of [Product][google.cloud.retail.v2.Product] to return in the
	// responses. If not set or empty, the following fields are returned:
	//
	// * [Product.name][google.cloud.retail.v2.Product.name]
	// * [Product.id][google.cloud.retail.v2.Product.id]
	// * [Product.title][google.cloud.retail.v2.Product.title]
	// * [Product.uri][google.cloud.retail.v2.Product.uri]
	// * [Product.images][google.cloud.retail.v2.Product.images]
	// * [Product.price_info][google.cloud.retail.v2.Product.price_info]
	// * [Product.brands][google.cloud.retail.v2.Product.brands]
	//
	// If "*" is provided, all fields are returned.
	// [Product.name][google.cloud.retail.v2.Product.name] is always returned no
	// matter what mask is set.
	//
	// If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
	// is returned.
	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
	// contains filtered or unexported fields
}

Request message for [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts] method.

func (*ListProductsRequest) Descriptor deprecated

func (*ListProductsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListProductsRequest.ProtoReflect.Descriptor instead.

func (*ListProductsRequest) GetFilter

func (x *ListProductsRequest) GetFilter() string

func (*ListProductsRequest) GetPageSize

func (x *ListProductsRequest) GetPageSize() int32

func (*ListProductsRequest) GetPageToken

func (x *ListProductsRequest) GetPageToken() string

func (*ListProductsRequest) GetParent

func (x *ListProductsRequest) GetParent() string

func (*ListProductsRequest) GetReadMask

func (x *ListProductsRequest) GetReadMask() *fieldmaskpb.FieldMask

func (*ListProductsRequest) ProtoMessage

func (*ListProductsRequest) ProtoMessage()

func (*ListProductsRequest) ProtoReflect

func (x *ListProductsRequest) ProtoReflect() protoreflect.Message

func (*ListProductsRequest) Reset

func (x *ListProductsRequest) Reset()

func (*ListProductsRequest) String

func (x *ListProductsRequest) String() string

type ListProductsResponse

type ListProductsResponse struct {

	// The [Product][google.cloud.retail.v2.Product]s.
	Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
	// A token that can be sent as
	// [ListProductsRequest.page_token][google.cloud.retail.v2.ListProductsRequest.page_token]
	// to retrieve the next page. If this field is omitted, there are no
	// subsequent pages.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

Response message for [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts] method.

func (*ListProductsResponse) Descriptor deprecated

func (*ListProductsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListProductsResponse.ProtoReflect.Descriptor instead.

func (*ListProductsResponse) GetNextPageToken

func (x *ListProductsResponse) GetNextPageToken() string

func (*ListProductsResponse) GetProducts

func (x *ListProductsResponse) GetProducts() []*Product

func (*ListProductsResponse) ProtoMessage

func (*ListProductsResponse) ProtoMessage()

func (*ListProductsResponse) ProtoReflect

func (x *ListProductsResponse) ProtoReflect() protoreflect.Message

func (*ListProductsResponse) Reset

func (x *ListProductsResponse) Reset()

func (*ListProductsResponse) String

func (x *ListProductsResponse) String() string

type PredictRequest

type PredictRequest struct {

	// Required. Full resource name of the format:
	// {name=projects/*/locations/global/catalogs/default_catalog/placements/*}
	// The ID of the Recommendations AI placement. Before you can request
	// predictions from your model, you must create at least one placement for it.
	// For more information, see [Managing
	// placements](https://cloud.google.com/retail/recommendations-ai/docs/manage-placements).
	//
	// The full list of available placements can be seen at
	// https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements
	Placement string `protobuf:"bytes,1,opt,name=placement,proto3" json:"placement,omitempty"`
	// Required. Context about the user, what they are looking at and what action
	// they took to trigger the predict request. Note that this user event detail
	// won't be ingested to userEvent logs. Thus, a separate userEvent write
	// request is required for event logging.
	UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"`
	// Maximum number of results to return per page. Set this property
	// to the number of prediction results needed. If zero, the service will
	// choose a reasonable default. The maximum allowed value is 100. Values
	// above 100 will be coerced to 100.
	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// The previous PredictResponse.next_page_token.
	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// Filter for restricting prediction results with a length limit of 5,000
	// characters. Accepts values for tags and the `filterOutOfStockItems` flag.
	//
	//  * Tag expressions. Restricts predictions to products that match all of the
	//    specified tags. Boolean operators `OR` and `NOT` are supported if the
	//    expression is enclosed in parentheses, and must be separated from the
	//    tag values by a space. `-"tagA"` is also supported and is equivalent to
	//    `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings
	//    with a size limit of 1,000 characters.
	//
	//    Note: "Recently viewed" models don't support tag filtering at the
	//    moment.
	//
	//  * filterOutOfStockItems. Restricts predictions to products that do not
	//  have a
	//    stockState value of OUT_OF_STOCK.
	//
	// Examples:
	//
	//  * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
	//  * filterOutOfStockItems  tag=(-"promotional")
	//  * filterOutOfStockItems
	//
	// If your filter blocks all prediction results, nothing will be returned. If
	// you want generic (unfiltered) popular products to be returned instead, set
	// `strictFiltering` to false in `PredictRequest.params`.
	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
	// Use validate only mode for this prediction query. If set to true, a
	// dummy model will be used that returns arbitrary products.
	// Note that the validate only mode should only be used for testing the API,
	// or if the model is not ready.
	ValidateOnly bool `protobuf:"varint,6,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
	// Additional domain specific parameters for the predictions.
	//
	// Allowed values:
	//
	// * `returnProduct`: Boolean. If set to true, the associated product
	//    object will be returned in the `results.metadata` field in the
	//    prediction response.
	// * `returnScore`: Boolean. If set to true, the prediction 'score'
	//    corresponding to each returned product will be set in the
	//    `results.metadata` field in the prediction response. The given
	//    'score' indicates the probability of an product being clicked/purchased
	//    given the user's context and history.
	// * `strictFiltering`: Boolean. True by default. If set to false, the service
	//    will return generic (unfiltered) popular products instead of empty if
	//    your filter blocks all prediction results.
	// * `priceRerankLevel`: String. Default empty. If set to be non-empty, then
	//    it needs to be one of {'no-price-reranking', 'low-price-reranking',
	//    'medium-price-reranking', 'high-price-reranking'}. This gives
	//    request-level control and adjusts prediction results based on product
	//    price.
	// * `diversityLevel`: String. Default empty. If set to be non-empty, then
	//    it needs to be one of {'no-diversity', 'low-diversity',
	//    'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives
	//    request-level control and adjusts prediction results based on product
	//    category.
	Params map[string]*structpb.Value `` /* 153-byte string literal not displayed */
	// The labels applied to a resource must meet the following requirements:
	//
	// * Each resource can have multiple labels, up to a maximum of 64.
	// * Each label must be a key-value pair.
	// * Keys have a minimum length of 1 character and a maximum length of 63
	//   characters, and cannot be empty. Values can be empty, and have a maximum
	//   length of 63 characters.
	// * Keys and values can contain only lowercase letters, numeric characters,
	//   underscores, and dashes. All characters must use UTF-8 encoding, and
	//   international characters are allowed.
	// * The key portion of a label must be unique. However, you can use the same
	//   key with multiple resources.
	// * Keys must start with a lowercase letter or international character.
	//
	// See [Google Cloud
	// Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
	// for more details.
	Labels map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

Request message for Predict method.

func (*PredictRequest) Descriptor deprecated

func (*PredictRequest) Descriptor() ([]byte, []int)

Deprecated: Use PredictRequest.ProtoReflect.Descriptor instead.

func (*PredictRequest) GetFilter

func (x *PredictRequest) GetFilter() string

func (*PredictRequest) GetLabels

func (x *PredictRequest) GetLabels() map[string]string

func (*PredictRequest) GetPageSize

func (x *PredictRequest) GetPageSize() int32

func (*PredictRequest) GetPageToken

func (x *PredictRequest) GetPageToken() string

func (*PredictRequest) GetParams

func (x *PredictRequest) GetParams() map[string]*structpb.Value

func (*PredictRequest) GetPlacement

func (x *PredictRequest) GetPlacement() string

func (*PredictRequest) GetUserEvent

func (x *PredictRequest) GetUserEvent() *UserEvent

func (*PredictRequest) GetValidateOnly

func (x *PredictRequest) GetValidateOnly() bool

func (*PredictRequest) ProtoMessage

func (*PredictRequest) ProtoMessage()

func (*PredictRequest) ProtoReflect

func (x *PredictRequest) ProtoReflect() protoreflect.Message

func (*PredictRequest) Reset

func (x *PredictRequest) Reset()

func (*PredictRequest) String

func (x *PredictRequest) String() string

type PredictResponse

type PredictResponse struct {

	// A list of recommended products. The order represents the ranking (from the
	// most relevant product to the least).
	Results []*PredictResponse_PredictionResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	// A unique attribution token. This should be included in the
	// [UserEvent][google.cloud.retail.v2.UserEvent] logs resulting from this
	// recommendation, which enables accurate attribution of recommendation model
	// performance.
	AttributionToken string `protobuf:"bytes,2,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"`
	// IDs of products in the request that were missing from the inventory.
	MissingIds []string `protobuf:"bytes,3,rep,name=missing_ids,json=missingIds,proto3" json:"missing_ids,omitempty"`
	// True if the validateOnly property was set in the request.
	ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
	// contains filtered or unexported fields
}

Response message for predict method.

func (*PredictResponse) Descriptor deprecated

func (*PredictResponse) Descriptor() ([]byte, []int)

Deprecated: Use PredictResponse.ProtoReflect.Descriptor instead.

func (*PredictResponse) GetAttributionToken

func (x *PredictResponse) GetAttributionToken() string

func (*PredictResponse) GetMissingIds

func (x *PredictResponse) GetMissingIds() []string

func (*PredictResponse) GetResults

func (*PredictResponse) GetValidateOnly

func (x *PredictResponse) GetValidateOnly() bool

func (*PredictResponse) ProtoMessage

func (*PredictResponse) ProtoMessage()

func (*PredictResponse) ProtoReflect

func (x *PredictResponse) ProtoReflect() protoreflect.Message

func (*PredictResponse) Reset

func (x *PredictResponse) Reset()

func (*PredictResponse) String

func (x *PredictResponse) String() string

type PredictResponse_PredictionResult

type PredictResponse_PredictionResult struct {

	// ID of the recommended product
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Additional product metadata / annotations.
	//
	// Possible values:
	//
	// * `product`: JSON representation of the product. Will be set if
	//   `returnProduct` is set to true in `PredictRequest.params`.
	// * `score`: Prediction score in double value. Will be set if
	//   `returnScore` is set to true in `PredictRequest.params`.
	Metadata map[string]*structpb.Value `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

PredictionResult represents the recommendation prediction results.

func (*PredictResponse_PredictionResult) Descriptor deprecated

func (*PredictResponse_PredictionResult) Descriptor() ([]byte, []int)

Deprecated: Use PredictResponse_PredictionResult.ProtoReflect.Descriptor instead.

func (*PredictResponse_PredictionResult) GetId

func (*PredictResponse_PredictionResult) GetMetadata

func (x *PredictResponse_PredictionResult) GetMetadata() map[string]*structpb.Value

func (*PredictResponse_PredictionResult) ProtoMessage

func (*PredictResponse_PredictionResult) ProtoMessage()

func (*PredictResponse_PredictionResult) ProtoReflect

func (*PredictResponse_PredictionResult) Reset

func (*PredictResponse_PredictionResult) String

type PredictionServiceClient

type PredictionServiceClient interface {
	// Makes a recommendation prediction.
	Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error)
}

PredictionServiceClient is the client API for PredictionService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type PredictionServiceServer

type PredictionServiceServer interface {
	// Makes a recommendation prediction.
	Predict(context.Context, *PredictRequest) (*PredictResponse, error)
}

PredictionServiceServer is the server API for PredictionService service.

type PriceInfo

type PriceInfo struct {

	// The 3-letter currency code defined in [ISO
	// 4217](https://www.iso.org/iso-4217-currency-codes.html).
	//
	// If this field is an unrecognizable currency code, an INVALID_ARGUMENT
	// error is returned.
	//
	// The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s with the same
	// [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
	// must share the same
	// [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
	// a FAILED_PRECONDITION error is returned.
	CurrencyCode string `protobuf:"bytes,1,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"`
	// Price of the product.
	//
	// Google Merchant Center property
	// [price](https://support.google.com/merchants/answer/6324371). Schema.org
	// property [Offer.priceSpecification](https://schema.org/priceSpecification).
	Price float32 `protobuf:"fixed32,2,opt,name=price,proto3" json:"price,omitempty"`
	// Price of the product without any discount. If zero, by default set to be
	// the [price][google.cloud.retail.v2.PriceInfo.price].
	OriginalPrice float32 `protobuf:"fixed32,3,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"`
	// The costs associated with the sale of a particular product. Used for gross
	// profit reporting.
	//
	// * Profit = [price][google.cloud.retail.v2.PriceInfo.price] -
	// [cost][google.cloud.retail.v2.PriceInfo.cost]
	//
	// Google Merchant Center property
	// [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
	Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"`
	// The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
	// starts to be effective. This can be set as a future timestamp, and the
	// [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
	// after
	// [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
	// If so, the
	// [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
	// set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
	// is used before
	// [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
	//
	// Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
	// effective because it will cause additional latency during search.
	PriceEffectiveTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=price_effective_time,json=priceEffectiveTime,proto3" json:"price_effective_time,omitempty"`
	// The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
	// stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
	// is used for search before
	// [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
	// this field is set, the
	// [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
	// set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
	// is used after
	// [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
	//
	// Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
	// effective because it will cause additional latency during search.
	PriceExpireTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=price_expire_time,json=priceExpireTime,proto3" json:"price_expire_time,omitempty"`
	// Output only. The price range of all the child
	// [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s grouped together on the
	// [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product]. Only populated for
	// [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product]s.
	//
	// Note: This field is OUTPUT_ONLY for
	// [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
	// Do not set this field in API requests.
	PriceRange *PriceInfo_PriceRange `protobuf:"bytes,7,opt,name=price_range,json=priceRange,proto3" json:"price_range,omitempty"`
	// contains filtered or unexported fields
}

The price information of a Product[google.cloud.retail.v2.Product].

func (*PriceInfo) Descriptor deprecated

func (*PriceInfo) Descriptor() ([]byte, []int)

Deprecated: Use PriceInfo.ProtoReflect.Descriptor instead.

func (*PriceInfo) GetCost

func (x *PriceInfo) GetCost() float32

func (*PriceInfo) GetCurrencyCode

func (x *PriceInfo) GetCurrencyCode() string

func (*PriceInfo) GetOriginalPrice

func (x *PriceInfo) GetOriginalPrice() float32

func (*PriceInfo) GetPrice

func (x *PriceInfo) GetPrice() float32

func (*PriceInfo) GetPriceEffectiveTime

func (x *PriceInfo) GetPriceEffectiveTime() *timestamppb.Timestamp

func (*PriceInfo) GetPriceExpireTime

func (x *PriceInfo) GetPriceExpireTime() *timestamppb.Timestamp

func (*PriceInfo) GetPriceRange

func (x *PriceInfo) GetPriceRange() *PriceInfo_PriceRange

func (*PriceInfo) ProtoMessage

func (*PriceInfo) ProtoMessage()

func (*PriceInfo) ProtoReflect

func (x *PriceInfo) ProtoReflect() protoreflect.Message

func (*PriceInfo) Reset

func (x *PriceInfo) Reset()

func (*PriceInfo) String

func (x *PriceInfo) String() string

type PriceInfo_PriceRange

type PriceInfo_PriceRange struct {

	// The inclusive
	// [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
	// interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product] having the same
	// [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
	Price *Interval `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"`
	// The inclusive
	// [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
	// internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product] having the same
	// [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
	OriginalPrice *Interval `protobuf:"bytes,2,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"`
	// contains filtered or unexported fields
}

The price range of all [variant][google.cloud.retail.v2.Product.Type.VARIANT] Product[google.cloud.retail.v2.Product] having the same [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].

func (*PriceInfo_PriceRange) Descriptor deprecated

func (*PriceInfo_PriceRange) Descriptor() ([]byte, []int)

Deprecated: Use PriceInfo_PriceRange.ProtoReflect.Descriptor instead.

func (*PriceInfo_PriceRange) GetOriginalPrice

func (x *PriceInfo_PriceRange) GetOriginalPrice() *Interval

func (*PriceInfo_PriceRange) GetPrice

func (x *PriceInfo_PriceRange) GetPrice() *Interval

func (*PriceInfo_PriceRange) ProtoMessage

func (*PriceInfo_PriceRange) ProtoMessage()

func (*PriceInfo_PriceRange) ProtoReflect

func (x *PriceInfo_PriceRange) ProtoReflect() protoreflect.Message

func (*PriceInfo_PriceRange) Reset

func (x *PriceInfo_PriceRange) Reset()

func (*PriceInfo_PriceRange) String

func (x *PriceInfo_PriceRange) String() string

type Product

type Product struct {

	// Types that are assignable to Expiration:
	//	*Product_ExpireTime
	//	*Product_Ttl
	Expiration isProduct_Expiration `protobuf_oneof:"expiration"`
	// Immutable. Full resource name of the product, such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
	//
	// The branch ID must be "default_branch".
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Immutable. [Product][google.cloud.retail.v2.Product] identifier, which is
	// the final component of [name][google.cloud.retail.v2.Product.name]. For
	// example, this field is "id_1", if
	// [name][google.cloud.retail.v2.Product.name] is
	// `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
	//
	// This field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [id](https://support.google.com/merchants/answer/6324405). Schema.org
	// Property [Product.sku](https://schema.org/sku).
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// Immutable. The type of the product. Default to
	// [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
	// if unset.
	Type Product_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.retail.v2.Product_Type" json:"type,omitempty"`
	// Variant group identifier. Must be an
	// [id][google.cloud.retail.v2.Product.id], with the same parent branch with
	// this product. Otherwise, an error is thrown.
	//
	// For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product]s, this field can only be empty or
	// set to the same value as [id][google.cloud.retail.v2.Product.id].
	//
	// For VARIANT [Product][google.cloud.retail.v2.Product]s, this field cannot
	// be empty. A maximum of 2,000 products are allowed to share the same
	// [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product]. Otherwise, an INVALID_ARGUMENT
	// error is returned.
	//
	// Google Merchant Center Property
	// [item_group_id](https://support.google.com/merchants/answer/6324507).
	// Schema.org Property
	// [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
	//
	// This field must be enabled before it can be used. [Learn
	// more](/recommendations-ai/docs/catalog#item-group-id).
	PrimaryProductId string `protobuf:"bytes,4,opt,name=primary_product_id,json=primaryProductId,proto3" json:"primary_product_id,omitempty"`
	// The [id][google.cloud.retail.v2.Product.id] of the collection members when
	// [type][google.cloud.retail.v2.Product.type] is
	// [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION].
	//
	// Should not set it for other types. A maximum of 1000 values are allowed.
	// Otherwise, an INVALID_ARGUMENT error is return.
	CollectionMemberIds []string `protobuf:"bytes,5,rep,name=collection_member_ids,json=collectionMemberIds,proto3" json:"collection_member_ids,omitempty"`
	// The Global Trade Item Number (GTIN) of the product.
	//
	// This field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
	// returned.
	//
	// Google Merchant Center property
	// [gtin](https://support.google.com/merchants/answer/6324461).
	// Schema.org property
	// [Product.isbn](https://schema.org/isbn) or
	// [Product.gtin8](https://schema.org/gtin8) or
	// [Product.gtin12](https://schema.org/gtin12) or
	// [Product.gtin13](https://schema.org/gtin13) or
	// [Product.gtin14](https://schema.org/gtin14).
	//
	// If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
	Gtin string `protobuf:"bytes,6,opt,name=gtin,proto3" json:"gtin,omitempty"`
	// Product categories. This field is repeated for supporting one product
	// belonging to several parallel categories. Strongly recommended using the
	// full path for better search / recommendation quality.
	//
	//
	// To represent full path of category, use '>' sign to separate different
	// hierarchies. If '>' is part of the category name, please replace it with
	// other character(s).
	//
	// For example, if a shoes product belongs to both
	// ["Shoes & Accessories" -> "Shoes"] and
	// ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
	// represented as:
	//
	//      "categories": [
	//        "Shoes & Accessories > Shoes",
	//        "Sports & Fitness > Athletic Clothing > Shoes"
	//      ]
	//
	// Must be set for [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product] otherwise an INVALID_ARGUMENT
	// error is returned.
	//
	// At most 250 values are allowed per
	// [Product][google.cloud.retail.v2.Product]. Empty values are not allowed.
	// Each value must be a UTF-8 encoded string with a length limit of 5,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [google_product_category][mc_google_product_category]. Schema.org property
	// [Product.category] (https://schema.org/category).
	//
	// [mc_google_product_category]:
	// https://support.google.com/merchants/answer/6324436
	Categories []string `protobuf:"bytes,7,rep,name=categories,proto3" json:"categories,omitempty"`
	// Required. Product title.
	//
	// This field must be a UTF-8 encoded string with a length limit of 1,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [title](https://support.google.com/merchants/answer/6324415). Schema.org
	// property [Product.name](https://schema.org/name).
	Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"`
	// The brands of the product.
	//
	// A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
	// string with a length limit of 1,000 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [brand](https://support.google.com/merchants/answer/6324351). Schema.org
	// property [Product.brand](https://schema.org/brand).
	Brands []string `protobuf:"bytes,9,rep,name=brands,proto3" json:"brands,omitempty"`
	// Product description.
	//
	// This field must be a UTF-8 encoded string with a length limit of 5,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [description](https://support.google.com/merchants/answer/6324468).
	// schema.org property [Product.description](https://schema.org/description).
	Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"`
	// Language of the title/description and other string attributes. Use language
	// tags defined by [BCP 47][https://www.rfc-editor.org/rfc/bcp/bcp47.txt].
	//
	// For product prediction, this field is ignored and the model automatically
	// detects the text language. The [Product][google.cloud.retail.v2.Product]
	// can include text in different languages, but duplicating
	// [Product][google.cloud.retail.v2.Product]s to provide text in multiple
	// languages can result in degraded model performance.
	//
	// For product search this field is in use. It defaults to "en-US" if unset.
	LanguageCode string `protobuf:"bytes,11,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// Highly encouraged. Extra product attributes to be included. For example,
	// for products, this could include the store name, vendor, style, color, etc.
	// These are very strong signals for recommendation model, thus we highly
	// recommend providing the attributes here.
	//
	// Features that can take on one of a limited number of possible values. Two
	// types of features can be set are:
	//
	// Textual features. some examples would be the brand/maker of a product, or
	// country of a customer. Numerical features. Some examples would be the
	// height/weight of a product, or age of a customer.
	//
	// For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
	// "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
	// }`.
	//
	// This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
	// error is returned:
	//
	// * Max entries count: 200.
	// * The key must be a UTF-8 encoded string with a length limit of 128
	//   characters.
	// * For indexable attribute, the key must match the pattern:
	//   [a-zA-Z0-9][a-zA-Z0-9_]*. For example, key0LikeThis or KEY_1_LIKE_THIS.
	Attributes map[string]*CustomAttribute `` /* 162-byte string literal not displayed */
	// Custom tags associated with the product.
	//
	// At most 250 values are allowed per
	// [Product][google.cloud.retail.v2.Product]. This value must be a UTF-8
	// encoded string with a length limit of 1,000 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// This tag can be used for filtering recommendation results by passing the
	// tag as part of the
	// [PredictRequest.filter][google.cloud.retail.v2.PredictRequest.filter].
	//
	// Google Merchant Center property
	// [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
	Tags []string `protobuf:"bytes,13,rep,name=tags,proto3" json:"tags,omitempty"`
	// Product price and cost information.
	//
	// Google Merchant Center property
	// [price](https://support.google.com/merchants/answer/6324371).
	PriceInfo *PriceInfo `protobuf:"bytes,14,opt,name=price_info,json=priceInfo,proto3" json:"price_info,omitempty"`
	// The rating of this product.
	Rating *Rating `protobuf:"bytes,15,opt,name=rating,proto3" json:"rating,omitempty"`
	// The timestamp when this [Product][google.cloud.retail.v2.Product] becomes
	// available for
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
	AvailableTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=available_time,json=availableTime,proto3" json:"available_time,omitempty"`
	// The online availability of the [Product][google.cloud.retail.v2.Product].
	// Default to
	// [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK].
	//
	// Google Merchant Center Property
	// [availability](https://support.google.com/merchants/answer/6324448).
	// Schema.org Property [Offer.availability](https://schema.org/availability).
	Availability Product_Availability `` /* 128-byte string literal not displayed */
	// The available quantity of the item.
	AvailableQuantity *wrapperspb.Int32Value `protobuf:"bytes,20,opt,name=available_quantity,json=availableQuantity,proto3" json:"available_quantity,omitempty"`
	// Fulfillment information, such as the store IDs for in-store pickup or
	// region IDs for different shipping methods.
	//
	// All the elements must have distinct
	// [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type].
	// Otherwise, an INVALID_ARGUMENT error is returned.
	FulfillmentInfo []*FulfillmentInfo `protobuf:"bytes,21,rep,name=fulfillment_info,json=fulfillmentInfo,proto3" json:"fulfillment_info,omitempty"`
	// Canonical URL directly linking to the product detail page.
	//
	// It is strongly recommended to provide a valid uri for the product,
	// otherwise the service performance could be significantly degraded.
	//
	// This field must be a UTF-8 encoded string with a length limit of 5,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [link](https://support.google.com/merchants/answer/6324416). Schema.org
	// property [Offer.url](https://schema.org/url).
	Uri string `protobuf:"bytes,22,opt,name=uri,proto3" json:"uri,omitempty"`
	// Product images for the product.Highly recommended to put the main image
	// to the first.
	//
	// A maximum of 300 images are allowed.
	//
	// Google Merchant Center property
	// [image_link](https://support.google.com/merchants/answer/6324350).
	// Schema.org property [Product.image](https://schema.org/image).
	Images []*Image `protobuf:"bytes,23,rep,name=images,proto3" json:"images,omitempty"`
	// The target group associated with a given audience (e.g. male, veterans,
	// car owners, musicians, etc.) of the product.
	Audience *Audience `protobuf:"bytes,24,opt,name=audience,proto3" json:"audience,omitempty"`
	// The color of the product.
	//
	// Google Merchant Center property
	// [color](https://support.google.com/merchants/answer/6324487). Schema.org
	// property [Product.color](https://schema.org/color).
	ColorInfo *ColorInfo `protobuf:"bytes,25,opt,name=color_info,json=colorInfo,proto3" json:"color_info,omitempty"`
	// The size of the product. To represent different size systems or size types,
	// consider using this format: [[[size_system:]size_type:]size_value].
	//
	// For example, in "US:MENS:M", "US" represents size system; "MENS" represents
	// size type; "M" represents size value. In "GIRLS:27", size system is empty;
	// "GIRLS" represents size type; "27" represents size value. In "32 inches",
	// both size system and size type are empty, while size value is "32 inches".
	//
	// A maximum of 20 values are allowed per
	// [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
	// encoded string with a length limit of 128 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [size](https://support.google.com/merchants/answer/6324492),
	// [size_type](https://support.google.com/merchants/answer/6324497) and
	// [size_system](https://support.google.com/merchants/answer/6324502).
	// Schema.org property [Product.size](https://schema.org/size).
	Sizes []string `protobuf:"bytes,26,rep,name=sizes,proto3" json:"sizes,omitempty"`
	// The material of the product. For example, "leather", "wooden".
	//
	// A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
	// string with a length limit of 128 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [material](https://support.google.com/merchants/answer/6324410). Schema.org
	// property [Product.material](https://schema.org/material).
	Materials []string `protobuf:"bytes,27,rep,name=materials,proto3" json:"materials,omitempty"`
	// The pattern or graphic print of the product. For example, "striped", "polka
	// dot", "paisley".
	//
	// A maximum of 20 values are allowed per
	// [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
	// encoded string with a length limit of 128 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
	// property [Product.pattern](https://schema.org/pattern).
	Patterns []string `protobuf:"bytes,28,rep,name=patterns,proto3" json:"patterns,omitempty"`
	// The condition of the product. Strongly encouraged to use the standard
	// values: "new", "refurbished", "used".
	//
	// A maximum of 5 values are allowed per
	// [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
	// encoded string with a length limit of 128 characters. Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// Google Merchant Center property
	// [condition](https://support.google.com/merchants/answer/6324469).
	// Schema.org property
	// [Offer.itemCondition](https://schema.org/itemCondition).
	Conditions []string `protobuf:"bytes,29,rep,name=conditions,proto3" json:"conditions,omitempty"`
	// The promotions applied to the product. A maximum of 10 values are allowed
	// per [Product][google.cloud.retail.v2.Product].
	Promotions []*Promotion `protobuf:"bytes,34,rep,name=promotions,proto3" json:"promotions,omitempty"`
	// The timestamp when the product is published by the retailer for the first
	// time, which indicates the freshness of the products. Note that this field
	// is different from
	// [available_time][google.cloud.retail.v2.Product.available_time], given it
	// purely describes product freshness regardless of when it is available on
	// search and recommendation.
	PublishTime *timestamppb.Timestamp `protobuf:"bytes,33,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"`
	// Indicates which fields in the [Product][google.cloud.retail.v2.Product]s
	// are returned in [SearchResponse][google.cloud.retail.v2.SearchResponse].
	//
	// Supported fields for all [type][google.cloud.retail.v2.Product.type]s:
	//
	// * [audience][google.cloud.retail.v2.Product.audience]
	// * [availability][google.cloud.retail.v2.Product.availability]
	// * [brands][google.cloud.retail.v2.Product.brands]
	// * [color_info][google.cloud.retail.v2.Product.color_info]
	// * [conditions][google.cloud.retail.v2.Product.conditions]
	// * [gtin][google.cloud.retail.v2.Product.gtin]
	// * [materials][google.cloud.retail.v2.Product.materials]
	// * [name][google.cloud.retail.v2.Product.name]
	// * [patterns][google.cloud.retail.v2.Product.patterns]
	// * [price_info][google.cloud.retail.v2.Product.price_info]
	// * [rating][google.cloud.retail.v2.Product.rating]
	// * [sizes][google.cloud.retail.v2.Product.sizes]
	// * [title][google.cloud.retail.v2.Product.title]
	// * [uri][google.cloud.retail.v2.Product.uri]
	//
	// Supported fields only for
	// [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
	// [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]:
	//
	// * [categories][google.cloud.retail.v2.Product.categories]
	// * [description][google.cloud.retail.v2.Product.description]
	// * [images][google.cloud.retail.v2.Product.images]
	//
	// Supported fields only for
	// [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]:
	//
	// * Only the first image in [images][google.cloud.retail.v2.Product.images]
	//
	// To mark [attributes][google.cloud.retail.v2.Product.attributes] as
	// retrievable, include paths of the form "attributes.key" where "key" is the
	// key of a custom attribute, as specified in
	// [attributes][google.cloud.retail.v2.Product.attributes].
	//
	// For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
	// [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], the
	// following fields are always returned in
	// [SearchResponse][google.cloud.retail.v2.SearchResponse] by default:
	//
	// * [name][google.cloud.retail.v2.Product.name]
	//
	// For [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT], the
	// following fields are always returned in by default:
	//
	// * [name][google.cloud.retail.v2.Product.name]
	// * [color_info][google.cloud.retail.v2.Product.color_info]
	//
	// Maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
	// returned.
	//
	// Note: Returning more fields in
	// [SearchResponse][google.cloud.retail.v2.SearchResponse] may increase
	// response payload size and serving latency.
	RetrievableFields *fieldmaskpb.FieldMask `protobuf:"bytes,30,opt,name=retrievable_fields,json=retrievableFields,proto3" json:"retrievable_fields,omitempty"`
	// Output only. Product variants grouped together on primary product which
	// share similar product attributes. It's automatically grouped by
	// [primary_product_id][google.cloud.retail.v2.Product.primary_product_id] for
	// all the product variants. Only populated for
	// [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product]s.
	//
	// Note: This field is OUTPUT_ONLY for
	// [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
	// Do not set this field in API requests.
	Variants []*Product `protobuf:"bytes,31,rep,name=variants,proto3" json:"variants,omitempty"`
	// contains filtered or unexported fields
}

Product captures all metadata information of items to be recommended or searched.

func (*Product) Descriptor deprecated

func (*Product) Descriptor() ([]byte, []int)

Deprecated: Use Product.ProtoReflect.Descriptor instead.

func (*Product) GetAttributes

func (x *Product) GetAttributes() map[string]*CustomAttribute

func (*Product) GetAudience

func (x *Product) GetAudience() *Audience

func (*Product) GetAvailability

func (x *Product) GetAvailability() Product_Availability

func (*Product) GetAvailableQuantity

func (x *Product) GetAvailableQuantity() *wrapperspb.Int32Value

func (*Product) GetAvailableTime

func (x *Product) GetAvailableTime() *timestamppb.Timestamp

func (*Product) GetBrands

func (x *Product) GetBrands() []string

func (*Product) GetCategories

func (x *Product) GetCategories() []string

func (*Product) GetCollectionMemberIds

func (x *Product) GetCollectionMemberIds() []string

func (*Product) GetColorInfo

func (x *Product) GetColorInfo() *ColorInfo

func (*Product) GetConditions

func (x *Product) GetConditions() []string

func (*Product) GetDescription

func (x *Product) GetDescription() string

func (*Product) GetExpiration

func (m *Product) GetExpiration() isProduct_Expiration

func (*Product) GetExpireTime

func (x *Product) GetExpireTime() *timestamppb.Timestamp

func (*Product) GetFulfillmentInfo

func (x *Product) GetFulfillmentInfo() []*FulfillmentInfo

func (*Product) GetGtin

func (x *Product) GetGtin() string

func (*Product) GetId

func (x *Product) GetId() string

func (*Product) GetImages

func (x *Product) GetImages() []*Image

func (*Product) GetLanguageCode

func (x *Product) GetLanguageCode() string

func (*Product) GetMaterials

func (x *Product) GetMaterials() []string

func (*Product) GetName

func (x *Product) GetName() string

func (*Product) GetPatterns

func (x *Product) GetPatterns() []string

func (*Product) GetPriceInfo

func (x *Product) GetPriceInfo() *PriceInfo

func (*Product) GetPrimaryProductId

func (x *Product) GetPrimaryProductId() string

func (*Product) GetPromotions

func (x *Product) GetPromotions() []*Promotion

func (*Product) GetPublishTime

func (x *Product) GetPublishTime() *timestamppb.Timestamp

func (*Product) GetRating

func (x *Product) GetRating() *Rating

func (*Product) GetRetrievableFields

func (x *Product) GetRetrievableFields() *fieldmaskpb.FieldMask

func (*Product) GetSizes

func (x *Product) GetSizes() []string

func (*Product) GetTags

func (x *Product) GetTags() []string

func (*Product) GetTitle

func (x *Product) GetTitle() string

func (*Product) GetTtl

func (x *Product) GetTtl() *durationpb.Duration

func (*Product) GetType

func (x *Product) GetType() Product_Type

func (*Product) GetUri

func (x *Product) GetUri() string

func (*Product) GetVariants

func (x *Product) GetVariants() []*Product

func (*Product) ProtoMessage

func (*Product) ProtoMessage()

func (*Product) ProtoReflect

func (x *Product) ProtoReflect() protoreflect.Message

func (*Product) Reset

func (x *Product) Reset()

func (*Product) String

func (x *Product) String() string

type ProductDetail

type ProductDetail struct {

	// Required. [Product][google.cloud.retail.v2.Product] information.
	//
	// Required field(s):
	//
	// * [Product.id][google.cloud.retail.v2.Product.id]
	//
	// Optional override field(s):
	//
	// * [Product.price_info][google.cloud.retail.v2.Product.price_info]
	//
	// If any supported optional fields are provided, we will treat them as a full
	// override when looking up product information from the catalog. Thus, it is
	// important to ensure that the overriding fields are accurate and
	// complete.
	//
	// All other product fields are ignored and instead populated via catalog
	// lookup after event ingestion.
	Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
	// Quantity of the product associated with the user event.
	//
	// For example, this field will be 2 if two products are added to the shopping
	// cart for `purchase-complete` event. Required for `add-to-cart` and
	// `purchase-complete` event types.
	Quantity *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"`
	// contains filtered or unexported fields
}

Detailed product information associated with a user event.

func (*ProductDetail) Descriptor deprecated

func (*ProductDetail) Descriptor() ([]byte, []int)

Deprecated: Use ProductDetail.ProtoReflect.Descriptor instead.

func (*ProductDetail) GetProduct

func (x *ProductDetail) GetProduct() *Product

func (*ProductDetail) GetQuantity

func (x *ProductDetail) GetQuantity() *wrapperspb.Int32Value

func (*ProductDetail) ProtoMessage

func (*ProductDetail) ProtoMessage()

func (*ProductDetail) ProtoReflect

func (x *ProductDetail) ProtoReflect() protoreflect.Message

func (*ProductDetail) Reset

func (x *ProductDetail) Reset()

func (*ProductDetail) String

func (x *ProductDetail) String() string

type ProductInlineSource

type ProductInlineSource struct {

	// Required. A list of products to update/create. Each product must have a
	// valid [Product.id][google.cloud.retail.v2.Product.id]. Recommended max of
	// 100 items.
	Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
	// contains filtered or unexported fields
}

The inline source for the input config for ImportProducts method.

func (*ProductInlineSource) Descriptor deprecated

func (*ProductInlineSource) Descriptor() ([]byte, []int)

Deprecated: Use ProductInlineSource.ProtoReflect.Descriptor instead.

func (*ProductInlineSource) GetProducts

func (x *ProductInlineSource) GetProducts() []*Product

func (*ProductInlineSource) ProtoMessage

func (*ProductInlineSource) ProtoMessage()

func (*ProductInlineSource) ProtoReflect

func (x *ProductInlineSource) ProtoReflect() protoreflect.Message

func (*ProductInlineSource) Reset

func (x *ProductInlineSource) Reset()

func (*ProductInlineSource) String

func (x *ProductInlineSource) String() string

type ProductInputConfig

type ProductInputConfig struct {

	// Required. The source of the input.
	//
	// Types that are assignable to Source:
	//	*ProductInputConfig_ProductInlineSource
	//	*ProductInputConfig_GcsSource
	//	*ProductInputConfig_BigQuerySource
	Source isProductInputConfig_Source `protobuf_oneof:"source"`
	// contains filtered or unexported fields
}

The input config source for products.

func (*ProductInputConfig) Descriptor deprecated

func (*ProductInputConfig) Descriptor() ([]byte, []int)

Deprecated: Use ProductInputConfig.ProtoReflect.Descriptor instead.

func (*ProductInputConfig) GetBigQuerySource

func (x *ProductInputConfig) GetBigQuerySource() *BigQuerySource

func (*ProductInputConfig) GetGcsSource

func (x *ProductInputConfig) GetGcsSource() *GcsSource

func (*ProductInputConfig) GetProductInlineSource

func (x *ProductInputConfig) GetProductInlineSource() *ProductInlineSource

func (*ProductInputConfig) GetSource

func (m *ProductInputConfig) GetSource() isProductInputConfig_Source

func (*ProductInputConfig) ProtoMessage

func (*ProductInputConfig) ProtoMessage()

func (*ProductInputConfig) ProtoReflect

func (x *ProductInputConfig) ProtoReflect() protoreflect.Message

func (*ProductInputConfig) Reset

func (x *ProductInputConfig) Reset()

func (*ProductInputConfig) String

func (x *ProductInputConfig) String() string

type ProductInputConfig_BigQuerySource

type ProductInputConfig_BigQuerySource struct {
	// BigQuery input source.
	BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"`
}

type ProductInputConfig_GcsSource

type ProductInputConfig_GcsSource struct {
	// Google Cloud Storage location for the input content.
	GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
}

type ProductInputConfig_ProductInlineSource

type ProductInputConfig_ProductInlineSource struct {
	// The Inline source for the input content for products.
	ProductInlineSource *ProductInlineSource `protobuf:"bytes,1,opt,name=product_inline_source,json=productInlineSource,proto3,oneof"`
}

type ProductLevelConfig

type ProductLevelConfig struct {

	// The type of [Product][google.cloud.retail.v2.Product]s allowed to be
	// ingested into the catalog. Acceptable values are:
	//
	// * `primary` (default): You can only ingest
	// [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	//   [Product][google.cloud.retail.v2.Product]s. This means
	//   [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
	//   can only be empty or set to the same value as
	//   [Product.id][google.cloud.retail.v2.Product.id].
	// * `variant`: You can only ingest
	// [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s.
	//   This means
	//   [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
	//   cannot be empty.
	//
	// If this field is set to an invalid value other than these, an
	// INVALID_ARGUMENT error is returned.
	//
	// If this field is `variant` and
	// [merchant_center_product_id_field][google.cloud.retail.v2.ProductLevelConfig.merchant_center_product_id_field]
	// is `itemGroupId`, an INVALID_ARGUMENT error is returned.
	//
	// See [Using product
	// levels](https://cloud.google.com/retail/recommendations-ai/docs/catalog#product-levels)
	// for more details.
	IngestionProductType string `protobuf:"bytes,1,opt,name=ingestion_product_type,json=ingestionProductType,proto3" json:"ingestion_product_type,omitempty"`
	// Which field of [Merchant Center
	// Product](/bigquery-transfer/docs/merchant-center-products-schema) should be
	// imported as [Product.id][google.cloud.retail.v2.Product.id]. Acceptable
	// values are:
	//
	// * `offerId` (default): Import `offerId` as the product ID.
	// * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail
	//   API will choose one item from the ones with the same `itemGroupId`, and
	//   use it to represent the item group.
	//
	// If this field is set to an invalid value other than these, an
	// INVALID_ARGUMENT error is returned.
	//
	// If this field is `itemGroupId` and
	// [ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
	// is `variant`, an INVALID_ARGUMENT error is returned.
	//
	// See [Using product
	// levels](https://cloud.google.com/retail/recommendations-ai/docs/catalog#product-levels)
	// for more details.
	MerchantCenterProductIdField string `` /* 151-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configures what level the product should be uploaded with regards to how users will be send events and how predictions will be made.

func (*ProductLevelConfig) Descriptor deprecated

func (*ProductLevelConfig) Descriptor() ([]byte, []int)

Deprecated: Use ProductLevelConfig.ProtoReflect.Descriptor instead.

func (*ProductLevelConfig) GetIngestionProductType

func (x *ProductLevelConfig) GetIngestionProductType() string

func (*ProductLevelConfig) GetMerchantCenterProductIdField

func (x *ProductLevelConfig) GetMerchantCenterProductIdField() string

func (*ProductLevelConfig) ProtoMessage

func (*ProductLevelConfig) ProtoMessage()

func (*ProductLevelConfig) ProtoReflect

func (x *ProductLevelConfig) ProtoReflect() protoreflect.Message

func (*ProductLevelConfig) Reset

func (x *ProductLevelConfig) Reset()

func (*ProductLevelConfig) String

func (x *ProductLevelConfig) String() string

type ProductServiceClient

type ProductServiceClient interface {
	// Creates a [Product][google.cloud.retail.v2.Product].
	CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error)
	// Gets a [Product][google.cloud.retail.v2.Product].
	GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error)
	// Gets a list of [Product][google.cloud.retail.v2.Product]s.
	ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error)
	// Updates a [Product][google.cloud.retail.v2.Product].
	UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error)
	// Deletes a [Product][google.cloud.retail.v2.Product].
	DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Bulk import of multiple [Product][google.cloud.retail.v2.Product]s.
	//
	// Request processing may be synchronous. No partial updating is supported.
	// Non-existing items are created.
	//
	// Note that it is possible for a subset of the
	// [Product][google.cloud.retail.v2.Product]s to be successfully updated.
	ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Updates inventory information for a
	// [Product][google.cloud.retail.v2.Product] while respecting the last update
	// timestamps of each inventory field.
	//
	// This process is asynchronous and does not require the
	// [Product][google.cloud.retail.v2.Product] to exist before updating
	// fulfillment information. If the request is valid, the update will be
	// enqueued and processed downstream. As a consequence, when a response is
	// returned, updates are not immediately manifested in the
	// [Product][google.cloud.retail.v2.Product] queried by
	// [GetProduct][google.cloud.retail.v2.ProductService.GetProduct] or
	// [ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	//
	// When inventory is updated with
	// [CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct] and
	// [UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct], the
	// specified inventory field value(s) will overwrite any existing value(s)
	// while ignoring the last update time for this field. Furthermore, the last
	// update time for the specified inventory fields will be overwritten to the
	// time of the
	// [CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct] or
	// [UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
	// request.
	//
	// If no inventory fields are set in
	// [CreateProductRequest.product][google.cloud.retail.v2.CreateProductRequest.product],
	// then any pre-existing inventory information for this product will be used.
	//
	// If no inventory fields are set in [UpdateProductRequest.set_mask][],
	// then any existing inventory information will be preserved.
	//
	// Pre-existing inventory information can only be updated with
	// [SetInventory][google.cloud.retail.v2.ProductService.SetInventory],
	// [AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces],
	// and
	// [RemoveFulfillmentPlaces][google.cloud.retail.v2.ProductService.RemoveFulfillmentPlaces].
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	SetInventory(ctx context.Context, in *SetInventoryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Incrementally adds place IDs to
	// [Product.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids].
	//
	// This process is asynchronous and does not require the
	// [Product][google.cloud.retail.v2.Product] to exist before updating
	// fulfillment information. If the request is valid, the update will be
	// enqueued and processed downstream. As a consequence, when a response is
	// returned, the added place IDs are not immediately manifested in the
	// [Product][google.cloud.retail.v2.Product] queried by
	// [GetProduct][google.cloud.retail.v2.ProductService.GetProduct] or
	// [ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	AddFulfillmentPlaces(ctx context.Context, in *AddFulfillmentPlacesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Incrementally removes place IDs from a
	// [Product.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids].
	//
	// This process is asynchronous and does not require the
	// [Product][google.cloud.retail.v2.Product] to exist before updating
	// fulfillment information. If the request is valid, the update will be
	// enqueued and processed downstream. As a consequence, when a response is
	// returned, the removed place IDs are not immediately manifested in the
	// [Product][google.cloud.retail.v2.Product] queried by
	// [GetProduct][google.cloud.retail.v2.ProductService.GetProduct] or
	// [ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	RemoveFulfillmentPlaces(ctx context.Context, in *RemoveFulfillmentPlacesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
}

ProductServiceClient is the client API for ProductService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type ProductServiceServer

type ProductServiceServer interface {
	// Creates a [Product][google.cloud.retail.v2.Product].
	CreateProduct(context.Context, *CreateProductRequest) (*Product, error)
	// Gets a [Product][google.cloud.retail.v2.Product].
	GetProduct(context.Context, *GetProductRequest) (*Product, error)
	// Gets a list of [Product][google.cloud.retail.v2.Product]s.
	ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error)
	// Updates a [Product][google.cloud.retail.v2.Product].
	UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error)
	// Deletes a [Product][google.cloud.retail.v2.Product].
	DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error)
	// Bulk import of multiple [Product][google.cloud.retail.v2.Product]s.
	//
	// Request processing may be synchronous. No partial updating is supported.
	// Non-existing items are created.
	//
	// Note that it is possible for a subset of the
	// [Product][google.cloud.retail.v2.Product]s to be successfully updated.
	ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error)
	// Updates inventory information for a
	// [Product][google.cloud.retail.v2.Product] while respecting the last update
	// timestamps of each inventory field.
	//
	// This process is asynchronous and does not require the
	// [Product][google.cloud.retail.v2.Product] to exist before updating
	// fulfillment information. If the request is valid, the update will be
	// enqueued and processed downstream. As a consequence, when a response is
	// returned, updates are not immediately manifested in the
	// [Product][google.cloud.retail.v2.Product] queried by
	// [GetProduct][google.cloud.retail.v2.ProductService.GetProduct] or
	// [ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	//
	// When inventory is updated with
	// [CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct] and
	// [UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct], the
	// specified inventory field value(s) will overwrite any existing value(s)
	// while ignoring the last update time for this field. Furthermore, the last
	// update time for the specified inventory fields will be overwritten to the
	// time of the
	// [CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct] or
	// [UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
	// request.
	//
	// If no inventory fields are set in
	// [CreateProductRequest.product][google.cloud.retail.v2.CreateProductRequest.product],
	// then any pre-existing inventory information for this product will be used.
	//
	// If no inventory fields are set in [UpdateProductRequest.set_mask][],
	// then any existing inventory information will be preserved.
	//
	// Pre-existing inventory information can only be updated with
	// [SetInventory][google.cloud.retail.v2.ProductService.SetInventory],
	// [AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces],
	// and
	// [RemoveFulfillmentPlaces][google.cloud.retail.v2.ProductService.RemoveFulfillmentPlaces].
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	SetInventory(context.Context, *SetInventoryRequest) (*longrunning.Operation, error)
	// Incrementally adds place IDs to
	// [Product.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids].
	//
	// This process is asynchronous and does not require the
	// [Product][google.cloud.retail.v2.Product] to exist before updating
	// fulfillment information. If the request is valid, the update will be
	// enqueued and processed downstream. As a consequence, when a response is
	// returned, the added place IDs are not immediately manifested in the
	// [Product][google.cloud.retail.v2.Product] queried by
	// [GetProduct][google.cloud.retail.v2.ProductService.GetProduct] or
	// [ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	AddFulfillmentPlaces(context.Context, *AddFulfillmentPlacesRequest) (*longrunning.Operation, error)
	// Incrementally removes place IDs from a
	// [Product.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids].
	//
	// This process is asynchronous and does not require the
	// [Product][google.cloud.retail.v2.Product] to exist before updating
	// fulfillment information. If the request is valid, the update will be
	// enqueued and processed downstream. As a consequence, when a response is
	// returned, the removed place IDs are not immediately manifested in the
	// [Product][google.cloud.retail.v2.Product] queried by
	// [GetProduct][google.cloud.retail.v2.ProductService.GetProduct] or
	// [ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	RemoveFulfillmentPlaces(context.Context, *RemoveFulfillmentPlacesRequest) (*longrunning.Operation, error)
}

ProductServiceServer is the server API for ProductService service.

type Product_Availability

type Product_Availability int32

Product availability. If this field is unspecified, the product is assumed to be in stock.

const (
	// Default product availability. Default to
	// [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK]
	// if unset.
	Product_AVAILABILITY_UNSPECIFIED Product_Availability = 0
	// Product in stock.
	Product_IN_STOCK Product_Availability = 1
	// Product out of stock.
	Product_OUT_OF_STOCK Product_Availability = 2
	// Product that is in pre-order state.
	Product_PREORDER Product_Availability = 3
	// Product that is back-ordered (i.e. temporarily out of stock).
	Product_BACKORDER Product_Availability = 4
)

func (Product_Availability) Descriptor

func (Product_Availability) Enum

func (Product_Availability) EnumDescriptor deprecated

func (Product_Availability) EnumDescriptor() ([]byte, []int)

Deprecated: Use Product_Availability.Descriptor instead.

func (Product_Availability) Number

func (Product_Availability) String

func (x Product_Availability) String() string

func (Product_Availability) Type

type Product_ExpireTime

type Product_ExpireTime struct {
	// The timestamp when this product becomes unavailable for
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
	//
	// If it is set, the [Product][google.cloud.retail.v2.Product] is not
	// available for
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
	// [expire_time][google.cloud.retail.v2.Product.expire_time]. However, the
	// product can still be retrieved by
	// [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
	// and
	// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	//
	// Google Merchant Center property
	// [expiration_date](https://support.google.com/merchants/answer/6324499).
	ExpireTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=expire_time,json=expireTime,proto3,oneof"`
}

type Product_Ttl

type Product_Ttl struct {
	// Input only. The TTL (time to live) of the product.
	//
	// If it is set, [expire_time][google.cloud.retail.v2.Product.expire_time]
	// is set as current timestamp plus
	// [ttl][google.cloud.retail.v2.Product.ttl]. The derived
	// [expire_time][google.cloud.retail.v2.Product.expire_time] is returned in
	// the output and [ttl][google.cloud.retail.v2.Product.ttl] is left blank
	// when retrieving the [Product][google.cloud.retail.v2.Product].
	//
	// If it is set, the product is not available for
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
	// current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl].
	// However, the product can still be retrieved by
	// [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
	// and
	// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
	Ttl *durationpb.Duration `protobuf:"bytes,17,opt,name=ttl,proto3,oneof"`
}

type Product_Type

type Product_Type int32

The type of this product.

const (
	// Default value. Default to
	// [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
	// if unset.
	Product_TYPE_UNSPECIFIED Product_Type = 0
	// The primary type.
	//
	// As the primary unit for predicting, indexing and search serving, a
	// [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product] is grouped with multiple
	// [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s.
	Product_PRIMARY Product_Type = 1
	// The variant type.
	//
	// [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s usually share some common
	// attributes on the same
	// [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product]s, but they have variant
	// attributes like different colors, sizes and prices, etc.
	Product_VARIANT Product_Type = 2
	// The collection type. Collection products are bundled
	// [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
	// [Product][google.cloud.retail.v2.Product]s or
	// [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s that are sold together, such
	// as a jewelry set with necklaces, earrings and rings, etc.
	Product_COLLECTION Product_Type = 3
)

func (Product_Type) Descriptor

func (Product_Type) Enum

func (x Product_Type) Enum() *Product_Type

func (Product_Type) EnumDescriptor deprecated

func (Product_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use Product_Type.Descriptor instead.

func (Product_Type) Number

func (Product_Type) String

func (x Product_Type) String() string

func (Product_Type) Type

type Promotion

type Promotion struct {

	// ID of the promotion. For example, "free gift".
	//
	// The value value must be a UTF-8 encoded string with a length limit of 128
	// characters, and match the pattern: [a-zA-Z][a-zA-Z0-9_]*. For example,
	// id0LikeThis or ID_1_LIKE_THIS. Otherwise, an INVALID_ARGUMENT error is
	// returned.
	//
	// Google Merchant Center property
	// [promotion](https://support.google.com/merchants/answer/7050148).
	PromotionId string `protobuf:"bytes,1,opt,name=promotion_id,json=promotionId,proto3" json:"promotion_id,omitempty"`
	// contains filtered or unexported fields
}

Promotion information.

func (*Promotion) Descriptor deprecated

func (*Promotion) Descriptor() ([]byte, []int)

Deprecated: Use Promotion.ProtoReflect.Descriptor instead.

func (*Promotion) GetPromotionId

func (x *Promotion) GetPromotionId() string

func (*Promotion) ProtoMessage

func (*Promotion) ProtoMessage()

func (*Promotion) ProtoReflect

func (x *Promotion) ProtoReflect() protoreflect.Message

func (*Promotion) Reset

func (x *Promotion) Reset()

func (*Promotion) String

func (x *Promotion) String() string

type PurchaseTransaction

type PurchaseTransaction struct {

	// The transaction ID with a length limit of 128 characters.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Required. Total non-zero revenue or grand total associated with the
	// transaction. This value include shipping, tax, or other adjustments to
	// total revenue that you want to include as part of your revenue
	// calculations.
	Revenue float32 `protobuf:"fixed32,2,opt,name=revenue,proto3" json:"revenue,omitempty"`
	// All the taxes associated with the transaction.
	Tax float32 `protobuf:"fixed32,3,opt,name=tax,proto3" json:"tax,omitempty"`
	// All the costs associated with the products. These can be manufacturing
	// costs, shipping expenses not borne by the end user, or any other costs,
	// such that:
	//
	// * Profit = [revenue][google.cloud.retail.v2.PurchaseTransaction.revenue] -
	// [tax][google.cloud.retail.v2.PurchaseTransaction.tax] -
	// [cost][google.cloud.retail.v2.PurchaseTransaction.cost]
	Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"`
	// Required. Currency code. Use three-character ISO-4217 code.
	CurrencyCode string `protobuf:"bytes,5,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"`
	// contains filtered or unexported fields
}

A transaction represents the entire purchase transaction.

func (*PurchaseTransaction) Descriptor deprecated

func (*PurchaseTransaction) Descriptor() ([]byte, []int)

Deprecated: Use PurchaseTransaction.ProtoReflect.Descriptor instead.

func (*PurchaseTransaction) GetCost

func (x *PurchaseTransaction) GetCost() float32

func (*PurchaseTransaction) GetCurrencyCode

func (x *PurchaseTransaction) GetCurrencyCode() string

func (*PurchaseTransaction) GetId

func (x *PurchaseTransaction) GetId() string

func (*PurchaseTransaction) GetRevenue

func (x *PurchaseTransaction) GetRevenue() float32

func (*PurchaseTransaction) GetTax

func (x *PurchaseTransaction) GetTax() float32

func (*PurchaseTransaction) ProtoMessage

func (*PurchaseTransaction) ProtoMessage()

func (*PurchaseTransaction) ProtoReflect

func (x *PurchaseTransaction) ProtoReflect() protoreflect.Message

func (*PurchaseTransaction) Reset

func (x *PurchaseTransaction) Reset()

func (*PurchaseTransaction) String

func (x *PurchaseTransaction) String() string

type PurgeMetadata

type PurgeMetadata struct {
	// contains filtered or unexported fields
}

Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.

func (*PurgeMetadata) Descriptor deprecated

func (*PurgeMetadata) Descriptor() ([]byte, []int)

Deprecated: Use PurgeMetadata.ProtoReflect.Descriptor instead.

func (*PurgeMetadata) ProtoMessage

func (*PurgeMetadata) ProtoMessage()

func (*PurgeMetadata) ProtoReflect

func (x *PurgeMetadata) ProtoReflect() protoreflect.Message

func (*PurgeMetadata) Reset

func (x *PurgeMetadata) Reset()

func (*PurgeMetadata) String

func (x *PurgeMetadata) String() string

type PurgeUserEventsRequest

type PurgeUserEventsRequest struct {

	// Required. The resource name of the catalog under which the events are
	// created. The format is
	// `projects/${projectId}/locations/global/catalogs/${catalogId}`
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The filter string to specify the events to be deleted with a
	// length limit of 5,000 characters. Empty string filter is not allowed. The
	// eligible fields for filtering are:
	//
	// * `eventType`: Double quoted
	// [UserEvent.event_type][google.cloud.retail.v2.UserEvent.event_type] string.
	// * `eventTime`: in ISO 8601 "zulu" format.
	// * `visitorId`: Double quoted string. Specifying this will delete all
	//   events associated with a visitor.
	// * `userId`: Double quoted string. Specifying this will delete all events
	//   associated with a user.
	//
	// Examples:
	//
	// * Deleting all events in a time range:
	//   `eventTime > "2012-04-23T18:25:43.511Z"
	//   eventTime < "2012-04-23T18:30:43.511Z"`
	// * Deleting specific eventType in time range:
	//   `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"`
	// * Deleting all events for a specific visitor:
	//   `visitorId = "visitor1024"`
	//
	// The filtering fields are assumed to have an implicit AND.
	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
	// Actually perform the purge.
	// If `force` is set to false, the method will return the expected purge count
	// without deleting any user events.
	Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"`
	// contains filtered or unexported fields
}

Request message for PurgeUserEvents method.

func (*PurgeUserEventsRequest) Descriptor deprecated

func (*PurgeUserEventsRequest) Descriptor() ([]byte, []int)

Deprecated: Use PurgeUserEventsRequest.ProtoReflect.Descriptor instead.

func (*PurgeUserEventsRequest) GetFilter

func (x *PurgeUserEventsRequest) GetFilter() string

func (*PurgeUserEventsRequest) GetForce

func (x *PurgeUserEventsRequest) GetForce() bool

func (*PurgeUserEventsRequest) GetParent

func (x *PurgeUserEventsRequest) GetParent() string

func (*PurgeUserEventsRequest) ProtoMessage

func (*PurgeUserEventsRequest) ProtoMessage()

func (*PurgeUserEventsRequest) ProtoReflect

func (x *PurgeUserEventsRequest) ProtoReflect() protoreflect.Message

func (*PurgeUserEventsRequest) Reset

func (x *PurgeUserEventsRequest) Reset()

func (*PurgeUserEventsRequest) String

func (x *PurgeUserEventsRequest) String() string

type PurgeUserEventsResponse

type PurgeUserEventsResponse struct {

	// The total count of events purged as a result of the operation.
	PurgedEventsCount int64 `protobuf:"varint,1,opt,name=purged_events_count,json=purgedEventsCount,proto3" json:"purged_events_count,omitempty"`
	// contains filtered or unexported fields
}

Response of the PurgeUserEventsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.

func (*PurgeUserEventsResponse) Descriptor deprecated

func (*PurgeUserEventsResponse) Descriptor() ([]byte, []int)

Deprecated: Use PurgeUserEventsResponse.ProtoReflect.Descriptor instead.

func (*PurgeUserEventsResponse) GetPurgedEventsCount

func (x *PurgeUserEventsResponse) GetPurgedEventsCount() int64

func (*PurgeUserEventsResponse) ProtoMessage

func (*PurgeUserEventsResponse) ProtoMessage()

func (*PurgeUserEventsResponse) ProtoReflect

func (x *PurgeUserEventsResponse) ProtoReflect() protoreflect.Message

func (*PurgeUserEventsResponse) Reset

func (x *PurgeUserEventsResponse) Reset()

func (*PurgeUserEventsResponse) String

func (x *PurgeUserEventsResponse) String() string

type Rating

type Rating struct {

	// The total number of ratings. This value is independent of the value of
	// [rating_histogram][google.cloud.retail.v2.Rating.rating_histogram].
	//
	// This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
	// returned.
	RatingCount int32 `protobuf:"varint,1,opt,name=rating_count,json=ratingCount,proto3" json:"rating_count,omitempty"`
	// The average rating of the [Product][google.cloud.retail.v2.Product].
	//
	// The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is
	// returned.
	AverageRating float32 `protobuf:"fixed32,2,opt,name=average_rating,json=averageRating,proto3" json:"average_rating,omitempty"`
	// List of rating counts per rating value (index = rating - 1). The list is
	// empty if there is no rating. If the list is non-empty, its size is
	// always 5. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// For example, [41, 14, 13, 47, 303]. It means that the
	// [Product][google.cloud.retail.v2.Product] got 41 ratings with 1 star, 14
	// ratings with 2 star, and so on.
	RatingHistogram []int32 `protobuf:"varint,3,rep,packed,name=rating_histogram,json=ratingHistogram,proto3" json:"rating_histogram,omitempty"`
	// contains filtered or unexported fields
}

The rating of a Product[google.cloud.retail.v2.Product].

func (*Rating) Descriptor deprecated

func (*Rating) Descriptor() ([]byte, []int)

Deprecated: Use Rating.ProtoReflect.Descriptor instead.

func (*Rating) GetAverageRating

func (x *Rating) GetAverageRating() float32

func (*Rating) GetRatingCount

func (x *Rating) GetRatingCount() int32

func (*Rating) GetRatingHistogram

func (x *Rating) GetRatingHistogram() []int32

func (*Rating) ProtoMessage

func (*Rating) ProtoMessage()

func (*Rating) ProtoReflect

func (x *Rating) ProtoReflect() protoreflect.Message

func (*Rating) Reset

func (x *Rating) Reset()

func (*Rating) String

func (x *Rating) String() string

type RejoinUserEventsMetadata

type RejoinUserEventsMetadata struct {
	// contains filtered or unexported fields
}

Metadata for RejoinUserEvents method.

func (*RejoinUserEventsMetadata) Descriptor deprecated

func (*RejoinUserEventsMetadata) Descriptor() ([]byte, []int)

Deprecated: Use RejoinUserEventsMetadata.ProtoReflect.Descriptor instead.

func (*RejoinUserEventsMetadata) ProtoMessage

func (*RejoinUserEventsMetadata) ProtoMessage()

func (*RejoinUserEventsMetadata) ProtoReflect

func (x *RejoinUserEventsMetadata) ProtoReflect() protoreflect.Message

func (*RejoinUserEventsMetadata) Reset

func (x *RejoinUserEventsMetadata) Reset()

func (*RejoinUserEventsMetadata) String

func (x *RejoinUserEventsMetadata) String() string

type RejoinUserEventsRequest

type RejoinUserEventsRequest struct {

	// Required. The parent catalog resource name, such as
	// `projects/1234/locations/global/catalogs/default_catalog`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The type of the user event rejoin to define the scope and range of the user
	// events to be rejoined with the latest product catalog. Defaults to
	// USER_EVENT_REJOIN_SCOPE_UNSPECIFIED if this field is not set, or set to an
	// invalid integer value.
	UserEventRejoinScope RejoinUserEventsRequest_UserEventRejoinScope `` /* 199-byte string literal not displayed */
	// contains filtered or unexported fields
}

Request message for RejoinUserEvents method.

func (*RejoinUserEventsRequest) Descriptor deprecated

func (*RejoinUserEventsRequest) Descriptor() ([]byte, []int)

Deprecated: Use RejoinUserEventsRequest.ProtoReflect.Descriptor instead.

func (*RejoinUserEventsRequest) GetParent

func (x *RejoinUserEventsRequest) GetParent() string

func (*RejoinUserEventsRequest) GetUserEventRejoinScope

func (*RejoinUserEventsRequest) ProtoMessage

func (*RejoinUserEventsRequest) ProtoMessage()

func (*RejoinUserEventsRequest) ProtoReflect

func (x *RejoinUserEventsRequest) ProtoReflect() protoreflect.Message

func (*RejoinUserEventsRequest) Reset

func (x *RejoinUserEventsRequest) Reset()

func (*RejoinUserEventsRequest) String

func (x *RejoinUserEventsRequest) String() string

type RejoinUserEventsRequest_UserEventRejoinScope

type RejoinUserEventsRequest_UserEventRejoinScope int32

The scope of user events to be rejoined with the latest product catalog. If the rejoining aims at reducing number of unjoined events, set UserEventRejoinScope to UNJOINED_EVENTS. If the rejoining aims at correcting product catalog information in joined events, set UserEventRejoinScope to JOINED_EVENTS. If all events needs to be rejoined, set UserEventRejoinScope to USER_EVENT_REJOIN_SCOPE_UNSPECIFIED.

const (
	// Rejoin all events with the latest product catalog, including both joined
	// events and unjoined events.
	RejoinUserEventsRequest_USER_EVENT_REJOIN_SCOPE_UNSPECIFIED RejoinUserEventsRequest_UserEventRejoinScope = 0
	// Only rejoin joined events with the latest product catalog.
	RejoinUserEventsRequest_JOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 1
	// Only rejoin unjoined events with the latest product catalog.
	RejoinUserEventsRequest_UNJOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 2
)

func (RejoinUserEventsRequest_UserEventRejoinScope) Descriptor

func (RejoinUserEventsRequest_UserEventRejoinScope) Enum

func (RejoinUserEventsRequest_UserEventRejoinScope) EnumDescriptor deprecated

func (RejoinUserEventsRequest_UserEventRejoinScope) EnumDescriptor() ([]byte, []int)

Deprecated: Use RejoinUserEventsRequest_UserEventRejoinScope.Descriptor instead.

func (RejoinUserEventsRequest_UserEventRejoinScope) Number

func (RejoinUserEventsRequest_UserEventRejoinScope) String

func (RejoinUserEventsRequest_UserEventRejoinScope) Type

type RejoinUserEventsResponse

type RejoinUserEventsResponse struct {

	// Number of user events that were joined with latest product catalog.
	RejoinedUserEventsCount int64 `` /* 135-byte string literal not displayed */
	// contains filtered or unexported fields
}

Response message for RejoinUserEvents method.

func (*RejoinUserEventsResponse) Descriptor deprecated

func (*RejoinUserEventsResponse) Descriptor() ([]byte, []int)

Deprecated: Use RejoinUserEventsResponse.ProtoReflect.Descriptor instead.

func (*RejoinUserEventsResponse) GetRejoinedUserEventsCount

func (x *RejoinUserEventsResponse) GetRejoinedUserEventsCount() int64

func (*RejoinUserEventsResponse) ProtoMessage

func (*RejoinUserEventsResponse) ProtoMessage()

func (*RejoinUserEventsResponse) ProtoReflect

func (x *RejoinUserEventsResponse) ProtoReflect() protoreflect.Message

func (*RejoinUserEventsResponse) Reset

func (x *RejoinUserEventsResponse) Reset()

func (*RejoinUserEventsResponse) String

func (x *RejoinUserEventsResponse) String() string

type RemoveFulfillmentPlacesMetadata

type RemoveFulfillmentPlacesMetadata struct {
	// contains filtered or unexported fields
}

Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the [RemoveFulfillmentPlaces][] method.

func (*RemoveFulfillmentPlacesMetadata) Descriptor deprecated

func (*RemoveFulfillmentPlacesMetadata) Descriptor() ([]byte, []int)

Deprecated: Use RemoveFulfillmentPlacesMetadata.ProtoReflect.Descriptor instead.

func (*RemoveFulfillmentPlacesMetadata) ProtoMessage

func (*RemoveFulfillmentPlacesMetadata) ProtoMessage()

func (*RemoveFulfillmentPlacesMetadata) ProtoReflect

func (*RemoveFulfillmentPlacesMetadata) Reset

func (*RemoveFulfillmentPlacesMetadata) String

type RemoveFulfillmentPlacesRequest

type RemoveFulfillmentPlacesRequest struct {

	// Required. Full resource name of [Product][google.cloud.retail.v2.Product],
	// such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
	//
	// If the caller does not have permission to access the
	// [Product][google.cloud.retail.v2.Product], regardless of whether or not it
	// exists, a PERMISSION_DENIED error is returned.
	Product string `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
	// Required. The fulfillment type, including commonly used types (such as
	// pickup in store and same day delivery), and custom types.
	//
	// Supported values:
	//
	// * "pickup-in-store"
	// * "ship-to-store"
	// * "same-day-delivery"
	// * "next-day-delivery"
	// * "custom-type-1"
	// * "custom-type-2"
	// * "custom-type-3"
	// * "custom-type-4"
	// * "custom-type-5"
	//
	// If this field is set to an invalid value other than these, an
	// INVALID_ARGUMENT error is returned.
	//
	// This field directly corresponds to [Product.fulfillment_info.type][].
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// Required. The IDs for this
	// [type][google.cloud.retail.v2.RemoveFulfillmentPlacesRequest.type], such as
	// the store IDs for "pickup-in-store" or the region IDs for
	// "same-day-delivery", to be removed for this
	// [type][google.cloud.retail.v2.RemoveFulfillmentPlacesRequest.type].
	//
	// At least 1 value is required, and a maximum of 2000 values are allowed.
	// Each value must be a string with a length limit of 10 characters, matching
	// the pattern [a-zA-Z0-9_-]+, such as "store1" or "REGION-2". Otherwise, an
	// INVALID_ARGUMENT error is returned.
	PlaceIds []string `protobuf:"bytes,3,rep,name=place_ids,json=placeIds,proto3" json:"place_ids,omitempty"`
	// The time when the fulfillment updates are issued, used to prevent
	// out-of-order updates on fulfillment information. If not provided, the
	// internal system time will be used.
	RemoveTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=remove_time,json=removeTime,proto3" json:"remove_time,omitempty"`
	// If set to true, and the [Product][google.cloud.retail.v2.Product] is not
	// found, the fulfillment information will still be processed and retained for
	// at most 1 day and processed once the
	// [Product][google.cloud.retail.v2.Product] is created. If set to false, an
	// INVALID_ARGUMENT error is returned if the
	// [Product][google.cloud.retail.v2.Product] is not found.
	AllowMissing bool `protobuf:"varint,5,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
	// contains filtered or unexported fields
}

Request message for [RemoveFulfillmentPlaces][] method.

func (*RemoveFulfillmentPlacesRequest) Descriptor deprecated

func (*RemoveFulfillmentPlacesRequest) Descriptor() ([]byte, []int)

Deprecated: Use RemoveFulfillmentPlacesRequest.ProtoReflect.Descriptor instead.

func (*RemoveFulfillmentPlacesRequest) GetAllowMissing

func (x *RemoveFulfillmentPlacesRequest) GetAllowMissing() bool

func (*RemoveFulfillmentPlacesRequest) GetPlaceIds

func (x *RemoveFulfillmentPlacesRequest) GetPlaceIds() []string

func (*RemoveFulfillmentPlacesRequest) GetProduct

func (x *RemoveFulfillmentPlacesRequest) GetProduct() string

func (*RemoveFulfillmentPlacesRequest) GetRemoveTime

func (*RemoveFulfillmentPlacesRequest) GetType

func (*RemoveFulfillmentPlacesRequest) ProtoMessage

func (*RemoveFulfillmentPlacesRequest) ProtoMessage()

func (*RemoveFulfillmentPlacesRequest) ProtoReflect

func (*RemoveFulfillmentPlacesRequest) Reset

func (x *RemoveFulfillmentPlacesRequest) Reset()

func (*RemoveFulfillmentPlacesRequest) String

type RemoveFulfillmentPlacesResponse

type RemoveFulfillmentPlacesResponse struct {
	// contains filtered or unexported fields
}

Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the [RemoveFulfillmentPlaces][] method.

func (*RemoveFulfillmentPlacesResponse) Descriptor deprecated

func (*RemoveFulfillmentPlacesResponse) Descriptor() ([]byte, []int)

Deprecated: Use RemoveFulfillmentPlacesResponse.ProtoReflect.Descriptor instead.

func (*RemoveFulfillmentPlacesResponse) ProtoMessage

func (*RemoveFulfillmentPlacesResponse) ProtoMessage()

func (*RemoveFulfillmentPlacesResponse) ProtoReflect

func (*RemoveFulfillmentPlacesResponse) Reset

func (*RemoveFulfillmentPlacesResponse) String

type SearchRequest

type SearchRequest struct {

	// Required. The resource name of the search engine placement, such as
	// `projects/*/locations/global/catalogs/default_catalog/placements/default_search`.
	// This field is used to identify the set of models that will be used to make
	// the search.
	//
	// We currently support one placement with the following ID:
	//
	// * `default_search`.
	Placement string `protobuf:"bytes,1,opt,name=placement,proto3" json:"placement,omitempty"`
	// The branch resource name, such as
	// `projects/*/locations/global/catalogs/default_catalog/branches/0`.
	//
	// Use "default_branch" as the branch ID or leave this field empty, to search
	// products under the default branch.
	Branch string `protobuf:"bytes,2,opt,name=branch,proto3" json:"branch,omitempty"`
	// Raw search query.
	Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
	// Required. A unique identifier for tracking visitors. For example, this
	// could be implemented with an HTTP cookie, which should be able to uniquely
	// identify a visitor on a single device. This unique identifier should not
	// change if the visitor logs in or out of the website.
	//
	// The field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	VisitorId string `protobuf:"bytes,4,opt,name=visitor_id,json=visitorId,proto3" json:"visitor_id,omitempty"`
	// User information.
	UserInfo *UserInfo `protobuf:"bytes,5,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"`
	// Maximum number of [Product][google.cloud.retail.v2.Product]s to return. If
	// unspecified, defaults to a reasonable value. The maximum allowed value is
	// 120. Values above 120 will be coerced to 120.
	//
	// If this field is negative, an INVALID_ARGUMENT is returned.
	PageSize int32 `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token
	// [SearchResponse.next_page_token][google.cloud.retail.v2.SearchResponse.next_page_token],
	// received from a previous
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search] call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search] must
	// match the call that provided the page token. Otherwise, an INVALID_ARGUMENT
	// error is returned.
	PageToken string `protobuf:"bytes,8,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// A 0-indexed integer that specifies the current offset (that is, starting
	// result location, amongst the [Product][google.cloud.retail.v2.Product]s
	// deemed by the API as relevant) in search results. This field is only
	// considered if [page_token][google.cloud.retail.v2.SearchRequest.page_token]
	// is unset.
	//
	// If this field is negative, an INVALID_ARGUMENT is returned.
	Offset int32 `protobuf:"varint,9,opt,name=offset,proto3" json:"offset,omitempty"`
	// The filter syntax consists of an expression language for constructing a
	// predicate from one or more fields of the products being filtered. Filter
	// expression is case-sensitive.
	//
	// If this field is unrecognizable, an INVALID_ARGUMENT is returned.
	Filter string `protobuf:"bytes,10,opt,name=filter,proto3" json:"filter,omitempty"`
	// The filter applied to every search request when quality improvement such as
	// query expansion is needed. For example, if a query does not have enough
	// results, an expanded query with
	// [SearchRequest.canonical_filter][google.cloud.retail.v2.SearchRequest.canonical_filter]
	// will be returned as a supplement of the original query. This field is
	// strongly recommended to achieve high search quality.
	//
	// See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
	// more details about filter syntax.
	CanonicalFilter string `protobuf:"bytes,28,opt,name=canonical_filter,json=canonicalFilter,proto3" json:"canonical_filter,omitempty"`
	// The order in which products are returned. Products can be ordered by
	// a field in an [Product][google.cloud.retail.v2.Product] object. Leave it
	// unset if ordered by relevance. OrderBy expression is case-sensitive.
	//
	// If this field is unrecognizable, an INVALID_ARGUMENT is returned.
	OrderBy string `protobuf:"bytes,11,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	// Facet specifications for faceted search. If empty, no facets are returned.
	//
	// A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
	// is returned.
	FacetSpecs []*SearchRequest_FacetSpec `protobuf:"bytes,12,rep,name=facet_specs,json=facetSpecs,proto3" json:"facet_specs,omitempty"`
	// The specification for dynamically generated facets. Notice that only
	// textual facets can be dynamically generated.
	//
	// This feature requires additional allowlisting. Contact Retail Search
	// support team if you are interested in using dynamic facet feature.
	DynamicFacetSpec *SearchRequest_DynamicFacetSpec `protobuf:"bytes,21,opt,name=dynamic_facet_spec,json=dynamicFacetSpec,proto3" json:"dynamic_facet_spec,omitempty"`
	// Boost specification to boost certain products.
	BoostSpec *SearchRequest_BoostSpec `protobuf:"bytes,13,opt,name=boost_spec,json=boostSpec,proto3" json:"boost_spec,omitempty"`
	// The query expansion specification that specifies the conditions under which
	// query expansion will occur.
	QueryExpansionSpec *SearchRequest_QueryExpansionSpec `protobuf:"bytes,14,opt,name=query_expansion_spec,json=queryExpansionSpec,proto3" json:"query_expansion_spec,omitempty"`
	// The keys to fetch and rollup the matching
	// [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s attributes. The attributes from
	// all the matching [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s are merged and de-duplicated.
	// Notice that rollup [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s attributes will lead to extra
	// query latency. Maximum number of keys is 10.
	//
	// For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], a
	// fulfillment type and a fulfillment ID must be provided in the format of
	// "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
	// "pickupInStore" is fulfillment type and "store123" is the store ID.
	//
	// Supported keys are:
	//
	// * colorFamilies
	// * price
	// * originalPrice
	// * discount
	// * attributes.key, where key is any key in the
	//   [Product.attributes][google.cloud.retail.v2.Product.attributes] map.
	// * pickupInStore.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "pickup-in-store".
	// * shipToStore.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "ship-to-store".
	// * sameDayDelivery.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "same-day-delivery".
	// * nextDayDelivery.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "next-day-delivery".
	// * customFulfillment1.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "custom-type-1".
	// * customFulfillment2.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "custom-type-2".
	// * customFulfillment3.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "custom-type-3".
	// * customFulfillment4.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "custom-type-4".
	// * customFulfillment5.id, where id is any
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
	//   "custom-type-5".
	//
	// If this field is set to an invalid value other than these, an
	// INVALID_ARGUMENT error is returned.
	VariantRollupKeys []string `protobuf:"bytes,17,rep,name=variant_rollup_keys,json=variantRollupKeys,proto3" json:"variant_rollup_keys,omitempty"`
	// The categories associated with a category page. Required for category
	// navigation queries to achieve good search quality. The format should be
	// the same as
	// [UserEvent.page_categories][google.cloud.retail.v2.UserEvent.page_categories];
	//
	// To represent full path of category, use '>' sign to separate different
	// hierarchies. If '>' is part of the category name, please replace it with
	// other character(s).
	//
	// Category pages include special pages such as sales or promotions. For
	// instance, a special sale page may have the category hierarchy:
	// "pageCategories" : ["Sales > 2017 Black Friday Deals"].
	PageCategories []string `protobuf:"bytes,23,rep,name=page_categories,json=pageCategories,proto3" json:"page_categories,omitempty"`
	// contains filtered or unexported fields
}

Request message for [SearchService.Search][google.cloud.retail.v2.SearchService.Search] method.

func (*SearchRequest) Descriptor deprecated

func (*SearchRequest) Descriptor() ([]byte, []int)

Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead.

func (*SearchRequest) GetBoostSpec

func (x *SearchRequest) GetBoostSpec() *SearchRequest_BoostSpec

func (*SearchRequest) GetBranch

func (x *SearchRequest) GetBranch() string

func (*SearchRequest) GetCanonicalFilter

func (x *SearchRequest) GetCanonicalFilter() string

func (*SearchRequest) GetDynamicFacetSpec

func (x *SearchRequest) GetDynamicFacetSpec() *SearchRequest_DynamicFacetSpec

func (*SearchRequest) GetFacetSpecs

func (x *SearchRequest) GetFacetSpecs() []*SearchRequest_FacetSpec

func (*SearchRequest) GetFilter

func (x *SearchRequest) GetFilter() string

func (*SearchRequest) GetOffset

func (x *SearchRequest) GetOffset() int32

func (*SearchRequest) GetOrderBy

func (x *SearchRequest) GetOrderBy() string

func (*SearchRequest) GetPageCategories

func (x *SearchRequest) GetPageCategories() []string

func (*SearchRequest) GetPageSize

func (x *SearchRequest) GetPageSize() int32

func (*SearchRequest) GetPageToken

func (x *SearchRequest) GetPageToken() string

func (*SearchRequest) GetPlacement

func (x *SearchRequest) GetPlacement() string

func (*SearchRequest) GetQuery

func (x *SearchRequest) GetQuery() string

func (*SearchRequest) GetQueryExpansionSpec

func (x *SearchRequest) GetQueryExpansionSpec() *SearchRequest_QueryExpansionSpec

func (*SearchRequest) GetUserInfo

func (x *SearchRequest) GetUserInfo() *UserInfo

func (*SearchRequest) GetVariantRollupKeys

func (x *SearchRequest) GetVariantRollupKeys() []string

func (*SearchRequest) GetVisitorId

func (x *SearchRequest) GetVisitorId() string

func (*SearchRequest) ProtoMessage

func (*SearchRequest) ProtoMessage()

func (*SearchRequest) ProtoReflect

func (x *SearchRequest) ProtoReflect() protoreflect.Message

func (*SearchRequest) Reset

func (x *SearchRequest) Reset()

func (*SearchRequest) String

func (x *SearchRequest) String() string

type SearchRequest_BoostSpec

type SearchRequest_BoostSpec struct {

	// Condition boost specifications. If a product matches multiple conditions
	// in the specifictions, boost scores from these specifications are all
	// applied and combined in a non-linear way. Maximum number of
	// specifications is 10.
	ConditionBoostSpecs []*SearchRequest_BoostSpec_ConditionBoostSpec `protobuf:"bytes,1,rep,name=condition_boost_specs,json=conditionBoostSpecs,proto3" json:"condition_boost_specs,omitempty"`
	// contains filtered or unexported fields
}

Boost specification to boost certain items.

func (*SearchRequest_BoostSpec) Descriptor deprecated

func (*SearchRequest_BoostSpec) Descriptor() ([]byte, []int)

Deprecated: Use SearchRequest_BoostSpec.ProtoReflect.Descriptor instead.

func (*SearchRequest_BoostSpec) GetConditionBoostSpecs

func (*SearchRequest_BoostSpec) ProtoMessage

func (*SearchRequest_BoostSpec) ProtoMessage()

func (*SearchRequest_BoostSpec) ProtoReflect

func (x *SearchRequest_BoostSpec) ProtoReflect() protoreflect.Message

func (*SearchRequest_BoostSpec) Reset

func (x *SearchRequest_BoostSpec) Reset()

func (*SearchRequest_BoostSpec) String

func (x *SearchRequest_BoostSpec) String() string

type SearchRequest_BoostSpec_ConditionBoostSpec

type SearchRequest_BoostSpec_ConditionBoostSpec struct {

	// An expression which specifies a boost condition. The syntax and
	// supported fields are the same as a filter expression. See
	// [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
	// detail syntax and limitations.
	//
	// Examples:
	//
	// * To boost products with product ID "product_1" or "product_2", and
	// color
	//   "Red" or "Blue":
	//     * (id: ANY("product_1", "product_2")) AND (colorFamilies:
	//     ANY("Red","Blue"))
	Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"`
	// Strength of the condition boost, which should be in [-1, 1]. Negative
	// boost means demotion. Default is 0.0.
	//
	// Setting to 1.0 gives the item a big promotion. However, it does not
	// necessarily mean that the boosted item will be the top result at all
	// times, nor that other items will be excluded. Results could still be
	// shown even when none of them matches the condition. And results that
	// are significantly more relevant to the search query can still trump
	// your heavily favored but irrelevant items.
	//
	// Setting to -1.0 gives the item a big demotion. However, results that
	// are deeply relevant might still be shown. The item will have an
	// upstream battle to get a fairly high ranking, but it is not blocked out
	// completely.
	//
	// Setting to 0.0 means no boost applied. The boosting condition is
	// ignored.
	Boost float32 `protobuf:"fixed32,2,opt,name=boost,proto3" json:"boost,omitempty"`
	// contains filtered or unexported fields
}

Boost applies to products which match a condition.

func (*SearchRequest_BoostSpec_ConditionBoostSpec) Descriptor deprecated

Deprecated: Use SearchRequest_BoostSpec_ConditionBoostSpec.ProtoReflect.Descriptor instead.

func (*SearchRequest_BoostSpec_ConditionBoostSpec) GetBoost

func (*SearchRequest_BoostSpec_ConditionBoostSpec) GetCondition

func (*SearchRequest_BoostSpec_ConditionBoostSpec) ProtoMessage

func (*SearchRequest_BoostSpec_ConditionBoostSpec) ProtoReflect

func (*SearchRequest_BoostSpec_ConditionBoostSpec) Reset

func (*SearchRequest_BoostSpec_ConditionBoostSpec) String

type SearchRequest_DynamicFacetSpec

type SearchRequest_DynamicFacetSpec struct {

	// Mode of the DynamicFacet feature.
	// Defaults to
	// [Mode.DISABLED][google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.Mode.DISABLED]
	// if it's unset.
	Mode SearchRequest_DynamicFacetSpec_Mode `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

The specifications of dynamically generated facets.

func (*SearchRequest_DynamicFacetSpec) Descriptor deprecated

func (*SearchRequest_DynamicFacetSpec) Descriptor() ([]byte, []int)

Deprecated: Use SearchRequest_DynamicFacetSpec.ProtoReflect.Descriptor instead.

func (*SearchRequest_DynamicFacetSpec) GetMode

func (*SearchRequest_DynamicFacetSpec) ProtoMessage

func (*SearchRequest_DynamicFacetSpec) ProtoMessage()

func (*SearchRequest_DynamicFacetSpec) ProtoReflect

func (*SearchRequest_DynamicFacetSpec) Reset

func (x *SearchRequest_DynamicFacetSpec) Reset()

func (*SearchRequest_DynamicFacetSpec) String

type SearchRequest_DynamicFacetSpec_Mode

type SearchRequest_DynamicFacetSpec_Mode int32

Enum to control DynamicFacet mode

const (
	// Default value.
	SearchRequest_DynamicFacetSpec_MODE_UNSPECIFIED SearchRequest_DynamicFacetSpec_Mode = 0
	// Disable Dynamic Facet.
	SearchRequest_DynamicFacetSpec_DISABLED SearchRequest_DynamicFacetSpec_Mode = 1
	// Automatic mode built by Google Retail Search.
	SearchRequest_DynamicFacetSpec_ENABLED SearchRequest_DynamicFacetSpec_Mode = 2
)

func (SearchRequest_DynamicFacetSpec_Mode) Descriptor

func (SearchRequest_DynamicFacetSpec_Mode) Enum

func (SearchRequest_DynamicFacetSpec_Mode) EnumDescriptor deprecated

func (SearchRequest_DynamicFacetSpec_Mode) EnumDescriptor() ([]byte, []int)

Deprecated: Use SearchRequest_DynamicFacetSpec_Mode.Descriptor instead.

func (SearchRequest_DynamicFacetSpec_Mode) Number

func (SearchRequest_DynamicFacetSpec_Mode) String

func (SearchRequest_DynamicFacetSpec_Mode) Type

type SearchRequest_FacetSpec

type SearchRequest_FacetSpec struct {

	// Required. The facet key specification.
	FacetKey *SearchRequest_FacetSpec_FacetKey `protobuf:"bytes,1,opt,name=facet_key,json=facetKey,proto3" json:"facet_key,omitempty"`
	// Maximum of facet values that should be returned for this facet. If
	// unspecified, defaults to 20. The maximum allowed value is 300. Values
	// above 300 will be coerced to 300.
	//
	// If this field is negative, an INVALID_ARGUMENT is returned.
	Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// List of keys to exclude when faceting.
	//
	// By default,
	// [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
	// is not excluded from the filter unless it is listed in this field.
	//
	// For example, suppose there are 100 products with color facet "Red" and
	// 200 products with color facet "Blue". A query containing the filter
	// "colorFamilies:ANY("Red")" and have "colorFamilies" as
	// [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
	// will by default return the "Red" with count 100.
	//
	// If this field contains "colorFamilies", then the query returns both the
	// "Red" with count 100 and "Blue" with count 200, because the
	// "colorFamilies" key is now excluded from the filter.
	//
	// A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
	// is returned.
	ExcludedFilterKeys []string `protobuf:"bytes,3,rep,name=excluded_filter_keys,json=excludedFilterKeys,proto3" json:"excluded_filter_keys,omitempty"`
	// Enables dynamic position for this facet. If set to true, the position of
	// this facet among all facets in the response is determined by Google
	// Retail Search. It will be ordered together with dynamic facets if dynamic
	// facets is enabled. If set to false, the position of this facet in the
	// response will be the same as in the request, and it will be ranked before
	// the facets with dynamic position enable and all dynamic facets.
	//
	// For example, you may always want to have rating facet returned in
	// the response, but it's not necessarily to always display the rating facet
	// at the top. In that case, you can set enable_dynamic_position to true so
	// that the position of rating facet in response will be determined by
	// Google Retail Search.
	//
	// Another example, assuming you have the following facets in the request:
	//
	// * "rating", enable_dynamic_position = true
	//
	// * "price", enable_dynamic_position = false
	//
	// * "brands", enable_dynamic_position = false
	//
	// And also you have a dynamic facets enable, which will generate a facet
	// 'gender'. Then the final order of the facets in the response can be
	// ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
	// "rating") depends on how Google Retail Search orders "gender" and
	// "rating" facets. However, notice that "price" and "brands" will always be
	// ranked at 1st and 2nd position since their enable_dynamic_position are
	// false.
	EnableDynamicPosition bool `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

A facet specification to perform faceted search.

func (*SearchRequest_FacetSpec) Descriptor deprecated

func (*SearchRequest_FacetSpec) Descriptor() ([]byte, []int)

Deprecated: Use SearchRequest_FacetSpec.ProtoReflect.Descriptor instead.

func (*SearchRequest_FacetSpec) GetEnableDynamicPosition

func (x *SearchRequest_FacetSpec) GetEnableDynamicPosition() bool

func (*SearchRequest_FacetSpec) GetExcludedFilterKeys

func (x *SearchRequest_FacetSpec) GetExcludedFilterKeys() []string

func (*SearchRequest_FacetSpec) GetFacetKey

func (*SearchRequest_FacetSpec) GetLimit

func (x *SearchRequest_FacetSpec) GetLimit() int32

func (*SearchRequest_FacetSpec) ProtoMessage

func (*SearchRequest_FacetSpec) ProtoMessage()

func (*SearchRequest_FacetSpec) ProtoReflect

func (x *SearchRequest_FacetSpec) ProtoReflect() protoreflect.Message

func (*SearchRequest_FacetSpec) Reset

func (x *SearchRequest_FacetSpec) Reset()

func (*SearchRequest_FacetSpec) String

func (x *SearchRequest_FacetSpec) String() string

type SearchRequest_FacetSpec_FacetKey

type SearchRequest_FacetSpec_FacetKey struct {

	// Required. Supported textual and numerical facet keys in
	// [Product][google.cloud.retail.v2.Product] object, over which the facet
	// values are computed. Facet key is case-sensitive.
	//
	// Allowed facet keys when
	// [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
	// is not specified:
	//
	// * textual_field =
	//     * "brands"
	//     * "categories"
	//     * "genders"
	//     * "ageGroups"
	//     * "availability"
	//     * "colorFamilies"
	//     * "colors"
	//     * "sizes"
	//     * "materials"
	//     * "patterns"
	//     * "conditions"
	//     * "attributes.key"
	//     * "pickupInStore"
	//     * "shipToStore"
	//     * "sameDayDelivery"
	//     * "nextDayDelivery"
	//     * "customFulfillment1"
	//     * "customFulfillment2"
	//     * "customFulfillment3"
	//     * "customFulfillment4"
	//     * "customFulfillment5"
	//
	// * numerical_field =
	//     * "price"
	//     * "discount"
	//     * "rating"
	//     * "ratingCount"
	//     * "attributes.key"
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Set only if values should be bucketized into intervals. Must be set
	// for facets with numerical values. Must not be set for facet with text
	// values. Maximum number of intervals is 30.
	Intervals []*Interval `protobuf:"bytes,2,rep,name=intervals,proto3" json:"intervals,omitempty"`
	// Only get facet for the given restricted values. For example, when using
	// "pickupInStore" as key and set restricted values to
	// ["store123", "store456"], only facets for "store123" and "store456" are
	// returned. Only supported on textual fields and fulfillments.
	// Maximum is 20.
	//
	// Must be set for the fulfillment facet keys:
	//
	// * pickupInStore
	//
	// * shipToStore
	//
	// * sameDayDelivery
	//
	// * nextDayDelivery
	//
	// * customFulfillment1
	//
	// * customFulfillment2
	//
	// * customFulfillment3
	//
	// * customFulfillment4
	//
	// * customFulfillment5
	RestrictedValues []string `protobuf:"bytes,3,rep,name=restricted_values,json=restrictedValues,proto3" json:"restricted_values,omitempty"`
	// Only get facet values that start with the given string prefix. For
	// example, suppose "categories" has three values "Women > Shoe",
	// "Women > Dress" and "Men > Shoe". If set "prefixes" to "Women", the
	// "categories" facet will give only "Women > Shoe" and "Women > Dress".
	// Only supported on textual fields. Maximum is 10.
	Prefixes []string `protobuf:"bytes,8,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
	// Only get facet values that contains the given strings. For example,
	// suppose "categories" has three values "Women > Shoe",
	// "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the
	// "categories" facet will give only "Women > Shoe" and "Men > Shoe".
	// Only supported on textual fields. Maximum is 10.
	Contains []string `protobuf:"bytes,9,rep,name=contains,proto3" json:"contains,omitempty"`
	// The order in which [Facet.values][] are returned.
	//
	// Allowed values are:
	//
	// * "count desc", which means order by [Facet.FacetValue.count][]
	// descending.
	//
	// * "value desc", which means order by [Facet.FacetValue.value][]
	// descending.
	//   Only applies to textual facets.
	//
	// If not set, textual values are sorted in [natural
	// order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical
	// intervals are sorted in the order given by
	// [FacetSpec.FacetKey.intervals][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.intervals];
	// [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
	// are sorted in the order given by
	// [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.restricted_values].
	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	// The query that is used to compute facet for the given facet key.
	// When provided, it will override the default behavior of facet
	// computation. The query syntax is the same as a filter expression. See
	// [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
	// detail syntax and limitations. Notice that there is no limitation on
	// [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
	// when query is specified.
	//
	// In the response, [FacetValue.value][] will be always "1" and
	// [FacetValue.count][] will be the number of results that matches the
	// query.
	//
	// For example, you can set a customized facet for "shipToStore",
	// where
	// [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
	// is "customizedShipToStore", and
	// [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
	// is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
	// Then the facet will count the products that are both in stock and ship
	// to store "123".
	Query string `protobuf:"bytes,5,opt,name=query,proto3" json:"query,omitempty"`
	// contains filtered or unexported fields
}

Specifies how a facet is computed.

func (*SearchRequest_FacetSpec_FacetKey) Descriptor deprecated

func (*SearchRequest_FacetSpec_FacetKey) Descriptor() ([]byte, []int)

Deprecated: Use SearchRequest_FacetSpec_FacetKey.ProtoReflect.Descriptor instead.

func (*SearchRequest_FacetSpec_FacetKey) GetContains

func (x *SearchRequest_FacetSpec_FacetKey) GetContains() []string

func (*SearchRequest_FacetSpec_FacetKey) GetIntervals

func (x *SearchRequest_FacetSpec_FacetKey) GetIntervals() []*Interval

func (*SearchRequest_FacetSpec_FacetKey) GetKey

func (*SearchRequest_FacetSpec_FacetKey) GetOrderBy

func (x *SearchRequest_FacetSpec_FacetKey) GetOrderBy() string

func (*SearchRequest_FacetSpec_FacetKey) GetPrefixes

func (x *SearchRequest_FacetSpec_FacetKey) GetPrefixes() []string

func (*SearchRequest_FacetSpec_FacetKey) GetQuery

func (*SearchRequest_FacetSpec_FacetKey) GetRestrictedValues

func (x *SearchRequest_FacetSpec_FacetKey) GetRestrictedValues() []string

func (*SearchRequest_FacetSpec_FacetKey) ProtoMessage

func (*SearchRequest_FacetSpec_FacetKey) ProtoMessage()

func (*SearchRequest_FacetSpec_FacetKey) ProtoReflect

func (*SearchRequest_FacetSpec_FacetKey) Reset

func (*SearchRequest_FacetSpec_FacetKey) String

type SearchRequest_QueryExpansionSpec

type SearchRequest_QueryExpansionSpec struct {

	// The condition under which query expansion should occur. Default to
	// [Condition.DISABLED][google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
	Condition SearchRequest_QueryExpansionSpec_Condition `` /* 143-byte string literal not displayed */
	// Whether to pin unexpanded results. If this field is set to true,
	// unexpanded products are always at the top of the search results, followed
	// by the expanded results.
	PinUnexpandedResults bool `protobuf:"varint,2,opt,name=pin_unexpanded_results,json=pinUnexpandedResults,proto3" json:"pin_unexpanded_results,omitempty"`
	// contains filtered or unexported fields
}

Specification to determine under which conditions query expansion should occur.

func (*SearchRequest_QueryExpansionSpec) Descriptor deprecated

func (*SearchRequest_QueryExpansionSpec) Descriptor() ([]byte, []int)

Deprecated: Use SearchRequest_QueryExpansionSpec.ProtoReflect.Descriptor instead.

func (*SearchRequest_QueryExpansionSpec) GetCondition

func (*SearchRequest_QueryExpansionSpec) GetPinUnexpandedResults

func (x *SearchRequest_QueryExpansionSpec) GetPinUnexpandedResults() bool

func (*SearchRequest_QueryExpansionSpec) ProtoMessage

func (*SearchRequest_QueryExpansionSpec) ProtoMessage()

func (*SearchRequest_QueryExpansionSpec) ProtoReflect

func (*SearchRequest_QueryExpansionSpec) Reset

func (*SearchRequest_QueryExpansionSpec) String

type SearchRequest_QueryExpansionSpec_Condition

type SearchRequest_QueryExpansionSpec_Condition int32

Enum describing under which condition query expansion should occur.

const (
	// Unspecified query expansion condition. This defaults to
	// [Condition.DISABLED][google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
	SearchRequest_QueryExpansionSpec_CONDITION_UNSPECIFIED SearchRequest_QueryExpansionSpec_Condition = 0
	// Disabled query expansion. Only the exact search query is used, even if
	// [SearchResponse.total_size][google.cloud.retail.v2.SearchResponse.total_size]
	// is zero.
	SearchRequest_QueryExpansionSpec_DISABLED SearchRequest_QueryExpansionSpec_Condition = 1
	// Automatic query expansion built by Google Retail Search.
	SearchRequest_QueryExpansionSpec_AUTO SearchRequest_QueryExpansionSpec_Condition = 3
)

func (SearchRequest_QueryExpansionSpec_Condition) Descriptor

func (SearchRequest_QueryExpansionSpec_Condition) Enum

func (SearchRequest_QueryExpansionSpec_Condition) EnumDescriptor deprecated

func (SearchRequest_QueryExpansionSpec_Condition) EnumDescriptor() ([]byte, []int)

Deprecated: Use SearchRequest_QueryExpansionSpec_Condition.Descriptor instead.

func (SearchRequest_QueryExpansionSpec_Condition) Number

func (SearchRequest_QueryExpansionSpec_Condition) String

func (SearchRequest_QueryExpansionSpec_Condition) Type

type SearchResponse

type SearchResponse struct {

	// A list of matched items. The order represents the ranking.
	Results []*SearchResponse_SearchResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	// Results of facets requested by user.
	Facets []*SearchResponse_Facet `protobuf:"bytes,2,rep,name=facets,proto3" json:"facets,omitempty"`
	// The estimated total count of matched items irrespective of pagination. The
	// count of [results][google.cloud.retail.v2.SearchResponse.results] returned
	// by pagination may be less than the
	// [total_size][google.cloud.retail.v2.SearchResponse.total_size] that
	// matches.
	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
	// If spell correction applies, the corrected query. Otherwise, empty.
	CorrectedQuery string `protobuf:"bytes,4,opt,name=corrected_query,json=correctedQuery,proto3" json:"corrected_query,omitempty"`
	// A unique search token. This should be included in the
	// [UserEvent][google.cloud.retail.v2.UserEvent] logs resulting from this
	// search, which enables accurate attribution of search model performance.
	AttributionToken string `protobuf:"bytes,5,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"`
	// A token that can be sent as
	// [SearchRequest.page_token][google.cloud.retail.v2.SearchRequest.page_token]
	// to retrieve the next page. If this field is omitted, there are no
	// subsequent pages.
	NextPageToken string `protobuf:"bytes,6,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// Query expansion information for the returned results.
	QueryExpansionInfo *SearchResponse_QueryExpansionInfo `protobuf:"bytes,7,opt,name=query_expansion_info,json=queryExpansionInfo,proto3" json:"query_expansion_info,omitempty"`
	// The URI of a customer-defined redirect page. If redirect action is
	// triggered, no search will be performed, and only
	// [redirect_uri][google.cloud.retail.v2.SearchResponse.redirect_uri] and
	// [attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
	// will be set in the response.
	RedirectUri string `protobuf:"bytes,10,opt,name=redirect_uri,json=redirectUri,proto3" json:"redirect_uri,omitempty"`
	// contains filtered or unexported fields
}

Response message for [SearchService.Search][google.cloud.retail.v2.SearchService.Search] method.

func (*SearchResponse) Descriptor deprecated

func (*SearchResponse) Descriptor() ([]byte, []int)

Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead.

func (*SearchResponse) GetAttributionToken

func (x *SearchResponse) GetAttributionToken() string

func (*SearchResponse) GetCorrectedQuery

func (x *SearchResponse) GetCorrectedQuery() string

func (*SearchResponse) GetFacets

func (x *SearchResponse) GetFacets() []*SearchResponse_Facet

func (*SearchResponse) GetNextPageToken

func (x *SearchResponse) GetNextPageToken() string

func (*SearchResponse) GetQueryExpansionInfo

func (x *SearchResponse) GetQueryExpansionInfo() *SearchResponse_QueryExpansionInfo

func (*SearchResponse) GetRedirectUri

func (x *SearchResponse) GetRedirectUri() string

func (*SearchResponse) GetResults

func (x *SearchResponse) GetResults() []*SearchResponse_SearchResult

func (*SearchResponse) GetTotalSize

func (x *SearchResponse) GetTotalSize() int32

func (*SearchResponse) ProtoMessage

func (*SearchResponse) ProtoMessage()

func (*SearchResponse) ProtoReflect

func (x *SearchResponse) ProtoReflect() protoreflect.Message

func (*SearchResponse) Reset

func (x *SearchResponse) Reset()

func (*SearchResponse) String

func (x *SearchResponse) String() string

type SearchResponse_Facet

type SearchResponse_Facet struct {

	// The key for this facet. E.g., "colorFamilies" or "price" or
	// "attributes.attr1".
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// The facet values for this field.
	Values []*SearchResponse_Facet_FacetValue `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
	// Whether the facet is dynamically generated.
	DynamicFacet bool `protobuf:"varint,3,opt,name=dynamic_facet,json=dynamicFacet,proto3" json:"dynamic_facet,omitempty"`
	// contains filtered or unexported fields
}

A facet result.

func (*SearchResponse_Facet) Descriptor deprecated

func (*SearchResponse_Facet) Descriptor() ([]byte, []int)

Deprecated: Use SearchResponse_Facet.ProtoReflect.Descriptor instead.

func (*SearchResponse_Facet) GetDynamicFacet

func (x *SearchResponse_Facet) GetDynamicFacet() bool

func (*SearchResponse_Facet) GetKey

func (x *SearchResponse_Facet) GetKey() string

func (*SearchResponse_Facet) GetValues

func (*SearchResponse_Facet) ProtoMessage

func (*SearchResponse_Facet) ProtoMessage()

func (*SearchResponse_Facet) ProtoReflect

func (x *SearchResponse_Facet) ProtoReflect() protoreflect.Message

func (*SearchResponse_Facet) Reset

func (x *SearchResponse_Facet) Reset()

func (*SearchResponse_Facet) String

func (x *SearchResponse_Facet) String() string

type SearchResponse_Facet_FacetValue

type SearchResponse_Facet_FacetValue struct {

	// A facet value which contains values.
	//
	// Types that are assignable to FacetValue:
	//	*SearchResponse_Facet_FacetValue_Value
	//	*SearchResponse_Facet_FacetValue_Interval
	FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"`
	// Number of items that have this facet value.
	Count int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
	// contains filtered or unexported fields
}

A facet value which contains value names and their count.

func (*SearchResponse_Facet_FacetValue) Descriptor deprecated

func (*SearchResponse_Facet_FacetValue) Descriptor() ([]byte, []int)

Deprecated: Use SearchResponse_Facet_FacetValue.ProtoReflect.Descriptor instead.

func (*SearchResponse_Facet_FacetValue) GetCount

func (x *SearchResponse_Facet_FacetValue) GetCount() int64

func (*SearchResponse_Facet_FacetValue) GetFacetValue

func (m *SearchResponse_Facet_FacetValue) GetFacetValue() isSearchResponse_Facet_FacetValue_FacetValue

func (*SearchResponse_Facet_FacetValue) GetInterval

func (x *SearchResponse_Facet_FacetValue) GetInterval() *Interval

func (*SearchResponse_Facet_FacetValue) GetValue

func (*SearchResponse_Facet_FacetValue) ProtoMessage

func (*SearchResponse_Facet_FacetValue) ProtoMessage()

func (*SearchResponse_Facet_FacetValue) ProtoReflect

func (*SearchResponse_Facet_FacetValue) Reset

func (*SearchResponse_Facet_FacetValue) String

type SearchResponse_Facet_FacetValue_Interval

type SearchResponse_Facet_FacetValue_Interval struct {
	// Interval value for a facet, such as [10, 20) for facet "price".
	Interval *Interval `protobuf:"bytes,2,opt,name=interval,proto3,oneof"`
}

type SearchResponse_Facet_FacetValue_Value

type SearchResponse_Facet_FacetValue_Value struct {
	// Text value of a facet, such as "Black" for facet "colorFamilies".
	Value string `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
}

type SearchResponse_QueryExpansionInfo

type SearchResponse_QueryExpansionInfo struct {

	// Bool describing whether query expansion has occurred.
	ExpandedQuery bool `protobuf:"varint,1,opt,name=expanded_query,json=expandedQuery,proto3" json:"expanded_query,omitempty"`
	// Number of pinned results. This field will only be set when expansion
	// happens and [SearchRequest.query_expansion_spec.pin_unexpanded_results][]
	// is set to true.
	PinnedResultCount int64 `protobuf:"varint,2,opt,name=pinned_result_count,json=pinnedResultCount,proto3" json:"pinned_result_count,omitempty"`
	// contains filtered or unexported fields
}

Information describing query expansion including whether expansion has occurred.

func (*SearchResponse_QueryExpansionInfo) Descriptor deprecated

func (*SearchResponse_QueryExpansionInfo) Descriptor() ([]byte, []int)

Deprecated: Use SearchResponse_QueryExpansionInfo.ProtoReflect.Descriptor instead.

func (*SearchResponse_QueryExpansionInfo) GetExpandedQuery

func (x *SearchResponse_QueryExpansionInfo) GetExpandedQuery() bool

func (*SearchResponse_QueryExpansionInfo) GetPinnedResultCount

func (x *SearchResponse_QueryExpansionInfo) GetPinnedResultCount() int64

func (*SearchResponse_QueryExpansionInfo) ProtoMessage

func (*SearchResponse_QueryExpansionInfo) ProtoMessage()

func (*SearchResponse_QueryExpansionInfo) ProtoReflect

func (*SearchResponse_QueryExpansionInfo) Reset

func (*SearchResponse_QueryExpansionInfo) String

type SearchResponse_SearchResult

type SearchResponse_SearchResult struct {

	// [Product.id][google.cloud.retail.v2.Product.id] of the searched
	// [Product][google.cloud.retail.v2.Product].
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The product data snippet in the search response. Only
	// [Product.name][google.cloud.retail.v2.Product.name] is guaranteed to be
	// populated.
	//
	// [Product.variants][google.cloud.retail.v2.Product.variants] contains the
	// product variants that match the search query. If there are multiple
	// product variants matching the query, top 5 most relevant product variants
	// are returned and ordered by relevancy.
	//
	// If relevancy can be deternmined, use
	// [matching_variant_fields][google.cloud.retail.v2.SearchResponse.SearchResult.matching_variant_fields]
	// to look up matched product variants fields. If relevancy cannot be
	// determined, e.g. when searching "shoe" all products in a shoe product can
	// be a match, 5 product variants are returned but order is meaningless.
	Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
	// The count of matched
	// [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product]s.
	MatchingVariantCount int32 `protobuf:"varint,3,opt,name=matching_variant_count,json=matchingVariantCount,proto3" json:"matching_variant_count,omitempty"`
	// If a [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product] matches the search query, this
	// map indicates which [Product][google.cloud.retail.v2.Product] fields are
	// matched. The key is the
	// [Product.name][google.cloud.retail.v2.Product.name], the value is a field
	// mask of the matched [Product][google.cloud.retail.v2.Product] fields. If
	// matched attributes cannot be determined, this map will be empty.
	//
	// For example, a key "sku1" with field mask
	// "products.color_info" indicates there is a match between
	// "sku1" [ColorInfo][google.cloud.retail.v2.ColorInfo] and the query.
	MatchingVariantFields map[string]*fieldmaskpb.FieldMask `` /* 214-byte string literal not displayed */
	// The rollup matching
	// [variant][google.cloud.retail.v2.Product.Type.VARIANT]
	// [Product][google.cloud.retail.v2.Product] attributes. The key is one of
	// the
	// [SearchRequest.variant_rollup_keys][google.cloud.retail.v2.SearchRequest.variant_rollup_keys].
	// The values are the merged and de-duplicated
	// [Product][google.cloud.retail.v2.Product] attributes. Notice that the
	// rollup values are respect filter. For example, when filtering by
	// "colorFamilies:ANY(\"red\")" and rollup "colorFamilies", only "red" is
	// returned.
	//
	// For textual and numerical attributes, the rollup values is a list of
	// string or double values with type
	// [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
	// there are two variants with colors "red" and "blue", the rollup values
	// are
	//
	//     { key: "colorFamilies"
	//       value {
	//         list_value {
	//           values { string_value: "red" }
	//           values { string_value: "blue" }
	//          }
	//       }
	//     }
	//
	// For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], the rollup
	// values is a double value with type
	// [google.protobuf.Value][google.protobuf.Value]. For example,
	// `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
	// are 10 variants in this product are available in the store "store1".
	VariantRollupValues map[string]*structpb.Value `` /* 208-byte string literal not displayed */
	// contains filtered or unexported fields
}

Represents the search results.

func (*SearchResponse_SearchResult) Descriptor deprecated

func (*SearchResponse_SearchResult) Descriptor() ([]byte, []int)

Deprecated: Use SearchResponse_SearchResult.ProtoReflect.Descriptor instead.

func (*SearchResponse_SearchResult) GetId

func (*SearchResponse_SearchResult) GetMatchingVariantCount

func (x *SearchResponse_SearchResult) GetMatchingVariantCount() int32

func (*SearchResponse_SearchResult) GetMatchingVariantFields

func (x *SearchResponse_SearchResult) GetMatchingVariantFields() map[string]*fieldmaskpb.FieldMask

func (*SearchResponse_SearchResult) GetProduct

func (x *SearchResponse_SearchResult) GetProduct() *Product

func (*SearchResponse_SearchResult) GetVariantRollupValues

func (x *SearchResponse_SearchResult) GetVariantRollupValues() map[string]*structpb.Value

func (*SearchResponse_SearchResult) ProtoMessage

func (*SearchResponse_SearchResult) ProtoMessage()

func (*SearchResponse_SearchResult) ProtoReflect

func (*SearchResponse_SearchResult) Reset

func (x *SearchResponse_SearchResult) Reset()

func (*SearchResponse_SearchResult) String

func (x *SearchResponse_SearchResult) String() string

type SearchServiceClient

type SearchServiceClient interface {
	// Performs a search.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error)
}

SearchServiceClient is the client API for SearchService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type SearchServiceServer

type SearchServiceServer interface {
	// Performs a search.
	//
	// This feature is only available for users who have Retail Search enabled.
	// Please submit a form [here](https://cloud.google.com/contact) to contact
	// cloud sales if you are interested in using Retail Search.
	Search(context.Context, *SearchRequest) (*SearchResponse, error)
}

SearchServiceServer is the server API for SearchService service.

type SetDefaultBranchRequest

type SetDefaultBranchRequest struct {

	// Full resource name of the catalog, such as
	// `projects/*/locations/global/catalogs/default_catalog`.
	Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"`
	// The final component of the resource name of a branch.
	//
	// This field must be one of "0", "1" or "2". Otherwise, an INVALID_ARGUMENT
	// error is returned.
	BranchId string `protobuf:"bytes,2,opt,name=branch_id,json=branchId,proto3" json:"branch_id,omitempty"`
	// Some note on this request, this can be retrieved by
	// [CatalogService.GetDefaultBranch][google.cloud.retail.v2.CatalogService.GetDefaultBranch]
	// before next valid default branch set occurs.
	//
	// This field must be a UTF-8 encoded string with a length limit of 1,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	Note string `protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"`
	// contains filtered or unexported fields
}

Request message to set a specified branch as new default_branch.

func (*SetDefaultBranchRequest) Descriptor deprecated

func (*SetDefaultBranchRequest) Descriptor() ([]byte, []int)

Deprecated: Use SetDefaultBranchRequest.ProtoReflect.Descriptor instead.

func (*SetDefaultBranchRequest) GetBranchId

func (x *SetDefaultBranchRequest) GetBranchId() string

func (*SetDefaultBranchRequest) GetCatalog

func (x *SetDefaultBranchRequest) GetCatalog() string

func (*SetDefaultBranchRequest) GetNote

func (x *SetDefaultBranchRequest) GetNote() string

func (*SetDefaultBranchRequest) ProtoMessage

func (*SetDefaultBranchRequest) ProtoMessage()

func (*SetDefaultBranchRequest) ProtoReflect

func (x *SetDefaultBranchRequest) ProtoReflect() protoreflect.Message

func (*SetDefaultBranchRequest) Reset

func (x *SetDefaultBranchRequest) Reset()

func (*SetDefaultBranchRequest) String

func (x *SetDefaultBranchRequest) String() string

type SetInventoryMetadata

type SetInventoryMetadata struct {
	// contains filtered or unexported fields
}

Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the [SetInventory][] method.

func (*SetInventoryMetadata) Descriptor deprecated

func (*SetInventoryMetadata) Descriptor() ([]byte, []int)

Deprecated: Use SetInventoryMetadata.ProtoReflect.Descriptor instead.

func (*SetInventoryMetadata) ProtoMessage

func (*SetInventoryMetadata) ProtoMessage()

func (*SetInventoryMetadata) ProtoReflect

func (x *SetInventoryMetadata) ProtoReflect() protoreflect.Message

func (*SetInventoryMetadata) Reset

func (x *SetInventoryMetadata) Reset()

func (*SetInventoryMetadata) String

func (x *SetInventoryMetadata) String() string

type SetInventoryRequest

type SetInventoryRequest struct {

	// Required. The inventory information to update. The allowable fields to
	// update are:
	// * [Product.price_info][google.cloud.retail.v2.Product.price_info]
	// * [Product.availability][google.cloud.retail.v2.Product.availability]
	// * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
	// * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
	// The updated inventory fields must be specified in
	// [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
	//
	// If [SetInventoryRequest.inventory.name][] is empty or invalid, an
	// INVALID_ARGUMENT error is returned.
	//
	// If the caller does not have permission to update the
	// [Product][google.cloud.retail.v2.Product] named in
	// [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
	// or not it exists, a PERMISSION_DENIED error is returned.
	//
	// If the [Product][google.cloud.retail.v2.Product] to update does not have
	// existing inventory information, the provided inventory information will be
	// inserted.
	//
	// If the [Product][google.cloud.retail.v2.Product] to update has existing
	// inventory information, the provided inventory information will be merged
	// while respecting the last update time for each inventory field, using the
	// provided or default value for
	// [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time].
	//
	// The last update time is recorded for the following inventory fields:
	// * [Product.price_info][google.cloud.retail.v2.Product.price_info]
	// * [Product.availability][google.cloud.retail.v2.Product.availability]
	// * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
	// * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
	//
	// If a full overwrite of inventory information while ignoring timestamps is
	// needed, [UpdateProduct][] should be invoked instead.
	Inventory *Product `protobuf:"bytes,1,opt,name=inventory,proto3" json:"inventory,omitempty"`
	// Indicates which inventory fields in the provided
	// [Product][google.cloud.retail.v2.Product] to update. If not set or set with
	// empty paths, all inventory fields will be updated.
	//
	// If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
	// is returned and the entire update will be ignored.
	SetMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=set_mask,json=setMask,proto3" json:"set_mask,omitempty"`
	// The time when the request is issued, used to prevent
	// out-of-order updates on inventory fields with the last update time
	// recorded. If not provided, the internal system time will be used.
	SetTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=set_time,json=setTime,proto3" json:"set_time,omitempty"`
	// If set to true, and the [Product][google.cloud.retail.v2.Product] with name
	// [Product.name][google.cloud.retail.v2.Product.name] is not found, the
	// inventory update will still be processed and retained for at most 1 day
	// until the [Product][google.cloud.retail.v2.Product] is created. If set to
	// false, an INVALID_ARGUMENT error is returned if the
	// [Product][google.cloud.retail.v2.Product] is not found.
	AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
	// contains filtered or unexported fields
}

Request message for [SetInventory][] method.

func (*SetInventoryRequest) Descriptor deprecated

func (*SetInventoryRequest) Descriptor() ([]byte, []int)

Deprecated: Use SetInventoryRequest.ProtoReflect.Descriptor instead.

func (*SetInventoryRequest) GetAllowMissing

func (x *SetInventoryRequest) GetAllowMissing() bool

func (*SetInventoryRequest) GetInventory

func (x *SetInventoryRequest) GetInventory() *Product

func (*SetInventoryRequest) GetSetMask

func (x *SetInventoryRequest) GetSetMask() *fieldmaskpb.FieldMask

func (*SetInventoryRequest) GetSetTime

func (x *SetInventoryRequest) GetSetTime() *timestamppb.Timestamp

func (*SetInventoryRequest) ProtoMessage

func (*SetInventoryRequest) ProtoMessage()

func (*SetInventoryRequest) ProtoReflect

func (x *SetInventoryRequest) ProtoReflect() protoreflect.Message

func (*SetInventoryRequest) Reset

func (x *SetInventoryRequest) Reset()

func (*SetInventoryRequest) String

func (x *SetInventoryRequest) String() string

type SetInventoryResponse

type SetInventoryResponse struct {
	// contains filtered or unexported fields
}

Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the [SetInventory][] method.

func (*SetInventoryResponse) Descriptor deprecated

func (*SetInventoryResponse) Descriptor() ([]byte, []int)

Deprecated: Use SetInventoryResponse.ProtoReflect.Descriptor instead.

func (*SetInventoryResponse) ProtoMessage

func (*SetInventoryResponse) ProtoMessage()

func (*SetInventoryResponse) ProtoReflect

func (x *SetInventoryResponse) ProtoReflect() protoreflect.Message

func (*SetInventoryResponse) Reset

func (x *SetInventoryResponse) Reset()

func (*SetInventoryResponse) String

func (x *SetInventoryResponse) String() string

type UnimplementedCatalogServiceServer

type UnimplementedCatalogServiceServer struct {
}

UnimplementedCatalogServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedCatalogServiceServer) GetDefaultBranch

func (*UnimplementedCatalogServiceServer) ListCatalogs

func (*UnimplementedCatalogServiceServer) SetDefaultBranch

func (*UnimplementedCatalogServiceServer) UpdateCatalog

type UnimplementedCompletionServiceServer

type UnimplementedCompletionServiceServer struct {
}

UnimplementedCompletionServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedCompletionServiceServer) CompleteQuery

func (*UnimplementedCompletionServiceServer) ImportCompletionData

type UnimplementedPredictionServiceServer

type UnimplementedPredictionServiceServer struct {
}

UnimplementedPredictionServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedPredictionServiceServer) Predict

type UnimplementedProductServiceServer

type UnimplementedProductServiceServer struct {
}

UnimplementedProductServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedProductServiceServer) AddFulfillmentPlaces

func (*UnimplementedProductServiceServer) CreateProduct

func (*UnimplementedProductServiceServer) DeleteProduct

func (*UnimplementedProductServiceServer) GetProduct

func (*UnimplementedProductServiceServer) ImportProducts

func (*UnimplementedProductServiceServer) ListProducts

func (*UnimplementedProductServiceServer) RemoveFulfillmentPlaces

func (*UnimplementedProductServiceServer) SetInventory

func (*UnimplementedProductServiceServer) UpdateProduct

type UnimplementedSearchServiceServer

type UnimplementedSearchServiceServer struct {
}

UnimplementedSearchServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedSearchServiceServer) Search

type UnimplementedUserEventServiceServer

type UnimplementedUserEventServiceServer struct {
}

UnimplementedUserEventServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedUserEventServiceServer) CollectUserEvent

func (*UnimplementedUserEventServiceServer) ImportUserEvents

func (*UnimplementedUserEventServiceServer) PurgeUserEvents

func (*UnimplementedUserEventServiceServer) RejoinUserEvents

func (*UnimplementedUserEventServiceServer) WriteUserEvent

type UpdateCatalogRequest

type UpdateCatalogRequest struct {

	// Required. The [Catalog][google.cloud.retail.v2.Catalog] to update.
	//
	// If the caller does not have permission to update the
	// [Catalog][google.cloud.retail.v2.Catalog], regardless of whether or not it
	// exists, a PERMISSION_DENIED error is returned.
	//
	// If the [Catalog][google.cloud.retail.v2.Catalog] to update does not exist,
	// a NOT_FOUND error is returned.
	Catalog *Catalog `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"`
	// Indicates which fields in the provided
	// [Catalog][google.cloud.retail.v2.Catalog] to update.
	//
	// If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
	// is returned.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// contains filtered or unexported fields
}

Request for [CatalogService.UpdateCatalog][google.cloud.retail.v2.CatalogService.UpdateCatalog] method.

func (*UpdateCatalogRequest) Descriptor deprecated

func (*UpdateCatalogRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateCatalogRequest.ProtoReflect.Descriptor instead.

func (*UpdateCatalogRequest) GetCatalog

func (x *UpdateCatalogRequest) GetCatalog() *Catalog

func (*UpdateCatalogRequest) GetUpdateMask

func (x *UpdateCatalogRequest) GetUpdateMask() *fieldmaskpb.FieldMask

func (*UpdateCatalogRequest) ProtoMessage

func (*UpdateCatalogRequest) ProtoMessage()

func (*UpdateCatalogRequest) ProtoReflect

func (x *UpdateCatalogRequest) ProtoReflect() protoreflect.Message

func (*UpdateCatalogRequest) Reset

func (x *UpdateCatalogRequest) Reset()

func (*UpdateCatalogRequest) String

func (x *UpdateCatalogRequest) String() string

type UpdateProductRequest

type UpdateProductRequest struct {

	// Required. The product to update/create.
	//
	// If the caller does not have permission to update the
	// [Product][google.cloud.retail.v2.Product], regardless of whether or not it
	// exists, a PERMISSION_DENIED error is returned.
	//
	// If the [Product][google.cloud.retail.v2.Product] to update does not exist
	// and
	// [allow_missing][google.cloud.retail.v2.UpdateProductRequest.allow_missing]
	// is not set, a NOT_FOUND error is returned.
	Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
	// Indicates which fields in the provided
	// [Product][google.cloud.retail.v2.Product] to update. The immutable and
	// output only fields are NOT supported. If not set, all supported fields (the
	// fields that are neither immutable nor output only) are updated.
	//
	// If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
	// is returned.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// If set to true, and the [Product][google.cloud.retail.v2.Product] is not
	// found, a new [Product][google.cloud.retail.v2.Product] will be created. In
	// this situation, `update_mask` is ignored.
	AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
	// contains filtered or unexported fields
}

Request message for [UpdateProduct][] method.

func (*UpdateProductRequest) Descriptor deprecated

func (*UpdateProductRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateProductRequest.ProtoReflect.Descriptor instead.

func (*UpdateProductRequest) GetAllowMissing

func (x *UpdateProductRequest) GetAllowMissing() bool

func (*UpdateProductRequest) GetProduct

func (x *UpdateProductRequest) GetProduct() *Product

func (*UpdateProductRequest) GetUpdateMask

func (x *UpdateProductRequest) GetUpdateMask() *fieldmaskpb.FieldMask

func (*UpdateProductRequest) ProtoMessage

func (*UpdateProductRequest) ProtoMessage()

func (*UpdateProductRequest) ProtoReflect

func (x *UpdateProductRequest) ProtoReflect() protoreflect.Message

func (*UpdateProductRequest) Reset

func (x *UpdateProductRequest) Reset()

func (*UpdateProductRequest) String

func (x *UpdateProductRequest) String() string

type UserEvent

type UserEvent struct {

	// Required. User event type. Allowed values are:
	//
	// * `add-to-cart`: Products being added to cart.
	// * `category-page-view`: Special pages such as sale or promotion pages
	//   viewed.
	// * `completion`: Completion query result showed/clicked.
	// * `detail-page-view`: Products detail page viewed.
	// * `home-page-view`: Homepage viewed.
	// * `promotion-offered`: Promotion is offered to a user.
	// * `promotion-not-offered`: Promotion is not offered to a user.
	// * `purchase-complete`: User finishing a purchase.
	// * `search`: Product search.
	// * `shopping-cart-page-view`: User viewing a shopping cart.
	EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	// Required. A unique identifier for tracking visitors.
	//
	// For example, this could be implemented with an HTTP cookie, which should be
	// able to uniquely identify a visitor on a single device. This unique
	// identifier should not change if the visitor log in/out of the website.
	//
	// The field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// The field should not contain PII or user-data. We recommend to use Google
	// Analystics [Client
	// ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
	// for this field.
	VisitorId string `protobuf:"bytes,2,opt,name=visitor_id,json=visitorId,proto3" json:"visitor_id,omitempty"`
	// A unique identifier for tracking a visitor session with a length limit of
	// 128 bytes. A session is an aggregation of an end user behavior in a time
	// span.
	//
	// A general guideline to populate the sesion_id:
	// 1. If user has no activity for 30 min, a new session_id should be assigned.
	// 2. The session_id should be unique across users, suggest use uuid or add
	// visitor_id as prefix.
	SessionId string `protobuf:"bytes,21,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Only required for
	// [UserEventService.ImportUserEvents][google.cloud.retail.v2.UserEventService.ImportUserEvents]
	// method. Timestamp of when the user event happened.
	EventTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"`
	// A list of identifiers for the independent experiment groups this user event
	// belongs to. This is used to distinguish between user events associated with
	// different experiment setups (e.g. using Retail API, using different
	// recommendation models).
	ExperimentIds []string `protobuf:"bytes,4,rep,name=experiment_ids,json=experimentIds,proto3" json:"experiment_ids,omitempty"`
	// Highly recommended for user events that are the result of
	// [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
	// This field enables accurate attribution of recommendation model
	// performance.
	//
	// The value must be a valid
	// [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
	// for user events that are the result of
	// [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
	// The value must be a valid
	// [SearchResponse.attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
	// for user events that are the result of
	// [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
	//
	// This token enables us to accurately attribute page view or purchase back to
	// the event and the particular predict response containing this
	// clicked/purchased product. If user clicks on product K in the
	// recommendation results, pass
	// [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
	// as a URL parameter to product K's page. When recording events on product
	// K's page, log the
	// [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
	// to this field.
	AttributionToken string `protobuf:"bytes,5,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"`
	// The main product details related to the event.
	//
	// This field is required for the following event types:
	//
	// * `add-to-cart`
	// * `detail-page-view`
	// * `purchase-complete`
	//
	// In a `search` event, this field represents the products returned to the end
	// user on the current page (the end user may have not finished 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][google.cloud.retail.v2.UserEvent.product_details] is
	// desired. The end user may have not finished broswing the whole page yet.
	ProductDetails []*ProductDetail `protobuf:"bytes,6,rep,name=product_details,json=productDetails,proto3" json:"product_details,omitempty"`
	// The main completion details related to the event.
	//
	// In a `completion` event, this field represents the completions returned to
	// the end user and the clicked completion by the end user. In a `search`
	// event, it represents the search event happens after clicking completion.
	CompletionDetail *CompletionDetail `protobuf:"bytes,22,opt,name=completion_detail,json=completionDetail,proto3" json:"completion_detail,omitempty"`
	// Extra user event features to include in the recommendation model.
	//
	// The key must be a UTF-8 encoded string with a length limit of 5,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// 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.
	Attributes map[string]*CustomAttribute `` /* 161-byte string literal not displayed */
	// The id or name of the associated shopping cart. This id is used
	// to associate multiple items added or present in the cart before purchase.
	//
	// This can only be set for `add-to-cart`, `purchase-complete`, or
	// `shopping-cart-page-view` events.
	CartId string `protobuf:"bytes,8,opt,name=cart_id,json=cartId,proto3" json:"cart_id,omitempty"`
	// A transaction represents the entire purchase transaction.
	//
	// Required for `purchase-complete` events. Other event types should not set
	// this field. Otherwise, an INVALID_ARGUMENT error is returned.
	PurchaseTransaction *PurchaseTransaction `protobuf:"bytes,9,opt,name=purchase_transaction,json=purchaseTransaction,proto3" json:"purchase_transaction,omitempty"`
	// The user's search query.
	//
	// See [SearchRequest.query][google.cloud.retail.v2.SearchRequest.query] for
	// definition.
	//
	// The value must be a UTF-8 encoded string with a length limit of 5,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// At least one of
	// [search_query][google.cloud.retail.v2.UserEvent.search_query] or
	// [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
	// required for `search` events. Other event types should not set this field.
	// Otherwise, an INVALID_ARGUMENT error is returned.
	SearchQuery string `protobuf:"bytes,10,opt,name=search_query,json=searchQuery,proto3" json:"search_query,omitempty"`
	// The filter syntax consists of an expression language for constructing a
	// predicate from one or more fields of the products being filtered.
	//
	// See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
	// definition and syntax.
	//
	// The value must be a UTF-8 encoded string with a length limit of 1,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	Filter string `protobuf:"bytes,16,opt,name=filter,proto3" json:"filter,omitempty"`
	// The order in which products are returned.
	//
	// See [SearchRequest.order_by][google.cloud.retail.v2.SearchRequest.order_by]
	// for definition and syntax.
	//
	// The value must be a UTF-8 encoded string with a length limit of 1,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// This can only be set for `search` events. Other event types should not set
	// this field. Otherwise, an INVALID_ARGUMENT error is returned.
	OrderBy string `protobuf:"bytes,17,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	// An integer that specifies the current offset for pagination (the 0-indexed
	// starting location, amongst the products deemed by the API as relevant).
	//
	// See [SearchRequest.offset][google.cloud.retail.v2.SearchRequest.offset] for
	// definition.
	//
	// If this field is negative, an INVALID_ARGUMENT is returned.
	//
	// This can only be set for `search` events. Other event types should not set
	// this field. Otherwise, an INVALID_ARGUMENT error is returned.
	Offset int32 `protobuf:"varint,18,opt,name=offset,proto3" json:"offset,omitempty"`
	// The categories associated with a category page.
	//
	// To represent full path of category, use '>' sign to separate different
	// hierarchies. If '>' is part of the category name, please replace it with
	// other character(s).
	//
	// Category pages include special pages such as sales or promotions. For
	// instance, a special sale page may have the category hierarchy:
	// "pageCategories" : ["Sales > 2017 Black Friday Deals"].
	//
	// Required for `category-page-view` events. At least one of
	// [search_query][google.cloud.retail.v2.UserEvent.search_query] or
	// [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
	// required for `search` events. Other event types should not set this field.
	// Otherwise, an INVALID_ARGUMENT error is returned.
	PageCategories []string `protobuf:"bytes,11,rep,name=page_categories,json=pageCategories,proto3" json:"page_categories,omitempty"`
	// User information.
	UserInfo *UserInfo `protobuf:"bytes,12,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"`
	// Complete URL (window.location.href) of the user's current page.
	//
	// When using the client side event reporting with JavaScript pixel and Google
	// Tag Manager, this value is filled in automatically. Maximum length 5,000
	// characters.
	Uri string `protobuf:"bytes,13,opt,name=uri,proto3" json:"uri,omitempty"`
	// The referrer URL of the current page.
	//
	// When using the client side event reporting with JavaScript pixel and Google
	// Tag Manager, this value is filled in automatically.
	ReferrerUri string `protobuf:"bytes,14,opt,name=referrer_uri,json=referrerUri,proto3" json:"referrer_uri,omitempty"`
	// A unique id of a web page view.
	//
	// This should be kept the same for all user events triggered from the same
	// pageview. For example, an item detail page view could trigger multiple
	// events as the user is browsing the page. The `pageViewId` property should
	// be kept the same for all these events so that they can be grouped together
	// properly.
	//
	// When using the client side event reporting with JavaScript pixel and Google
	// Tag Manager, this value is filled in automatically.
	PageViewId string `protobuf:"bytes,15,opt,name=page_view_id,json=pageViewId,proto3" json:"page_view_id,omitempty"`
	// contains filtered or unexported fields
}

UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.

func (*UserEvent) Descriptor deprecated

func (*UserEvent) Descriptor() ([]byte, []int)

Deprecated: Use UserEvent.ProtoReflect.Descriptor instead.

func (*UserEvent) GetAttributes

func (x *UserEvent) GetAttributes() map[string]*CustomAttribute

func (*UserEvent) GetAttributionToken

func (x *UserEvent) GetAttributionToken() string

func (*UserEvent) GetCartId

func (x *UserEvent) GetCartId() string

func (*UserEvent) GetCompletionDetail

func (x *UserEvent) GetCompletionDetail() *CompletionDetail

func (*UserEvent) GetEventTime

func (x *UserEvent) GetEventTime() *timestamppb.Timestamp

func (*UserEvent) GetEventType

func (x *UserEvent) GetEventType() string

func (*UserEvent) GetExperimentIds

func (x *UserEvent) GetExperimentIds() []string

func (*UserEvent) GetFilter

func (x *UserEvent) GetFilter() string

func (*UserEvent) GetOffset

func (x *UserEvent) GetOffset() int32

func (*UserEvent) GetOrderBy

func (x *UserEvent) GetOrderBy() string

func (*UserEvent) GetPageCategories

func (x *UserEvent) GetPageCategories() []string

func (*UserEvent) GetPageViewId

func (x *UserEvent) GetPageViewId() string

func (*UserEvent) GetProductDetails

func (x *UserEvent) GetProductDetails() []*ProductDetail

func (*UserEvent) GetPurchaseTransaction

func (x *UserEvent) GetPurchaseTransaction() *PurchaseTransaction

func (*UserEvent) GetReferrerUri

func (x *UserEvent) GetReferrerUri() string

func (*UserEvent) GetSearchQuery

func (x *UserEvent) GetSearchQuery() string

func (*UserEvent) GetSessionId

func (x *UserEvent) GetSessionId() string

func (*UserEvent) GetUri

func (x *UserEvent) GetUri() string

func (*UserEvent) GetUserInfo

func (x *UserEvent) GetUserInfo() *UserInfo

func (*UserEvent) GetVisitorId

func (x *UserEvent) GetVisitorId() string

func (*UserEvent) ProtoMessage

func (*UserEvent) ProtoMessage()

func (*UserEvent) ProtoReflect

func (x *UserEvent) ProtoReflect() protoreflect.Message

func (*UserEvent) Reset

func (x *UserEvent) Reset()

func (*UserEvent) String

func (x *UserEvent) String() string

type UserEventImportSummary

type UserEventImportSummary struct {

	// Count of user events imported with complete existing catalog information.
	JoinedEventsCount int64 `protobuf:"varint,1,opt,name=joined_events_count,json=joinedEventsCount,proto3" json:"joined_events_count,omitempty"`
	// Count of user events imported, but with catalog information not found
	// in the imported catalog.
	UnjoinedEventsCount int64 `protobuf:"varint,2,opt,name=unjoined_events_count,json=unjoinedEventsCount,proto3" json:"unjoined_events_count,omitempty"`
	// contains filtered or unexported fields
}

A summary of import result. The UserEventImportSummary summarizes the import status for user events.

func (*UserEventImportSummary) Descriptor deprecated

func (*UserEventImportSummary) Descriptor() ([]byte, []int)

Deprecated: Use UserEventImportSummary.ProtoReflect.Descriptor instead.

func (*UserEventImportSummary) GetJoinedEventsCount

func (x *UserEventImportSummary) GetJoinedEventsCount() int64

func (*UserEventImportSummary) GetUnjoinedEventsCount

func (x *UserEventImportSummary) GetUnjoinedEventsCount() int64

func (*UserEventImportSummary) ProtoMessage

func (*UserEventImportSummary) ProtoMessage()

func (*UserEventImportSummary) ProtoReflect

func (x *UserEventImportSummary) ProtoReflect() protoreflect.Message

func (*UserEventImportSummary) Reset

func (x *UserEventImportSummary) Reset()

func (*UserEventImportSummary) String

func (x *UserEventImportSummary) String() string

type UserEventInlineSource

type UserEventInlineSource struct {

	// Required. A list of user events to import. Recommended max of 10k items.
	UserEvents []*UserEvent `protobuf:"bytes,1,rep,name=user_events,json=userEvents,proto3" json:"user_events,omitempty"`
	// contains filtered or unexported fields
}

The inline source for the input config for ImportUserEvents method.

func (*UserEventInlineSource) Descriptor deprecated

func (*UserEventInlineSource) Descriptor() ([]byte, []int)

Deprecated: Use UserEventInlineSource.ProtoReflect.Descriptor instead.

func (*UserEventInlineSource) GetUserEvents

func (x *UserEventInlineSource) GetUserEvents() []*UserEvent

func (*UserEventInlineSource) ProtoMessage

func (*UserEventInlineSource) ProtoMessage()

func (*UserEventInlineSource) ProtoReflect

func (x *UserEventInlineSource) ProtoReflect() protoreflect.Message

func (*UserEventInlineSource) Reset

func (x *UserEventInlineSource) Reset()

func (*UserEventInlineSource) String

func (x *UserEventInlineSource) String() string

type UserEventInputConfig

type UserEventInputConfig struct {

	// The source of the input.
	//
	// Types that are assignable to Source:
	//	*UserEventInputConfig_UserEventInlineSource
	//	*UserEventInputConfig_GcsSource
	//	*UserEventInputConfig_BigQuerySource
	Source isUserEventInputConfig_Source `protobuf_oneof:"source"`
	// contains filtered or unexported fields
}

The input config source for user events.

func (*UserEventInputConfig) Descriptor deprecated

func (*UserEventInputConfig) Descriptor() ([]byte, []int)

Deprecated: Use UserEventInputConfig.ProtoReflect.Descriptor instead.

func (*UserEventInputConfig) GetBigQuerySource

func (x *UserEventInputConfig) GetBigQuerySource() *BigQuerySource

func (*UserEventInputConfig) GetGcsSource

func (x *UserEventInputConfig) GetGcsSource() *GcsSource

func (*UserEventInputConfig) GetSource

func (m *UserEventInputConfig) GetSource() isUserEventInputConfig_Source

func (*UserEventInputConfig) GetUserEventInlineSource

func (x *UserEventInputConfig) GetUserEventInlineSource() *UserEventInlineSource

func (*UserEventInputConfig) ProtoMessage

func (*UserEventInputConfig) ProtoMessage()

func (*UserEventInputConfig) ProtoReflect

func (x *UserEventInputConfig) ProtoReflect() protoreflect.Message

func (*UserEventInputConfig) Reset

func (x *UserEventInputConfig) Reset()

func (*UserEventInputConfig) String

func (x *UserEventInputConfig) String() string

type UserEventInputConfig_BigQuerySource

type UserEventInputConfig_BigQuerySource struct {
	// Required. BigQuery input source.
	BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"`
}

type UserEventInputConfig_GcsSource

type UserEventInputConfig_GcsSource struct {
	// Required. Google Cloud Storage location for the input content.
	GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
}

type UserEventInputConfig_UserEventInlineSource

type UserEventInputConfig_UserEventInlineSource struct {
	// Required. The Inline source for the input content for UserEvents.
	UserEventInlineSource *UserEventInlineSource `protobuf:"bytes,1,opt,name=user_event_inline_source,json=userEventInlineSource,proto3,oneof"`
}

type UserEventServiceClient

type UserEventServiceClient interface {
	// Writes a single user event.
	WriteUserEvent(ctx context.Context, in *WriteUserEventRequest, opts ...grpc.CallOption) (*UserEvent, error)
	// Writes a single user event from the browser. This uses a GET request to
	// due to browser restriction of POST-ing to a 3rd party domain.
	//
	// This method is used only by the Retail API JavaScript pixel and Google Tag
	// Manager. Users should not call this method directly.
	CollectUserEvent(ctx context.Context, in *CollectUserEventRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error)
	// 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.
	PurgeUserEvents(ctx context.Context, in *PurgeUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// 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.
	ImportUserEvents(ctx context.Context, in *ImportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Triggers a user event rejoin operation with latest product catalog. Events
	// will not be annotated with detailed product information if product is
	// missing from the catalog 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 product catalog. It can also be used to
	// correct events joined with wrong product catalog.
	RejoinUserEvents(ctx context.Context, in *RejoinUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
}

UserEventServiceClient is the client API for UserEventService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type UserEventServiceServer

type UserEventServiceServer interface {
	// Writes a single user event.
	WriteUserEvent(context.Context, *WriteUserEventRequest) (*UserEvent, error)
	// Writes a single user event from the browser. This uses a GET request to
	// due to browser restriction of POST-ing to a 3rd party domain.
	//
	// This method is used only by the Retail API JavaScript pixel and Google Tag
	// Manager. Users should not call this method directly.
	CollectUserEvent(context.Context, *CollectUserEventRequest) (*httpbody.HttpBody, error)
	// 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.
	PurgeUserEvents(context.Context, *PurgeUserEventsRequest) (*longrunning.Operation, error)
	// 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.
	ImportUserEvents(context.Context, *ImportUserEventsRequest) (*longrunning.Operation, error)
	// Triggers a user event rejoin operation with latest product catalog. Events
	// will not be annotated with detailed product information if product is
	// missing from the catalog 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 product catalog. It can also be used to
	// correct events joined with wrong product catalog.
	RejoinUserEvents(context.Context, *RejoinUserEventsRequest) (*longrunning.Operation, error)
}

UserEventServiceServer is the server API for UserEventService service.

type UserInfo

type UserInfo struct {

	// Highly recommended for logged-in users. Unique identifier for logged-in
	// user, such as a user name.
	//
	// The field must be a UTF-8 encoded string with a length limit of 128
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// The end user's IP address. Required for getting
	// [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
	// This field is used to extract location information for personalization.
	//
	// This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
	// address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
	// INVALID_ARGUMENT error is returned.
	//
	// This should not be set when using the JavaScript tag in
	// [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
	// or if
	// [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
	// is set.
	IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	// User agent as included in the HTTP header. Required for getting
	// [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
	//
	// The field must be a UTF-8 encoded string with a length limit of 1,000
	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
	//
	// This should not be set when using the client side event reporting with
	// GTM or JavaScript tag in
	// [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
	// or if
	// [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
	// is set.
	UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// True if the request is made directly from the end user, in which case the
	// [ip_address][google.cloud.retail.v2.UserInfo.ip_address] and
	// [user_agent][google.cloud.retail.v2.UserInfo.user_agent] can be populated
	// from the HTTP request. This flag should be set only if the API request is
	// made directly from the end user such as a mobile app (and not if a gateway
	// or a server is processing and pushing the user events).
	//
	// This should not be set when using the JavaScript tag in
	// [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent].
	DirectUserRequest bool `protobuf:"varint,4,opt,name=direct_user_request,json=directUserRequest,proto3" json:"direct_user_request,omitempty"`
	// contains filtered or unexported fields
}

Information of an end user.

func (*UserInfo) Descriptor deprecated

func (*UserInfo) Descriptor() ([]byte, []int)

Deprecated: Use UserInfo.ProtoReflect.Descriptor instead.

func (*UserInfo) GetDirectUserRequest

func (x *UserInfo) GetDirectUserRequest() bool

func (*UserInfo) GetIpAddress

func (x *UserInfo) GetIpAddress() string

func (*UserInfo) GetUserAgent

func (x *UserInfo) GetUserAgent() string

func (*UserInfo) GetUserId

func (x *UserInfo) GetUserId() string

func (*UserInfo) ProtoMessage

func (*UserInfo) ProtoMessage()

func (*UserInfo) ProtoReflect

func (x *UserInfo) ProtoReflect() protoreflect.Message

func (*UserInfo) Reset

func (x *UserInfo) Reset()

func (*UserInfo) String

func (x *UserInfo) String() string

type WriteUserEventRequest

type WriteUserEventRequest struct {

	// Required. The parent catalog resource name, such as
	// `projects/1234/locations/global/catalogs/default_catalog`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. User event to write.
	UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"`
	// contains filtered or unexported fields
}

Request message for WriteUserEvent method.

func (*WriteUserEventRequest) Descriptor deprecated

func (*WriteUserEventRequest) Descriptor() ([]byte, []int)

Deprecated: Use WriteUserEventRequest.ProtoReflect.Descriptor instead.

func (*WriteUserEventRequest) GetParent

func (x *WriteUserEventRequest) GetParent() string

func (*WriteUserEventRequest) GetUserEvent

func (x *WriteUserEventRequest) GetUserEvent() *UserEvent

func (*WriteUserEventRequest) ProtoMessage

func (*WriteUserEventRequest) ProtoMessage()

func (*WriteUserEventRequest) ProtoReflect

func (x *WriteUserEventRequest) ProtoReflect() protoreflect.Message

func (*WriteUserEventRequest) Reset

func (x *WriteUserEventRequest) Reset()

func (*WriteUserEventRequest) String

func (x *WriteUserEventRequest) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL