207 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
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 Attributes attributes = 18;
 | 
						|
  string color_image = 21;
 | 
						|
  int64 description_category_id = 22;
 | 
						|
}
 | 
						|
 |