Files
Sipro-Marketplaces-Protos/yandexmarket/products.proto
2025-08-15 05:51:04 +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 Offers {
int64 category_id = 1;
int64 price = 2;
int64 length = 3;
int64 width = 4;
int64 height = 5;
int64 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 Offers offers = 3;
}
message CalculateProductTariffsResponse {
message Offer {
int64 category_id = 1;
int64 price = 2;
int64 length = 3;
int64 width = 4;
int64 height = 5;
int64 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;
}