retail

package
Version: v0.0.0-...-3cb0678 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2021 License: Apache-2.0 Imports: 19 Imported by: 2

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_SearchMode_name = map[int32]string{
		0: "SEARCH_MODE_UNSPECIFIED",
		1: "PRODUCT_SEARCH_ONLY",
		2: "FACETED_SEARCH_ONLY",
	}
	SearchRequest_SearchMode_value = map[string]int32{
		"SEARCH_MODE_UNSPECIFIED": 0,
		"PRODUCT_SEARCH_ONLY":     1,
		"FACETED_SEARCH_ONLY":     2,
	}
)

Enum value maps for SearchRequest_SearchMode.

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, a
	// NOT_FOUND 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 AddFulfillmentPlacesRequest. 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 25 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 3000 values are allowed. Each value must be a string with a
	// length limit of 30 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`.
	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 ingest
	// [Product][google.cloud.retail.v2.Product]s of all types. When
	//   ingesting a [Product][google.cloud.retail.v2.Product], its type will
	//   default to
	//   [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] if
	//   unset.
	// * `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