From e8b562a3709a26e9a68879802e3f30f22f7a0db4 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 26 May 2025 04:08:50 +0300 Subject: [PATCH] Update proto definitions --- ozon/products.proto | 135 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 110 insertions(+), 25 deletions(-) diff --git a/ozon/products.proto b/ozon/products.proto index cbca8eb..5cd25e9 100644 --- a/ozon/products.proto +++ b/ozon/products.proto @@ -1,39 +1,124 @@ syntax = "proto3"; package ozon.products; +import "google/protobuf/timestamp.proto"; + option go_package = "./ozon/products"; service ProductsService { // Retrieves a list of products based on the provided request. - rpc GetListOfProducts(GetListOfProductsRequest) returns (stream OzonProductItem); + rpc GetListOfProducts(GetListOfProductsRequest) returns (stream ProductDetails); } -message GetListOfProductsRequest { - message Filter { - repeated string offer_id = 1; // List of offer IDs to filter products - repeated int64 product_id = 2; // List of product IDs to filter products - string visibility = 3; // Visibility status of the products - } +message GetListOfProductsRequest{ - message Body { - Filter filter = 1; // Filter criteria for the request - } - - uint64 marketplace_id = 1; // ID of the marketplace - Body body = 2; // Body containing the filter criteria } -message OzonProductItem { - message Quants { - string quant_code = 1; // Code representing the quant - uint32 quant_size = 2; // Size of the quant +message ProductDetails { + repeated string barcodes = 1; + repeated string color_image = 2; + repeated Commission commissions = 3; + google.protobuf.Timestamp created_at = 4; + string currency_code = 5; + int64 description_category_id = 6; + int32 discounted_fbo_stocks = 7; + repeated Error errors = 8; + bool has_discounted_fbo_item = 9; + int64 id = 10; + repeated string images = 11; + repeated string images360 = 12; + bool is_archived = 13; + bool is_autoarchived = 14; + bool is_discounted = 15; + bool is_kgt = 16; + bool is_prepayment_allowed = 17; + bool is_super = 18; + string marketing_price = 19; + string min_price = 20; + ModelInfo model_info = 21; + string name = 22; + string offer_id = 23; + string old_price = 24; + string price = 25; + PriceIndex price_indexes = 26; + repeated string primary_image = 27; + repeated Source sources = 28; + Status statuses = 29; + Stock stocks = 30; + int64 type_id = 31; + google.protobuf.Timestamp updated_at = 32; + string vat = 33; + VisibilityDetails visibility_details = 34; + double volume_weight = 35; + + message Error { + string code = 1; + string message = 2; + repeated ErrorText texts = 3; + + message ErrorText { + string lang = 1; + string text = 2; + } } - bool archived = 1; // Indicates if the product is archived - bool has_fbo_stocks = 2; // Indicates if there are FBO stocks available - bool has_fbs_stocks = 3; // Indicates if there are FBS stocks available - bool is_discounted = 4; // Indicates if the product is discounted - string offer_id = 5; // Unique identifier for the offer - uint32 product_id = 6; // Unique identifier for the product - repeated Quants quants = 7; // List of quants associated with the product - string test = 8; // Additional test field, purpose not specified + message ModelInfo { + int64 model_id = 1; + int64 count = 2; + } + + message Commission { + string name = 1; + double value = 2; + } + + message PriceIndex { + PriceIndexExternal external = 1; + PriceIndexOzon ozon = 2; + PriceIndexSelfMarketplace self_marketplace = 3; + + message PriceIndexExternal { + double min_price = 1; + string currency = 2; + double price_index = 3; + } + message PriceIndexOzon { + double min_price = 1; + string currency = 2; + double price_index = 3; + } + message PriceIndexSelfMarketplace { + double min_price = 1; + string currency = 2; + double price_index = 3; + } + } + + message Source { + string source = 1; + string source_name = 2; + } + + message Status { + string state = 1; + string state_name = 2; + string state_tooltip = 3; + string state_sys_name = 4; + } + + message Stock { + repeated StockItem stocks = 1; + + message StockItem { + int32 present = 1; + int32 reserved = 2; + string type = 3; + string shipment_type = 4; + int64 sku = 5; + } + } + + message VisibilityDetails { + bool visible = 1; + string reason = 2; + } } \ No newline at end of file