Compare commits

..

51 Commits

Author SHA1 Message Date
debf67d5ed Update proto definitions 2025-09-21 23:00:26 +03:00
8aea1ed411 Update proto definitions 2025-08-17 06:36:47 +03:00
ba85f290b8 Update proto definitions 2025-08-17 06:35:09 +03:00
1d7dc237a2 Update proto definitions 2025-08-17 06:30:52 +03:00
ac9d54c95f Update proto definitions 2025-08-15 05:51:04 +03:00
f345c45e0d Update proto definitions 2025-08-14 01:14:58 +03:00
d789acb727 Update proto definitions 2025-08-14 01:12:39 +03:00
209298428c Update proto definitions 2025-08-13 08:38:33 +03:00
bdba1e6229 Update proto definitions 2025-08-13 06:43:36 +03:00
7fe978865b Update proto definitions 2025-07-23 05:35:07 +03:00
eeb6f4cde4 Update proto definitions 2025-07-23 05:03:55 +03:00
f647e98f21 Update proto definitions 2025-07-23 04:54:56 +03:00
c999554a0a Update proto definitions 2025-07-23 04:47:35 +03:00
ad05eccdc3 Update proto definitions 2025-07-23 04:34:34 +03:00
1ca56b1eee Update proto definitions 2025-07-23 04:29:43 +03:00
05f7ce0713 Update proto definitions 2025-07-23 04:11:28 +03:00
fcbe0ab314 Update proto definitions 2025-07-23 04:08:30 +03:00
05350ec9f1 Update proto definitions 2025-07-23 03:50:39 +03:00
0c5ee58d50 Update proto definitions 2025-07-23 03:48:41 +03:00
6d62cd6bfe Update proto definitions 2025-07-22 21:37:23 +03:00
c1293d3afe Update proto definitions 2025-07-22 02:45:43 +03:00
342baf25e7 Update proto definitions 2025-07-22 02:41:48 +03:00
86af72b134 Update proto definitions 2025-07-21 20:15:55 +03:00
ab5951229a Update proto definitions 2025-07-21 19:56:08 +03:00
84924dc33f Update proto definitions 2025-07-16 00:52:29 +03:00
bc9c1b7eaf Update proto definitions 2025-07-16 00:39:01 +03:00
4774068c8d Update proto definitions 2025-07-15 23:31:44 +03:00
2a3023647a Update proto definitions 2025-07-15 23:31:11 +03:00
9e4f1c3b71 Update proto definitions 2025-07-15 23:20:39 +03:00
14c853ae3a Update proto definitions 2025-07-15 20:38:44 +03:00
2c4ca98d2d Update proto definitions 2025-07-04 03:02:49 +03:00
43e50ab2cb Update proto definitions 2025-07-04 03:02:18 +03:00
d37866d587 Update proto definitions 2025-07-03 10:51:27 +03:00
53a3f27145 Update proto definitions 2025-06-19 02:27:34 +03:00
c6df89a7a3 Update proto definitions 2025-05-27 03:42:38 +03:00
b30d322774 Update proto definitions 2025-05-27 03:23:21 +03:00
95306de158 Update proto definitions 2025-05-26 05:11:33 +03:00
c45adaec4d Update proto definitions 2025-05-26 05:09:38 +03:00
564a579309 Update proto definitions 2025-05-26 05:06:15 +03:00
f33ca7daa1 Update proto definitions 2025-05-26 04:52:10 +03:00
eb15ad269a Update proto definitions 2025-05-26 04:49:42 +03:00
e8b562a370 Update proto definitions 2025-05-26 04:08:50 +03:00
551ee4c6d9 Update proto definitions 2025-05-26 02:42:14 +03:00
500304a79f Update proto definitions 2025-05-26 02:39:59 +03:00
8d5b13cab3 Update proto definitions 2025-05-25 22:26:39 +03:00
758fa0c6b4 Update proto definitions 2025-05-25 22:22:39 +03:00
b58f68bc74 Update proto definitions 2025-05-25 22:21:56 +03:00
f640db172d Update proto definitions 2025-05-25 22:21:44 +03:00
84deae824a Update proto definitions 2025-05-25 22:20:43 +03:00
8dfaf8cbf3 Update go_package options in products.proto for multiple packages 2025-05-25 01:13:18 +03:00
daf8308254 1 2025-05-25 00:59:10 +03:00
4 changed files with 344 additions and 28 deletions

View File

@@ -0,0 +1,20 @@
syntax = "proto3";
package marketplace;
option go_package = "./marketplace";
service MarketplaceService {
rpc GetMarketplaceById(GetMarketplaceByIdRequest) returns (Marketplace);
}
message GetMarketplaceByIdRequest {
uint64 marketplace_id = 1; // ID of the marketplace to retrieve
}
message Marketplace {
uint64 id = 1;
uint32 base_marketplace = 2; // ID of the base marketplace
string auth_data = 3; // Authentication data for the marketplace
string warehouse_id = 4; // ID of the warehouse associated with the marketplace
}

View File

@@ -1,38 +1,206 @@
syntax = "proto3"; syntax = "proto3";
package ozon.products; package ozon.products;
import "google/protobuf/timestamp.proto";
option go_package = "./ozon/products";
service ProductsService { service ProductsService {
// Retrieves a list of products based on the provided request. // Retrieves a list of products based on the provided request.
rpc GetListOfProducts(GetListOfProductsRequest) returns (stream OzonProductItem); 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 { message GetListOfProductsRequest{
message Filter { int64 marketplace_id = 1; // Unique identifier for the marketplace
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 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 GetListOfProductsResponse {
message Quants { repeated Product products = 1;
string quant_code = 1; // Code representing the quant }
uint32 quant_size = 2; // Size of the quant
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;
} }
bool archived = 1; // Indicates if the product is archived message Stocks{
bool has_fbo_stocks = 2; // Indicates if there are FBO stocks available repeated Stock stocks = 1;
bool has_fbs_stocks = 3; // Indicates if there are FBS stocks available bool has_stock = 2;
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 message Stock{
repeated Quants quants = 7; // List of quants associated with the product 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 Attributes attributes = 18;
string color_image = 21;
int64 description_category_id = 22;
}

View File

@@ -1,6 +1,51 @@
syntax = "proto3"; syntax = "proto3";
package wb.products; package wb.products;
option go_package = "./wb/products";
service ProductsService { service ProductsService {
rpc GetProducts(GetProductsRequest) returns (stream GetProductsResponse);
}
message GetProductsRequest {
int64 marketplace_id = 1;
}
message Product {
message Size{
repeated string skus = 1;
int64 chrtID = 2;
string techSize = 3;
string wbSize = 4;
}
message Characteristic{
int64 id = 1;
string name = 2;
bytes value = 3;
}
message Photo {
string big = 1;
}
message Dimensions {
int64 length = 1;
int64 width = 2;
int64 height = 3;
float weightBrutto = 4;
bool isValid = 5;
}
int64 nmID = 1;
int64 subjectID = 2;
string vendor_code = 3;
repeated Size sizes = 4;
repeated Characteristic characteristics = 5;
repeated Photo photos = 6;
Dimensions dimensions = 7;
string title = 8;
string brand = 9;
string description = 10;
}
message GetProductsResponse {
repeated Product products = 1;
} }

View File

@@ -1,6 +1,89 @@
syntax = "proto3"; syntax = "proto3";
package yandexmarket.products; package yandexmarket.products;
option go_package = "./yandexmarket/products";
service ProductsService { 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;
} }