syntax = "proto3"; package yandexmarket.products; option go_package = "./yandexmarket/products"; service ProductsService { rpc CalculateProductTariffs(CalculateProductTariffsRequest) returns (stream CalculateProductTariffsResponse); rpc GetProducts(GetProductsRequest) returns (stream GetProductsResponse); } message CalculateProductTariffsRequest { message Offer { int64 category_id = 1; float price = 2; float length = 3; float width = 4; float height = 5; float weight = 6; int64 quantity = 7; } message Parameter { int64 campaign_id = 1; string selling_program = 2; string frequency = 3; string currency = 4; } int64 marketplace_id = 1; Parameter parameters = 2; repeated Offer offers = 3; } message CalculateProductTariffsResponse { message Offer { int64 category_id = 1; float price = 2; float length = 3; float width = 4; float height = 5; float weight = 6; int64 quantity = 7; } message Parameter { string name = 1; string value = 2; } message Tariff { string type = 1; int64 amount = 2; string currency = 3; repeated Parameter parameters = 4; } message Offers { Offer offer = 1; repeated Tariff tariffs = 2; } repeated Offers offers = 1; } message GetProductsRequest { int64 marketplace_id = 1; repeated string offer_ids = 2; } message GetProductsResponse { message Offer { message WeightDimensions { float length = 1; float width = 2; float height = 3; float weight = 4; } message BasicPrice{ float value = 1; } int64 market_category_id = 1; WeightDimensions weight_dimensions = 2; BasicPrice basic_price = 3; string offer_id = 4; } repeated Offer offers = 1; }