UNPKG

googleapis

Version:
933 lines 149 kB
/// <reference types="node" /> import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common'; import { Readable } from 'stream'; export declare namespace retail_v2 { export interface Options extends GlobalOptions { version: 'v2'; } interface StandardParameters { /** * Auth client or API Key for the request */ auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth; /** * V1 error format. */ '$.xgafv'?: string; /** * OAuth access token. */ access_token?: string; /** * Data format for response. */ alt?: string; /** * JSONP */ callback?: string; /** * Selector specifying which fields to include in a partial response. */ fields?: string; /** * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * OAuth 2.0 token for the current user. */ oauth_token?: string; /** * Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** * Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; } /** * Retail API * * Cloud Retail service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud. * * @example * ```js * const {google} = require('googleapis'); * const retail = google.retail('v2'); * ``` */ export class Retail { context: APIRequestContext; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable); } /** * Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; \} service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); \} Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); \} Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged. */ export interface Schema$GoogleApiHttpBody { /** * The HTTP Content-Type header value specifying the content type of the body. */ contentType?: string | null; /** * The HTTP request/response body as raw binary. */ data?: string | null; /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ extensions?: Array<{ [key: string]: any; }> | null; } /** * A description of the context in which an error occurred. */ export interface Schema$GoogleCloudRetailLoggingErrorContext { /** * The HTTP request which was processed when the error was triggered. */ httpRequest?: Schema$GoogleCloudRetailLoggingHttpRequestContext; /** * The location in the source code where the decision was made to report the error, usually the place where it was logged. */ reportLocation?: Schema$GoogleCloudRetailLoggingSourceLocation; } /** * An error log which is reported to the Error Reporting system. This proto a superset of google.devtools.clouderrorreporting.v1beta1.ReportedErrorEvent. */ export interface Schema$GoogleCloudRetailLoggingErrorLog { /** * A description of the context in which the error occurred. */ context?: Schema$GoogleCloudRetailLoggingErrorContext; /** * The error payload that is populated on LRO import APIs. */ importPayload?: Schema$GoogleCloudRetailLoggingImportErrorContext; /** * A message describing the error. */ message?: string | null; /** * The API request payload, represented as a protocol buffer. Most API request types are supported. For example: "type.googleapis.com/google.cloud.retail.v2.ProductService.CreateProductRequest" "type.googleapis.com/google.cloud.retail.v2.UserEventService.WriteUserEventRequest" */ requestPayload?: { [key: string]: any; } | null; /** * The API response payload, represented as a protocol buffer. This is used to log some "soft errors", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported and no PII is included: "google.cloud.retail.v2.PredictionService.Predict" "google.cloud.retail.v2.UserEventService.WriteUserEvent" "google.cloud.retail.v2.UserEventService.CollectUserEvent" */ responsePayload?: { [key: string]: any; } | null; /** * The service context in which this error has occurred. */ serviceContext?: Schema$GoogleCloudRetailLoggingServiceContext; /** * The RPC status associated with the error log. */ status?: Schema$GoogleRpcStatus; } /** * HTTP request data that is related to a reported error. */ export interface Schema$GoogleCloudRetailLoggingHttpRequestContext { /** * The HTTP response status code for the request. */ responseStatusCode?: number | null; } /** * The error payload that is populated on LRO import APIs. Including: "google.cloud.retail.v2.ProductService.ImportProducts" "google.cloud.retail.v2.EventService.ImportUserEvents" */ export interface Schema$GoogleCloudRetailLoggingImportErrorContext { /** * The detailed content which caused the error on importing a catalog item. */ catalogItem?: string | null; /** * GCS file path of the import source. Can be set for batch operation error. */ gcsPath?: string | null; /** * Line number of the content in file. Should be empty for permission or batch operation error. */ lineNumber?: string | null; /** * The operation resource name of the LRO. */ operationName?: string | null; /** * The detailed content which caused the error on importing a product. */ product?: string | null; /** * The detailed content which caused the error on importing a user event. */ userEvent?: string | null; } /** * Describes a running service that sends errors. */ export interface Schema$GoogleCloudRetailLoggingServiceContext { /** * An identifier of the service. For example, "retail.googleapis.com". */ service?: string | null; } /** * Indicates a location in the source code of the service for which errors are reported. */ export interface Schema$GoogleCloudRetailLoggingSourceLocation { /** * Human-readable name of a function or method. For example, "google.cloud.retail.v2.UserEventService.ImportUserEvents". */ functionName?: string | null; } /** * Configuration of destination for Export related errors. */ export interface Schema$GoogleCloudRetailV2alphaExportErrorsConfig { /** * Google Cloud Storage path for import errors. This must be an empty, existing Cloud Storage bucket. Export errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message. */ gcsPrefix?: string | null; } /** * Metadata related to the progress of the Export operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2alphaExportMetadata { /** * Operation create time. */ createTime?: string | null; /** * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; } /** * Response of the ExportProductsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful. */ export interface Schema$GoogleCloudRetailV2alphaExportProductsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors in the request if set. */ errorsConfig?: Schema$GoogleCloudRetailV2alphaExportErrorsConfig; } /** * Response of the ExportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful. */ export interface Schema$GoogleCloudRetailV2alphaExportUserEventsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors if this field was set in the request. */ errorsConfig?: Schema$GoogleCloudRetailV2alphaExportErrorsConfig; } /** * Configuration of destination for Import related errors. */ export interface Schema$GoogleCloudRetailV2alphaImportErrorsConfig { /** * 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 | null; } /** * Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2alphaImportMetadata { /** * Operation create time. */ createTime?: string | null; /** * Count of entries that encountered errors while processing. */ failureCount?: string | null; /** * Count of entries that were processed successfully. */ successCount?: string | null; /** * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; } /** * Response of the 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. */ export interface Schema$GoogleCloudRetailV2alphaImportProductsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors in the request if set. */ errorsConfig?: Schema$GoogleCloudRetailV2alphaImportErrorsConfig; } /** * 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. */ export interface Schema$GoogleCloudRetailV2alphaImportUserEventsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors if this field was set in the request. */ errorsConfig?: Schema$GoogleCloudRetailV2alphaImportErrorsConfig; /** * Aggregated statistics of user event import status. */ importSummary?: Schema$GoogleCloudRetailV2alphaUserEventImportSummary; } /** * Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2alphaPurgeMetadata { } /** * Response of the PurgeUserEventsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field. */ export interface Schema$GoogleCloudRetailV2alphaPurgeUserEventsResponse { /** * The total count of events purged as a result of the operation. */ purgedEventsCount?: string | null; } /** * Metadata for RejoinUserEvents method. */ export interface Schema$GoogleCloudRetailV2alphaRejoinUserEventsMetadata { } /** * Response message for RejoinUserEvents method. */ export interface Schema$GoogleCloudRetailV2alphaRejoinUserEventsResponse { /** * Number of user events that were joined with latest product catalog. */ rejoinedUserEventsCount?: string | null; } /** * A summary of import result. The UserEventImportSummary summarizes the import status for user events. */ export interface Schema$GoogleCloudRetailV2alphaUserEventImportSummary { /** * Count of user events imported with complete existing catalog information. */ joinedEventsCount?: string | null; /** * Count of user events imported, but with catalog information not found in the imported catalog. */ unjoinedEventsCount?: string | null; } /** * Configuration of destination for Export related errors. */ export interface Schema$GoogleCloudRetailV2betaExportErrorsConfig { /** * Google Cloud Storage path for import errors. This must be an empty, existing Cloud Storage bucket. Export errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message. */ gcsPrefix?: string | null; } /** * Metadata related to the progress of the Export operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2betaExportMetadata { /** * Operation create time. */ createTime?: string | null; /** * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; } /** * Response of the ExportProductsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful. */ export interface Schema$GoogleCloudRetailV2betaExportProductsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors in the request if set. */ errorsConfig?: Schema$GoogleCloudRetailV2betaExportErrorsConfig; } /** * Response of the ExportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful. */ export interface Schema$GoogleCloudRetailV2betaExportUserEventsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors if this field was set in the request. */ errorsConfig?: Schema$GoogleCloudRetailV2betaExportErrorsConfig; } /** * Configuration of destination for Import related errors. */ export interface Schema$GoogleCloudRetailV2betaImportErrorsConfig { /** * 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 | null; } /** * Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2betaImportMetadata { /** * Operation create time. */ createTime?: string | null; /** * Count of entries that encountered errors while processing. */ failureCount?: string | null; /** * Count of entries that were processed successfully. */ successCount?: string | null; /** * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; } /** * Response of the 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. */ export interface Schema$GoogleCloudRetailV2betaImportProductsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors in the request if set. */ errorsConfig?: Schema$GoogleCloudRetailV2betaImportErrorsConfig; } /** * 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. */ export interface Schema$GoogleCloudRetailV2betaImportUserEventsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors if this field was set in the request. */ errorsConfig?: Schema$GoogleCloudRetailV2betaImportErrorsConfig; /** * Aggregated statistics of user event import status. */ importSummary?: Schema$GoogleCloudRetailV2betaUserEventImportSummary; } /** * Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2betaPurgeMetadata { } /** * Response of the PurgeUserEventsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field. */ export interface Schema$GoogleCloudRetailV2betaPurgeUserEventsResponse { /** * The total count of events purged as a result of the operation. */ purgedEventsCount?: string | null; } /** * Metadata for RejoinUserEvents method. */ export interface Schema$GoogleCloudRetailV2betaRejoinUserEventsMetadata { } /** * Response message for RejoinUserEvents method. */ export interface Schema$GoogleCloudRetailV2betaRejoinUserEventsResponse { /** * Number of user events that were joined with latest product catalog. */ rejoinedUserEventsCount?: string | null; } /** * A summary of import result. The UserEventImportSummary summarizes the import status for user events. */ export interface Schema$GoogleCloudRetailV2betaUserEventImportSummary { /** * Count of user events imported with complete existing catalog information. */ joinedEventsCount?: string | null; /** * Count of user events imported, but with catalog information not found in the imported catalog. */ unjoinedEventsCount?: string | null; } /** * BigQuery source import data from. */ export interface Schema$GoogleCloudRetailV2BigQuerySource { /** * The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid 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 per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719?hl=en. */ dataSchema?: string | null; /** * Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. */ datasetId?: string | null; /** * 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 | null; /** * 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 | null; /** * Required. The BigQuery table to copy the data from with a length limit of 1,024 characters. */ tableId?: string | null; } /** * The catalog configuration. */ export interface Schema$GoogleCloudRetailV2Catalog { /** * 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 | null; /** * Required. Immutable. The fully qualified resource name of the catalog. */ name?: string | null; /** * Required. The product level configuration. */ productLevelConfig?: Schema$GoogleCloudRetailV2ProductLevelConfig; } /** * A custom attribute that is not explicitly modeled in Product. */ export interface Schema$GoogleCloudRetailV2CustomAttribute { /** * 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 or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. */ numbers?: number[] | null; /** * 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 or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. */ text?: string[] | null; } /** * Google Cloud Storage location for input content. format. */ export interface Schema$GoogleCloudRetailV2GcsSource { /** * The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mcc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719?hl=en. */ dataSchema?: string | null; /** * 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/x.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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions. */ inputUris?: string[] | null; } /** * Product thumbnail/detail image. */ export interface Schema$GoogleCloudRetailV2Image { /** * Height of the image in number of pixels. This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned. */ height?: number | null; /** * 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 | null; /** * Width of the image in number of pixels. This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is returned. */ width?: number | null; } /** * Configuration of destination for Import related errors. */ export interface Schema$GoogleCloudRetailV2ImportErrorsConfig { /** * 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 | null; } /** * Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2ImportMetadata { /** * Operation create time. */ createTime?: string | null; /** * Count of entries that encountered errors while processing. */ failureCount?: string | null; /** * Count of entries that were processed successfully. */ successCount?: string | null; /** * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; } /** * Request message for Import methods. */ export interface Schema$GoogleCloudRetailV2ImportProductsRequest { /** * The desired location of errors incurred during the Import. */ errorsConfig?: Schema$GoogleCloudRetailV2ImportErrorsConfig; /** * Required. The desired input location of the data. */ inputConfig?: Schema$GoogleCloudRetailV2ProductInputConfig; /** * Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields. */ updateMask?: string | null; } /** * Response of the 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. */ export interface Schema$GoogleCloudRetailV2ImportProductsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors in the request if set. */ errorsConfig?: Schema$GoogleCloudRetailV2ImportErrorsConfig; } /** * Request message for the ImportUserEvents request. */ export interface Schema$GoogleCloudRetailV2ImportUserEventsRequest { /** * The desired location of errors incurred during the Import. Cannot be set for inline user event imports. */ errorsConfig?: Schema$GoogleCloudRetailV2ImportErrorsConfig; /** * Required. The desired input location of the data. */ inputConfig?: Schema$GoogleCloudRetailV2UserEventInputConfig; } /** * 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. */ export interface Schema$GoogleCloudRetailV2ImportUserEventsResponse { /** * A sample of errors encountered while processing the request. */ errorSamples?: Schema$GoogleRpcStatus[]; /** * Echoes the destination for the complete errors if this field was set in the request. */ errorsConfig?: Schema$GoogleCloudRetailV2ImportErrorsConfig; /** * Aggregated statistics of user event import status. */ importSummary?: Schema$GoogleCloudRetailV2UserEventImportSummary; } /** * Response for CatalogService.ListCatalogs method. */ export interface Schema$GoogleCloudRetailV2ListCatalogsResponse { /** * All the customer's Catalogs. */ catalogs?: Schema$GoogleCloudRetailV2Catalog[]; /** * A token that can be sent as ListCatalogsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; } /** * Request message for Predict method. */ export interface Schema$GoogleCloudRetailV2PredictRequest { /** * 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 | null; /** * The labels for the predict request. * Label keys can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * Non-zero label values can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * No more than 64 labels can be associated with a given request. See https://goo.gl/xmQnxf for more information on and examples of labels. */ labels?: { [key: string]: string; } | null; /** * 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?: number | null; /** * The previous PredictResponse.next_page_token. */ pageToken?: string | null; /** * 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. */ params?: { [key: string]: any; } | null; /** * 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?: Schema$GoogleCloudRetailV2UserEvent; /** * 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?: boolean | null; } /** * Response message for predict method. */ export interface Schema$GoogleCloudRetailV2PredictResponse { /** * A unique attribution token. This should be included in the UserEvent logs resulting from this recommendation, which enables accurate attribution of recommendation model performance. */ attributionToken?: string | null; /** * IDs of products in the request that were missing from the inventory. */ missingIds?: string[] | null; /** * A list of recommended products. The order represents the ranking (from the most relevant product to the least). */ results?: Schema$GoogleCloudRetailV2PredictResponsePredictionResult[]; /** * True if the validateOnly property was set in the request. */ validateOnly?: boolean | null; } /** * PredictionResult represents the recommendation prediction results. */ export interface Schema$GoogleCloudRetailV2PredictResponsePredictionResult { /** * ID of the recommended product */ id?: string | null; /** * 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?: { [key: string]: any; } | null; } /** * The price information of a Product. */ export interface Schema$GoogleCloudRetailV2PriceInfo { /** * The costs associated with the sale of a particular product. Used for gross profit reporting. * Profit = price - cost Google Merchant Center property [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895). */ cost?: number | null; /** * 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. */ currencyCode?: string | null; /** * Price of the product without any discount. If zero, by default set to be the price. */ originalPrice?: number | null; /** * 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?: number | null; } /** * Product captures all metadata information of items to be recommended or searched. */ export interface Schema$GoogleCloudRetailV2Product { /** * 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: 150 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. */ attributes?: { [key: string]: Schema$GoogleCloudRetailV2CustomAttribute; } | null; /** * The online availability of the Product. Default to 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?: string | null; /** * The available quantity of the item. */ availableQuantity?: number | null; /** * The timestamp when this Product becomes available for recommendation. */ availableTime?: string | null; /** * 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 Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per 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. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 */ categories?: string[] | null; /** * 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 | null; /** * Immutable. Product identifier, which is the final component of name. For example, this field is "id_1", if name is `projects/x/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 | null; /** * 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?: Schema$GoogleCloudRetailV2Image[]; /** * Immutable. Full resource name of the product, such as `projects/x/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be "default_branch". */ name?: string | null; /** * Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). */ priceInfo?: Schema$GoogleCloudRetailV2PriceInfo; /** * Variant group identifier. Must be an id, with the same parent branch with this product. Otherwise, an error is thrown. For Type.PRIMARY Products, this field can only be empty or set to the same value as id. For VARIANT Products, this field cannot be empty. A maximum of 2,000 products are allowed to share the same Type.PRIMARY 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 | null; /** * Custom tags associated with the product. At most 250 values are allowed per 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 Merchant Center property [custom_label_0–4](https://support.google.com/merchants/answer/6324473). */ tags?: string[] | null; /** * 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 | null; /** * Immutable. The type of the product. This field is output-only. */ type?: string | null; /** * 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 | null; } /** * Detailed product information associated with a user event. */ export interface Schema$GoogleCloudRetailV2ProductDetail { /** * Required. Product information. Only Product.id field is used when ingesting an event, all other product fields are ignored as we will look them up from the catalog. */ product?: Schema$GoogleCloudRetailV2Product; /** * 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?: number | null; } /** * The inline source for the input config for ImportProducts method. */ export interface Schema$GoogleCloudRetailV2ProductInlineSource { /** * Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 10k items. */ products?: Schema$GoogleCloudRetailV2Product[]; } /** * The input config source for products. */ export interface Schema$GoogleCloudRetailV2ProductInputConfig { /** * BigQuery input source. */ bigQuerySource?: Schema$GoogleCloudRetailV2BigQuerySource; /** * Google Cloud Storage location for the input content. */ gcsSource?: Schema$GoogleCloudRetailV2GcsSource; /** * The Inline source for the input content for products. */ productInlineSource?: Schema$GoogleCloudRetailV2ProductInlineSource; } /** * Configures what level the product should be uploaded with regards to how users will be send events and how predictions will be made. */ export interface Schema$GoogleCloudRetailV2ProductLevelConfig { /** * The type of Products allowed to be ingested into the catalog. Acceptable values are: * `primary` (default): You can only ingest Product.Type.PRIMARY Products. This means Product.primary_product_id can only be empty or set to the same value as Product.id. * `variant`: You can only ingest Product.Type.VARIANT Products. This means 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 is `itemGroupId`, an INVALID_ARGUMENT error is returned. See [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details. */ ingestionProductType?: string | null; /** * Which field of [Merchant Center Product](/bigquery-transfer/docs/merchant-center-products-schema) should be imported as 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 is `variant`, an INVALID_ARGUMENT error is returned. See [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details. */ merchantCenterProductIdField?: string | null; } /** * A transaction represents the entire purchase transaction. */ export interface Schema$GoogleCloudRetailV2PurchaseTransaction { /** * All the costs associated with the products. These can be manufacturing costs, shipping expenses not borne by the end user, or any other costs, such that: * Profit = revenue - tax - cost */ cost?: number | null; /** * Required. Currency code. Use three-character ISO-4217 code. */ currencyCode?: string | null; /** * The transaction ID with a length limit of 128 characters. */ id?: string | null; /** * Required. Total non-zero revenue or grand total associated with the transaction. This value include shipping, tax, or other adjustments to total revenue that you want to include as part of your revenue calculations. */ revenue?: number | null; /** * All the taxes associated with the transaction. */ tax?: number | null; } /** * Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field. */ export interface Schema$GoogleCloudRetailV2PurgeMetadata { } /** * Request message for PurgeUserEvents method. */ export interface Schema$GoogleCloudRetailV2PurgeUserEventsRequest { /** * Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. Empty string filter is not allowed. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu" format. * `visitorId`: Double qu