google.cloud.recommendationengine.v1beta1.catalog_service.proto Maven / Gradle / Ivy
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.cloud.recommendationengine.v1beta1;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/recommendationengine/v1beta1/catalog.proto";
import "google/cloud/recommendationengine/v1beta1/import.proto";
import "google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
option csharp_namespace = "Google.Cloud.RecommendationEngine.V1Beta1";
option go_package = "cloud.google.com/go/recommendationengine/apiv1beta1/recommendationenginepb;recommendationenginepb";
option java_multiple_files = true;
option java_package = "com.google.cloud.recommendationengine.v1beta1";
option objc_class_prefix = "RECAI";
option php_namespace = "Google\\Cloud\\RecommendationEngine\\V1beta1";
option ruby_package = "Google::Cloud::RecommendationEngine::V1beta1";
// Service for ingesting catalog information of the customer's website.
service CatalogService {
option (google.api.default_host) = "recommendationengine.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform";
// Creates a catalog item.
rpc CreateCatalogItem(CreateCatalogItemRequest) returns (CatalogItem) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*}/catalogItems"
body: "catalog_item"
};
option (google.api.method_signature) = "parent,catalog_item";
}
// Gets a specific catalog item.
rpc GetCatalogItem(GetCatalogItemRequest) returns (CatalogItem) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/catalogs/*/catalogItems/**}"
};
option (google.api.method_signature) = "name";
}
// Gets a list of catalog items.
rpc ListCatalogItems(ListCatalogItemsRequest)
returns (ListCatalogItemsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*/catalogs/*}/catalogItems"
};
option (google.api.method_signature) = "parent,filter";
}
// Updates a catalog item. Partial updating is supported. Non-existing
// items will be created.
rpc UpdateCatalogItem(UpdateCatalogItemRequest) returns (CatalogItem) {
option (google.api.http) = {
patch: "/v1beta1/{name=projects/*/locations/*/catalogs/*/catalogItems/**}"
body: "catalog_item"
};
option (google.api.method_signature) = "name,catalog_item,update_mask";
}
// Deletes a catalog item.
rpc DeleteCatalogItem(DeleteCatalogItemRequest)
returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/locations/*/catalogs/*/catalogItems/**}"
};
option (google.api.method_signature) = "name";
}
// Bulk import of multiple catalog items. Request processing may be
// synchronous. No partial updating supported. Non-existing items will be
// created.
//
// Operation.response is of type ImportResponse. Note that it is
// possible for a subset of the items to be successfully updated.
rpc ImportCatalogItems(ImportCatalogItemsRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*}/catalogItems:import"
body: "*"
};
option (google.longrunning.operation_info) = {
response_type: "google.cloud.recommendationengine.v1beta1.ImportCatalogItemsResponse"
metadata_type: "google.cloud.recommendationengine.v1beta1.ImportMetadata"
};
option (google.api.method_signature) =
"parent,request_id,input_config,errors_config";
}
}
// Request message for CreateCatalogItem method.
message CreateCatalogItemRequest {
// Required. The parent catalog resource name, such as
// `projects/*/locations/global/catalogs/default_catalog`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "recommendationengine.googleapis.com/Catalog"
}
];
// Required. The catalog item to create.
CatalogItem catalog_item = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for GetCatalogItem method.
message GetCatalogItemRequest {
// Required. Full resource name of catalog item, such as
// `projects/*/locations/global/catalogs/default_catalog/catalogitems/some_catalog_item_id`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "recommendationengine.googleapis.com/CatalogItemPath"
}
];
}
// Request message for ListCatalogItems method.
message ListCatalogItemsRequest {
// Required. The parent catalog resource name, such as
// `projects/*/locations/global/catalogs/default_catalog`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "recommendationengine.googleapis.com/Catalog"
}
];
// Optional. Maximum number of results to return per page. If zero, the
// service will choose a reasonable default.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. The previous ListCatalogItemsResponse.next_page_token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. A filter to apply on the list results.
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Response message for ListCatalogItems method.
message ListCatalogItemsResponse {
// The catalog items.
repeated CatalogItem catalog_items = 1;
// If empty, the list is complete. If nonempty, the token to pass to the next
// request's ListCatalogItemRequest.page_token.
string next_page_token = 2;
}
// Request message for UpdateCatalogItem method.
message UpdateCatalogItemRequest {
// Required. Full resource name of catalog item, such as
// `projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "recommendationengine.googleapis.com/CatalogItemPath"
}
];
// Required. The catalog item to update/create. The 'catalog_item_id' field
// has to match that in the 'name'.
CatalogItem catalog_item = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. Indicates which fields in the provided 'item' to update. If not
// set, will by default update all fields.
google.protobuf.FieldMask update_mask = 3;
}
// Request message for DeleteCatalogItem method.
message DeleteCatalogItemRequest {
// Required. Full resource name of catalog item, such as
// `projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "recommendationengine.googleapis.com/CatalogItemPath"
}
];
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy