Update proto definitions

This commit is contained in:
2025-05-26 04:08:50 +03:00
parent 551ee4c6d9
commit e8b562a370

View File

@@ -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;
}
}