Files
2025-08-17 06:36:47 +03:00

89 lines
1.8 KiB
Protocol Buffer

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 Parameters {
int64 campaign_id = 1;
string selling_program = 2;
string frequency = 3;
string currency = 4;
}
int64 marketplace_id = 1;
Parameters 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;
}