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 GetListOfProductsResponse); rpc GetProductPrice(GetProductPriceRequest) returns (stream GetProductPriceResponse); rpc GetProductAttributes(GetProductAttributesRequest) returns (stream GetProductAttributesResponse); rpc DeleteProducts(DeleteProductsRequest) returns (DeleteProductsResponse); rpc CreateOrUpdateProducts(CreateOrUpdateProductsRequest) returns (CreateOrUpdateProductsResponse); } message GetListOfProductsRequest{ int64 marketplace_id = 1; // Unique identifier for the marketplace } message GetListOfProductsResponse { repeated Product products = 1; } message GetProductPriceRequest { int64 marketplace_id = 1; } message GetProductPriceResponse { repeated ProductPrice product_prices = 1; } message GetProductAttributesRequest { int64 marketplace_id = 1; repeated int64 product_id = 2; } message GetProductAttributesResponse { repeated ProductAttributes items = 1; } message DeleteProductsRequest { message Item { int64 product_id = 1; string offer_id = 2; } int64 marketplace_id = 1; repeated Item items = 2; } message DeleteProductsResponse { message Item { int64 product_id = 1; string offer_id = 2; bool is_deleted = 3; } int64 marketplace_id = 1; repeated Item items = 2; } message CreateOrUpdateProductsRequest{ message Item { message Values { int64 dictionary_value_id = 1; string value = 2; } message Attributes { int64 complex_id = 1; int64 id = 2; repeated Values values = 3; } message Promotions { string operation = 1; string type = 2; } message PdfListItem{ int64 index = 1; string name = 2; string src_url = 3; } repeated Attributes attributes = 1; string barcode = 2; int64 description_category_id = 3; int64 new_description_category_id = 4; string color_image = 5; string currency_code = 7; int64 depth = 8; string dimension_unit = 9; int64 height = 10; repeated string images = 11; repeated string images360 = 12; string name = 13; string offer_id = 14; string old_price = 15; repeated PdfListItem pdf_list = 16; string price = 17; string primary_image = 18; repeated Promotions promotions = 19; int64 type_id = 20; string vat = 21; int64 weight = 22; string weight_unit = 23; int64 width = 24; string service_type = 25; } int64 marketplace_id = 1; repeated Item items = 2; } message CreateOrUpdateProductsResponse{ repeated int64 task_id = 1; } message Product { int64 id = 1; string offer_id = 2; Stocks stocks = 3; repeated string barcodes = 4; Status statuses = 5; repeated Error errors = 6; message Status { string status_name = 1; } message Stocks{ repeated Stock stocks = 1; bool has_stock = 2; } message Stock{ int64 present = 1; int64 reserved = 2; int64 SKU = 3; string source = 4; } message Error{ string code = 1; } } message ProductPrice { message Commissions { double fbo_deliv_to_customer_amount = 1; double fbo_direct_flow_trans_max_amount = 2; double fbo_direct_flow_trans_min_amount = 3; double fbo_return_flow_amount = 4; double fbs_deliv_to_customer_amount = 5; double fbs_direct_flow_trans_max_amount = 6; double fbs_direct_flow_trans_min_amount = 7; double fbs_first_mile_max_amount = 8; double fbs_first_mile_min_amount = 9; double fbs_return_flow_amount = 10; double sales_percent_fbo = 11; double sales_percent_fbs = 12; } int64 acquiring = 1; Commissions commissions = 2; string offer_id = 4; int64 product_id = 7; } message ProductAttributes { message Model_info { int64 model_id = 1; int64 count = 2; } message Values { int64 dictionary_value_id = 1; string value = 2; } message Attributes { int64 id = 1; int64 complex_id = 2; repeated Values values = 3; } int64 id = 1; string barcode = 2; string name = 4; string offer_id = 5; int64 type_id = 6; int64 height = 7; int64 depth = 8; int64 width = 9; string dimension_unit = 10; int64 weight = 11; string weight_unit = 12; string primary_image = 13; Model_info model_info = 15; repeated string images = 16; repeated string pdf_list = 17; repeated Attributes attributes = 18; string color_image = 21; int64 description_category_id = 22; }