syntax = "proto3"; package ozon.products; option go_package = "./ozon"; service ProductsService { // Retrieves a list of products based on the provided request. rpc GetListOfProducts(GetListOfProductsRequest) returns (stream OzonProductItem); } 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 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 } 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 }