diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..d89eb13
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,6 @@
+FROM alpine:latest
+WORKDIR /app
+COPY main .
+COPY ".env" .
+RUN apk add gcompat
+CMD ["./main"]
\ No newline at end of file
diff --git a/api/generated/v1/marketplace/marketplace.pb.go b/api/generated/v1/marketplace/marketplace.pb.go
index 8e19089..d0f6a3a 100644
--- a/api/generated/v1/marketplace/marketplace.pb.go
+++ b/api/generated/v1/marketplace/marketplace.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
-// protoc v6.31.0
+// protoc v6.31.1
// source: marketplace/marketplace.proto
package marketplace
diff --git a/api/generated/v1/marketplace/marketplace_grpc.pb.go b/api/generated/v1/marketplace/marketplace_grpc.pb.go
index 1c6161d..e892757 100644
--- a/api/generated/v1/marketplace/marketplace_grpc.pb.go
+++ b/api/generated/v1/marketplace/marketplace_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v6.31.0
+// - protoc v6.31.1
// source: marketplace/marketplace.proto
package marketplace
diff --git a/api/generated/v1/ozon/products/products.pb.go b/api/generated/v1/ozon/products/products.pb.go
index 502acd5..8ce9288 100644
--- a/api/generated/v1/ozon/products/products.pb.go
+++ b/api/generated/v1/ozon/products/products.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
-// protoc v6.31.0
+// protoc v6.31.1
// source: ozon/products.proto
package products
@@ -110,6 +110,94 @@ func (x *GetListOfProductsResponse) GetProducts() []*Product {
return nil
}
+type GetProductPriceRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ MarketplaceId int64 `protobuf:"varint,1,opt,name=marketplace_id,json=marketplaceId,proto3" json:"marketplace_id,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *GetProductPriceRequest) Reset() {
+ *x = GetProductPriceRequest{}
+ mi := &file_ozon_products_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *GetProductPriceRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetProductPriceRequest) ProtoMessage() {}
+
+func (x *GetProductPriceRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_ozon_products_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetProductPriceRequest.ProtoReflect.Descriptor instead.
+func (*GetProductPriceRequest) Descriptor() ([]byte, []int) {
+ return file_ozon_products_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *GetProductPriceRequest) GetMarketplaceId() int64 {
+ if x != nil {
+ return x.MarketplaceId
+ }
+ return 0
+}
+
+type GetProductPriceResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ ProductPrices []*ProductPrice `protobuf:"bytes,1,rep,name=product_prices,json=productPrices,proto3" json:"product_prices,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *GetProductPriceResponse) Reset() {
+ *x = GetProductPriceResponse{}
+ mi := &file_ozon_products_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *GetProductPriceResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetProductPriceResponse) ProtoMessage() {}
+
+func (x *GetProductPriceResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_ozon_products_proto_msgTypes[3]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetProductPriceResponse.ProtoReflect.Descriptor instead.
+func (*GetProductPriceResponse) Descriptor() ([]byte, []int) {
+ return file_ozon_products_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *GetProductPriceResponse) GetProductPrices() []*ProductPrice {
+ if x != nil {
+ return x.ProductPrices
+ }
+ return nil
+}
+
type Product struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
@@ -123,7 +211,7 @@ type Product struct {
func (x *Product) Reset() {
*x = Product{}
- mi := &file_ozon_products_proto_msgTypes[2]
+ mi := &file_ozon_products_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -135,7 +223,7 @@ func (x *Product) String() string {
func (*Product) ProtoMessage() {}
func (x *Product) ProtoReflect() protoreflect.Message {
- mi := &file_ozon_products_proto_msgTypes[2]
+ mi := &file_ozon_products_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -148,7 +236,7 @@ func (x *Product) ProtoReflect() protoreflect.Message {
// Deprecated: Use Product.ProtoReflect.Descriptor instead.
func (*Product) Descriptor() ([]byte, []int) {
- return file_ozon_products_proto_rawDescGZIP(), []int{2}
+ return file_ozon_products_proto_rawDescGZIP(), []int{4}
}
func (x *Product) GetId() int64 {
@@ -186,6 +274,74 @@ func (x *Product) GetStatuses() *Product_Status {
return nil
}
+type ProductPrice struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Acquiring uint32 `protobuf:"varint,1,opt,name=acquiring,proto3" json:"acquiring,omitempty"`
+ Commissions *ProductPrice_Commissions `protobuf:"bytes,2,opt,name=commissions,proto3" json:"commissions,omitempty"`
+ OfferId string `protobuf:"bytes,4,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"`
+ ProductId uint32 `protobuf:"varint,7,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ProductPrice) Reset() {
+ *x = ProductPrice{}
+ mi := &file_ozon_products_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ProductPrice) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProductPrice) ProtoMessage() {}
+
+func (x *ProductPrice) ProtoReflect() protoreflect.Message {
+ mi := &file_ozon_products_proto_msgTypes[5]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProductPrice.ProtoReflect.Descriptor instead.
+func (*ProductPrice) Descriptor() ([]byte, []int) {
+ return file_ozon_products_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *ProductPrice) GetAcquiring() uint32 {
+ if x != nil {
+ return x.Acquiring
+ }
+ return 0
+}
+
+func (x *ProductPrice) GetCommissions() *ProductPrice_Commissions {
+ if x != nil {
+ return x.Commissions
+ }
+ return nil
+}
+
+func (x *ProductPrice) GetOfferId() string {
+ if x != nil {
+ return x.OfferId
+ }
+ return ""
+}
+
+func (x *ProductPrice) GetProductId() uint32 {
+ if x != nil {
+ return x.ProductId
+ }
+ return 0
+}
+
type Product_Status struct {
state protoimpl.MessageState `protogen:"open.v1"`
StatusName string `protobuf:"bytes,1,opt,name=status_name,json=statusName,proto3" json:"status_name,omitempty"`
@@ -195,7 +351,7 @@ type Product_Status struct {
func (x *Product_Status) Reset() {
*x = Product_Status{}
- mi := &file_ozon_products_proto_msgTypes[3]
+ mi := &file_ozon_products_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -207,7 +363,7 @@ func (x *Product_Status) String() string {
func (*Product_Status) ProtoMessage() {}
func (x *Product_Status) ProtoReflect() protoreflect.Message {
- mi := &file_ozon_products_proto_msgTypes[3]
+ mi := &file_ozon_products_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -220,7 +376,7 @@ func (x *Product_Status) ProtoReflect() protoreflect.Message {
// Deprecated: Use Product_Status.ProtoReflect.Descriptor instead.
func (*Product_Status) Descriptor() ([]byte, []int) {
- return file_ozon_products_proto_rawDescGZIP(), []int{2, 0}
+ return file_ozon_products_proto_rawDescGZIP(), []int{4, 0}
}
func (x *Product_Status) GetStatusName() string {
@@ -240,7 +396,7 @@ type Product_Stocks struct {
func (x *Product_Stocks) Reset() {
*x = Product_Stocks{}
- mi := &file_ozon_products_proto_msgTypes[4]
+ mi := &file_ozon_products_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -252,7 +408,7 @@ func (x *Product_Stocks) String() string {
func (*Product_Stocks) ProtoMessage() {}
func (x *Product_Stocks) ProtoReflect() protoreflect.Message {
- mi := &file_ozon_products_proto_msgTypes[4]
+ mi := &file_ozon_products_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -265,7 +421,7 @@ func (x *Product_Stocks) ProtoReflect() protoreflect.Message {
// Deprecated: Use Product_Stocks.ProtoReflect.Descriptor instead.
func (*Product_Stocks) Descriptor() ([]byte, []int) {
- return file_ozon_products_proto_rawDescGZIP(), []int{2, 1}
+ return file_ozon_products_proto_rawDescGZIP(), []int{4, 1}
}
func (x *Product_Stocks) GetStocks() []*Product_Stock {
@@ -294,7 +450,7 @@ type Product_Stock struct {
func (x *Product_Stock) Reset() {
*x = Product_Stock{}
- mi := &file_ozon_products_proto_msgTypes[5]
+ mi := &file_ozon_products_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -306,7 +462,7 @@ func (x *Product_Stock) String() string {
func (*Product_Stock) ProtoMessage() {}
func (x *Product_Stock) ProtoReflect() protoreflect.Message {
- mi := &file_ozon_products_proto_msgTypes[5]
+ mi := &file_ozon_products_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -319,7 +475,7 @@ func (x *Product_Stock) ProtoReflect() protoreflect.Message {
// Deprecated: Use Product_Stock.ProtoReflect.Descriptor instead.
func (*Product_Stock) Descriptor() ([]byte, []int) {
- return file_ozon_products_proto_rawDescGZIP(), []int{2, 2}
+ return file_ozon_products_proto_rawDescGZIP(), []int{4, 2}
}
func (x *Product_Stock) GetPresent() int64 {
@@ -350,6 +506,138 @@ func (x *Product_Stock) GetSource() string {
return ""
}
+type ProductPrice_Commissions struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ FboDelivToCustomerAmount float64 `protobuf:"fixed64,1,opt,name=fbo_deliv_to_customer_amount,json=fboDelivToCustomerAmount,proto3" json:"fbo_deliv_to_customer_amount,omitempty"`
+ FboDirectFlowTransMaxAmount float64 `protobuf:"fixed64,2,opt,name=fbo_direct_flow_trans_max_amount,json=fboDirectFlowTransMaxAmount,proto3" json:"fbo_direct_flow_trans_max_amount,omitempty"`
+ FboDirectFlowTransMinAmount float64 `protobuf:"fixed64,3,opt,name=fbo_direct_flow_trans_min_amount,json=fboDirectFlowTransMinAmount,proto3" json:"fbo_direct_flow_trans_min_amount,omitempty"`
+ FboReturnFlowAmount float64 `protobuf:"fixed64,4,opt,name=fbo_return_flow_amount,json=fboReturnFlowAmount,proto3" json:"fbo_return_flow_amount,omitempty"`
+ FbsDelivToCustomerAmount float64 `protobuf:"fixed64,5,opt,name=fbs_deliv_to_customer_amount,json=fbsDelivToCustomerAmount,proto3" json:"fbs_deliv_to_customer_amount,omitempty"`
+ FbsDirectFlowTransMaxAmount float64 `protobuf:"fixed64,6,opt,name=fbs_direct_flow_trans_max_amount,json=fbsDirectFlowTransMaxAmount,proto3" json:"fbs_direct_flow_trans_max_amount,omitempty"`
+ FbsDirectFlowTransMinAmount float64 `protobuf:"fixed64,7,opt,name=fbs_direct_flow_trans_min_amount,json=fbsDirectFlowTransMinAmount,proto3" json:"fbs_direct_flow_trans_min_amount,omitempty"`
+ FbsFirstMileMaxAmount float64 `protobuf:"fixed64,8,opt,name=fbs_first_mile_max_amount,json=fbsFirstMileMaxAmount,proto3" json:"fbs_first_mile_max_amount,omitempty"`
+ FbsFirstMileMinAmount float64 `protobuf:"fixed64,9,opt,name=fbs_first_mile_min_amount,json=fbsFirstMileMinAmount,proto3" json:"fbs_first_mile_min_amount,omitempty"`
+ FbsReturnFlowAmount float64 `protobuf:"fixed64,10,opt,name=fbs_return_flow_amount,json=fbsReturnFlowAmount,proto3" json:"fbs_return_flow_amount,omitempty"`
+ SalesPercentFbo float64 `protobuf:"fixed64,11,opt,name=sales_percent_fbo,json=salesPercentFbo,proto3" json:"sales_percent_fbo,omitempty"`
+ SalesPercentFbs float64 `protobuf:"fixed64,12,opt,name=sales_percent_fbs,json=salesPercentFbs,proto3" json:"sales_percent_fbs,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ProductPrice_Commissions) Reset() {
+ *x = ProductPrice_Commissions{}
+ mi := &file_ozon_products_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ProductPrice_Commissions) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProductPrice_Commissions) ProtoMessage() {}
+
+func (x *ProductPrice_Commissions) ProtoReflect() protoreflect.Message {
+ mi := &file_ozon_products_proto_msgTypes[9]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProductPrice_Commissions.ProtoReflect.Descriptor instead.
+func (*ProductPrice_Commissions) Descriptor() ([]byte, []int) {
+ return file_ozon_products_proto_rawDescGZIP(), []int{5, 0}
+}
+
+func (x *ProductPrice_Commissions) GetFboDelivToCustomerAmount() float64 {
+ if x != nil {
+ return x.FboDelivToCustomerAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFboDirectFlowTransMaxAmount() float64 {
+ if x != nil {
+ return x.FboDirectFlowTransMaxAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFboDirectFlowTransMinAmount() float64 {
+ if x != nil {
+ return x.FboDirectFlowTransMinAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFboReturnFlowAmount() float64 {
+ if x != nil {
+ return x.FboReturnFlowAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFbsDelivToCustomerAmount() float64 {
+ if x != nil {
+ return x.FbsDelivToCustomerAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFbsDirectFlowTransMaxAmount() float64 {
+ if x != nil {
+ return x.FbsDirectFlowTransMaxAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFbsDirectFlowTransMinAmount() float64 {
+ if x != nil {
+ return x.FbsDirectFlowTransMinAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFbsFirstMileMaxAmount() float64 {
+ if x != nil {
+ return x.FbsFirstMileMaxAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFbsFirstMileMinAmount() float64 {
+ if x != nil {
+ return x.FbsFirstMileMinAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetFbsReturnFlowAmount() float64 {
+ if x != nil {
+ return x.FbsReturnFlowAmount
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetSalesPercentFbo() float64 {
+ if x != nil {
+ return x.SalesPercentFbo
+ }
+ return 0
+}
+
+func (x *ProductPrice_Commissions) GetSalesPercentFbs() float64 {
+ if x != nil {
+ return x.SalesPercentFbs
+ }
+ return 0
+}
+
var File_ozon_products_proto protoreflect.FileDescriptor
const file_ozon_products_proto_rawDesc = "" +
@@ -358,7 +646,11 @@ const file_ozon_products_proto_rawDesc = "" +
"\x18GetListOfProductsRequest\x12%\n" +
"\x0emarketplace_id\x18\x01 \x01(\x03R\rmarketplaceId\"O\n" +
"\x19GetListOfProductsResponse\x122\n" +
- "\bproducts\x18\x01 \x03(\v2\x16.ozon.products.ProductR\bproducts\"\xb3\x03\n" +
+ "\bproducts\x18\x01 \x03(\v2\x16.ozon.products.ProductR\bproducts\"?\n" +
+ "\x16GetProductPriceRequest\x12%\n" +
+ "\x0emarketplace_id\x18\x01 \x01(\x03R\rmarketplaceId\"]\n" +
+ "\x17GetProductPriceResponse\x12B\n" +
+ "\x0eproduct_prices\x18\x01 \x03(\v2\x1b.ozon.products.ProductPriceR\rproductPrices\"\xb3\x03\n" +
"\aProduct\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x19\n" +
"\boffer_id\x18\x02 \x01(\tR\aofferId\x125\n" +
@@ -375,9 +667,30 @@ const file_ozon_products_proto_rawDesc = "" +
"\apresent\x18\x01 \x01(\x03R\apresent\x12\x1a\n" +
"\breserved\x18\x02 \x01(\x03R\breserved\x12\x10\n" +
"\x03SKU\x18\x03 \x01(\x03R\x03SKU\x12\x16\n" +
- "\x06source\x18\x04 \x01(\tR\x06source2{\n" +
+ "\x06source\x18\x04 \x01(\tR\x06source\"\x93\a\n" +
+ "\fProductPrice\x12\x1c\n" +
+ "\tacquiring\x18\x01 \x01(\rR\tacquiring\x12I\n" +
+ "\vcommissions\x18\x02 \x01(\v2'.ozon.products.ProductPrice.CommissionsR\vcommissions\x12\x19\n" +
+ "\boffer_id\x18\x04 \x01(\tR\aofferId\x12\x1d\n" +
+ "\n" +
+ "product_id\x18\a \x01(\rR\tproductId\x1a\xdf\x05\n" +
+ "\vCommissions\x12>\n" +
+ "\x1cfbo_deliv_to_customer_amount\x18\x01 \x01(\x01R\x18fboDelivToCustomerAmount\x12E\n" +
+ " fbo_direct_flow_trans_max_amount\x18\x02 \x01(\x01R\x1bfboDirectFlowTransMaxAmount\x12E\n" +
+ " fbo_direct_flow_trans_min_amount\x18\x03 \x01(\x01R\x1bfboDirectFlowTransMinAmount\x123\n" +
+ "\x16fbo_return_flow_amount\x18\x04 \x01(\x01R\x13fboReturnFlowAmount\x12>\n" +
+ "\x1cfbs_deliv_to_customer_amount\x18\x05 \x01(\x01R\x18fbsDelivToCustomerAmount\x12E\n" +
+ " fbs_direct_flow_trans_max_amount\x18\x06 \x01(\x01R\x1bfbsDirectFlowTransMaxAmount\x12E\n" +
+ " fbs_direct_flow_trans_min_amount\x18\a \x01(\x01R\x1bfbsDirectFlowTransMinAmount\x128\n" +
+ "\x19fbs_first_mile_max_amount\x18\b \x01(\x01R\x15fbsFirstMileMaxAmount\x128\n" +
+ "\x19fbs_first_mile_min_amount\x18\t \x01(\x01R\x15fbsFirstMileMinAmount\x123\n" +
+ "\x16fbs_return_flow_amount\x18\n" +
+ " \x01(\x01R\x13fbsReturnFlowAmount\x12*\n" +
+ "\x11sales_percent_fbo\x18\v \x01(\x01R\x0fsalesPercentFbo\x12*\n" +
+ "\x11sales_percent_fbs\x18\f \x01(\x01R\x0fsalesPercentFbs2\xdf\x01\n" +
"\x0fProductsService\x12h\n" +
- "\x11GetListOfProducts\x12'.ozon.products.GetListOfProductsRequest\x1a(.ozon.products.GetListOfProductsResponse0\x01B\x11Z\x0f./ozon/productsb\x06proto3"
+ "\x11GetListOfProducts\x12'.ozon.products.GetListOfProductsRequest\x1a(.ozon.products.GetListOfProductsResponse0\x01\x12b\n" +
+ "\x0fGetProductPrice\x12%.ozon.products.GetProductPriceRequest\x1a&.ozon.products.GetProductPriceResponse0\x01B\x11Z\x0f./ozon/productsb\x06proto3"
var (
file_ozon_products_proto_rawDescOnce sync.Once
@@ -391,27 +704,35 @@ func file_ozon_products_proto_rawDescGZIP() []byte {
return file_ozon_products_proto_rawDescData
}
-var file_ozon_products_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_ozon_products_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_ozon_products_proto_goTypes = []any{
(*GetListOfProductsRequest)(nil), // 0: ozon.products.GetListOfProductsRequest
(*GetListOfProductsResponse)(nil), // 1: ozon.products.GetListOfProductsResponse
- (*Product)(nil), // 2: ozon.products.Product
- (*Product_Status)(nil), // 3: ozon.products.Product.Status
- (*Product_Stocks)(nil), // 4: ozon.products.Product.Stocks
- (*Product_Stock)(nil), // 5: ozon.products.Product.Stock
+ (*GetProductPriceRequest)(nil), // 2: ozon.products.GetProductPriceRequest
+ (*GetProductPriceResponse)(nil), // 3: ozon.products.GetProductPriceResponse
+ (*Product)(nil), // 4: ozon.products.Product
+ (*ProductPrice)(nil), // 5: ozon.products.ProductPrice
+ (*Product_Status)(nil), // 6: ozon.products.Product.Status
+ (*Product_Stocks)(nil), // 7: ozon.products.Product.Stocks
+ (*Product_Stock)(nil), // 8: ozon.products.Product.Stock
+ (*ProductPrice_Commissions)(nil), // 9: ozon.products.ProductPrice.Commissions
}
var file_ozon_products_proto_depIdxs = []int32{
- 2, // 0: ozon.products.GetListOfProductsResponse.products:type_name -> ozon.products.Product
- 4, // 1: ozon.products.Product.stocks:type_name -> ozon.products.Product.Stocks
- 3, // 2: ozon.products.Product.statuses:type_name -> ozon.products.Product.Status
- 5, // 3: ozon.products.Product.Stocks.stocks:type_name -> ozon.products.Product.Stock
- 0, // 4: ozon.products.ProductsService.GetListOfProducts:input_type -> ozon.products.GetListOfProductsRequest
- 1, // 5: ozon.products.ProductsService.GetListOfProducts:output_type -> ozon.products.GetListOfProductsResponse
- 5, // [5:6] is the sub-list for method output_type
- 4, // [4:5] is the sub-list for method input_type
- 4, // [4:4] is the sub-list for extension type_name
- 4, // [4:4] is the sub-list for extension extendee
- 0, // [0:4] is the sub-list for field type_name
+ 4, // 0: ozon.products.GetListOfProductsResponse.products:type_name -> ozon.products.Product
+ 5, // 1: ozon.products.GetProductPriceResponse.product_prices:type_name -> ozon.products.ProductPrice
+ 7, // 2: ozon.products.Product.stocks:type_name -> ozon.products.Product.Stocks
+ 6, // 3: ozon.products.Product.statuses:type_name -> ozon.products.Product.Status
+ 9, // 4: ozon.products.ProductPrice.commissions:type_name -> ozon.products.ProductPrice.Commissions
+ 8, // 5: ozon.products.Product.Stocks.stocks:type_name -> ozon.products.Product.Stock
+ 0, // 6: ozon.products.ProductsService.GetListOfProducts:input_type -> ozon.products.GetListOfProductsRequest
+ 2, // 7: ozon.products.ProductsService.GetProductPrice:input_type -> ozon.products.GetProductPriceRequest
+ 1, // 8: ozon.products.ProductsService.GetListOfProducts:output_type -> ozon.products.GetListOfProductsResponse
+ 3, // 9: ozon.products.ProductsService.GetProductPrice:output_type -> ozon.products.GetProductPriceResponse
+ 8, // [8:10] is the sub-list for method output_type
+ 6, // [6:8] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
}
func init() { file_ozon_products_proto_init() }
@@ -425,7 +746,7 @@ func file_ozon_products_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_ozon_products_proto_rawDesc), len(file_ozon_products_proto_rawDesc)),
NumEnums: 0,
- NumMessages: 6,
+ NumMessages: 10,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/api/generated/v1/ozon/products/products_grpc.pb.go b/api/generated/v1/ozon/products/products_grpc.pb.go
index 160e4b5..b64db43 100644
--- a/api/generated/v1/ozon/products/products_grpc.pb.go
+++ b/api/generated/v1/ozon/products/products_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v6.31.0
+// - protoc v6.31.1
// source: ozon/products.proto
package products
@@ -20,6 +20,7 @@ const _ = grpc.SupportPackageIsVersion9
const (
ProductsService_GetListOfProducts_FullMethodName = "/ozon.products.ProductsService/GetListOfProducts"
+ ProductsService_GetProductPrice_FullMethodName = "/ozon.products.ProductsService/GetProductPrice"
)
// ProductsServiceClient is the client API for ProductsService service.
@@ -28,6 +29,7 @@ const (
type ProductsServiceClient interface {
// Retrieves a list of products based on the provided request.
GetListOfProducts(ctx context.Context, in *GetListOfProductsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetListOfProductsResponse], error)
+ GetProductPrice(ctx context.Context, in *GetProductPriceRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetProductPriceResponse], error)
}
type productsServiceClient struct {
@@ -57,12 +59,32 @@ func (c *productsServiceClient) GetListOfProducts(ctx context.Context, in *GetLi
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ProductsService_GetListOfProductsClient = grpc.ServerStreamingClient[GetListOfProductsResponse]
+func (c *productsServiceClient) GetProductPrice(ctx context.Context, in *GetProductPriceRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetProductPriceResponse], error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ stream, err := c.cc.NewStream(ctx, &ProductsService_ServiceDesc.Streams[1], ProductsService_GetProductPrice_FullMethodName, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &grpc.GenericClientStream[GetProductPriceRequest, GetProductPriceResponse]{ClientStream: stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
+type ProductsService_GetProductPriceClient = grpc.ServerStreamingClient[GetProductPriceResponse]
+
// ProductsServiceServer is the server API for ProductsService service.
// All implementations must embed UnimplementedProductsServiceServer
// for forward compatibility.
type ProductsServiceServer interface {
// Retrieves a list of products based on the provided request.
GetListOfProducts(*GetListOfProductsRequest, grpc.ServerStreamingServer[GetListOfProductsResponse]) error
+ GetProductPrice(*GetProductPriceRequest, grpc.ServerStreamingServer[GetProductPriceResponse]) error
mustEmbedUnimplementedProductsServiceServer()
}
@@ -76,6 +98,9 @@ type UnimplementedProductsServiceServer struct{}
func (UnimplementedProductsServiceServer) GetListOfProducts(*GetListOfProductsRequest, grpc.ServerStreamingServer[GetListOfProductsResponse]) error {
return status.Errorf(codes.Unimplemented, "method GetListOfProducts not implemented")
}
+func (UnimplementedProductsServiceServer) GetProductPrice(*GetProductPriceRequest, grpc.ServerStreamingServer[GetProductPriceResponse]) error {
+ return status.Errorf(codes.Unimplemented, "method GetProductPrice not implemented")
+}
func (UnimplementedProductsServiceServer) mustEmbedUnimplementedProductsServiceServer() {}
func (UnimplementedProductsServiceServer) testEmbeddedByValue() {}
@@ -108,6 +133,17 @@ func _ProductsService_GetListOfProducts_Handler(srv interface{}, stream grpc.Ser
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ProductsService_GetListOfProductsServer = grpc.ServerStreamingServer[GetListOfProductsResponse]
+func _ProductsService_GetProductPrice_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(GetProductPriceRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(ProductsServiceServer).GetProductPrice(m, &grpc.GenericServerStream[GetProductPriceRequest, GetProductPriceResponse]{ServerStream: stream})
+}
+
+// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
+type ProductsService_GetProductPriceServer = grpc.ServerStreamingServer[GetProductPriceResponse]
+
// ProductsService_ServiceDesc is the grpc.ServiceDesc for ProductsService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -121,6 +157,11 @@ var ProductsService_ServiceDesc = grpc.ServiceDesc{
Handler: _ProductsService_GetListOfProducts_Handler,
ServerStreams: true,
},
+ {
+ StreamName: "GetProductPrice",
+ Handler: _ProductsService_GetProductPrice_Handler,
+ ServerStreams: true,
+ },
},
Metadata: "ozon/products.proto",
}
diff --git a/api/generated/v1/wb/products/products.pb.go b/api/generated/v1/wb/products/products.pb.go
index b9f6cb5..d3fc69b 100644
--- a/api/generated/v1/wb/products/products.pb.go
+++ b/api/generated/v1/wb/products/products.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
-// protoc v6.31.0
+// protoc v6.31.1
// source: wb/products.proto
package products
@@ -10,6 +10,7 @@ import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
+ sync "sync"
unsafe "unsafe"
)
@@ -20,20 +21,255 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+type GetProductsRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ MarketplaceId int64 `protobuf:"varint,1,opt,name=marketplace_id,json=marketplaceId,proto3" json:"marketplace_id,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *GetProductsRequest) Reset() {
+ *x = GetProductsRequest{}
+ mi := &file_wb_products_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *GetProductsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetProductsRequest) ProtoMessage() {}
+
+func (x *GetProductsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_wb_products_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetProductsRequest.ProtoReflect.Descriptor instead.
+func (*GetProductsRequest) Descriptor() ([]byte, []int) {
+ return file_wb_products_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetProductsRequest) GetMarketplaceId() int64 {
+ if x != nil {
+ return x.MarketplaceId
+ }
+ return 0
+}
+
+type Product struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ NmID int64 `protobuf:"varint,1,opt,name=nmID,proto3" json:"nmID,omitempty"`
+ SubjectID int64 `protobuf:"varint,2,opt,name=subjectID,proto3" json:"subjectID,omitempty"`
+ VendorCode string `protobuf:"bytes,3,opt,name=vendor_code,json=vendorCode,proto3" json:"vendor_code,omitempty"`
+ Sizes []*Product_Size `protobuf:"bytes,4,rep,name=sizes,proto3" json:"sizes,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *Product) Reset() {
+ *x = Product{}
+ mi := &file_wb_products_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *Product) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Product) ProtoMessage() {}
+
+func (x *Product) ProtoReflect() protoreflect.Message {
+ mi := &file_wb_products_proto_msgTypes[1]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Product.ProtoReflect.Descriptor instead.
+func (*Product) Descriptor() ([]byte, []int) {
+ return file_wb_products_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *Product) GetNmID() int64 {
+ if x != nil {
+ return x.NmID
+ }
+ return 0
+}
+
+func (x *Product) GetSubjectID() int64 {
+ if x != nil {
+ return x.SubjectID
+ }
+ return 0
+}
+
+func (x *Product) GetVendorCode() string {
+ if x != nil {
+ return x.VendorCode
+ }
+ return ""
+}
+
+func (x *Product) GetSizes() []*Product_Size {
+ if x != nil {
+ return x.Sizes
+ }
+ return nil
+}
+
+type GetProductsResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *GetProductsResponse) Reset() {
+ *x = GetProductsResponse{}
+ mi := &file_wb_products_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *GetProductsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetProductsResponse) ProtoMessage() {}
+
+func (x *GetProductsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_wb_products_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetProductsResponse.ProtoReflect.Descriptor instead.
+func (*GetProductsResponse) Descriptor() ([]byte, []int) {
+ return file_wb_products_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *GetProductsResponse) GetProducts() []*Product {
+ if x != nil {
+ return x.Products
+ }
+ return nil
+}
+
+type Product_Size struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Skus []string `protobuf:"bytes,1,rep,name=skus,proto3" json:"skus,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *Product_Size) Reset() {
+ *x = Product_Size{}
+ mi := &file_wb_products_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *Product_Size) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Product_Size) ProtoMessage() {}
+
+func (x *Product_Size) ProtoReflect() protoreflect.Message {
+ mi := &file_wb_products_proto_msgTypes[3]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Product_Size.ProtoReflect.Descriptor instead.
+func (*Product_Size) Descriptor() ([]byte, []int) {
+ return file_wb_products_proto_rawDescGZIP(), []int{1, 0}
+}
+
+func (x *Product_Size) GetSkus() []string {
+ if x != nil {
+ return x.Skus
+ }
+ return nil
+}
+
var File_wb_products_proto protoreflect.FileDescriptor
const file_wb_products_proto_rawDesc = "" +
"\n" +
- "\x11wb/products.proto\x12\vwb.products2\x11\n" +
- "\x0fProductsServiceB\x0fZ\r./wb/productsb\x06proto3"
+ "\x11wb/products.proto\x12\vwb.products\";\n" +
+ "\x12GetProductsRequest\x12%\n" +
+ "\x0emarketplace_id\x18\x01 \x01(\x03R\rmarketplaceId\"\xa9\x01\n" +
+ "\aProduct\x12\x12\n" +
+ "\x04nmID\x18\x01 \x01(\x03R\x04nmID\x12\x1c\n" +
+ "\tsubjectID\x18\x02 \x01(\x03R\tsubjectID\x12\x1f\n" +
+ "\vvendor_code\x18\x03 \x01(\tR\n" +
+ "vendorCode\x12/\n" +
+ "\x05sizes\x18\x04 \x03(\v2\x19.wb.products.Product.SizeR\x05sizes\x1a\x1a\n" +
+ "\x04Size\x12\x12\n" +
+ "\x04skus\x18\x01 \x03(\tR\x04skus\"G\n" +
+ "\x13GetProductsResponse\x120\n" +
+ "\bproducts\x18\x01 \x03(\v2\x14.wb.products.ProductR\bproducts2e\n" +
+ "\x0fProductsService\x12R\n" +
+ "\vGetProducts\x12\x1f.wb.products.GetProductsRequest\x1a .wb.products.GetProductsResponse0\x01B\x0fZ\r./wb/productsb\x06proto3"
-var file_wb_products_proto_goTypes = []any{}
+var (
+ file_wb_products_proto_rawDescOnce sync.Once
+ file_wb_products_proto_rawDescData []byte
+)
+
+func file_wb_products_proto_rawDescGZIP() []byte {
+ file_wb_products_proto_rawDescOnce.Do(func() {
+ file_wb_products_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_wb_products_proto_rawDesc), len(file_wb_products_proto_rawDesc)))
+ })
+ return file_wb_products_proto_rawDescData
+}
+
+var file_wb_products_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_wb_products_proto_goTypes = []any{
+ (*GetProductsRequest)(nil), // 0: wb.products.GetProductsRequest
+ (*Product)(nil), // 1: wb.products.Product
+ (*GetProductsResponse)(nil), // 2: wb.products.GetProductsResponse
+ (*Product_Size)(nil), // 3: wb.products.Product.Size
+}
var file_wb_products_proto_depIdxs = []int32{
- 0, // [0:0] is the sub-list for method output_type
- 0, // [0:0] is the sub-list for method input_type
- 0, // [0:0] is the sub-list for extension type_name
- 0, // [0:0] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
+ 3, // 0: wb.products.Product.sizes:type_name -> wb.products.Product.Size
+ 1, // 1: wb.products.GetProductsResponse.products:type_name -> wb.products.Product
+ 0, // 2: wb.products.ProductsService.GetProducts:input_type -> wb.products.GetProductsRequest
+ 2, // 3: wb.products.ProductsService.GetProducts:output_type -> wb.products.GetProductsResponse
+ 3, // [3:4] is the sub-list for method output_type
+ 2, // [2:3] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
}
func init() { file_wb_products_proto_init() }
@@ -47,12 +283,13 @@ func file_wb_products_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_wb_products_proto_rawDesc), len(file_wb_products_proto_rawDesc)),
NumEnums: 0,
- NumMessages: 0,
+ NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_wb_products_proto_goTypes,
DependencyIndexes: file_wb_products_proto_depIdxs,
+ MessageInfos: file_wb_products_proto_msgTypes,
}.Build()
File_wb_products_proto = out.File
file_wb_products_proto_goTypes = nil
diff --git a/api/generated/v1/wb/products/products_grpc.pb.go b/api/generated/v1/wb/products/products_grpc.pb.go
index 357130f..51cd9b7 100644
--- a/api/generated/v1/wb/products/products_grpc.pb.go
+++ b/api/generated/v1/wb/products/products_grpc.pb.go
@@ -1,13 +1,16 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v6.31.0
+// - protoc v6.31.1
// source: wb/products.proto
package products
import (
+ context "context"
grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
@@ -15,10 +18,15 @@ import (
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
+const (
+ ProductsService_GetProducts_FullMethodName = "/wb.products.ProductsService/GetProducts"
+)
+
// ProductsServiceClient is the client API for ProductsService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type ProductsServiceClient interface {
+ GetProducts(ctx context.Context, in *GetProductsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetProductsResponse], error)
}
type productsServiceClient struct {
@@ -29,10 +37,30 @@ func NewProductsServiceClient(cc grpc.ClientConnInterface) ProductsServiceClient
return &productsServiceClient{cc}
}
+func (c *productsServiceClient) GetProducts(ctx context.Context, in *GetProductsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetProductsResponse], error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ stream, err := c.cc.NewStream(ctx, &ProductsService_ServiceDesc.Streams[0], ProductsService_GetProducts_FullMethodName, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &grpc.GenericClientStream[GetProductsRequest, GetProductsResponse]{ClientStream: stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
+type ProductsService_GetProductsClient = grpc.ServerStreamingClient[GetProductsResponse]
+
// ProductsServiceServer is the server API for ProductsService service.
// All implementations must embed UnimplementedProductsServiceServer
// for forward compatibility.
type ProductsServiceServer interface {
+ GetProducts(*GetProductsRequest, grpc.ServerStreamingServer[GetProductsResponse]) error
mustEmbedUnimplementedProductsServiceServer()
}
@@ -43,6 +71,9 @@ type ProductsServiceServer interface {
// pointer dereference when methods are called.
type UnimplementedProductsServiceServer struct{}
+func (UnimplementedProductsServiceServer) GetProducts(*GetProductsRequest, grpc.ServerStreamingServer[GetProductsResponse]) error {
+ return status.Errorf(codes.Unimplemented, "method GetProducts not implemented")
+}
func (UnimplementedProductsServiceServer) mustEmbedUnimplementedProductsServiceServer() {}
func (UnimplementedProductsServiceServer) testEmbeddedByValue() {}
@@ -64,6 +95,17 @@ func RegisterProductsServiceServer(s grpc.ServiceRegistrar, srv ProductsServiceS
s.RegisterService(&ProductsService_ServiceDesc, srv)
}
+func _ProductsService_GetProducts_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(GetProductsRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(ProductsServiceServer).GetProducts(m, &grpc.GenericServerStream[GetProductsRequest, GetProductsResponse]{ServerStream: stream})
+}
+
+// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
+type ProductsService_GetProductsServer = grpc.ServerStreamingServer[GetProductsResponse]
+
// ProductsService_ServiceDesc is the grpc.ServiceDesc for ProductsService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -71,6 +113,12 @@ var ProductsService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "wb.products.ProductsService",
HandlerType: (*ProductsServiceServer)(nil),
Methods: []grpc.MethodDesc{},
- Streams: []grpc.StreamDesc{},
- Metadata: "wb/products.proto",
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "GetProducts",
+ Handler: _ProductsService_GetProducts_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "wb/products.proto",
}
diff --git a/api/generated/v1/yandexmarket/products/products.pb.go b/api/generated/v1/yandexmarket/products/products.pb.go
index f6e5d58..0aba6bf 100644
--- a/api/generated/v1/yandexmarket/products/products.pb.go
+++ b/api/generated/v1/yandexmarket/products/products.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
-// protoc v6.31.0
+// protoc v6.31.1
// source: yandexmarket/products.proto
package products
diff --git a/api/generated/v1/yandexmarket/products/products_grpc.pb.go b/api/generated/v1/yandexmarket/products/products_grpc.pb.go
index e597e88..7566657 100644
--- a/api/generated/v1/yandexmarket/products/products_grpc.pb.go
+++ b/api/generated/v1/yandexmarket/products/products_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v6.31.0
+// - protoc v6.31.1
// source: yandexmarket/products.proto
package products
diff --git a/api/proto/v1 b/api/proto/v1
index c6df89a..2c4ca98 160000
--- a/api/proto/v1
+++ b/api/proto/v1
@@ -1 +1 @@
-Subproject commit c6df89a7a355ea20f9b573874d808c5df29acfdb
+Subproject commit 2c4ca98d2d1c9809e1f49e423e20bba6dcdb3ff9
diff --git a/cmd/server/main.go b/cmd/server/main.go
index 8150509..90f1d44 100755
--- a/cmd/server/main.go
+++ b/cmd/server/main.go
@@ -8,9 +8,12 @@ import (
"google.golang.org/grpc"
"net"
"os"
+ "sipro-mps/internal/config"
"sipro-mps/internal/marketplace"
ozon "sipro-mps/internal/ozon/products"
"sipro-mps/internal/redis"
+ "sipro-mps/internal/tasks/client"
+ wb "sipro-mps/internal/wb/products"
)
func logMessage(level string, format string, a ...interface{}) {
@@ -50,7 +53,11 @@ func createGrpcServer(pool *pgxpool.Pool) {
fmt.Printf("failed to register Ozon Products gRPC server: %v\n", err)
return
}
-
+ _, err = wb.RegisterAdapterGRPC(grpcServer, *repo)
+ if err != nil {
+ fmt.Printf("failed to register Wildberries Products gRPC server: %v\n", err)
+ return
+ }
fmt.Println("gRPC server registered successfully.")
// Start serving gRPC requests
fmt.Println("gRPC server is starting on port 8080...")
@@ -61,26 +68,64 @@ func createGrpcServer(pool *pgxpool.Pool) {
fmt.Println("gRPC server created.")
}
-func main() {
- // Initializing the dotenv file
+func initDotenv() error {
err := godotenv.Load()
if err != nil {
- logMessage("error", "Error loading .env file: %v", err)
- return
+ return fmt.Errorf("error loading .env file: %w", err)
}
logMessage("info", "Dotenv file loaded successfully. π±")
+ return nil
+}
+func initRedisClient(ctx context.Context) error {
+ err := redis.InitClient(ctx)
+ if err != nil {
+ return fmt.Errorf("error initializing Redis client: %w", err)
+ }
+ //defer redis.CloseClient()
+ logMessage("info", "Redis client initialized successfully. π₯")
+ return nil
+}
+func initRedisLocker() error {
+ err := redis.InitLocker()
+ if err != nil {
+ return fmt.Errorf("error initializing Redis locker: %w", err)
+ }
+ logMessage("info", "Redis locker initialized successfully. π₯")
+ return nil
+}
+
+func main() {
+ err := initDotenv()
+ if err != nil {
+ logMessage("error", "Failed to load .env file: %v", err)
+ return
+ }
+ logMessage("info", "Starting the SIPRO Marketplace Server... π1")
ctx := context.Background()
// Initializing the Redis client
- err = redis.InitClient(ctx)
+ err = initRedisClient(ctx)
if err != nil {
logMessage("error", "Failed to initialize Redis client: %v", err)
return
}
defer redis.CloseClient()
- logMessage("info", "Redis client initialized successfully. π₯")
+ // Initializing the Redis locker
+ err = initRedisLocker()
+ if err != nil {
+ logMessage("error", "Failed to initialize Redis locker: %v", err)
+ return
+ }
+ defer redis.CloseLocker()
+ cfg, err := config.LoadConfig()
+ if err != nil {
+ logMessage("error", "Failed to load configuration: %v", err)
+ return
+ }
+
+ client.InitClient(*cfg.Redis)
// Initializing pgx connection
dbpool, err := pgxpool.New(ctx, os.Getenv("POSTGRES_URL"))
if err != nil {
@@ -88,11 +133,6 @@ func main() {
return
}
defer dbpool.Close()
- logMessage("info", "Connected to PostgreSQL successfully. π")
+
createGrpcServer(dbpool)
-
}
-
-//for _, item := range items {
-// //logMessage("info", "Product ID: %s, Name: %s, Price: %d", item.Price, item.Name, item.Price)
-//}
diff --git a/cmd/tasks_server/main.go b/cmd/tasks_server/main.go
new file mode 100644
index 0000000..d1ef500
--- /dev/null
+++ b/cmd/tasks_server/main.go
@@ -0,0 +1,34 @@
+package main
+
+import (
+ "context"
+ "github.com/jackc/pgx/v5/pgxpool"
+ "sipro-mps/internal/config"
+ "sipro-mps/internal/redis"
+ "sipro-mps/internal/tasks/server"
+)
+
+func main() {
+ cfg, err := config.LoadConfig()
+ if err != nil {
+ panic(err)
+ }
+ ctx := context.Background()
+ err = redis.InitClient(ctx)
+ if err != nil {
+ panic(err)
+ }
+ defer redis.CloseClient()
+ err = redis.InitLocker()
+ if err != nil {
+ panic(err)
+ }
+ defer redis.CloseLocker()
+ dbpool, err := pgxpool.New(ctx, cfg.Database.URL)
+ if err != nil {
+ panic(err)
+ }
+
+ srv := server.NewAsynqServer(cfg.Redis, dbpool)
+ srv.Run()
+}
diff --git a/cmd/test/main.go b/cmd/test/main.go
new file mode 100644
index 0000000..8f6f935
--- /dev/null
+++ b/cmd/test/main.go
@@ -0,0 +1,51 @@
+package main
+
+import (
+ "context"
+ "fmt"
+ "github.com/go-faster/errors"
+ "github.com/hibiken/asynq"
+ "github.com/joho/godotenv"
+ "github.com/redis/rueidis"
+ "sipro-mps/internal/config"
+ "sipro-mps/internal/redis"
+ "sipro-mps/internal/tasks"
+)
+
+func main() {
+ godotenv.Load()
+ ctx := context.Background()
+
+ redis.InitClient(ctx)
+ c := *redis.Client
+ key := fmt.Sprintf("wb:products:%d", "test")
+ v, err := c.Do(ctx, c.B().Get().Key(key).Build()).ToString()
+ if err != nil {
+ if errors.As(err, &rueidis.Nil) {
+ fmt.Println("Key does not exist in Redis:", key)
+ return
+ }
+ }
+ fmt.Println("Value from Redis:", v)
+ return
+ cfg, err := config.LoadConfig()
+ if err != nil {
+ panic(err)
+ }
+ client := asynq.NewClient(asynq.RedisClientOpt{Addr: cfg.Redis.Host + ":" + cfg.Redis.Port, Password: cfg.Redis.Password})
+ defer func(client *asynq.Client) {
+ err := client.Close()
+ if err != nil {
+ panic(err)
+ }
+ }(client)
+ task, err := tasks.NewFetchProductsTask(1130)
+ if err != nil {
+ panic(err)
+ }
+ info, err := client.Enqueue(task)
+ if err != nil {
+ panic(err)
+ }
+ println("Task enqueued successfully:", info.ID, "with queue name:", info.Queue, "and payload size:", len(info.Payload), "bytes")
+}
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..e50e52c
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,15 @@
+version: '3.8'
+services:
+ app:
+ image: git.denco.store/fakz9/sipro-marketplaces:latest
+ depends_on:
+ - redis
+ networks:
+ - appnet
+ redis:
+ image: redis
+ networks:
+ - appnet
+networks:
+ appnet:
+ driver: bridge
diff --git a/go.mod b/go.mod
index 5ae444d..07f9780 100755
--- a/go.mod
+++ b/go.mod
@@ -4,24 +4,55 @@ go 1.24
require (
git.denco.store/fakz9/ozon-api-client v1.18.1-0.20250526003754-c6c303092505
+ github.com/go-faster/errors v0.7.1
+ github.com/go-faster/jx v1.1.0
+ github.com/golang-jwt/jwt/v5 v5.2.2
+ github.com/google/uuid v1.6.0
+ github.com/hibiken/asynq v0.25.1
github.com/jackc/pgx/v5 v5.7.5
github.com/joho/godotenv v1.5.1
github.com/lib/pq v1.10.9
+ github.com/ogen-go/ogen v1.14.0
github.com/redis/rueidis v1.0.60
github.com/samber/lo v1.50.0
github.com/tidwall/gjson v1.18.0
+ go.opentelemetry.io/otel v1.36.0
+ go.opentelemetry.io/otel/metric v1.36.0
+ go.opentelemetry.io/otel/trace v1.36.0
google.golang.org/grpc v1.72.2
google.golang.org/protobuf v1.36.5
)
require (
+ github.com/cespare/xxhash/v2 v2.3.0 // indirect
+ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
+ github.com/dlclark/regexp2 v1.11.5 // indirect
+ github.com/fatih/color v1.18.0 // indirect
+ github.com/ghodss/yaml v1.0.0 // indirect
+ github.com/go-faster/yaml v0.4.6 // indirect
+ github.com/go-logr/logr v1.4.2 // indirect
+ github.com/go-logr/stdr v1.2.2 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
+ github.com/jackc/puddle/v2 v2.2.2 // indirect
+ github.com/mattn/go-colorable v0.1.13 // indirect
+ github.com/mattn/go-isatty v0.0.20 // indirect
+ github.com/redis/go-redis/v9 v9.7.0 // indirect
+ github.com/robfig/cron/v3 v3.0.1 // indirect
+ github.com/segmentio/asm v1.2.0 // indirect
+ github.com/spf13/cast v1.7.0 // indirect
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
- golang.org/x/crypto v0.37.0 // indirect
- golang.org/x/net v0.38.0 // indirect
- golang.org/x/sys v0.32.0 // indirect
- golang.org/x/text v0.24.0 // indirect
+ go.opentelemetry.io/auto/sdk v1.1.0 // indirect
+ go.uber.org/multierr v1.11.0 // indirect
+ go.uber.org/zap v1.27.0 // indirect
+ golang.org/x/crypto v0.38.0 // indirect
+ golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 // indirect
+ golang.org/x/net v0.40.0 // indirect
+ golang.org/x/sync v0.14.0 // indirect
+ golang.org/x/sys v0.33.0 // indirect
+ golang.org/x/text v0.25.0 // indirect
+ golang.org/x/time v0.8.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect
+ gopkg.in/yaml.v2 v2.4.0 // indirect
)
diff --git a/go.sum b/go.sum
index 6bfa488..4a88cd1 100755
--- a/go.sum
+++ b/go.sum
@@ -1,18 +1,45 @@
git.denco.store/fakz9/ozon-api-client v1.18.1-0.20250526003754-c6c303092505 h1:5mviYMLXLIvsFEXLR0IlGuqMNzkB8X/yrmxZHYk0n84=
git.denco.store/fakz9/ozon-api-client v1.18.1-0.20250526003754-c6c303092505/go.mod h1:1uPm278HN7mDkP507KHsLpnW+R9vWGEzp9BSMycjVbQ=
+github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
+github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
+github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
+github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
+github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
+github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ=
+github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
+github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
+github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
+github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
+github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
+github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/go-faster/errors v0.7.1 h1:MkJTnDoEdi9pDabt1dpWf7AA8/BaSYZqibYyhZ20AYg=
+github.com/go-faster/errors v0.7.1/go.mod h1:5ySTjWFiphBs07IKuiL69nxdfd5+fzh1u7FPGZP2quo=
+github.com/go-faster/jx v1.1.0 h1:ZsW3wD+snOdmTDy9eIVgQdjUpXRRV4rqW8NS3t+20bg=
+github.com/go-faster/jx v1.1.0/go.mod h1:vKDNikrKoyUmpzaJ0OkIkRQClNHFX/nF3dnTJZb3skg=
+github.com/go-faster/yaml v0.4.6 h1:lOK/EhI04gCpPgPhgt0bChS6bvw7G3WwI8xxVe0sw9I=
+github.com/go-faster/yaml v0.4.6/go.mod h1:390dRIvV4zbnO7qC9FGo6YYutc+wyyUSHBgbXL52eXk=
+github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
+github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/hibiken/asynq v0.25.1 h1:phj028N0nm15n8O2ims+IvJ2gz4k2auvermngh9JhTw=
+github.com/hibiken/asynq v0.25.1/go.mod h1:pazWNOLBu0FEynQRBvHA26qdIKRSmfdIfUm4HdsLmXg=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
@@ -23,16 +50,37 @@ github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
+github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
+github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
+github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
+github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
+github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/ogen-go/ogen v1.14.0 h1:TU1Nj4z9UBsAfTkf+IhuNNp7igdFQKqkk9+6/y4XuWg=
+github.com/ogen-go/ogen v1.14.0/go.mod h1:Iw1vkqkx6SU7I9th5ceP+fVPJ6Wge4e3kAVzAxJEpPE=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=
+github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw=
github.com/redis/rueidis v1.0.60 h1:MGZX8uNdw7iyWz22JhjA/9iXzddfCUE/EMK4VxKoKpA=
github.com/redis/rueidis v1.0.60/go.mod h1:Lkhr2QTgcoYBhxARU7kJRO8SyVlgUuEkcJO1Y8MCluA=
+github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
+github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
+github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
+github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/samber/lo v1.50.0 h1:XrG0xOeHs+4FQ8gJR97zDz5uOFMW7OwFWiFVzqopKgY=
github.com/samber/lo v1.50.0/go.mod h1:RjZyNk6WSnUFRKK6EyOhsRJMqft3G+pg7dCWHQCWvsc=
+github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
+github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
+github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
+github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
@@ -47,26 +95,38 @@ github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
-go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
-go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
-go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
-go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
-go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A=
-go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU=
-go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
-go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
-go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
-go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
-golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
-golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
-golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
-golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
-golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
-golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
-golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
+go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
+go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
+go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
+go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
+go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
+go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
+go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
+go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
+go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
+go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
+go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
+go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
+go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
+go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
+go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
+go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
+golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
+golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
+golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 h1:Di6/M8l0O2lCLc6VVRWhgCiApHV8MnQurBnFSHsQtNY=
+golang.org/x/exp v0.0.0-20230725093048-515e97ebf090/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
+golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
+golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
+golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
+golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
+golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
+golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
+golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
+golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ=
google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8=
@@ -74,6 +134,10 @@ google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3i
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/internal/config/config.go b/internal/config/config.go
index c5e0b68..af87f59 100755
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -1,17 +1,18 @@
package config
+import "github.com/joho/godotenv"
+
type Config struct {
- DB string
- HTTP string
- GRPC string
- Kafka string
+ Redis *RedisConfig
+ Database *DatabaseConfig
}
-func Load() Config {
- return Config{
- DB: "dbname=test password=GjitkYf[eq user=postgres sslmode=disable",
- HTTP: ":8080",
- GRPC: ":50051",
- Kafka: "localhost:9092",
+func LoadConfig() (*Config, error) {
+ err := godotenv.Load()
+ if err != nil {
+ return nil, err
}
+ redisConfig := LoadRedisConfig()
+ databaseConfig := LoadDatabaseConfig()
+ return &Config{Redis: redisConfig, Database: databaseConfig}, nil
}
diff --git a/internal/config/database.go b/internal/config/database.go
new file mode 100644
index 0000000..a681989
--- /dev/null
+++ b/internal/config/database.go
@@ -0,0 +1,23 @@
+package config
+
+import "os"
+
+type DatabaseConfig struct {
+ Host string
+ Port string
+ Login string
+ Password string
+ Database string
+ URL string
+}
+
+func LoadDatabaseConfig() *DatabaseConfig {
+ return &DatabaseConfig{
+ Host: os.Getenv("POSTGRES_HOST"),
+ Port: os.Getenv("POSTGRES_PORT"),
+ Login: os.Getenv("POSTGRES_LOGIN"),
+ Password: os.Getenv("POSTGRES_PASSWORD"),
+ Database: os.Getenv("POSTGRES_DATABASE"),
+ URL: os.Getenv("POSTGRES_URL"),
+ }
+}
diff --git a/internal/config/redis.go b/internal/config/redis.go
new file mode 100644
index 0000000..7abe74e
--- /dev/null
+++ b/internal/config/redis.go
@@ -0,0 +1,23 @@
+package config
+
+import "os"
+
+type RedisConfig struct {
+ Host string
+ Port string
+ Password string
+ Addr string
+}
+
+func LoadRedisConfig() *RedisConfig {
+ host := os.Getenv("REDIS_HOST")
+ port := os.Getenv("REDIS_PORT")
+ password := os.Getenv("REDIS_PASSWORD")
+ addr := os.Getenv("REDIS_ADDR")
+ return &RedisConfig{
+ Host: host,
+ Port: port,
+ Password: password,
+ Addr: addr,
+ }
+}
diff --git a/internal/marketplace/db/models.go b/internal/marketplace/db/models.go
index 239c76c..f19e645 100644
--- a/internal/marketplace/db/models.go
+++ b/internal/marketplace/db/models.go
@@ -14,4 +14,5 @@ type Marketplace struct {
Name string
AuthData pgtype.Text
WarehouseID pgtype.Text
+ AuthDataJson []byte
}
diff --git a/internal/marketplace/db/query.sql.go b/internal/marketplace/db/query.sql.go
index cafbe79..2da2fc9 100644
--- a/internal/marketplace/db/query.sql.go
+++ b/internal/marketplace/db/query.sql.go
@@ -10,7 +10,7 @@ import (
)
const getMarketplaceByID = `-- name: GetMarketplaceByID :one
-SELECT id, base_marketplace, name, auth_data, warehouse_id FROM marketplaces
+SELECT id, base_marketplace, name, auth_data, warehouse_id, auth_data_json FROM marketplaces
WHERE id = $1 LIMIT 1
`
@@ -23,6 +23,7 @@ func (q *Queries) GetMarketplaceByID(ctx context.Context, id int32) (Marketplace
&i.Name,
&i.AuthData,
&i.WarehouseID,
+ &i.AuthDataJson,
)
return i, err
}
diff --git a/internal/marketplace/db/schema.sql b/internal/marketplace/db/schema.sql
index ee22237..bc6ca22 100644
--- a/internal/marketplace/db/schema.sql
+++ b/internal/marketplace/db/schema.sql
@@ -1,9 +1,14 @@
create table marketplaces
(
- id serial
+ id serial
primary key,
- base_marketplace integer not null,
- name varchar not null,
- auth_data varchar,
- warehouse_id varchar
+ base_marketplace integer not null,
+ name varchar not null,
+ auth_data varchar,
+ warehouse_id varchar,
+ auth_data_json jsonb generated always as (
+ CASE
+ WHEN ((auth_data)::text IS JSON) THEN (auth_data)::jsonb
+ ELSE NULL::jsonb
+ END) stored
);
\ No newline at end of file
diff --git a/internal/marketplace/entities.go b/internal/marketplace/entities.go
index cae3fd3..3f21459 100644
--- a/internal/marketplace/entities.go
+++ b/internal/marketplace/entities.go
@@ -5,4 +5,5 @@ type Marketplace struct {
BaseMarketplace int `json:"base_marketplace"`
AuthData string `json:"auth_data"`
WarehouseID string `json:"warehouse_id"`
+ AuthDataJson []byte `json:"auth_data_json,omitempty"`
}
diff --git a/internal/marketplace/repository_db.go b/internal/marketplace/repository_db.go
index 857f7c8..f79c203 100644
--- a/internal/marketplace/repository_db.go
+++ b/internal/marketplace/repository_db.go
@@ -24,5 +24,6 @@ func (r *dbRepository) GetMarketplaceByID(ctx context.Context, id int) (*Marketp
BaseMarketplace: int(marketplace.BaseMarketplace),
AuthData: marketplace.AuthData.String,
WarehouseID: marketplace.WarehouseID.String,
+ AuthDataJson: marketplace.AuthDataJson,
}, nil
}
diff --git a/internal/ozon/products/mapping/converter.go b/internal/ozon/products/mapping/converter.go
index 7bbf3ff..32e5a5d 100644
--- a/internal/ozon/products/mapping/converter.go
+++ b/internal/ozon/products/mapping/converter.go
@@ -5,7 +5,7 @@ import (
proto "sipro-mps/api/generated/v1/ozon/products"
)
-//go:generate go run github.com/jmattheis/goverter/cmd/goverter gen -g 'ignoreUnexported yes' .
+//go:generate go run github.com/jmattheis/goverter/cmd/goverter gen -global "ignoreUnexported yes" .
// goverter:converter
// goverter:extend Int632ToInt64
diff --git a/internal/ozon/products/mapping/generated/generated.go b/internal/ozon/products/mapping/generated/generated.go
index 30dfc06..53e4681 100644
--- a/internal/ozon/products/mapping/generated/generated.go
+++ b/internal/ozon/products/mapping/generated/generated.go
@@ -5,9 +5,8 @@ package generated
import (
ozon "git.denco.store/fakz9/ozon-api-client/ozon"
-
products "sipro-mps/api/generated/v1/ozon/products"
- ozon "git.denco.store/fakz9/ozon-api-client/ozon"
+ mapping "sipro-mps/internal/ozon/products/mapping"
)
type ConverterImpl struct{}
diff --git a/internal/ozon/products/repository_api.go b/internal/ozon/products/repository_api.go
index e946a3e..2f4513d 100644
--- a/internal/ozon/products/repository_api.go
+++ b/internal/ozon/products/repository_api.go
@@ -85,7 +85,7 @@ func (a *apiRepository) GetAllProducts(ctx context.Context, marketplaceId int) (
if err != nil {
return nil, err
}
- items := []OzonProduct{}
+ var items []OzonProduct
productIdsChan := make(chan []int64)
producsChan := make(chan []OzonProduct)
errChan := make(chan error)
diff --git a/internal/ozon/rate_limiter.go b/internal/ozon/rate_limiter.go
index 9ab61f1..264339d 100644
--- a/internal/ozon/rate_limiter.go
+++ b/internal/ozon/rate_limiter.go
@@ -50,7 +50,7 @@ func (t *RateLimitTransport) RoundTrip(req *http.Request) (*http.Response, error
waitTime, err := rateLimiterScript.Exec(ctx, *redis.Client, []string{clientId}, []string{
fmt.Sprintf("%d", now),
fmt.Sprintf("%d", int64(windowSize)),
- fmt.Sprintf("%d", 50),
+ fmt.Sprintf("%d", rps),
}).ToInt64()
if err != nil {
return nil, fmt.Errorf("failed to execute rate limit script: %w", err)
diff --git a/internal/redis/client.go b/internal/redis/client.go
index 02c9833..75d2bb4 100644
--- a/internal/redis/client.go
+++ b/internal/redis/client.go
@@ -11,6 +11,7 @@ var Client *rueidis.Client
func InitClient(ctx context.Context) error {
var err error
host := os.Getenv("REDIS_HOST")
+ //host := "redis"
port := os.Getenv("REDIS_PORT")
password := os.Getenv("REDIS_PASSWORD")
diff --git a/internal/redis/lock.go b/internal/redis/lock.go
new file mode 100644
index 0000000..b66d43c
--- /dev/null
+++ b/internal/redis/lock.go
@@ -0,0 +1,29 @@
+package redis
+
+import (
+ "github.com/redis/rueidis"
+ "github.com/redis/rueidis/rueidislock"
+ "os"
+)
+
+var Locker *rueidislock.Locker
+
+func InitLocker() error {
+ redisAddr := os.Getenv("REDIS_ADDR")
+ password := os.Getenv("REDIS_PASSWORD")
+ locker, err := rueidislock.NewLocker(rueidislock.LockerOption{
+ ClientOption: rueidis.ClientOption{InitAddress: []string{redisAddr}, Password: password},
+ })
+ if err != nil {
+ return err
+ }
+ Locker = &locker
+ return nil
+}
+func CloseLocker() {
+ if Locker != nil {
+ (*Locker).Close()
+ }
+ Locker = nil
+
+}
diff --git a/internal/tasks/client/client.go b/internal/tasks/client/client.go
new file mode 100644
index 0000000..f8f5c50
--- /dev/null
+++ b/internal/tasks/client/client.go
@@ -0,0 +1,25 @@
+package client
+
+import (
+ "github.com/hibiken/asynq"
+ "sipro-mps/internal/config"
+)
+
+var Client *asynq.Client
+
+// InitClient initializes the Asynq client with the provided Redis configuration.
+func InitClient(redisConfig config.RedisConfig) {
+ client := asynq.NewClient(asynq.RedisClientOpt{
+ Addr: redisConfig.Addr,
+ Password: redisConfig.Password,
+ })
+ Client = client
+}
+
+func CloseClient() {
+ if Client != nil {
+ if err := Client.Close(); err != nil {
+ panic(err)
+ }
+ }
+}
diff --git a/internal/tasks/server/server.go b/internal/tasks/server/server.go
new file mode 100644
index 0000000..1cd3aec
--- /dev/null
+++ b/internal/tasks/server/server.go
@@ -0,0 +1,39 @@
+package server
+
+import (
+ "github.com/hibiken/asynq"
+ "github.com/jackc/pgx/v5/pgxpool"
+ "sipro-mps/internal/config"
+ "sipro-mps/internal/tasks/types"
+ "sipro-mps/internal/tasks/wb"
+)
+
+type AsynqServer struct {
+ redisConfig *config.RedisConfig
+ dbpool *pgxpool.Pool
+}
+
+func NewAsynqServer(redisConfig *config.RedisConfig, dbpool *pgxpool.Pool) *AsynqServer {
+ return &AsynqServer{
+ redisConfig: redisConfig,
+ dbpool: dbpool,
+ }
+}
+func (s *AsynqServer) createMux() *asynq.ServeMux {
+ mux := asynq.NewServeMux()
+
+ // Register task handlers here
+ mux.Handle(types.TypeWbFetchProducts, &wb.FetchProductsProcessor{Dbpool: s.dbpool})
+ return mux
+}
+
+func (s *AsynqServer) Run() {
+ srv := asynq.NewServer(
+ asynq.RedisClientOpt{Addr: s.redisConfig.Addr, Password: s.redisConfig.Password},
+ asynq.Config{Concurrency: 10},
+ )
+ mux := s.createMux()
+ if err := srv.Run(mux); err != nil {
+ panic(err)
+ }
+}
diff --git a/internal/tasks/types/common.go b/internal/tasks/types/common.go
new file mode 100644
index 0000000..b530688
--- /dev/null
+++ b/internal/tasks/types/common.go
@@ -0,0 +1,5 @@
+package types
+
+const (
+ TypeWbFetchProducts = "wb:fetch_products"
+)
diff --git a/internal/tasks/types/wb.go b/internal/tasks/types/wb.go
new file mode 100644
index 0000000..00454a3
--- /dev/null
+++ b/internal/tasks/types/wb.go
@@ -0,0 +1,19 @@
+package types
+
+import (
+ "encoding/json"
+ "github.com/hibiken/asynq"
+ "time"
+)
+
+type FetchProductsTask struct {
+ MarketplaceId int
+}
+
+func NewFetchProductsTask(marketplaceId int) (*asynq.Task, error) {
+ payload, err := json.Marshal(&FetchProductsTask{MarketplaceId: marketplaceId})
+ if err != nil {
+ return nil, err
+ }
+ return asynq.NewTask(TypeWbFetchProducts, payload, asynq.MaxRetry(2), asynq.Timeout(20*time.Minute)), nil
+}
diff --git a/internal/tasks/wb/wb.go b/internal/tasks/wb/wb.go
new file mode 100644
index 0000000..f3f8f31
--- /dev/null
+++ b/internal/tasks/wb/wb.go
@@ -0,0 +1,65 @@
+package wb
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "github.com/hibiken/asynq"
+ "github.com/jackc/pgx/v5/pgxpool"
+ "github.com/samber/lo"
+ pb "sipro-mps/api/generated/v1/wb/products"
+ mp_repo "sipro-mps/internal/marketplace"
+ "sipro-mps/internal/redis"
+ "sipro-mps/internal/tasks/types"
+ wb_products_repo "sipro-mps/internal/wb/products"
+ conv "sipro-mps/internal/wb/products/mapping/generated"
+)
+
+type FetchProductsProcessor struct {
+ Dbpool *pgxpool.Pool
+ wbRepo wb_products_repo.Repository
+}
+
+func (p *FetchProductsProcessor) ProcessTask(ctx context.Context, task *asynq.Task) error {
+ var payload types.FetchProductsTask
+ if err := json.Unmarshal(task.Payload(), &payload); err != nil {
+ return asynq.SkipRetry
+ }
+ marketplaceRepo := mp_repo.NewDBRepository(p.Dbpool)
+ repo := wb_products_repo.NewAPIRepository(marketplaceRepo)
+ _, sellerId, err := repo.ParseMarketplace(ctx, payload.MarketplaceId)
+ if err != nil {
+ return fmt.Errorf("failed to parse marketplace %d: %w", payload.MarketplaceId, err)
+ }
+ locker := *redis.Locker
+ _, cancel, err := locker.TryWithContext(ctx, fmt.Sprintf("wb:products:marketplace:%s:lock", sellerId))
+ if err != nil {
+ fmt.Printf("Failed to acquire lock for marketplace %s: %v\n", sellerId, err)
+ return asynq.SkipRetry
+
+ }
+ fmt.Println("Working on marketplace", payload.MarketplaceId, "with seller ID", sellerId)
+
+ defer cancel()
+
+ redisKey := fmt.Sprintf("wb:products:%s", sellerId)
+ productsRaw, err := repo.GetAllProducts(ctx, payload.MarketplaceId)
+ if err != nil {
+ return fmt.Errorf("failed to fetch products for marketplace %d: %w", payload.MarketplaceId, err)
+ }
+ converter := conv.ConverterImpl{}
+ products := lo.Map(productsRaw, func(item wb_products_repo.WbProduct, _ int) *pb.Product {
+ return converter.ToProto(&item)
+ })
+ redisClient := *redis.Client
+ productsJson, err := json.Marshal(products)
+ if err != nil {
+ return fmt.Errorf("failed to marshal products: %w", err)
+ }
+ err = redisClient.Do(ctx, redisClient.B().Set().Key(redisKey).Value(string(productsJson)).Build()).Error()
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/internal/wb/common.go b/internal/wb/common.go
new file mode 100644
index 0000000..6368852
--- /dev/null
+++ b/internal/wb/common.go
@@ -0,0 +1,59 @@
+package wb
+
+import (
+ "encoding/json"
+ "fmt"
+ "github.com/golang-jwt/jwt/v5"
+ "net/http"
+ "sipro-mps/internal/marketplace"
+ wbclient "sipro-mps/pkg/api/wb/client"
+ "time"
+)
+
+type WbAuthData struct {
+ Token string `json:"token"`
+}
+
+func NewWbAuthData(token string) WbAuthData {
+ return WbAuthData{
+ Token: token,
+ }
+}
+
+func DecodeWildberriesJwt(token []byte) (WbAuthData, jwt.MapClaims, error) {
+ var authData WbAuthData
+ err := json.Unmarshal(token, &authData)
+ if err != nil {
+ return authData, nil, fmt.Errorf("failed to unmarshal JWT: %w", err)
+ }
+ claims := jwt.MapClaims{}
+ _, _, err = jwt.NewParser().ParseUnverified(authData.Token, claims)
+ if err != nil {
+ return authData, nil, fmt.Errorf("invalid JWT: %w", err)
+ }
+
+ return authData, claims, nil
+}
+
+func GetClientFromMarketplace(mp *marketplace.Marketplace) (*wbclient.Client, error) {
+
+ authData, claims, err := DecodeWildberriesJwt(mp.AuthDataJson)
+ if err != nil {
+ return nil, fmt.Errorf("failed to decode Wildberries JWT")
+ }
+ exp := claims["exp"].(float64)
+ // chec if token is expired, for now unix date
+ now := float64(time.Now().Unix())
+ if exp < now {
+ return nil, fmt.Errorf("token is expired")
+ }
+ securityHandler := NewWildberriesSecurityHandler(authData.Token)
+ httpClient := &http.Client{
+ Transport: NewRateLimitTransport(),
+ }
+ client, err := wbclient.NewClient("https://content-api.wildberries.ru", securityHandler, wbclient.WithClient(httpClient))
+ if err != nil {
+ return nil, fmt.Errorf("failed to create Wildberries client: %w", err)
+ }
+ return client, nil
+}
diff --git a/internal/wb/products/adapter_grpc.go b/internal/wb/products/adapter_grpc.go
new file mode 100644
index 0000000..0d50374
--- /dev/null
+++ b/internal/wb/products/adapter_grpc.go
@@ -0,0 +1,63 @@
+package products
+
+import (
+ "fmt"
+ "github.com/samber/lo"
+ "google.golang.org/grpc"
+ pb "sipro-mps/api/generated/v1/wb/products"
+ "sipro-mps/internal/marketplace"
+)
+
+type AdapterGRPC struct {
+ pb.UnimplementedProductsServiceServer
+ repo Repository
+}
+
+func NewAdapterGRPC(repo Repository) *AdapterGRPC {
+ return &AdapterGRPC{
+ repo: repo,
+ }
+}
+
+func RegisterAdapterGRPC(server *grpc.Server, marketplacesRepository marketplace.Repository) (*Repository, error) {
+ repo := NewAPIRepository(marketplacesRepository)
+ adapter := NewAdapterGRPC(repo)
+ pb.RegisterProductsServiceServer(server, adapter)
+ return &repo, nil
+}
+func (a *AdapterGRPC) GetProducts(req *pb.GetProductsRequest, stream pb.ProductsService_GetProductsServer) error {
+ ctx := stream.Context()
+ resultChan := make(chan []pb.Product)
+ errChan := make(chan error)
+ go a.repo.StreamAllProductsCache(ctx, int(req.MarketplaceId), resultChan, errChan)
+ for {
+ select {
+ case <-ctx.Done():
+ fmt.Println("context done")
+ return ctx.Err()
+ case products, ok := <-resultChan:
+ if !ok {
+ fmt.Println("result channel closed")
+ return nil
+ }
+ resp := &pb.GetProductsResponse{
+ Products: lo.Map(products, func(p pb.Product, _ int) *pb.Product {
+ return &p
+ }),
+ }
+ if err := stream.Send(resp); err != nil {
+ fmt.Println("error sending response", err)
+ return err
+ }
+ case err, ok := <-errChan:
+ if !ok {
+ return nil
+ }
+ if ok && err != nil {
+ fmt.Println("error in channel", err)
+ return err
+ }
+ }
+
+ }
+}
diff --git a/internal/wb/products/entities.go b/internal/wb/products/entities.go
new file mode 100644
index 0000000..0d54187
--- /dev/null
+++ b/internal/wb/products/entities.go
@@ -0,0 +1,9 @@
+package products
+
+import (
+ pb "sipro-mps/api/generated/v1/wb/products"
+ "sipro-mps/pkg/api/wb/client"
+)
+
+type WbProduct = api.ContentV2GetCardsListPostOKCardsItem
+type PbProduct = pb.Product
diff --git a/internal/wb/products/mapping/converter.go b/internal/wb/products/mapping/converter.go
new file mode 100644
index 0000000..210d8ef
--- /dev/null
+++ b/internal/wb/products/mapping/converter.go
@@ -0,0 +1,28 @@
+package mapping
+
+import wbclient "sipro-mps/pkg/api/wb/client"
+
+// import (
+//
+// proto "sipro-mps/api/generated/v1/wb/products"
+// internal "sipro-mps/internal/wb/products"
+// wbclient "sipro-mps/pkg/api/wb/client"
+//
+// )
+//
+// //go:generate go run github.com/jmattheis/goverter/cmd/goverter gen -global "ignoreUnexported yes" .
+//
+// // goverter:converter
+// // goverter:extend OptIntToInt64 OptStringToString
+//
+// type Converter interface {
+// // goverter:ignore state sizeCache unknownFields
+//
+// ToProto(details *internal.WbProduct) *proto.Product
+// }
+func OptIntToInt64(i wbclient.OptInt) int64 {
+ return int64(i.Value)
+}
+func OptStringToString(s wbclient.OptString) string {
+ return s.Value
+}
diff --git a/internal/wb/products/mapping/generated/generated.go b/internal/wb/products/mapping/generated/generated.go
new file mode 100644
index 0000000..d685421
--- /dev/null
+++ b/internal/wb/products/mapping/generated/generated.go
@@ -0,0 +1,40 @@
+// Code generated by github.com/jmattheis/goverter, DO NOT EDIT.
+//go:build !goverter
+
+package generated
+
+import (
+ products "sipro-mps/api/generated/v1/wb/products"
+ mapping "sipro-mps/internal/wb/products/mapping"
+ client "sipro-mps/pkg/api/wb/client"
+)
+
+type ConverterImpl struct{}
+
+func (c *ConverterImpl) ToProto(source *client.ContentV2GetCardsListPostOKCardsItem) *products.Product {
+ var pProductsProduct *products.Product
+ if source != nil {
+ var productsProduct products.Product
+ productsProduct.NmID = mapping.OptIntToInt64((*source).NmID)
+ productsProduct.SubjectID = mapping.OptIntToInt64((*source).SubjectID)
+ productsProduct.VendorCode = mapping.OptStringToString((*source).VendorCode)
+ if (*source).Sizes != nil {
+ productsProduct.Sizes = make([]*products.Product_Size, len((*source).Sizes))
+ for i := 0; i < len((*source).Sizes); i++ {
+ productsProduct.Sizes[i] = c.apiContentV2GetCardsListPostOKCardsItemSizesItemToPProductsProduct_Size((*source).Sizes[i])
+ }
+ }
+ pProductsProduct = &productsProduct
+ }
+ return pProductsProduct
+}
+func (c *ConverterImpl) apiContentV2GetCardsListPostOKCardsItemSizesItemToPProductsProduct_Size(source client.ContentV2GetCardsListPostOKCardsItemSizesItem) *products.Product_Size {
+ var productsProduct_Size products.Product_Size
+ if source.Skus != nil {
+ productsProduct_Size.Skus = make([]string, len(source.Skus))
+ for i := 0; i < len(source.Skus); i++ {
+ productsProduct_Size.Skus[i] = source.Skus[i]
+ }
+ }
+ return &productsProduct_Size
+}
diff --git a/internal/wb/products/repository.go b/internal/wb/products/repository.go
new file mode 100644
index 0000000..eaf3000
--- /dev/null
+++ b/internal/wb/products/repository.go
@@ -0,0 +1,13 @@
+package products
+
+import (
+ "context"
+ "sipro-mps/internal/marketplace"
+)
+
+type Repository interface {
+ GetAllProducts(ctx context.Context, marketplaceId int) ([]WbProduct, error)
+ StreamAllProducts(ctx context.Context, marketplaceId int, resultChan chan<- []WbProduct, errChan chan<- error)
+ StreamAllProductsCache(ctx context.Context, marketplaceId int, resultChan chan<- []PbProduct, errChan chan<- error)
+ ParseMarketplace(ctx context.Context, marketplaceId int) (*marketplace.Marketplace, string, error)
+}
diff --git a/internal/wb/products/repository_api.go b/internal/wb/products/repository_api.go
new file mode 100644
index 0000000..d37f62b
--- /dev/null
+++ b/internal/wb/products/repository_api.go
@@ -0,0 +1,224 @@
+package products
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "github.com/go-faster/errors"
+ "github.com/redis/rueidis"
+ "github.com/samber/lo"
+ pb "sipro-mps/api/generated/v1/wb/products"
+ "sipro-mps/internal/marketplace"
+ "sipro-mps/internal/redis"
+ "sipro-mps/internal/tasks/client"
+ "sipro-mps/internal/tasks/types"
+ "sipro-mps/internal/wb"
+ "sipro-mps/internal/wb/products/mapping/generated"
+ wbapi "sipro-mps/pkg/api/wb/client"
+)
+
+const (
+ maxRetries = 5
+ maxProductsPerRequest = 100
+)
+
+type apiRepository struct {
+ marketplaceRepository marketplace.Repository
+}
+
+func (a apiRepository) ParseMarketplace(ctx context.Context, marketplaceId int) (*marketplace.Marketplace, string, error) {
+ marketplaceByID, err := a.marketplaceRepository.GetMarketplaceByID(ctx, marketplaceId)
+ if err != nil {
+ return nil, "", err
+ }
+ _, claims, err := wb.DecodeWildberriesJwt(marketplaceByID.AuthDataJson)
+ if err != nil {
+ return nil, "", err
+ }
+ sellerId := claims["sid"].(string)
+ return marketplaceByID, sellerId, nil
+}
+
+func fetchProducts(
+ ctx context.Context,
+ client *wbapi.Client,
+ sellerId string,
+ resultChan chan<- []WbProduct,
+ errChan chan<- error,
+) {
+ defer close(resultChan)
+ defer close(errChan)
+ request := wbapi.ContentV2GetCardsListPostReq{}
+ request.Settings.SetTo(wbapi.ContentV2GetCardsListPostReqSettings{})
+
+ request.Settings.Value.Cursor.SetTo(wbapi.ContentV2GetCardsListPostReqSettingsCursor{})
+ request.Settings.Value.Cursor.Value.Limit.SetTo(maxProductsPerRequest)
+
+ request.Settings.Value.Filter.SetTo(wbapi.ContentV2GetCardsListPostReqSettingsFilter{})
+ request.Settings.Value.Filter.Value.WithPhoto.SetTo(-1)
+ currentRetry := 0
+ for {
+ response, err := client.ContentV2GetCardsListPost(ctx, &request, wbapi.ContentV2GetCardsListPostParams{Locale: wbapi.NewOptString("ru")})
+ if err != nil {
+ currentRetry++
+ if currentRetry >= maxRetries {
+ errChan <- fmt.Errorf("fetching product IDs: %w", err)
+ return
+ }
+ continue
+ }
+ currentRetry = 0
+
+ switch r := response.(type) {
+ case *wbapi.ContentV2GetCardsListPostOKHeaders:
+ err = wb.SyncRateLimitRemaining(ctx, sellerId, r.XRatelimitRemaining.Value)
+ if err != nil {
+ errChan <- fmt.Errorf("syncing rate limit: %w", err)
+ return
+ }
+ resultChan <- r.Response.Cards
+ if r.Response.Cursor.Value.Total.Value < maxProductsPerRequest {
+ return
+ }
+ request.Settings.Value.Cursor.Value.UpdatedAt.SetTo(r.Response.Cursor.Value.UpdatedAt.Value)
+ request.Settings.Value.Cursor.Value.NmID.SetTo(r.Response.Cursor.Value.NmID.Value)
+ case *wbapi.R429Headers:
+ err = wb.SetRateLimitRetry(ctx, sellerId, r.XRatelimitRetry.Value, r.XRatelimitLimit.Value, r.XRatelimitReset.Value)
+ if err != nil {
+ errChan <- fmt.Errorf("setting rate limit retry: %w", err)
+ return
+ }
+ default:
+ errChan <- fmt.Errorf("unexpected response type: %T", r)
+ return
+ }
+ }
+}
+
+func (a apiRepository) StreamAllProductsCache(ctx context.Context, marketplaceId int, resultChan chan<- []pb.Product, errChan chan<- error) {
+ defer close(resultChan)
+ defer close(errChan)
+ _, sellerId, err := a.ParseMarketplace(ctx, marketplaceId)
+ if err != nil {
+ errChan <- err
+ return
+ }
+ c := *redis.Client
+ key := fmt.Sprintf("wb:products:%s", sellerId)
+ jsonString, err := c.Do(ctx, c.B().Get().Key(key).Build()).ToString()
+ if err == nil && jsonString != "null" {
+ var result []pb.Product
+ err = json.Unmarshal([]byte(jsonString), &result)
+ if err != nil {
+ errChan <- fmt.Errorf("unmarshalling products from cache: %w", err)
+ return
+ }
+ task, err := types.NewFetchProductsTask(marketplaceId)
+ if err != nil {
+ errChan <- fmt.Errorf("creating fetch products task: %w", err)
+ return
+ }
+ _, err = client.Client.Enqueue(task)
+ if err != nil {
+ errChan <- fmt.Errorf("enqueueing fetch products task: %w", err)
+ return
+ }
+
+ resultChan <- result
+ return
+ }
+ if !errors.As(err, &rueidis.Nil) && err != nil {
+ errChan <- fmt.Errorf("fetching products from cache: %w", err)
+ return
+ }
+ converter := generated.ConverterImpl{}
+
+ innerResultChan := make(chan []WbProduct)
+ innerErrChan := make(chan error)
+ go a.StreamAllProducts(ctx, marketplaceId, innerResultChan, innerErrChan)
+ var allProducts []pb.Product
+ defer func() {
+ jsonData, err := json.Marshal(allProducts)
+ if err != nil {
+ errChan <- fmt.Errorf("marshalling products to cache: %w", err)
+ return
+ }
+ err = c.Do(ctx, c.B().Set().Key(key).Value(string(jsonData)).Build()).Error()
+ if err != nil {
+ errChan <- fmt.Errorf("setting products to cache: %w", err)
+ return
+ }
+ }()
+ for {
+ select {
+ case err, ok := <-innerErrChan:
+ if !ok {
+ return
+ }
+ errChan <- fmt.Errorf("streaming products: %w", err)
+ return
+ case products, ok := <-innerResultChan:
+ if !ok {
+ return
+ }
+ pbProducts := lo.Map(products, func(p WbProduct, _ int) pb.Product {
+ return *converter.ToProto(&p)
+ })
+ allProducts = append(allProducts, pbProducts...)
+ resultChan <- pbProducts
+ }
+ }
+
+}
+func (a apiRepository) GetAllProducts(ctx context.Context, marketplaceId int) ([]WbProduct, error) {
+ marketplaceByID, sellerId, err := a.ParseMarketplace(ctx, marketplaceId)
+ fromMarketplace, err := wb.GetClientFromMarketplace(marketplaceByID)
+ if err != nil {
+ return nil, err
+ }
+ resultChan := make(chan []WbProduct)
+ errChan := make(chan error)
+ go fetchProducts(ctx, fromMarketplace, sellerId, resultChan, errChan)
+
+ var products []WbProduct
+ isWaiting := true
+ for {
+ if !isWaiting {
+ break
+ }
+ select {
+ case err, ok := <-errChan:
+ if !ok {
+ isWaiting = false
+ continue
+ }
+ return nil, err
+ case newProducts, ok := <-resultChan:
+ if !ok {
+ isWaiting = false
+ }
+ products = append(products, newProducts...)
+ }
+ }
+ return products, nil
+}
+
+func (a apiRepository) StreamAllProducts(ctx context.Context, marketplaceId int, resultChan chan<- []WbProduct, errChan chan<- error) {
+ marketplaceByID, sellerId, err := a.ParseMarketplace(ctx, marketplaceId)
+ if err != nil {
+ errChan <- err
+ return
+ }
+ fromMarketplace, err := wb.GetClientFromMarketplace(marketplaceByID)
+ if err != nil {
+ errChan <- err
+ return
+ }
+ go fetchProducts(ctx, fromMarketplace, sellerId, resultChan, errChan)
+}
+
+func NewAPIRepository(marketplaceRepository marketplace.Repository) Repository {
+ return &apiRepository{
+ marketplaceRepository: marketplaceRepository,
+ }
+}
diff --git a/internal/wb/rate_limiter.go b/internal/wb/rate_limiter.go
new file mode 100644
index 0000000..9c7aa27
--- /dev/null
+++ b/internal/wb/rate_limiter.go
@@ -0,0 +1,170 @@
+package wb
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "github.com/redis/rueidis"
+ "net/http"
+ "sipro-mps/internal/redis"
+ "time"
+)
+
+const (
+ defaultBucketCapacity = 10 // max burst size
+ refillRate = 100.0 / 60000 // 300 requests per minute β 1 token per 200ms
+ tokenTTLMillis = 60000 // Redis key TTL: 60s
+)
+
+var tokenBucketScript = rueidis.NewLuaScript(`
+local key = KEYS[1]
+local now = tonumber(ARGV[1])
+local default_capacity = tonumber(ARGV[2])
+local refill_rate = tonumber(ARGV[3])
+local ttl = tonumber(ARGV[4])
+
+-- Retry lock
+local retry_key = key .. ":retry_until"
+local retry_until = tonumber(redis.call("GET", retry_key))
+if retry_until and now < retry_until then
+ return retry_until - now
+end
+
+-- Token Bucket
+local capacity_key = key .. ":capacity"
+local token_key = key .. ":tokens"
+local time_key = key .. ":last_refill"
+
+local capacity = tonumber(redis.call("GET", capacity_key)) or default_capacity
+local tokens = tonumber(redis.call("GET", token_key))
+local last_refill = tonumber(redis.call("GET", time_key))
+
+if tokens == nil then tokens = capacity end
+if last_refill == nil then last_refill = now end
+
+local elapsed = now - last_refill
+local refill = elapsed * refill_rate
+tokens = math.min(capacity, tokens + refill)
+last_refill = now
+
+if tokens >= 1 then
+ tokens = tokens - 1
+ redis.call("SET", token_key, tokens)
+ redis.call("SET", time_key, last_refill)
+ redis.call("PEXPIRE", token_key, ttl)
+ redis.call("PEXPIRE", time_key, ttl)
+ return 0
+else
+ local wait_time = math.ceil((1 - tokens) / refill_rate)
+ return wait_time
+end
+`)
+
+type RateLimitTransport struct {
+ http.RoundTripper
+}
+
+func (t *RateLimitTransport) RoundTrip(req *http.Request) (*http.Response, error) {
+ ctx := req.Context()
+
+ tokenString := req.Header.Get("Authorization")
+ authData := NewWbAuthData(tokenString)
+ authDataBytes, err := json.Marshal(authData)
+ if err != nil {
+ return nil, fmt.Errorf("failed to marshal Wildberries auth data: %w", err)
+ }
+ _, claims, err := DecodeWildberriesJwt(authDataBytes)
+ if err != nil {
+ return nil, fmt.Errorf("failed to decode Wildberries JWT: %w", err)
+ }
+ sellerId := claims["sid"].(string)
+ if sellerId == "" {
+ return nil, fmt.Errorf("sellerId is required in JWT claims")
+ }
+ now := time.Now().UnixMilli()
+ client := *redis.Client
+
+ waitTime, err := tokenBucketScript.Exec(ctx, client, []string{sellerId}, []string{
+ fmt.Sprintf("%d", now),
+ fmt.Sprintf("%d", defaultBucketCapacity),
+ fmt.Sprintf("%f", refillRate),
+ fmt.Sprintf("%d", tokenTTLMillis),
+ }).ToInt64()
+
+ if err != nil {
+ return nil, fmt.Errorf("rate limit script error: %w", err)
+ }
+
+ if waitTime > 0 {
+ select {
+ case <-time.After(time.Duration(waitTime) * time.Millisecond):
+ case <-ctx.Done():
+ return nil, ctx.Err()
+ }
+ }
+
+ return t.RoundTripper.RoundTrip(req)
+}
+
+func SyncRateLimitRemaining(ctx context.Context, sellerId string, remaining int) error {
+ if sellerId == "" || remaining < 0 {
+ return fmt.Errorf("invalid sellerId or remaining")
+ }
+ now := time.Now().UnixMilli()
+ client := *redis.Client
+
+ cmds := []rueidis.Completed{
+ client.B().Set().Key(sellerId + ":capacity").Value(fmt.Sprintf("%d", defaultBucketCapacity)).Ex(time.Minute).Build(),
+ client.B().Set().Key(sellerId + ":tokens").Value(fmt.Sprintf("%d", remaining)).Ex(time.Minute).Build(),
+ client.B().Set().Key(sellerId + ":last_refill").Value(fmt.Sprintf("%d", now)).Ex(time.Minute).Build(),
+ }
+
+ results := client.DoMulti(ctx, cmds...)
+ for _, res := range results {
+ if res.Error() != nil {
+ return fmt.Errorf("failed to sync rate limit: %w", res.Error())
+ }
+ }
+ return nil
+}
+
+func SetRateLimitRetry(ctx context.Context, sellerId string, retrySeconds int, limit int, resetSeconds int) error {
+ if sellerId == "" {
+ return fmt.Errorf("sellerId is required")
+ }
+ now := time.Now()
+ retryUntil := now.Add(time.Duration(retrySeconds) * time.Second).UnixMilli()
+ client := *redis.Client
+
+ cmds := []rueidis.Completed{
+ client.B().Set().
+ Key(sellerId + ":retry_until").
+ Value(fmt.Sprintf("%d", retryUntil)).
+ Px(time.Duration(retrySeconds+5) * time.Second).Build(),
+ }
+
+ if limit > 0 {
+ cmds = append(cmds, client.B().Set().
+ Key(sellerId+":capacity").
+ Value(fmt.Sprintf("%d", limit)).
+ Ex(time.Hour).Build())
+ }
+
+ if resetSeconds > 0 {
+ resetAt := now.Add(time.Duration(resetSeconds) * time.Second)
+ fmt.Printf("Seller %s rate limit resets at %v (limit: %d)\n", sellerId, resetAt, limit)
+ }
+
+ results := client.DoMulti(ctx, cmds...)
+ for _, res := range results {
+ if res.Error() != nil {
+ return fmt.Errorf("failed to set retry info: %w", res.Error())
+ }
+ }
+
+ return nil
+}
+
+func NewRateLimitTransport() *RateLimitTransport {
+ return &RateLimitTransport{RoundTripper: http.DefaultTransport}
+}
diff --git a/internal/wb/security_handler.go b/internal/wb/security_handler.go
new file mode 100644
index 0000000..293a379
--- /dev/null
+++ b/internal/wb/security_handler.go
@@ -0,0 +1,22 @@
+package wb
+
+import (
+ "context"
+ wbclient "sipro-mps/pkg/api/wb/client"
+)
+
+type WildberriesSecurityHandler struct {
+ ApiKey string
+}
+
+func (sh WildberriesSecurityHandler) HeaderApiKey(ctx context.Context, operationName wbclient.OperationName, client *wbclient.Client) (wbclient.HeaderApiKey, error) {
+ return wbclient.HeaderApiKey{
+ APIKey: sh.ApiKey,
+ Roles: nil,
+ }, nil
+}
+func NewWildberriesSecurityHandler(apiKey string) WildberriesSecurityHandler {
+ return WildberriesSecurityHandler{
+ ApiKey: apiKey,
+ }
+}
diff --git a/internal/wb/types.go b/internal/wb/types.go
new file mode 100644
index 0000000..c281d03
--- /dev/null
+++ b/internal/wb/types.go
@@ -0,0 +1 @@
+package wb
diff --git a/pkg/api/wb/02-products.yaml b/pkg/api/wb/02-products.yaml
new file mode 100644
index 0000000..7be7ba1
--- /dev/null
+++ b/pkg/api/wb/02-products.yaml
@@ -0,0 +1,5572 @@
+openapi: 3.0.1
+info:
+ title: Π Π°Π±ΠΎΡΠ° Ρ ΡΠΎΠ²Π°ΡΠ°ΠΌΠΈ
+ version: products
+ description: |
+
+
+ Π Π°Π±ΠΎΡΠ° Ρ ΡΠΎΠ²Π°ΡΠ°ΠΌΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
+ 1. [Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov) ΠΈ [ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅](/openapi/work-with-products#tag/Kartochki-tovarov) ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²: Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ [ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki) ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ [ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ²](/openapi/work-with-products#tag/Mediafajly).
+ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΡ [ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki) Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ².
+ 3. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΡ [ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ](/openapi/work-with-products#tag/Ceny-i-skidki).
+ 4. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ [ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca) ΠΈ [ΡΠΊΠ»Π°Π΄Π°ΠΌΠΈ](/openapi/work-with-products#tag/Sklady-prodavca), Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ΄Π°ΠΆ ΡΠΎ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ x-file-name: products
+security:
+ - HeaderApiKey: [ ]
+tags:
+ - name: ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ description: ''
+ - name: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: ''
+ - name: ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: ''
+ - name: ΠΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ
+ description: ''
+ - name: Π―ΡΠ»ΡΠΊΠΈ
+ description: ''
+ - name: Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ description: ''
+ - name: Π‘ΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ description: ''
+ - name: ΠΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ description: ''
+paths:
+ /content/v2/object/parent/all:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ID Π²ΡΠ΅Ρ
ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ [ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°`, `ΠΡΡΠΎΠ²Π°Ρ Ρ
ΠΈΠΌΠΈΡ`, `Π ΡΠΊΠΎΠ΄Π΅Π»ΠΈΠ΅`.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Ρ ΠΎΡΠ²Π΅ΡΠ° `name`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: en
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ items:
+ type: object
+ properties:
+ name:
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
+ type: string
+ example: ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°
+ id:
+ description: ID ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
+ type: integer
+ example: 479
+ isVisible:
+ description: ΠΠΈΠ΄Π΅Π½ Π½Π° ΡΠ°ΠΉΡΠ΅
+ type: boolean
+ example: true
+ error:
+ description: Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: string
+ example: ''
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/object/all:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ [ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1parent~1all/get) ΠΈ ΠΈΡ
ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² Ρ ID. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ `ΠΠ³ΡΡΡΠΊΠΈ` Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ `ΠΠ°Π»Π΅ΠΉΠ΄ΠΎΡΠΊΠΎΠΏΡ`, `ΠΡΠΊΠ»Ρ`, `ΠΡΡΠΈΠΊΠΈ`.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: locale
+ in: query
+ schema:
+ type: string
+ example: en
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ°: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ - name: name
+ in: query
+ schema:
+ type: string
+ example: ΠΠΎΡΠΊΠΈ
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° (ΠΠΎΡΠΊΠΈ), ΠΏΠΎΠΈΡΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ΅, ΠΈΡΠΊΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ·ΡΠΊΠΎΠ².
+ - name: limit
+ in: query
+ schema:
+ type: integer
+ example: 1000
+ default: 30
+ description: ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ², ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 1000
+ - name: offset
+ in: query
+ schema:
+ type: integer
+ example: 5000
+ default: 0
+ description: ΠΠΎΠΌΠ΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ
+ - name: parentID
+ in: query
+ schema:
+ type: integer
+ example: 1000
+ description: ID ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: array
+ description: ΠΡΠ΅Π΄ΠΌΠ΅ΡΡ
+ items:
+ type: object
+ properties:
+ subjectID:
+ type: integer
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ parentID:
+ type: integer
+ description: ID ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
+ subjectName:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ parentName:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
+ error:
+ type: boolean
+ description: Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ errorText:
+ type: string
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example:
+ data:
+ - subjectID: 2560
+ parentID: 479
+ subjectName: 3D ΠΎΡΠΊΠΈ
+ parentName: ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°
+ - subjectID: 1152
+ parentID: 858
+ subjectName: 3D-ΠΏΡΠΈΠ½ΡΠ΅ΡΡ
+ parentName: ΠΡΠ³ΡΠ΅Ρ
Π½ΠΈΠΊΠ°
+ error: false
+ errorText: ''
+ additionalErrors: null
+ '401':
+ $ref: '#/components/responses/401'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/object/charcs/{subjectId}:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ID [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get).
+
+
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: subjectId
+ in: path
+ required: true
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ schema:
+ type: integer
+ example: 105
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: en
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: array
+ description: ΠΠ°Π½Π½ΡΠ΅
+ items:
+ type: object
+ properties:
+ charcID:
+ type: integer
+ description: ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ subjectName:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ subjectID:
+ type: integer
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ name:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ required:
+ type: boolean
+ description: true - Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°. false - Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ
+ unitName:
+ type: string
+ description: ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
+ maxCount:
+ type: integer
+ description: |
+ ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΄Π°Π½Π½ΠΎΠΉ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅.
+ ΠΡΠ»ΠΈ 0, ΡΠΎ Π½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
+ popular:
+ description: Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (true - Π΄Π°, false - Π½Π΅Ρ)
+ type: boolean
+ charcType:
+ type: integer
+ description: Π’ΠΈΠΏ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ (1 ΠΈ 0 - ΡΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ; 4 - ΡΠΈΡΠ»ΠΎ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π»)
+ error:
+ type: boolean
+ description: Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ errorText:
+ type: string
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ additionalErrors:
+ type: string
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ example:
+ data:
+ - charcID: 54337
+ subjectName: ΠΡΠΎΡΡΠΎΠ²ΠΊΠΈ
+ subjectID: 105
+ name: Π Π°Π·ΠΌΠ΅Ρ
+ required: false
+ unitName: ΡΠΌ
+ maxCount: 0
+ popular: false
+ charcType: 4
+ error: false
+ errorText: ''
+ additionalErrors: null
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/directory/colors:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π¦Π²Π΅Ρ
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π¦Π²Π΅Ρ`.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: en
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ items:
+ type: object
+ properties:
+ name:
+ description: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ°
+ type: string
+ example: ΠΏΠ΅ΡΡΠΈΠΊΠΎΠ²ΡΠΉ ΠΌΠ΅Π»ΠΎΠΊ
+ parentName:
+ description: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°
+ type: string
+ example: ΠΎΡΠ°Π½ΠΆΠ΅Π²ΡΠΉ
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: string
+ example: ''
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/directory/kinds:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠΎΠ»
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `ΠΠΎΠ»`.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: en
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ description: ΠΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Ρ
Π°Ρ-ΠΊΠΈ ΠΠΎΠ»
+ type: array
+ items:
+ type: string
+ example: ΠΡΠΆΡΠΊΠΎΠΉ
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: string
+ example: ''
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/directory/countries:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°`.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: en
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ items:
+ type: object
+ properties:
+ name:
+ description: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π‘ΡΡΠ°Π½Ρ
+ type: string
+ example: ΠΡΠ³Π°Π½ΠΈΡΡΠ°Π½
+ fullName:
+ description: ΠΠΎΠ»Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½Ρ
+ type: string
+ example: ΠΡΠ»Π°ΠΌΡΠΊΠΈΠΉ ΠΠΌΠΈΡΠ°Ρ ΠΡΠ³Π°Π½ΠΈΡΡΠ°Π½
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: string
+ example: ''
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/directory/seasons:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘Π΅Π·ΠΎΠ½
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘Π΅Π·ΠΎΠ½`.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: en
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ description: ΠΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Ρ
Π°Ρ-ΠΊΠΈ Π‘Π΅Π·ΠΎΠ½
+ type: array
+ items:
+ type: string
+ example: Π΄Π΅ΠΌΠΈΡΠ΅Π·ΠΎΠ½
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: string
+ example: ''
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/directory/vat:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘`.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: ru
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ type: string
+ error:
+ type: boolean
+ description: Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ errorText:
+ type: string
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ additionalErrors:
+ nullable: true
+ type: string
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example:
+ data:
+ - '0'
+ - '10'
+ - '20'
+ - ΠΠ΅Π· ΠΠΠ‘
+ - '13'
+ error: false
+ errorText: ''
+ additionalErrors: null
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/directory/tnved:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π’ΠΠΠΠ-ΠΊΠΎΠ΄
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π’ΠΠΠΠ-ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎ ID [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get) ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Π°.
+
+
+ tags:
+ - ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ parameters:
+ - name: subjectID
+ in: query
+ required: true
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ schema:
+ type: integer
+ example: 105
+ - name: search
+ in: query
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Ρ. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠ°ΡΠ΅ Ρ `subjectID`
+ schema:
+ type: integer
+ example: 6106903000
+ - name: locale
+ in: query
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ°: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ schema:
+ type: string
+ example: en
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ description: ΠΠ°Π½Π½ΡΠ΅
+ type: array
+ items:
+ type: object
+ properties:
+ tnved:
+ type: string
+ description: Π’ΠΠΠΠ-ΠΊΠΎΠ΄
+ isKiz:
+ type: boolean
+ description: |
+ - `true` - ΠΊΠΎΠ΄ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
+ - `false` - ΠΊΠΎΠ΄ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
+ error:
+ type: boolean
+ description: Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example: false
+ errorText:
+ type: string
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ additionalErrors:
+ nullable: true
+ type: string
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example:
+ data:
+ - tnved: '6106903000'
+ isKiz: true
+ error: false
+ errorText: ''
+ additionalErrors: null
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/tags:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠ»ΡΠΊΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ
ΡΡΠ»ΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ².
+
+
+ tags:
+ - Π―ΡΠ»ΡΠΊΠΈ
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ properties:
+ id:
+ description: Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ID ΡΡΠ»ΡΠΊΠ°
+ type: integer
+ color:
+ description: Π¦Π²Π΅Ρ ΡΡΠ»ΡΠΊΠ°
+ type: string
+ name:
+ description: ΠΠΌΡ ΡΡΠ»ΡΠΊΠ°
+ type: string
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: string
+ example: ''
+ example:
+ data:
+ - id: 1
+ color: D1CFD7
+ name: Sale
+ error: false
+ errorText: ''
+ additionalErrors: ''
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/tag:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΡΠ»ΡΠΊ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 15 ΡΡΠ»ΡΠΊΠΎΠ² Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΡΡΠ»ΡΠΊΠ° β 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
+
Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΡΠ»ΡΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ [ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get).
+
+
+ tags:
+ - Π―ΡΠ»ΡΠΊΠΈ
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ color:
+ description: |
+ Π¦Π²Π΅Ρ ΡΡΠ»ΡΠΊΠ°.
+
+ - ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ²Π΅ΡΠ°:
+ D1CFD7 - ΡΠ΅ΡΡΠΉ
+ FEE0E0 - ΠΊΡΠ°ΡΠ½ΡΠΉ
+ ECDAFF - ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΡΠΉ
+ E4EAFF - ΡΠΈΠ½ΠΈΠΉ
+ DEF1DD - Π·Π΅Π»Π΅Π½ΡΠΉ
+ FFECC7 - ΠΆΠ΅Π»ΡΡΠΉ
+
+ type: string
+ example: D1CFD7
+ name:
+ description: ΠΠΌΡ ΡΡΠ»ΡΠΊΠ°
+ type: string
+ example: Sale
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseContentError6'
+ examples:
+ responseOK200:
+ $ref: '#/components/examples/responseOK200'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/responseBodyContentError400'
+ - $ref: '#/components/schemas/responseContentError4'
+ - $ref: '#/components/schemas/responseContentError6'
+ examples:
+ responseBodyContentError400:
+ $ref: '#/components/examples/responseBodyContentError400'
+ responseBody400LenName:
+ $ref: '#/components/examples/responseBody400LenName'
+ responseBodyLimitTag:
+ $ref: '#/components/examples/responseBodyLimitTag'
+ responseBodyNameNotExist:
+ $ref: '#/components/examples/responseBodyNameNotExist'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/tag/{id}:
+ servers:
+ - url: https://content-api.wildberries.ru
+ patch:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ»ΡΠΊΠ°: ΠΈΠΌΡ ΠΈ ΡΠ²Π΅Ρ.
+
ΠΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ [ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get).
+
+
+ tags:
+ - Π―ΡΠ»ΡΠΊΠΈ
+ parameters:
+ - name: id
+ in: path
+ schema:
+ type: integer
+ example: 1
+ description: Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ID ΡΡΠ»ΡΠΊΠ°
+ required: true
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ color:
+ description: Π¦Π²Π΅Ρ ΡΡΠ»ΡΠΊΠ°
+ type: string
+ example: D1CFD7
+ name:
+ description: ΠΠΌΡ ΡΡΠ»ΡΠΊΠ°
+ type: string
+ example: Sale
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/responseContentError6'
+ - $ref: '#/components/schemas/responseContentError4'
+ examples:
+ responseOK200:
+ $ref: '#/components/examples/responseOK200'
+ responseNotFound200:
+ $ref: '#/components/examples/responseNotFound200'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/responseBodyContentError400'
+ - $ref: '#/components/schemas/responseContentError4'
+ examples:
+ responseBodyContentError400:
+ $ref: '#/components/examples/responseBodyContentError400'
+ responseBody400LenName:
+ $ref: '#/components/examples/responseBody400LenName'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ delete:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΡΠ»ΡΠΊ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ° ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get) ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+
+ tags:
+ - Π―ΡΠ»ΡΠΊΠΈ
+ parameters:
+ - name: id
+ in: path
+ schema:
+ type: integer
+ example: 1
+ description: Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ID ΡΡΠ»ΡΠΊΠ°
+ required: true
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/responseContentError6'
+ - $ref: '#/components/schemas/responseContentError5'
+ examples:
+ responseOK200:
+ $ref: '#/components/examples/responseOK200'
+ responseNotFound200Del:
+ $ref: '#/components/examples/responseNotFound200Del'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/responseBodyContentError400'
+ - $ref: '#/components/schemas/responseContentError5'
+ examples:
+ responseBodyContentError400:
+ $ref: '#/components/examples/responseBodyContentError400'
+ responseBodyTagNotExist:
+ $ref: '#/components/examples/responseBodyTagNotExist'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/tag/nomenclature/link:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°ΠΌΠΈ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ»ΡΠΊ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°. Π ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 15 ΡΡΠ»ΡΠΊΠΎΠ².
+ ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ»ΡΠΊΠ° ΠΈΠ· ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΎΠ½ Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ° ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get) ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+
+ tags:
+ - Π―ΡΠ»ΡΠΊΠΈ
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ nmID:
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ type: integer
+ tagsIDs:
+ description: |
+ ΠΠ°ΡΡΠΈΠ² ΡΠΈΡΠ»ΠΎΠ²ΡΡ
ID ΡΡΠ»ΡΠΊΠΎΠ².
+ Π§ΡΠΎ Π±Ρ ΡΠ½ΡΡΡ ΡΡΠ»ΡΠΊΠΈ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ².
+ Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ»ΡΠΊΠΈ ΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ»ΡΠΊΠΈ ΠΈ ΡΡΠ»ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ type: array
+ items:
+ type: integer
+ description: Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ID ΡΡΠ»ΡΠΊΠ°.
+ example:
+ nmID: 179891389
+ tagsIDs:
+ - 123456
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseContentError6'
+ examples:
+ responseOK200:
+ $ref: '#/components/examples/responseOK200'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseContentError4'
+ examples:
+ IncorrectRequest4:
+ $ref: '#/components/examples/IncorrectRequest4'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/get/cards/list:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ summary: Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+
+ ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+
+
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+
+
+ Π ΠΎΡΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΡ Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅. ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π·
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
+
+
+ Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+
+
+ - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+
+ {
+ "settings": {
+ "cursor": {
+ "limit": 100
+ },
+ "filter": {
+ "withPhoto": -1
+ }
+ }
+ }
+
+ - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+
+ "updatedAt": "***"
+ "nmID": ***
+
+ - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
cursor.
+ - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+ - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+
+
+
+ parameters:
+ - name: locale
+ in: query
+ schema:
+ type: string
+ example: ru
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `name`, `value` ΠΈ `object`: \n - `ru` β ΡΡΡΡΠΊΠΈΠΉ\n - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ\n - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅. \n"
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ settings:
+ type: object
+ description: ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
+ properties:
+ sort:
+ description: ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
+ type: object
+ properties:
+ ascending:
+ type: boolean
+ description: Π‘ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ **updatedAt** (`false` - ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ, `true` - ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ)
+ filter:
+ description: ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
+ type: object
+ properties:
+ withPhoto:
+ type: integer
+ description: "Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ\_ΡΠΎΡΠΎ:\n \n * `0`\_β ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π±Π΅Π· ΡΠΎΡΠΎ\n * `1`\_β ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Ρ\_ΡΠΎΡΠΎ\n * `-1`\_β Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°\n"
+ textSearch:
+ type: string
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π°ΡΡΠΈΠΊΡΠ»Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, Π°ΡΡΠΈΠΊΡΠ»Ρ WB, Π±Π°ΡΠΊΠΎΠ΄Ρ
+ tagIDs:
+ type: array
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ ID ΡΡΠ»ΡΠΊΠΎΠ²
+ items:
+ type: integer
+ allowedCategoriesOnly:
+ description: "Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ. `true` - ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠ΅, `false` - Π²ΡΠ΅. ΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅"
+ type: boolean
+ objectIDs:
+ type: array
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ id ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²
+ items:
+ type: integer
+ brands:
+ type: array
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π±ΡΠ΅Π½Π΄Π°ΠΌ
+ items:
+ type: string
+ imtID:
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ ID ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ type: integer
+ cursor:
+ description: |
+ ΠΡΡΡΠΎΡ
+ type: object
+ properties:
+ limit:
+ type: integer
+ description: Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²ΡΠ΄Π°ΡΡ Π² ΠΎΡΠ²Π΅ΡΠ΅
+ updatedAt:
+ type: string
+ nmID:
+ type: integer
+ description: ΠΡΡΠΈΠΊΡΠ» WB ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠΈ
+ example:
+ settings:
+ sort:
+ ascending: false
+ filter:
+ textSearch: '4603743187500888'
+ allowedCategoriesOnly: true
+ tagIDs:
+ - 345
+ - 415
+ objectIDs:
+ - 235
+ - 67
+ brands:
+ - ΡΠ»Π»Ρ
+ - EkkE
+ imtID: 328632
+ withPhoto: -1
+ cursor:
+ updatedAt: '2023-12-06T11:17:00.96577Z'
+ nmID: 370870300
+ limit: 11
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ headers:
+ X-Ratelimit-Remaining:
+ description: ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°Π²ΡΠΈΡ
ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ
+ schema:
+ type: integer
+ example: 99
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ cards:
+ type: array
+ description: Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ items:
+ type: object
+ properties:
+ nmID:
+ type: integer
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ imtID:
+ type: integer
+ description: ID ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
ΠΠ΄ΠΈΠ½ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π°ΡΡΠΈΠΊΡΠ»ΠΎΠ² WB ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
ΠΡΡΡ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΎΠΉ
+ nmUUID:
+ type: string
+ format: uuid
+ description: ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ID ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ subjectID:
+ type: integer
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ subjectName:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ vendorCode:
+ type: string
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ brand:
+ type: string
+ description: ΠΡΠ΅Π½Π΄
+ title:
+ type: string
+ description: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ description:
+ type: string
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ needKiz:
+ description: |
+ Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈ [ΠΊΠΎΠ΄ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ](https://ΡΠ΅ΡΡΠ½ΡΠΉΠ·Π½Π°ΠΊ.ΡΡ/) Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°
+
+ * `false` β Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
+
+ * `true` β ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
+ type: boolean
+ photos:
+ type: array
+ description: ΠΠ°ΡΡΠΈΠ² ΡΠΎΡΠΎ
+ items:
+ type: object
+ properties:
+ big:
+ description: URL ΡΠΎΡΠΎ `900Ρ
1200`
+ type: string
+ c246x328:
+ description: URL ΡΠΎΡΠΎ `248Ρ
328`
+ type: string
+ c516x688:
+ description: URL ΡΠΎΡΠΎ `516Ρ
688`
+ type: string
+ square:
+ description: URL ΡΠΎΡΠΎ `600Ρ
600`
+ type: string
+ tm:
+ description: URL ΡΠΎΡΠΎ `75Ρ
100`
+ type: string
+ video:
+ type: string
+ description: URL Π²ΠΈΠ΄Π΅ΠΎ
+ dimensions:
+ description: ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ, ΡΠΌ ΠΈ ΠΊΠ³
+ type: object
+ properties:
+ length:
+ type: integer
+ description: ΠΠ»ΠΈΠ½Π°, ΡΠΌ
+ width:
+ type: integer
+ description: Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ
+ height:
+ type: integer
+ description: ΠΡΡΠΎΡΠ°, ΡΠΌ
+ weightBrutto:
+ type: number
+ description: ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3
+ isValid:
+ type: boolean
+ description: |
+ ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π³Π°Π±Π°ΡΠΈΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°:
+
+ - `true` β Π½Π΅ Π²ΡΡΠ²Π»Π΅Π½Π°. `"isValid":true` Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²) `"isValid":true` Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
, ΠΊΡΠΎΠΌΠ΅ Π½ΡΠ»Π΅Π²ΡΡ
.
+
+ - `false` β ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π³Π°Π±Π°ΡΠΈΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΡΠ΅Π΄Π½ΠΈΡ
ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ (ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ° Π² ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ **Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
**. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎΠ³ΠΈΡΡΠΈΠΊΠ° ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π½Π°ΡΠΈΡΠ»ΡΡΡΡΡ β ΠΏΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ Π³Π°Π±Π°ΡΠΈΡΠ°ΠΌ. Π’Π°ΠΊΠΆΠ΅ `"isValid":false` Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
+ characteristics:
+ type: array
+ description: Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ description: ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ name:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ value:
+ description: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ sizes:
+ type: array
+ description: Π Π°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ°
+ items:
+ type: object
+ properties:
+ chrtID:
+ type: integer
+ description: Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ID ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠΊΡΠ»Π° WB
+ techSize:
+ type: string
+ description: Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π, XXL, 57 ΠΈ Π΄Ρ.)
+ wbSize:
+ type: string
+ description: Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ skus:
+ type: array
+ description: ΠΠ°ΡΠΊΠΎΠ΄ ΡΠΎΠ²Π°ΡΠ°
+ items:
+ type: string
+ example: 12345Ejf5
+ tags:
+ description: Π―ΡΠ»ΡΠΊΠΈ
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ description: ID ΡΡΠ»ΡΠΊΠ°
+ name:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°
+ color:
+ type: string
+ description: |
+ Π¦Π²Π΅Ρ ΡΡΠ»ΡΠΊΠ°
+
+ - ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ²Π΅ΡΠ°:
+ D1CFD7 - ΡΠ΅ΡΡΠΉ
+ FEE0E0 - ΠΊΡΠ°ΡΠ½ΡΠΉ
+ ECDAFF - ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΡΠΉ
+ E4EAFF - ΡΠΈΠ½ΠΈΠΉ
+ DEF1DD - Π·Π΅Π»Π΅Π½ΡΠΉ
+ FFECC7 - ΠΆΠ΅Π»ΡΡΠΉ
+
+ createdAt:
+ type: string
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
+ updatedAt:
+ type: string
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
+ cursor:
+ type: object
+ description: ΠΠ°Π³ΠΈΠ½Π°ΡΠΎΡ
+ properties:
+ updatedAt:
+ type: string
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ nmID:
+ type: integer
+ description: ΠΡΡΠΈΠΊΡΠ» WB, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ total:
+ type: integer
+ description: ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ example:
+ cards:
+ - nmID: 12345678
+ imtID: 123654789
+ nmUUID: 01bda0b1-5c0b-736c-b2be-d0a6543e9be
+ subjectID: 7771
+ subjectName: AKF ΡΠΈΡΡΠ΅ΠΌΡ
+ vendorCode: wb7f6mumjr1
+ brand: Π’Π΅ΡΡ
+ title: Π’Π΅ΡΡ-ΡΠΈΡΡΠ΅ΠΌΠ°
+ description: Π’Π΅ΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
+ needKiz: false
+ photos:
+ - big: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/big/1.webp
+ c246x328: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/c246x328/1.webp
+ c516x688: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/c516x688/1.webp
+ square: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/square/1.webp
+ tm: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/tm/1.webp
+ video: https://videonme-basket-12.wbbasket.ru/vol137/part22557/225577433/hls/1440p/index.m3u8
+ dimensions:
+ length: 55
+ width: 40
+ height: 15
+ weightBrutto: 6.24
+ isValid: false
+ characteristics:
+ - id: 14177449
+ name: Π¦Π²Π΅Ρ
+ value:
+ - ΠΊΡΠ°ΡΠ½ΠΎ-ΡΠΈΡΠ΅Π½Π΅Π²ΡΠΉ
+ sizes:
+ - chrtID: 316399238
+ techSize: '0'
+ skus:
+ - '987456321654'
+ tags:
+ - id: 592569
+ name: ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ
+ color: D1CFD7
+ createdAt: '2023-12-06T11:17:00.96577Z'
+ updatedAt: '2023-12-06T11:17:00.96577Z'
+ cursor:
+ updatedAt: '2023-12-06T11:17:00.96577Z'
+ nmID: 123654123
+ total: 1
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ plain/text:
+ example: Request body can not be decoded
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/error/list:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘ΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
+
+
+ Π§ΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
+
+
+
+ tags:
+ - ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ parameters:
+ - name: locale
+ in: query
+ schema:
+ type: string
+ example: en
+ description: "ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ·ΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° (Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΠΎΡΡΡ).\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.\n"
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ type: object
+ properties:
+ object:
+ description: ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ°
+ type: string
+ example: ΠΠ»ΡΠ·ΠΊΠΈ
+ vendorCode:
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ type: string
+ example: '6000000001'
+ updateAt:
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ type: string
+ example: '2022-06-15T14:37:13Z'
+ errors:
+ description: Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ type: array
+ items:
+ type: string
+ example: ΠΠΎΠ»Ρ Π ΠΎΡ. ΡΠ°Π·ΠΌΠ΅Ρ, Π Π°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
+ objectID:
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ type: integer
+ example: 41
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ type: string
+ example: ''
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ type: string
+ example: ''
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/update:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ tags:
+ - ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ summary: Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ². ΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+
+
+ ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ.
+
+
+ ΠΠ΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π±Π°ΡΠΊΠΎΠ΄Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°ΡΠΊΠΎΠ΄ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ `photos`, `video` ΠΈ `tags` ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ΅ΡΠ΅Π· Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ.
+ ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`, Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+
+ Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 3000 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² (`nmID`). ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+ ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ required:
+ - nmID
+ - vendorCode
+ - sizes
+ properties:
+ nmID:
+ type: integer
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ vendorCode:
+ type: string
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ brand:
+ type: string
+ description: ΠΡΠ΅Π½Π΄
+ title:
+ type: string
+ description: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ maxLength: 60
+ description:
+ type: string
+ description: |
+ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°
+ Π‘ΡΠ°Π½Π΄Π°ΡΡ β 2000, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ β 1000, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ β 5000
+ ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² **ΠΡΠ°Π²ΠΈΠ»Π°Ρ
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°** Π² [Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅](https://seller.wildberries.ru/help-center/article/A-113#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠ²
+ dimensions:
+ description: |
+ ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+ Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°
+ type: object
+ properties:
+ length:
+ type: integer
+ description: ΠΠ»ΠΈΠ½Π°, ΡΠΌ
+ width:
+ type: integer
+ description: Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ
+ height:
+ type: integer
+ description: ΠΡΡΠΎΡΠ°, ΡΠΌ
+ weightBrutto:
+ type: number
+ description: ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3
+ characteristics:
+ description: Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ description: ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ value:
+ description: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ sizes:
+ type: array
+ description: |
+ ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ ΠΠ»Ρ Π±Π΅Π·ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ° Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (wbSize ΠΈ techSize), Π½ΠΎ Ρ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠΌ
+ items:
+ type: object
+ properties:
+ chrtID:
+ type: integer
+ description: |
+ ID ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠΊΡΠ»Π° WB
+ ΠΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½ ΠΊ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ
+ techSize:
+ type: string
+ description: Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, XL, S, 45)
+ wbSize:
+ type: string
+ description: Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ skus:
+ type: array
+ items:
+ type: string
+ description: ΠΠ°ΡΠΊΠΎΠ΄Ρ
+ example:
+ - nmID: 11111111
+ vendorCode: wbiz72wmro
+ brand: ''
+ title: Π‘Π²ΠΈΡΠ΅Ρ ΠΆΠ΅Π½ΡΠΊΠΈΠΉ ΠΎΠ²Π΅ΡΡΠ°ΠΉΠ· Ρ Π³ΠΎΡΠ»ΠΎΠΌ
+ description: '12345'
+ dimensions:
+ length: 35
+ width: 40
+ height: 15
+ weightBrutto: 3
+ characteristics:
+ - id: 14177450
+ value:
+ - Ρ
Π»ΠΎΠΏΠΎΠΊ 50% Π°ΠΊΡΠΈΠ» 50%
+ - id: 50
+ value:
+ - ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΊΡΠΎΠΉ
+ sizes:
+ - chrtID: 12345678
+ techSize: ONE SIZE
+ wbSize: 78-90
+ skus:
+ - '123487653460134'
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseCardCreate'
+ example:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: { }
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '413':
+ description: ΠΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ title:
+ type: string
+ description: ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ
+ detail:
+ type: string
+ description: ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
+ code:
+ type: string
+ description: ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
+ requestId:
+ type: string
+ description: Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°
+ origin:
+ type: string
+ description: ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB
+ status:
+ type: number
+ description: HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄
+ statusText:
+ type: string
+ description: Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°
+ example:
+ title: request body too long
+ detail: https://openapi.wildberries.ru/content/api/ru/
+ code: 71d3de1b-001e-488f-bbf5-55c31254fbeb
+ requestId: MN8usr6RfrzWHZfucSvNgb
+ origin: s2s-api-auth-content
+ status: 413
+ statusText: Request Entity Too Large
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/moveNm:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ tags:
+ - ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ summary: ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈ ΡΠ°Π·ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ². ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΡΠΈΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΌΠΈ, Π΅ΡΠ»ΠΈ Ρ Π½ΠΈΡ
ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ imtID.
+
+ ΠΠ»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ **Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ** `imtID`. ΠΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ ΠΠ»Ρ ΡΠ°Π·ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ **Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ** `imtID`. ΠΠ»Ρ ΡΠ°Π·ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Π±ΡΠ΄ΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½ΠΎΠ²ΡΠ΅ `imtID`.
+
+ ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², ΡΡΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡ Π² ΠΎΠ΄Π½Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ Π½ΠΎΠ²ΡΠΉ `imtID`.
+ Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ `imtID`, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ° Π·Π° Π·Π°ΠΏΡΠΎΡ.
+
+ ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+
+
+ ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°ΠΌΠΈ.
+
+
+
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/requestMoveNmsImtConn'
+ - $ref: '#/components/schemas/requestMoveNmsImtDisconn'
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseCardCreate'
+ example:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: { }
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/responseContentError1'
+ - $ref: '#/components/schemas/responseCardCreate'
+ - $ref: '#/components/schemas/responseIncorrectDate'
+ examples:
+ responseExceededLimit:
+ $ref: '#/components/examples/responseExceededLimit'
+ responseCombining:
+ $ref: '#/components/examples/responseCombining'
+ responseIncorrectRequestFormat:
+ $ref: '#/components/examples/responseIncorrectRequestFormat'
+ responseNonExistentNmId:
+ $ref: '#/components/examples/responseNonExistentNmId'
+ responseNonExistentImt:
+ $ref: '#/components/examples/responseNonExistentImt'
+ responseCardCreate1:
+ $ref: '#/components/examples/responseCardCreate1'
+ responseDuplicateRequests:
+ $ref: '#/components/examples/responseDuplicateRequests'
+ responseAllCardsInSameGroup:
+ $ref: '#/components/examples/responseAllCardsInSameGroup'
+ responseIncorrectBeginDate:
+ $ref: '#/components/examples/responseIncorrectBeginDate'
+ responseIncorrectEndDate:
+ $ref: '#/components/examples/responseIncorrectEndDate'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseCardCreate'
+ '413':
+ description: ΠΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅
+ content:
+ application/json:
+ schema:
+ type: string
+ examples:
+ BodySizeExceedsTheGivenLimit:
+ $ref: '#/components/examples/BodySizeExceedsTheGivenLimit'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/delete/trash:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ [Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1recover/post).
+
+
+ ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ imtID.
+
+
+ ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π°Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π»Π΅ΠΆΠ°Ρ Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 Π΄Π½Π΅ΠΉ. ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π½ΠΎΡΡ ΠΏΠΎ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
+ ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² [Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/new-goods/basket-cards).
+
+
+ tags:
+ - ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ nmIDs:
+ description: ΠΡΡΠΈΠΊΡΠ» WB (max. 1000)
+ type: array
+ items:
+ type: integer
+ example:
+ nmIDs:
+ - 123456789
+ - 987654321
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: object
+ example:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: { }
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/recover:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠΎΡΠ·ΠΈΠ½Ρ
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+
+
+
+
+ tags:
+ - ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ nmIDs:
+ description: ΠΡΡΠΈΠΊΡΠ» WB (max. 1000)
+ type: array
+ items:
+ type: integer
+ example:
+ nmIDs:
+ - 123456789
+ - 987654321
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: object
+ example:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: { }
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/get/cards/trash:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅
+ description: |
+
+ ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+
+
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅.
+
+ Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+
+
+ - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+
+ {
+ "settings": {
+ "cursor": {
+ "limit": 100
+ },
+ "filter": {
+ "withPhoto": -1
+ }
+ }
+ }
+
+ - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+
+ "trashedAt": "***"
+ "nmID": ***
+
+ - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
cursor.
+ - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+ - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+
+
+
+ tags:
+ - ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ parameters:
+ - name: locale
+ in: query
+ schema:
+ type: string
+ enum:
+ - ru
+ - en
+ - zh
+ description: "Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `name`, `value` ΠΈ `object`: `ru`, `en`, `zh`.\n\nΠΠ΅\_ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²\_ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅\n"
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ settings:
+ type: object
+ description: ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
+ properties:
+ sort:
+ description: ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
+ type: object
+ properties:
+ ascending:
+ type: boolean
+ description: Π‘ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ `trashedAt` (`false` - ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ, `true` - ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ)
+ cursor:
+ description: ΠΡΡΡΠΎΡ
+ type: object
+ properties:
+ limit:
+ type: integer
+ description: Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²ΡΠ΄Π°ΡΡ Π² ΠΎΡΠ²Π΅ΡΠ΅
+ filter:
+ description: ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
+ type: object
+ properties:
+ textSearch:
+ type: string
+ description: ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π°ΡΡΠΈΠΊΡΠ»Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, Π°ΡΡΠΈΠΊΡΠ»Ρ WB, Π±Π°ΡΠΊΠΎΠ΄Ρ.
+ example:
+ settings:
+ sort:
+ ascending: false
+ filter:
+ textSearch: '4603743187500888'
+ cursor:
+ trashedAt: '2023-12-06T11:17:00.96577Z'
+ nmID: 370870300
+ limit: 11
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ cards:
+ description: ΠΠ°ΡΡΠΈΠ² ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ type: array
+ items:
+ type: object
+ properties:
+ nmID:
+ type: integer
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ vendorCode:
+ type: string
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ subjectID:
+ type: integer
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ subjectName:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ photos:
+ type: array
+ description: ΠΠ°ΡΡΠΈΠ² ΡΠΎΡΠΎ
+ items:
+ type: object
+ properties:
+ big:
+ description: URL ΡΠΎΡΠΎ `900Ρ
1200`
+ type: string
+ c246x328:
+ description: URL ΡΠΎΡΠΎ `248Ρ
328`
+ type: string
+ c516x688:
+ description: URL ΡΠΎΡΠΎ `516Ρ
688`
+ type: string
+ square:
+ description: URL ΡΠΎΡΠΎ `600Ρ
600`
+ type: string
+ tm:
+ description: URL ΡΠΎΡΠΎ `75Ρ
100`
+ type: string
+ video:
+ type: string
+ description: URL Π²ΠΈΠ΄Π΅ΠΎ
+ sizes:
+ type: array
+ description: ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ items:
+ type: object
+ properties:
+ chrtID:
+ type: integer
+ description: ID ΡΠ°Π·ΠΌΠ΅ΡΠ°
+ techSize:
+ type: string
+ description: Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ wbSize:
+ type: string
+ description: Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ skus:
+ type: array
+ description: ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ²
+ items:
+ type: string
+ example: 12345Ejf5
+ dimensions:
+ type: object
+ description: ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ, ΡΠΌ ΠΈ ΠΊΠ³
+ properties:
+ length:
+ type: integer
+ description: ΠΠ»ΠΈΠ½Π°, ΡΠΌ
+ width:
+ type: integer
+ description: Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ
+ height:
+ type: integer
+ description: ΠΡΡΠΎΡΠ°, ΡΠΌ
+ weightBrutto:
+ type: number
+ description: ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3
+ isValid:
+ type: boolean
+ description: |
+ ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π³Π°Π±Π°ΡΠΈΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°:
+
+ - `true` β Π½Π΅ Π²ΡΡΠ²Π»Π΅Π½Π°. `"isValid":true` Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²) `"isValid":true` Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
, ΠΊΡΠΎΠΌΠ΅ Π½ΡΠ»Π΅Π²ΡΡ
.
+
+ - `false` β ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π³Π°Π±Π°ΡΠΈΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΡΠ΅Π΄Π½ΠΈΡ
ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ (ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ° Π² ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ **Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
**. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎΠ³ΠΈΡΡΠΈΠΊΠ° ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π½Π°ΡΠΈΡΠ»ΡΡΡΡΡ β ΠΏΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ Π³Π°Π±Π°ΡΠΈΡΠ°ΠΌ. Π’Π°ΠΊΠΆΠ΅ `"isValid":false` Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
+ characteristics:
+ type: array
+ description: Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ description: ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ name:
+ type: string
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ value:
+ description: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ createdAt:
+ type: string
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
+ trashedAt:
+ type: string
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ
+ cursor:
+ type: object
+ description: ΠΠ°Π³ΠΈΠ½Π°ΡΠΎΡ
+ properties:
+ trashedAt:
+ type: string
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ nmID:
+ type: integer
+ description: ΠΡΡΠΈΠΊΡΠ» WB, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ total:
+ type: integer
+ description: ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ example:
+ cards:
+ - nmID: 1234567
+ vendorCode: wb5xsy5ftj
+ subjectID: 1436
+ subjectName: ΠΠ΅Π΄ΡΠ° Ρ
ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½ΡΠ΅
+ photos:
+ - big: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/big/1.webp
+ c246x328: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/c246x328/1.webp
+ c516x688: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/c516x688/1.webp
+ square: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/square/1.webp
+ tm: https://basket-10.wbbasket.ru/vol1592/part159206/159206280/images/tm/1.webp
+ video: https://videonme-basket-12.wbbasket.ru/vol137/part22557/225577433/hls/1440p/index.m3u8
+ sizes:
+ - chrtID: 111111111
+ techSize: '0'
+ skus:
+ - xxxxxxxxxxxx
+ dimensions:
+ length: 35
+ width: 40
+ height: 15
+ weightBrutto: 2.9
+ isValid: false
+ createdAt: '2023-12-05T14:55:09.323462Z'
+ trashedAt: '2023-12-06T10:57:42.193028Z'
+ cursor:
+ trashedAt: '2023-12-06T10:57:42.193028Z'
+ nmID: 194128521
+ total: 1
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ plain/text:
+ example: Request body can not be decoded
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/limits:
+ servers:
+ - url: https://content-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠΈΠΌΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+ ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π½Π° [ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post).
+
+ Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ:
+
+ > (`freeLimits` + `paidLimits`) - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+
+ Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+
+
+ tags:
+ - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ freeLimits:
+ description: ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
Π»ΠΈΠΌΠΈΡΠΎΠ²
+ type: integer
+ paidLimits:
+ description: ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ»Π°ΡΠ΅Π½Π½ΡΡ
Π»ΠΈΠΌΠΈΡΠΎΠ²
+ type: integer
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ nullable: true
+ example:
+ data:
+ freeLimits: 1500
+ paidLimits: 10
+ error: false
+ errorText: ''
+ additionalErrors: null
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/barcodes:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² [ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post). ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+
+
+ tags:
+ - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ count:
+ description: ΠΠΎΠ»-Π²ΠΎ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ - `5 000`
+ type: integer
+ example: 100
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ description: ΠΠ°ΡΡΠΈΠ² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ²
+ type: array
+ items:
+ type: string
+ example: '5032781145187'
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: string
+ example: ''
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError403'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/upload:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ tags:
+ - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ summary: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: "ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² c ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
\n\n\n ΠΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°: Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².\n
\n\nΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`, Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.\n
\nΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ. ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
\nΠ ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 100 ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ\_ΡΠΎΠ²Π°ΡΠΎΠ² (`imtID`), ΠΏΠΎ\_30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²\_ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
\nΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ required:
+ - subjectID
+ - variants
+ properties:
+ subjectID:
+ type: integer
+ description: ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°
+ variants:
+ description: |
+ ΠΠ°ΡΡΠΈΠ² Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°
+ Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ type: array
+ items:
+ type: object
+ required:
+ - vendorCode
+ properties:
+ brand:
+ type: string
+ description: ΠΡΠ΅Π½Π΄
+ title:
+ type: string
+ description: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ maxLength: 60
+ description:
+ type: string
+ description: |
+ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°
+ Π‘ΡΠ°Π½Π΄Π°ΡΡ β 2000, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ β 1000, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ β 5000
+ ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² **ΠΡΠ°Π²ΠΈΠ»Π°Ρ
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°** Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π² [Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅](https://seller.wildberries.ru/help-center/article/A-113#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠ²
+ vendorCode:
+ type: string
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ dimensions:
+ description: |
+ ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+ Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°
+ ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»ΠΈΠ½Ρ, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ, Π²Π΅ΡΠ°
+ type: object
+ properties:
+ length:
+ type: integer
+ description: ΠΠ»ΠΈΠ½Π°, ΡΠΌ
+ width:
+ type: integer
+ description: Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ
+ height:
+ type: integer
+ description: ΠΡΡΠΎΡΠ°, ΡΠΌ
+ weightBrutto:
+ type: number
+ description: ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3
+ sizes:
+ type: array
+ description: |
+ ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ° (ΠΎΠ±ΡΠ²Ρ, ΠΎΠ΄Π΅ΠΆΠ΄Π° ΠΈ Π΄Ρ.), ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ `techSize` = "A", `wbSize` = "1" ΠΈ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠΌ
+ items:
+ type: object
+ properties:
+ techSize:
+ type: string
+ description: Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, XL, 45)
+ wbSize:
+ type: string
+ description: Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ price:
+ type: integer
+ description: Π¦Π΅Π½Π° ΡΠΎΠ²Π°ΡΠ°
+ skus:
+ type: array
+ items:
+ type: string
+ description: ΠΠ°ΡΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
+ characteristics:
+ type: array
+ description: ΠΠ°ΡΡΠΈΠ² Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠ°
+ items:
+ type: object
+ required:
+ - id
+ - value
+ properties:
+ id:
+ type: integer
+ description: ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ value:
+ description: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ examples:
+ creatingOneCard:
+ $ref: '#/components/examples/creatingOneCard'
+ creatingMergedCards:
+ $ref: '#/components/examples/creatingMergedCards'
+ creatingGroupOfIndividualCards:
+ $ref: '#/components/examples/creatingGroupOfIndividualCards'
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseCardCreate'
+ example:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: { }
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ examples:
+ InvalidRequestFormatContent:
+ $ref: '#/components/examples/InvalidRequestFormatContent'
+ CardCreatedWithoutVendorCode:
+ $ref: '#/components/examples/CardCreatedWithoutVendorCode'
+ CardsVendorCodeUsedInOtherCards:
+ $ref: '#/components/examples/CardsVendorCodeUsedInOtherCards'
+ ThisCategoryDoesNotExist:
+ $ref: '#/components/examples/ThisCategoryDoesNotExist'
+ '401':
+ $ref: '#/components/responses/401'
+ '413':
+ description: ΠΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ title:
+ type: string
+ description: ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ
+ detail:
+ type: string
+ description: ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
+ code:
+ type: string
+ description: ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
+ requestId:
+ type: string
+ description: Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°
+ origin:
+ type: string
+ description: ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB
+ status:
+ type: number
+ description: HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄
+ statusText:
+ type: string
+ description: Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°
+ example:
+ title: request body too long
+ detail: https://openapi.wildberries.ru/content/api/ru/
+ code: 71d3de1b-001e-488f-bbf5-55c31254fbeb
+ requestId: MN8usr6RfrzWHZfucSvNgb
+ origin: s2s-api-auth-content
+ status: 413
+ statusText: Request Entity Too Large
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v2/cards/upload/add:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ tags:
+ - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²
+ summary: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΠΈΡ
ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌ.
+
+ ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`, Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+
+ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ. ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+ ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ imtID:
+ type: integer
+ description: |
+ `imtID` ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ°
+ cardsToAdd:
+ description: Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ type: array
+ items:
+ type: object
+ required:
+ - vendorCode
+ properties:
+ brand:
+ type: string
+ description: ΠΡΠ΅Π½Π΄
+ vendorCode:
+ type: string
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ title:
+ type: string
+ description: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ maxLength: 60
+ description:
+ type: string
+ description: |
+ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°
+ Π‘ΡΠ°Π½Π΄Π°ΡΡ β 2000, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ β 1000, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ β 5000
+ ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² **ΠΡΠ°Π²ΠΈΠ»Π°Ρ
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°** Π² [Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅](https://seller.wildberries.ru/help-center/article/A-113#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠ²
+ dimensions:
+ description: |
+ ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+ Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°
+ ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»ΠΈΠ½Ρ, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ, Π²Π΅ΡΠ°
+ type: object
+ properties:
+ length:
+ type: integer
+ description: ΠΠ»ΠΈΠ½Π°, ΡΠΌ
+ width:
+ type: integer
+ description: Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ
+ height:
+ type: integer
+ description: ΠΡΡΠΎΡΠ°, ΡΠΌ
+ weightBrutto:
+ type: number
+ description: ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3
+ sizes:
+ type: array
+ description: |
+ ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ° (ΠΎΠ±ΡΠ²Ρ, ΠΎΠ΄Π΅ΠΆΠ΄Π° ΠΈ Π΄Ρ.), ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ `techSize` = "A", `wbSize` = "1" ΠΈ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠΌ
+ items:
+ type: object
+ properties:
+ techSize:
+ type: string
+ description: Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, XL, 45)
+ wbSize:
+ type: string
+ description: Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ price:
+ type: integer
+ description: Π¦Π΅Π½Π° ΡΠΎΠ²Π°ΡΠ°
+ skus:
+ type: array
+ items:
+ type: string
+ description: ΠΠ°ΡΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
+ characteristics:
+ type: array
+ description: ΠΠ°ΡΡΠΈΠ² Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠ°
+ items:
+ type: object
+ required:
+ - id
+ - value
+ properties:
+ id:
+ type: integer
+ description: ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ value:
+ description: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
+ example:
+ imtID: 987654321
+ cardsToAdd:
+ - vendorCode: myVariant1
+ title: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ brand: ΠΡΠ΅Π½Π΄
+ dimensions:
+ length: 9
+ width: 6
+ height: 3
+ weightBrutto: 0.893
+ characteristics:
+ - id: 12
+ value:
+ - Russian flag
+ - id: 25471
+ value: 1300
+ - id: 14177449
+ value:
+ - blue
+ sizes:
+ - skus:
+ - '12345678'
+ - vendorCode: myVariant2
+ title: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠΎΠ²
+ brand: ΠΡΠ΅Π½Π΄
+ dimensions:
+ length: 8
+ width: 8
+ height: 8
+ weightBrutto: 1.04
+ characteristics:
+ - id: 12
+ value:
+ - Russian flag
+ - id: 25471
+ value: 1300
+ - id: 14177449
+ value:
+ - blue
+ sizes:
+ - skus:
+ - '222222222222'
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseCardCreate'
+ example:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: { }
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/responseBodyContentError400'
+ examples:
+ InvalidRequestFormatContent:
+ $ref: '#/components/examples/InvalidRequestFormatContent'
+ CardCreatedWithoutVendorCode:
+ $ref: '#/components/examples/CardCreatedWithoutVendorCode'
+ CardsVendorCodeUsedInOtherCards:
+ $ref: '#/components/examples/CardsVendorCodeUsedInOtherCards'
+ ThisCategoryDoesNotExist:
+ $ref: '#/components/examples/ThisCategoryDoesNotExist'
+ '401':
+ $ref: '#/components/responses/401'
+ '413':
+ description: ΠΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ title:
+ type: string
+ description: ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ
+ detail:
+ type: string
+ description: ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
+ code:
+ type: string
+ description: ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
+ requestId:
+ type: string
+ description: Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°
+ origin:
+ type: string
+ description: ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB
+ status:
+ type: number
+ description: HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄
+ statusText:
+ type: string
+ description: Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°
+ example:
+ title: request body too long
+ detail: https://openapi.wildberries.ru/content/api/ru/
+ code: 71d3de1b-001e-488f-bbf5-55c31254fbeb
+ requestId: MN8usr6RfrzWHZfucSvNgb
+ origin: s2s-api-auth-content
+ status: 413
+ statusText: Request Entity Too Large
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v3/media/file:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»
+ description: "ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ» ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.\n\nΠ’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:\n * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°\_β 30\n * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700x900 px\n * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ\_β 32\_ΠΠ±\n * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ\_β 65%\n * ΡΠΎΡΠΌΠ°ΡΡ\_β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP\n\nΠ’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:\n * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎ\_Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°\n * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ\_β 50\_ΠΠ±\n * ΡΠΎΡΠΌΠ°ΡΡ\_β MOV, MP4\n\n\n"
+ tags:
+ - ΠΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ
+ parameters:
+ - name: X-Nm-Id
+ in: header
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ schema:
+ type: string
+ example: '213864079'
+ required: true
+ - name: X-Photo-Number
+ in: header
+ description: "ΠΠΎΠΌΠ΅Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Π° Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ\_`1`. ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ `1`.\n\nΠ§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌ, Π½ΠΎΠΌΠ΅Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ².\n"
+ schema:
+ type: integer
+ example: 2
+ required: true
+ requestBody:
+ required: true
+ content:
+ multipart/form-data:
+ schema:
+ type: object
+ properties:
+ uploadfile:
+ type: string
+ format: binary
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: object
+ example:
+ data: { }
+ error: false
+ errorText: ''
+ additionalErrors: null
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/mediaErrors'
+ plain/text:
+ example: Invalid 'boundary' for 'multipart/form-data' request
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/mediaErrors'
+ '429':
+ $ref: '#/components/responses/429'
+ /content/v3/media/save:
+ servers:
+ - url: https://content-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ summary: ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ
+ description: "ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅.\n\n\n ΠΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΡΡΠ΅. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ.\n
\n\nΠ’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:\n * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°\_β 30\n * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700Γ900 px\n * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ\_β 32\_ΠΠ±\n * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ\_β 65%\n * ΡΠΎΡΠΌΠ°ΡΡ\_β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP\n\nΠ’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:\n * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎ\_Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°\n * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ\_β 50\_ΠΠ±\n * ΡΠΎΡΠΌΠ°ΡΡ\_β MOV, MP4\n\nΠΡΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅/Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ.\n\n\n"
+ tags:
+ - ΠΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ nmId:
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ type: integer
+ data:
+ description: "Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π²\_ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°, ΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°"
+ type: array
+ items:
+ type: string
+ example:
+ nmId: 213864079
+ data:
+ - https://basket-stage-02.dasec.ru/vol669/part66964/66964260/images/big/2.jpg
+ - https://sample-videos.com/video321/mp4/720/big_buck_bunny_720p_mb.mp4
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: object
+ example:
+ data: { }
+ error: false
+ errorText: ''
+ additionalErrors: null
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/mediaErrors'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/mediaErrors'
+ '409':
+ description: ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΈ ΡΡΡΠ»ΠΎΠΊ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/mediaErrors'
+ '422':
+ description: ΠΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ nmId
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/mediaErrors'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/upload/task:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ description: "ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ². \n
\nΠ§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post).\n\n\n ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.\n
\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ requestBody:
+ $ref: '#/components/requestBodies/SupplierTaskRequest'
+ responses:
+ '200':
+ $ref: '#/components/responses/SuccessTaskResponse'
+ '208':
+ $ref: '#/components/responses/Responses208'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ UploadLimitExceeded:
+ $ref: '#/components/examples/UploadLimitExceeded'
+ DuplicateItemNos:
+ $ref: '#/components/examples/DuplicateItemNos'
+ TheSpecifiedPricesAndDiscountsAreAlreadySet:
+ $ref: '#/components/examples/TheSpecifiedPricesAndDiscountsAreAlreadySet'
+ InvalidDataFormat:
+ $ref: '#/components/examples/InvalidDataFormat'
+ PriceShouldBeAWholeNumber:
+ $ref: '#/components/examples/PriceShouldBeAWholeNumber'
+ InvalidPriceValue:
+ $ref: '#/components/examples/InvalidPriceValue'
+ InvalidDiscountValue:
+ $ref: '#/components/examples/InvalidDiscountValue'
+ InvalidItemNo:
+ $ref: '#/components/examples/InvalidItemNo'
+ PriceAndDiscountNotSpecified:
+ $ref: '#/components/examples/PriceAndDiscountNotSpecified'
+ EmptyData:
+ $ref: '#/components/examples/EmptyData'
+ AllItemNosAreSpecifiedIncorrectlyOrPricesAndDiscounts:
+ $ref: '#/components/examples/AllItemNosAreSpecifiedIncorrectlyOrPricesAndDiscounts'
+ '401':
+ $ref: '#/components/responses/401'
+ '422':
+ description: ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ UnexpectedResult:
+ $ref: '#/components/examples/UnexpectedResult'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/upload/task/size:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ description: "ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ².\n\nΠ Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ [ΡΠ°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get) `editableSizePrice: true`.\n\nΠ§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task/post).\n\n\n ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.\n
\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ requestBody:
+ $ref: '#/components/requestBodies/SupplierTaskRequestSize'
+ responses:
+ '200':
+ $ref: '#/components/responses/SuccessTaskResponse'
+ '208':
+ $ref: '#/components/responses/Responses208'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ UploadLimitExceeded:
+ $ref: '#/components/examples/UploadLimitExceeded'
+ DuplicateItemNos:
+ $ref: '#/components/examples/DuplicateItemNos'
+ DuplicateSizeIDs:
+ $ref: '#/components/examples/DuplicateSizeIDs'
+ TheSpecifiedPricesAreAlreadySet:
+ $ref: '#/components/examples/TheSpecifiedPricesAreAlreadySet'
+ InvalidDataFormat:
+ $ref: '#/components/examples/InvalidDataFormat'
+ PriceShouldBeAWholeNumber:
+ $ref: '#/components/examples/PriceShouldBeAWholeNumber'
+ InvalidPriceValue:
+ $ref: '#/components/examples/InvalidPriceValue'
+ InvalidItemNo:
+ $ref: '#/components/examples/InvalidItemNo'
+ InvalidSize:
+ $ref: '#/components/examples/InvalidSize'
+ PriceNotSpecified:
+ $ref: '#/components/examples/PriceNotSpecified'
+ EmptyData:
+ $ref: '#/components/examples/EmptyData'
+ AllItemNosAreSpecifiedIncorrectlyOrPrices:
+ $ref: '#/components/examples/AllItemNosAreSpecifiedIncorrectlyOrPrices'
+ '401':
+ $ref: '#/components/responses/401'
+ '422':
+ description: ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ UnexpectedResult:
+ $ref: '#/components/examples/UnexpectedResult'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/upload/task/club-discount:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠΈΠ΄ΠΊΠΈ WB ΠΠ»ΡΠ±Π°
+ description: "Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ [WB ΠΠ»ΡΠ±](https://seller.wildberries.ru/help-center/article/A-337).\n\n\n ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.\n
\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ requestBody:
+ $ref: '#/components/requestBodies/SupplierTaskRequestClubDisc'
+ responses:
+ '200':
+ $ref: '#/components/responses/SuccessTaskResponse'
+ '208':
+ $ref: '#/components/responses/Responses208'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ CheckTheWBClubDiscount:
+ $ref: '#/components/examples/CheckTheWBClubDiscount'
+ DiscountsAreTheSameAsThoseAlreadySet:
+ $ref: '#/components/examples/DiscountsAreTheSameAsThoseAlreadySet'
+ AllItemNosAreSpecifiedIncorrectlyOrDiscounts:
+ $ref: '#/components/examples/AllItemNosAreSpecifiedIncorrectlyOrDiscounts'
+ InvalidDiscountValue:
+ $ref: '#/components/examples/InvalidDiscountValue'
+ '401':
+ $ref: '#/components/responses/401'
+ '422':
+ description: ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ UnexpectedResult:
+ $ref: '#/components/examples/UnexpectedResult'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/history/tasks:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ description: "ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ.\n\n\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ parameters:
+ - $ref: '#/components/parameters/uploadID'
+ responses:
+ '200':
+ $ref: '#/components/responses/ResponseTaskHistory'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ type: boolean
+ example: true
+ errorText:
+ type: string
+ example: Invalid request parameters
+ '401':
+ $ref: '#/components/responses/401'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/history/goods/task:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ description: "ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.\n\n\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ parameters:
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/offset'
+ - $ref: '#/components/parameters/uploadID'
+ responses:
+ '200':
+ $ref: '#/components/responses/ResponseGoodHistories'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ type: boolean
+ example: true
+ errorText:
+ type: string
+ example: Invalid request parameters
+ '401':
+ $ref: '#/components/responses/401'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/buffer/tasks:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ description: "ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΈΠ΄ΠΎΠΊ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.\n\n\n ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π° Π°ΠΊΡΠΈΠΈ.\n
\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ parameters:
+ - $ref: '#/components/parameters/uploadID'
+ responses:
+ '200':
+ $ref: '#/components/responses/ResponseTaskBuffer'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ type: boolean
+ example: true
+ errorText:
+ type: string
+ example: Invalid request parameters
+ '401':
+ $ref: '#/components/responses/401'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/buffer/goods/task:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ description: "ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈΠ· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.\n\n\n ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π° Π°ΠΊΡΠΈΠΈ.\n
\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ parameters:
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/offset'
+ - $ref: '#/components/parameters/uploadID'
+ responses:
+ '200':
+ $ref: '#/components/responses/ResponseGoodBufferHistories'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ type: boolean
+ example: true
+ errorText:
+ type: string
+ example: Invalid request parameters
+ '401':
+ $ref: '#/components/responses/401'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/list/goods/filter:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ Ρ ΡΠ΅Π½Π°ΠΌΠΈ
+ description: "ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΠΎ ΠΈΡ
Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ [WB ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).\n
\nΠ§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, ΠΎΡΡΠ°Π²ΡΡΠ΅ Π°ΡΡΠΈΠΊΡΠ» ΠΏΡΡΡΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `limit=1000`, Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ `offset` ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅: `offset` ΠΏΠ»ΡΡ `limit` ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ²Π΅Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΡΠΎΠ²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get).\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ parameters:
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/offset'
+ - $ref: '#/components/parameters/filterNmID'
+ responses:
+ '200':
+ $ref: '#/components/responses/ResponseGoodsLists'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ SortError:
+ $ref: '#/components/examples/SortError'
+ InvalidRequestParameters:
+ $ref: '#/components/examples/InvalidRequestParameters'
+ '401':
+ $ref: '#/components/responses/401'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/list/goods/size/nm:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠ΅Π½Π°ΠΌΠΈ
+ description: "ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ [WB ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).\n
\nΠ Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² `editableSizePrice: true`. \n
\nΠ§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΠΎΠ²Π°ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get).\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ parameters:
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/offset'
+ - $ref: '#/components/parameters/nmID'
+ responses:
+ '200':
+ $ref: '#/components/responses/ResponseSizeLists'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ InvalidRequestParameters:
+ $ref: '#/components/examples/InvalidRequestParameters'
+ '401':
+ $ref: '#/components/responses/401'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v2/quarantine/goods:
+ servers:
+ - url: https://discounts-prices-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ summary: ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅
+ description: "ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅.\n
\nΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²\_3 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ, ΡΠΎΠ²Π°Ρ ΠΏΠΎΠΏΠ°Π΄ΡΡ [Π²\_ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½](https://seller.wildberries.ru/discount-and-prices/quarantine) ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎ\_ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π½Π΅. ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±\_ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²\_ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² [ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π·Π°Π³ΡΡΠ·ΠΎΠΊ](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1tasks/get).\n
\nΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·\_ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° [Π²\_Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/discount-and-prices/quarantine).\n
\nΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ [ΠΏΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠ΅Π½](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post) ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ.\n\n\n ΠΠ°ΠΊΡΠΈΠΌΡΠΌ\_10\_Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°\_6\_
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°\n
\n"
+ parameters:
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/offset'
+ responses:
+ '200':
+ $ref: '#/components/responses/ResponseQuarantineGoods'
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ InvalidRequestParameters:
+ $ref: '#/components/examples/InvalidRequestParameters'
+ '401':
+ $ref: '#/components/responses/401'
+ '422':
+ description: ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResponseError'
+ examples:
+ UnexpectedResult:
+ $ref: '#/components/examples/UnexpectedResult'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v3/stocks/{warehouseId}:
+ servers:
+ - url: https://marketplace-api.wildberries.ru
+ put:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - ΠΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [Π² ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+
+
+ ΠΠ°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΡΡΡΡ. ΠΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ (204), Π½ΠΎ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡΡΡ.
+
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ parameters:
+ - $ref: '#/components/parameters/Warehouse'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - stocks
+ properties:
+ stocks:
+ type: array
+ minItems: 1
+ maxItems: 1000
+ description: ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈ ΠΈΡ
ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+ items:
+ type: object
+ properties:
+ sku:
+ type: string
+ description: ΠΠ°ΡΠΊΠΎΠ΄
+ example: BarcodeTest123
+ amount:
+ type: integer
+ maximum: 100000
+ description: ΠΡΡΠ°ΡΠΎΠΊ
+ example: 10
+ responses:
+ '204':
+ description: ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StocksWarehouseError'
+ examples:
+ IncorrectRequestBody:
+ $ref: '#/components/examples/IncorrectRequestBody'
+ IncorrectRequest:
+ $ref: '#/components/examples/IncorrectRequest'
+ IncorrectParameter:
+ $ref: '#/components/examples/IncorrectParameter'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '406':
+ $ref: '#/components/responses/StatusNotAcceptable'
+ '409':
+ description: ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ examples:
+ SubjectDBSRestriction:
+ $ref: '#/components/examples/SubjectDBSRestriction'
+ SubjectFBSRestriction:
+ $ref: '#/components/examples/SubjectFBSRestriction'
+ UploadDataLimit:
+ $ref: '#/components/examples/UploadDataLimit'
+ CargoWarehouseRestrictionMGT:
+ $ref: '#/components/examples/CargoWarehouseRestrictionMGT'
+ CargoWarehouseRestrictionSGT:
+ $ref: '#/components/examples/CargoWarehouseRestrictionSGT'
+ CargoWarehouseRestrictionSGTKGTPlus:
+ $ref: '#/components/examples/CargoWarehouseRestrictionSGTKGTPlus'
+ CargoWarehouseRestrictionKGTPlus:
+ $ref: '#/components/examples/CargoWarehouseRestrictionKGTPlus'
+ NotFound:
+ $ref: '#/components/examples/NotFound'
+ StoreIsProcessing:
+ $ref: '#/components/examples/StoreIsProcessing'
+ '429':
+ $ref: '#/components/responses/429'
+ delete:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - ΠΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: Π£Π΄Π°Π»ΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ° ΠΎΡΡΠ°ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+
+
+ ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎ. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ.
+
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ parameters:
+ - $ref: '#/components/parameters/Warehouse'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ skus:
+ type: array
+ nullable: false
+ minItems: 1
+ maxItems: 1000
+ description: ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ²
+ items:
+ type: string
+ nullable: false
+ example: BarcodeTest123
+ responses:
+ '204':
+ description: Π£Π΄Π°Π»Π΅Π½ΠΎ
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ examples:
+ IncorrectRequestBody:
+ $ref: '#/components/examples/IncorrectRequestBody'
+ IncorrectRequest:
+ $ref: '#/components/examples/IncorrectRequest'
+ IncorrectParameter:
+ $ref: '#/components/examples/IncorrectParameter'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '404':
+ description: ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ example:
+ code: NotFound
+ message: ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
+ data:
+ skuTest1: null
+ skuTest2: null
+ '409':
+ description: ΠΡΠΈΠ±ΠΊΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ examples:
+ StoreIsProcessing:
+ $ref: '#/components/examples/StoreIsProcessing'
+ '429':
+ $ref: '#/components/responses/429'
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - ΠΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π° [ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°](/openapi/work-with-products#tag/Sklady-prodavca).
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ parameters:
+ - $ref: '#/components/parameters/Warehouse'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ nullable: false
+ properties:
+ skus:
+ type: array
+ description: ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ²
+ minItems: 1
+ maxItems: 1000
+ items:
+ type: string
+ example: BarcodeTest123
+ required:
+ - skus
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ stocks:
+ type: array
+ nullable: false
+ items:
+ type: object
+ properties:
+ sku:
+ type: string
+ nullable: false
+ description: ΠΠ°ΡΠΊΠΎΠ΄
+ example: BarcodeTest123
+ amount:
+ type: integer
+ nullable: false
+ description: ΠΡΡΠ°ΡΠΎΠΊ
+ example: 10
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ examples:
+ IncorrectRequestBody:
+ $ref: '#/components/examples/IncorrectRequestBody'
+ IncorrectRequest:
+ $ref: '#/components/examples/IncorrectRequest'
+ IncorrectParameter:
+ $ref: '#/components/examples/IncorrectParameter'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v3/offices:
+ servers:
+ - url: https://marketplace-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π‘ΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² WB Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠΊΠ»Π°Π΄Π°ΠΌ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: array
+ nullable: false
+ description: Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB
+ items:
+ $ref: '#/components/schemas/Office'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v3/warehouses:
+ servers:
+ - url: https://marketplace-api.wildberries.ru
+ get:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π‘ΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ [ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ responses:
+ '200':
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: array
+ nullable: false
+ description: Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ items:
+ $ref: '#/components/schemas/Warehouse'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '429':
+ $ref: '#/components/responses/429'
+ post:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π‘ΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ [ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post). ΠΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [ΡΠΊΠ»Π°Π΄ WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+
+
+ ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ nullable: false
+ minLength: 1
+ maxLength: 200
+ description: ΠΠΌΡ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ example: Π‘ΠΊΠ»Π°Π΄ ΠΠΎΠ»Π΅Π΄ΠΈΠ½ΠΎ
+ officeId:
+ type: integer
+ nullable: false
+ minimum: 1
+ description: ID ΡΠΊΠ»Π°Π΄Π° WB
+ example: 15
+ required:
+ - name
+ - officeId
+ responses:
+ '201':
+ description: Π‘ΠΎΠ·Π΄Π°Π½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ id:
+ type: integer
+ nullable: false
+ description: ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ example: 2
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ examples:
+ IncorrectRequestBody:
+ $ref: '#/components/examples/IncorrectRequestBody'
+ WarehouseNameInvalid:
+ $ref: '#/components/examples/WarehouseNameInvalid'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '409':
+ description: ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΠ»Π°Π΄Π°
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '429':
+ $ref: '#/components/responses/429'
+ /api/v3/warehouses/{warehouseId}:
+ servers:
+ - url: https://marketplace-api.wildberries.ru
+ put:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π‘ΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π² [ΡΠΏΠΈΡΠΊΠ΅ ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get). ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ [ΡΠΊΠ»Π°Π΄Π΅ WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΡΡΠΊΠΈ.
+
+
+ ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ parameters:
+ - $ref: '#/components/parameters/Warehouse'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ nullable: false
+ minLength: 1
+ maxLength: 200
+ description: ΠΠΌΡ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ example: Π‘ΠΊΠ»Π°Π΄ ΠΠΎΠ»Π΅Π΄ΠΈΠ½ΠΎ
+ officeId:
+ type: integer
+ nullable: false
+ minimum: 1
+ description: ID ΡΠΊΠ»Π°Π΄Π° WB
+ example: 15
+ required:
+ - name
+ - officeId
+ responses:
+ '204':
+ description: ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ
+ '400':
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ examples:
+ IncorrectRequestBody:
+ $ref: '#/components/examples/IncorrectRequestBody'
+ WarehouseNameInvalid:
+ $ref: '#/components/examples/WarehouseNameInvalid'
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '409':
+ description: ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΠ»Π°Π΄Π°
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '429':
+ $ref: '#/components/responses/429'
+ delete:
+ security:
+ - HeaderApiKey: [ ]
+ tags:
+ - Π‘ΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ summary: Π£Π΄Π°Π»ΠΈΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ description: |
+ ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ° ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+
+
+ ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+
+ ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5 Π·Π°ΠΏΡΠΎΡΠΎΠ²
+
+ parameters:
+ - $ref: '#/components/parameters/Warehouse'
+ responses:
+ '204':
+ description: Π£Π΄Π°Π»Π΅Π½ΠΎ
+ '401':
+ $ref: '#/components/responses/401'
+ '403':
+ $ref: '#/components/responses/AccessDenied'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '429':
+ $ref: '#/components/responses/429'
+components:
+ schemas:
+ responseCardCreate:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ example: null
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ oneOf:
+ - type: object
+ nullable: true
+ properties:
+ string:
+ type: string
+ additionalProperties: false
+ - type: string
+ nullable: true
+ requestMoveNmsImtConn:
+ type: object
+ required:
+ - targetIMT
+ - nmIDs
+ properties:
+ targetIMT:
+ description: Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° `imtID`, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²
+ type: integer
+ example: 123
+ nmIDs:
+ description: '`nmID`, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ (ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 30)'
+ type: array
+ items:
+ type: integer
+ example:
+ - 837459235
+ - 828572090
+ requestMoveNmsImtDisconn:
+ type: object
+ required:
+ - nmIDs
+ properties:
+ nmIDs:
+ description: '`nmID`, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ (max 30)'
+ type: array
+ items:
+ type: integer
+ example:
+ - 837459235
+ - 828572090
+ additionalProperties: false
+ responseIncorrectDate:
+ type: object
+ properties:
+ error:
+ type: string
+ additionalProperties: false
+ responseContentError1:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ example: null
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: object
+ properties:
+ error:
+ type: string
+ additionalProperties: false
+ responseBodyContentError400:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: object
+ properties:
+ MoveNmsToTrash:
+ type: string
+ example:
+ data: null
+ error: true
+ errorText: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ additionalErrors:
+ MoveNmsToTrash: Bad request
+ responseBodyContentError403:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example:
+ data: null
+ error: true
+ errorText: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½
+ additionalErrors: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½
+ responseContentError4:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: object
+ properties:
+ description:
+ type: string
+ responseContentError5:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ nullable: true
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: object
+ properties:
+ tagID:
+ type: string
+ responseContentError6:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ nullable: true
+ example:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: null
+ mediaErrors:
+ type: object
+ properties:
+ additionalErrors:
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: true
+ type: object
+ data:
+ type: object
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example:
+ additionalErrors: null
+ data: null
+ error: true
+ errorText: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ ResponseError:
+ type: object
+ properties:
+ data:
+ type: object
+ nullable: true
+ error:
+ type: boolean
+ errorText:
+ type: string
+ RequestAlreadyExistsError:
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ description: ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ type: integer
+ alreadyExists:
+ description: "Π€Π»Π°Π³ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ: `true`\_β ΡΠ°ΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΆΠ΅ Π΅ΡΡΡ\n"
+ type: boolean
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ errorText:
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ StocksWarehouseError:
+ type: array
+ items:
+ type: object
+ properties:
+ code:
+ description: Error code
+ type: string
+ data:
+ description: Additional data enriching the error
+ nullable: true
+ type: object
+ message:
+ description: Error description
+ type: string
+ TaskCreated:
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ description: ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ alreadyExists:
+ type: boolean
+ description: "Π€Π»Π°Π³ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ: `true`\_β ΡΠ°ΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΆΠ΅ Π΅ΡΡΡ\n"
+ example: false
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ Goods:
+ type: array
+ description: "Π’ΠΎΠ²Π°ΡΡ, ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ Π½ΠΈΡ
. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1\_000\_ΡΠΎΠ²Π°ΡΠΎΠ². Π¦Π΅Π½Π° ΠΈ ΡΠΊΠΈΠ΄ΠΊΠ° Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΡΡΡΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.\n
\nΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ Ρ
ΠΎΡΡ Π±Ρ Π²\_3 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ, ΠΎΠ½Π° ΠΏΠΎΠΏΠ°Π΄ΡΡ [Π²\_ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½](https://seller.wildberries.ru/discount-and-prices/quarantine) ΠΈ ΡΠΎΠ²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎ\_ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π½Π΅. ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±\_ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²\_ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π·Π°Π³ΡΡΠ·ΠΎΠΊ.\n
\nΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·\_ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° [Π²\_Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/discount-and-prices/quarantine)\n"
+ items:
+ $ref: '#/components/schemas/Good'
+ Good:
+ type: object
+ required:
+ - nmID
+ properties:
+ nmID:
+ type: integer
+ example: 123
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ price:
+ type: integer
+ example: 999
+ description: "Π¦Π΅Π½Π°. ΠΠ°Π»ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎ\_Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](./work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅ `currencyIsoCode4217`"
+ discount:
+ type: integer
+ example: 30
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ°,\_%"
+ SizeGoodsBody:
+ description: "Π Π°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠ΅Π½Ρ Π΄Π»Ρ Π½ΠΈΡ
. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1\_000 ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².\n
\nΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΏΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠ΅Π½ ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ\n"
+ type: array
+ items:
+ $ref: '#/components/schemas/SizeGoodReq'
+ SizeGoodReq:
+ type: object
+ required:
+ - nmID
+ - sizeID
+ - price
+ properties:
+ nmID:
+ type: integer
+ example: 123
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ sizeID:
+ type: integer
+ example: 98989887
+ description: "ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎ\_Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](./work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅ `sizeID`. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`"
+ price:
+ type: integer
+ example: 999
+ description: "Π¦Π΅Π½Π°. ΠΠ°Π»ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎ\_Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](./work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅ `currencyIsoCode4217`"
+ ClubDisc:
+ type: array
+ description: "Π’ΠΎΠ²Π°ΡΡ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ WB ΠΠ»ΡΠ±Π° Π΄Π»Ρ Π½ΠΈΡ
. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1\_000\_ΡΠΎΠ²Π°ΡΠΎΠ².\n"
+ items:
+ $ref: '#/components/schemas/ClubDiscReq'
+ ClubDiscReq:
+ type: object
+ required:
+ - nmID
+ - clubDiscount
+ properties:
+ nmID:
+ type: integer
+ example: 123
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ clubDiscount:
+ type: integer
+ example: 5
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,\_%"
+ GoodsList:
+ type: object
+ description: Π Π°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ°
+ properties:
+ nmID:
+ type: integer
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ example: 98486
+ vendorCode:
+ type: string
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ example: '07326060'
+ sizes:
+ type: array
+ description: Π Π°Π·ΠΌΠ΅Ρ
+ items:
+ type: object
+ properties:
+ sizeID:
+ type: integer
+ description: ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`
+ format: int64
+ example: 3123515574
+ price:
+ type: integer
+ description: Π¦Π΅Π½Π°
+ example: 500
+ discountedPrice:
+ type: number
+ description: Π¦Π΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ
+ example: 350
+ clubDiscountedPrice:
+ type: number
+ description: Π¦Π΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΊΠΈΠ΄ΠΊΡ WB ΠΠ»ΡΠ±Π°
+ example: 332.5
+ techSizeName:
+ description: Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ type: string
+ example: '42'
+ currencyIsoCode4217:
+ type: string
+ description: ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217
+ example: RUB
+ discount:
+ type: integer
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ°,\_%"
+ example: 30
+ clubDiscount:
+ type: integer
+ example: 5
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,\_%"
+ editableSizePrice:
+ description: "ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²: `true`\_β ΠΌΠΎΠΆΠ½ΠΎ, `false`\_β Π½Π΅Π»ΡΠ·Ρ. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°\n"
+ type: boolean
+ example: true
+ SizeGood:
+ type: object
+ description: "ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ\_ΡΠ°Π·ΠΌΠ΅ΡΠ΅"
+ properties:
+ nmID:
+ type: integer
+ example: 123
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ sizeID:
+ description: "ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎ\_Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](./work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅ `sizeID`. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`"
+ type: integer
+ example: 98989887
+ vendorCode:
+ type: string
+ example: '34552332'
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ price:
+ type: integer
+ example: 1000
+ description: Π¦Π΅Π½Π°
+ currencyIsoCode4217:
+ type: string
+ description: ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217
+ example: RUB
+ discountedPrice:
+ type: number
+ example: 700
+ description: "Π¦Π΅Π½Π° ΡΠΎ\_ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ"
+ clubDiscountedPrice:
+ type: number
+ description: Π¦Π΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΊΠΈΠ΄ΠΊΡ WB ΠΠ»ΡΠ±Π°
+ example: 665
+ discount:
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ°,\_%"
+ type: integer
+ example: 30
+ clubDiscount:
+ type: integer
+ example: 5
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,\_%"
+ techSizeName:
+ description: Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°
+ type: string
+ example: '42'
+ editableSizePrice:
+ description: "ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²: `true`\_β ΠΌΠΎΠΆΠ½ΠΎ, `false`\_β Π½Π΅Π»ΡΠ·Ρ. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°\n"
+ type: boolean
+ example: true
+ GoodBufferHistory:
+ type: object
+ properties:
+ nmID:
+ type: integer
+ example: 544833232
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ vendorCode:
+ type: string
+ example: '34552332'
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ sizeID:
+ type: integer
+ example: 54483342
+ description: ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`
+ techSizeName:
+ type: string
+ example: XXL
+ description: Π Π°Π·ΠΌΠ΅Ρ
+ price:
+ type: integer
+ example: 1500
+ description: Π¦Π΅Π½Π°
+ currencyIsoCode4217:
+ type: string
+ example: RUB
+ description: ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217
+ discount:
+ type: integer
+ example: 25
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ°,\_%"
+ clubDiscount:
+ type: integer
+ example: 5
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,\_%"
+ status:
+ $ref: '#/components/schemas/GoodStatusBuffer'
+ errorText:
+ type: string
+ example: null
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ GoodHistory:
+ type: object
+ properties:
+ nmID:
+ type: integer
+ example: 544833232
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ vendorCode:
+ type: string
+ example: '34552332'
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ sizeID:
+ type: integer
+ example: 54483342
+ description: ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`
+ techSizeName:
+ type: string
+ example: '42'
+ description: Π Π°Π·ΠΌΠ΅Ρ
+ price:
+ type: integer
+ example: 1500
+ description: Π¦Π΅Π½Π°
+ currencyIsoCode4217:
+ type: string
+ example: RUB
+ description: ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217
+ discount:
+ type: integer
+ example: 25
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ°,\_%"
+ clubDiscount:
+ type: integer
+ example: 5
+ description: "Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,\_%"
+ nullable: true
+ status:
+ $ref: '#/components/schemas/GoodStatus'
+ errorText:
+ type: string
+ example: The new price is several times lower than the current price. Item has been moved to Price Quarantine
+ description: "Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ\n\n\n ΠΡΠΈΠ±ΠΊΠ°
The new price is several times lower than the current price. Item has been moved to Price Quarantine Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Ρ
ΠΎΡΡ Π±Ρ Π²\_3 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·\_ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°
Π²\_Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅\n
\n"
+ SupplierTaskMetadata:
+ properties:
+ uploadID:
+ type: integer
+ example: 395643565
+ description: ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ status:
+ $ref: '#/components/schemas/TaskStatus'
+ uploadDate:
+ $ref: '#/components/schemas/Date'
+ activationDate:
+ $ref: '#/components/schemas/Date1'
+ overAllGoodsNumber:
+ description: ΠΡΠ΅Π³ΠΎ ΡΠΎΠ²Π°ΡΠΎΠ²
+ type: integer
+ successGoodsNumber:
+ description: Π’ΠΎΠ²Π°ΡΠΎΠ² Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ
+ type: integer
+ SupplierTaskMetadataBuffer:
+ properties:
+ uploadID:
+ type: integer
+ example: 395643565
+ description: ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ status:
+ $ref: '#/components/schemas/TaskStatusBuffer'
+ uploadDate:
+ $ref: '#/components/schemas/Date'
+ activationDate:
+ $ref: '#/components/schemas/Date1'
+ overAllGoodsNumber:
+ description: ΠΡΠ΅Π³ΠΎ ΡΠΎΠ²Π°ΡΠΎΠ²
+ type: integer
+ example: 100
+ successGoodsNumber:
+ description: Π’ΠΎΠ²Π°ΡΠΎΠ² Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ (0, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅)
+ type: integer
+ example: 0
+ Date:
+ type: string
+ example: '2022-08-21T22:00:13+02:00'
+ format: date-time
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½Π°
+ Date1:
+ type: string
+ example: '2022-08-21T22:00:13+02:00'
+ format: date-time
+ description: "ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²\_ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ"
+ TaskStatus:
+ description: "Π‘ΡΠ°ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ: \n * `3`\_β ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π°, Π² ΡΠΎΠ²Π°ΡΠ°Ρ
Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ\n * `4`\_β ΠΎΡΠΌΠ΅Π½Π΅Π½Π°\n * `5`\_β ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π°, Π½ΠΎ Π²\_ΡΠΎΠ²Π°ΡΠ°Ρ
Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π²\_ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ\_ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ](./work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1goods~1task/get)\n * `6`\_β ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π°, Π½ΠΎ\_Π²ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²Π°ΡΠ°Ρ
Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡ
ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ\_ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ](./work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1goods~1task/get)\n"
+ type: integer
+ example: 3
+ TaskStatusBuffer:
+ description: "Π‘ΡΠ°ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ: `1`\_β Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅\n"
+ type: integer
+ example: 1
+ GoodStatus:
+ description: "Π‘ΡΠ°ΡΡΡ ΡΠΎΠ²Π°ΡΠ°: \n * `2`\_β ΡΠΎΠ²Π°Ρ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ΅Π½Π° ΠΈ/ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΠ° ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π°ΡΡ\n * `3`\_β Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ\n"
+ type: integer
+ example: 1
+ GoodStatusBuffer:
+ description: "Π‘ΡΠ°ΡΡΡ ΡΠΎΠ²Π°ΡΠ°: `1`\_β Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅\n"
+ type: integer
+ example: 1
+ Error:
+ type: object
+ nullable: false
+ properties:
+ code:
+ type: string
+ description: ΠΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: false
+ message:
+ type: string
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: false
+ data:
+ type: object
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΠΎΠ³Π°ΡΠ°ΡΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΡ
+ nullable: true
+ QuarantineGoods:
+ type: object
+ properties:
+ nmID:
+ type: integer
+ example: 206025152
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ sizeID:
+ description: ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+ type: integer
+ example: null
+ techSizeName:
+ description: ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+ type: string
+ example: ''
+ currencyIsoCode4217:
+ type: string
+ description: ΠΠ°Π»ΡΡΠ° ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217
+ example: RUB
+ newPrice:
+ type: number
+ format: float
+ example: 134
+ description: ΠΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄ΠΎ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ oldPrice:
+ type: number
+ format: float
+ example: 4000
+ description: Π’Π΅ΠΊΡΡΠ°Ρ ΡΠ΅Π½Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄ΠΎ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ newDiscount:
+ type: integer
+ example: 25
+ description: ΠΠΎΠ²Π°Ρ ΡΠΊΠΈΠ΄ΠΊΠ° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, %
+ oldDiscount:
+ type: integer
+ example: 25
+ description: Π’Π΅ΠΊΡΡΠ°Ρ ΡΠΊΠΈΠ΄ΠΊΠ° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, %
+ priceDiff:
+ type: number
+ format: float
+ description: 'Π Π°Π·Π½ΠΈΡΠ°: `newPrice` * (1 - `newDiscount` / 100) - `oldPrice` * (1 - `oldDiscount` / 100)'
+ example: -2899.5
+ Office:
+ type: object
+ description: ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΡΠΊΠ»Π°Π΄Π΅ WB
+ properties:
+ address:
+ type: string
+ nullable: false
+ description: ΠΠ΄ΡΠ΅Ρ
+ example: ΡΠ». Π’ΡΠΎΠΈΡΠΊΠ°Ρ, ΠΠΎΠ΄ΠΎΠ»ΡΡΠΊ, ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠ°Ρ ΠΎΠ±Π».
+ name:
+ type: string
+ nullable: false
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅
+ example: ΠΠΎΡΠΊΠ²Π° (ΠΠΎΠ»Π΅Π΄ΠΈΠ½ΠΎ)
+ city:
+ type: string
+ nullable: false
+ description: ΠΠΎΡΠΎΠ΄
+ example: ΠΠΎΡΠΊΠ²Π°
+ id:
+ type: integer
+ format: int64
+ nullable: false
+ description: ID
+ example: 15
+ longitude:
+ type: number
+ format: float64
+ nullable: false
+ description: ΠΠΎΠ»Π³ΠΎΡΠ°
+ example: 55.386871
+ latitude:
+ type: number
+ format: float64
+ nullable: false
+ description: Π¨ΠΈΡΠΎΡΠ°
+ example: 37.588898
+ cargoType:
+ description: |
+ - Π’ΠΈΠΏ ΡΠΎΠ²Π°ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
- 1 - ΠΠΠ’ (ΠΌΠ°Π»ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 2 - Π‘ΠΠ’ (Π‘Π²Π΅ΡΡ
Π³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 3 - ΠΠΠ’+ (ΠΡΡΠΏΠ½ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
+ type: integer
+ enum:
+ - 1
+ - 2
+ - 3
+ example: 1
+ deliveryType:
+ type: integer
+ description: |
+ Π’ΠΈΠΏ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
+ - `1` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΠΊΠ»Π°Π΄ WB (FBS)
+ - `2` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (DBS)
+ - `3` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΊΡΡΡΠ΅ΡΠΎΠΌ WB (DBW)
+ - `5` β ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ· (C&C)
+ - `6` β ΡΠΊΡΠΏΡΠ΅ΡΡ-Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (ΠDBS)
+ enum:
+ - 1
+ - 2
+ - 3
+ - 5
+ - 6
+ example: 1
+ selected:
+ type: boolean
+ nullable: false
+ description: ΠΡΠΈΠ·Π½Π°ΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΊΠ»Π°Π΄ ΡΠΆΠ΅ Π²ΡΠ±ΡΠ°Π½ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠΌ
+ Warehouse:
+ type: object
+ description: ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΡΠΊΠ»Π°Π΄Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ properties:
+ name:
+ type: string
+ nullable: false
+ description: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ example: ΡΠ». Π’ΡΠΎΠΈΡΠΊΠ°Ρ, ΠΠΎΠ΄ΠΎΠ»ΡΡΠΊ, ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠ°Ρ ΠΎΠ±Π».
+ officeId:
+ type: integer
+ format: int64
+ nullable: false
+ description: ID ΡΠΊΠ»Π°Π΄Π° WB
+ example: 15
+ id:
+ type: integer
+ format: int64
+ nullable: false
+ description: ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ example: 1
+ cargoType:
+ description: |
+ - Π’ΠΈΠΏ ΡΠΎΠ²Π°ΡΠ°:
- 1 - ΠΠΠ’ (ΠΌΠ°Π»ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 2 - Π‘ΠΠ’ (Π‘Π²Π΅ΡΡ
Π³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 3 - ΠΠΠ’+ (ΠΡΡΠΏΠ½ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
+ type: integer
+ enum:
+ - 1
+ - 2
+ - 3
+ example: 1
+ deliveryType:
+ type: integer
+ description: |
+ Π’ΠΈΠΏ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
+ - `1` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΠΊΠ»Π°Π΄ WB (FBS)
+ - `2` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (DBS)
+ - `3` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΊΡΡΡΠ΅ΡΠΎΠΌ WB (DBW)
+ - `5` β ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ· (C&C)
+ - `6` β ΡΠΊΡΠΏΡΠ΅ΡΡ-Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (ΠDBS)
+ enum:
+ - 1
+ - 2
+ - 3
+ - 5
+ - 6
+ example: 1
+ parameters:
+ Warehouse:
+ name: warehouseId
+ in: path
+ required: true
+ description: ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ schema:
+ type: integer
+ format: int64
+ example: 1
+ uploadID:
+ in: query
+ name: uploadID
+ description: ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ required: true
+ schema:
+ type: integer
+ example: 146567
+ limit:
+ in: query
+ name: limit
+ description: "Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ (ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ). ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1\_000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²"
+ schema:
+ type: integer
+ format: uint
+ example: 10
+ required: true
+ offset:
+ in: query
+ name: offset
+ description: ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅
+ schema:
+ type: integer
+ format: uint
+ minimum: 0
+ example: 0
+ nmID:
+ in: query
+ name: nmID
+ description: ΠΡΡΠΈΠΊΡΠ» WB
+ schema:
+ type: integer
+ example: 1
+ required: true
+ filterNmID:
+ in: query
+ description: ΠΡΡΠΈΠΊΡΠ» WB, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΈΡΠΊΠ°ΡΡ ΡΠΎΠ²Π°Ρ
+ name: filterNmID
+ schema:
+ type: integer
+ example: 44589768676
+ requestBodies:
+ SupplierTaskRequest:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/Goods'
+ SupplierTaskRequestSize:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/SizeGoodsBody'
+ SupplierTaskRequestClubDisc:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/ClubDisc'
+ responses:
+ '401':
+ description: ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ title:
+ type: string
+ description: ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ
+ detail:
+ type: string
+ description: ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
+ code:
+ type: string
+ description: ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
+ requestId:
+ type: string
+ description: Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°
+ origin:
+ type: string
+ description: ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB
+ status:
+ type: number
+ description: HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄
+ statusText:
+ type: string
+ description: Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°
+ timestamp:
+ type: string
+ format: date-time
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°
+ example:
+ title: unauthorized
+ detail: 'token problem; token is malformed: could not base64 decode signature: illegal base64 data at input byte 84'
+ code: 07e4668e--a53a3d31f8b0-[UK-oWaVDUqNrKG]; 03bce=277; 84bd353bf-75
+ requestId: 7b80742415072fe8b6b7f7761f1d1211
+ origin: s2s-api-auth-catalog
+ status: 401
+ statusText: Unauthorized
+ timestamp: '2024-09-30T06:52:38Z'
+ '429':
+ description: Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ headers:
+ X-Ratelimit-Retry:
+ description: Π§Π΅ΡΠ΅Π· ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΡ ΡΠ°Π½ΡΡΠ΅, Π²Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ 429.
+ schema:
+ type: integer
+ format: int
+ example: 60
+ X-Ratelimit-Limit:
+ description: ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠ»Π΅ΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² β burst, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· X-Ratelimit-Reset ΡΠ΅ΠΊΡΠ½Π΄
+ schema:
+ type: integer
+ format: int
+ example: 1000
+ X-Ratelimit-Reset:
+ description: Π§Π΅ΡΠ΅Π· ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π²ΡΠΏΠ»Π΅ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² X-Ratelimit-Limit.
+ schema:
+ type: integer
+ format: int
+ example: 100
+ content:
+ application/problem+json:
+ schema:
+ type: object
+ properties:
+ title:
+ type: string
+ description: ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ
+ detail:
+ type: string
+ description: ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
+ code:
+ type: string
+ description: ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
+ requestId:
+ type: string
+ description: Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°
+ origin:
+ type: string
+ description: ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB
+ status:
+ type: number
+ description: HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄
+ statusText:
+ type: string
+ description: Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°
+ timestamp:
+ type: string
+ format: date-time
+ description: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°
+ example:
+ title: too many requests
+ detail: limited by c122a060-a7fb-4bb4-abb0-32fd4e18d489
+ code: 07e4668e-ac2242c5c8c5-[UK-4dx7JUdskGZ]
+ requestId: 9d3c02cc698f8b041c661a7c28bed293
+ origin: s2s-api-auth-catalog
+ status: 429
+ statusText: Too Many Requests
+ timestamp: '2024-09-30T06:52:38Z'
+ NotFound:
+ description: ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ example:
+ code: NotFound
+ message: ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
+ AccessDenied:
+ description: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ example:
+ code: AccessDenied
+ message: ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½
+ ResponseGoodsLists:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ listGoods:
+ description: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
+ type: array
+ items:
+ $ref: '#/components/schemas/GoodsList'
+ ResponseGoodHistories:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ uploadID:
+ type: integer
+ description: ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ example: 3235236546
+ nullable: true
+ historyGoods:
+ type: array
+ description: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² Π·Π°Π³ΡΡΠ·ΠΊΠ΅
+ items:
+ $ref: '#/components/schemas/GoodHistory'
+ ResponseGoodBufferHistories:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ uploadID:
+ type: integer
+ description: ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ
+ example: 3235236546
+ bufferGoods:
+ type: array
+ description: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² Π·Π°Π³ΡΡΠ·ΠΊΠ΅
+ items:
+ $ref: '#/components/schemas/GoodBufferHistory'
+ error:
+ type: boolean
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example: false
+ errorText:
+ type: string
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example: ''
+ ResponseTaskHistory:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ nullable: true
+ $ref: '#/components/schemas/SupplierTaskMetadata'
+ error:
+ type: boolean
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example: false
+ errorText:
+ description: "Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ\n\n\n ΠΡΠΈΠ±ΠΊΠ°
The new price is several times lower than the current price. Item has been moved to Price Quarantine Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Ρ
ΠΎΡΡ Π±Ρ Π²\_3 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·\_ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°
Π²\_Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅\n
\n"
+ type: string
+ example: The new price is several times lower than the current price. Item has been moved to Price Quarantine
+ ResponseTaskBuffer:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ nullable: true
+ $ref: '#/components/schemas/SupplierTaskMetadataBuffer'
+ error:
+ type: boolean
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example: false
+ errorText:
+ type: string
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ example: ''
+ ResponseSizeLists:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ listGoods:
+ description: Π Π°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ°
+ type: array
+ items:
+ $ref: '#/components/schemas/SizeGood'
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ SuccessTaskResponse:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TaskCreated'
+ ResponseQuarantineGoods:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ nullable: true
+ type: object
+ properties:
+ quarantineGoods:
+ description: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅
+ type: array
+ items:
+ $ref: '#/components/schemas/QuarantineGoods'
+ error:
+ description: Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: boolean
+ example: false
+ errorText:
+ description: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ type: string
+ example: ''
+ Responses208:
+ description: Π’Π°ΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΆΠ΅ Π΅ΡΡΡ
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RequestAlreadyExistsError'
+ examples:
+ This task already exists:
+ description: Π’Π°ΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΆΠ΅ Π΅ΡΡΡ
+ value:
+ data:
+ id: 1111111
+ alreadyExists: true
+ error: false
+ errorText: This task already exists
+ StatusNotAcceptable:
+ description: ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΡΠΊΠΎΠ² Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
+ content:
+ application/json:
+ schema:
+ properties:
+ code:
+ type: string
+ description: ΠΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: false
+ example: StatusNotAcceptable
+ message:
+ type: string
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
+ nullable: false
+ example: ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΡΠΊΠΎΠ² Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΡΠ²ΡΠ·ΠΈ Ρ Π±Π°Π½ΠΎΠΌ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°
+ data:
+ type: object
+ description: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΠΎΠ³Π°ΡΠ°ΡΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΡ
+ nullable: true
+ examples:
+ WarehouseNameInvalid:
+ value:
+ code: WarehouseNameInvalid
+ message: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠΊΠ»Π°Π΄Π°
+ StoreIsProcessing:
+ description: Π‘ΠΊΠ»Π°Π΄ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄.
+ value:
+ code: StoreIsProcessing
+ message: The store is processing
+ IncorrectRequestBody:
+ value:
+ code: IncorrectRequestBody
+ message: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
+ IncorrectRequest:
+ value:
+ code: IncorrectRequest
+ message: ΠΠ΅ΡΠ΅Π΄Π°Π½Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
+ SubjectDBSRestriction:
+ description: ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠΎΠ²Π°ΡΠ° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ FBS.
+ value:
+ code: SubjectDBSRestriction
+ message: The product category cannot be sold with 'Fulfillment By Wildberries'.
+ data:
+ sku: skuTest1
+ stock: 0
+ SubjectFBSRestriction:
+ description: ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠΎΠ²Π°ΡΠ° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ DBS.
+ value:
+ code: SubjectFBSRestriction
+ message: The product category cannot be sold with 'Delivery By Supplier'.
+ data:
+ sku: skuTest2
+ stock: 1
+ UploadDataLimit:
+ description: ΠΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
+ value:
+ code: UploadDataLimit
+ message: Upload limit exceeded.
+ data:
+ sku: skuTest2
+ stock: 100001
+ CargoWarehouseRestrictionMGT:
+ description: ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΠ»Π°Π΄ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΡΠΈΠΏΠΎΠΌ Β«ΠΠΠ’ (ΠΌΠ°Π»ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠ΅ ΡΠΎΠ²Π°ΡΡ)Β». ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄ Π±Π΅Π· ΠΌΠ΅ΡΠΊΠΈ Π‘ΠΠ’ ΠΈΠ»ΠΈ ΠΠΠ’+
+ value:
+ code: CargoWarehouseRestrictionMGT
+ message: The selected warehouse is not suitable for goods with the type "LCL (Less than Container Load)". Upload the balances to the warehouse without the ODC or CD+ mark
+ data:
+ sku: skuTest3
+ stock: 10
+ CargoWarehouseRestrictionSGT:
+ description: ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΠ»Π°Π΄ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΡΠΈΠΏΠΎΠΌ Β«Π‘ΠΠ’Β». ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄ Ρ ΠΎΡΠΌΠ΅ΡΠΊΠΎΠΉ β Π‘ΠΠ’
+ value:
+ code: CargoWarehouseRestrictionSGT
+ message: The selected warehouse is not suitable for goods with the type "ODC". Upload the balances to the warehouse marked - ODC
+ data:
+ sku: skuTest3
+ stock: 10
+ CargoWarehouseRestrictionSGTKGTPlus:
+ description: ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΠ»Π°Π΄ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΡΠΈΠΏΠΎΠΌ Β«Π‘ΠΠ’/ΠΠΠ’+Β». ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄ Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ β Π‘ΠΠ’ ΠΈΠ»ΠΈ ΠΠΠ’+
+ value:
+ code: CargoWarehouseRestrictionSGTKGTPlus
+ message: The selected warehouse is not suitable for goods with the type "ODC/CD+". Upload the balances to the warehouse with the label - ODC or CD+
+ data:
+ sku: skuTest3
+ stock: 10
+ CargoWarehouseRestrictionKGTPlus:
+ description: ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΠ»Π°Π΄ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΡΠΈΠΏΠΎΠΌ Β«ΠΠΠ’+Β». ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΊΠ»Π°Π΄ Ρ ΠΎΡΠΌΠ΅ΡΠΊΠΎΠΉ β ΠΠΠ’+
+ value:
+ code: CargoWarehouseRestrictionKGTPlus
+ message: The selected warehouse is not suitable for goods with the type "CD+". Upload the balances to the warehouse marked - CD+
+ data:
+ sku: skuTest3
+ stock: 10
+ NotFound:
+ description: ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
+ value:
+ code: NotFound
+ message: Not found.
+ data:
+ sku: skuTest4
+ stock: 10
+ IncorrectParameter:
+ value:
+ code: IncorrectParameter
+ message: ΠΠ΅ΡΠ΅Π΄Π°Π½ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+ creatingOneCard:
+ description: ''
+ value:
+ - subjectID: 105
+ variants:
+ - vendorCode: ΠΡΡΠΈΠΊΡΠ»ΠΡΠΎΠ΄Π°Π²ΡΠ°
+ title: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ brand: ΠΡΠ΅Π½Π΄
+ dimensions:
+ length: 12
+ width: 7
+ height: 5
+ weightBrutto: 1.242
+ characteristics:
+ - id: 12
+ value:
+ - Turkish flag
+ - id: 25471
+ value: 1200
+ - id: 14177449
+ value:
+ - red
+ sizes:
+ - techSize: S
+ wbSize: '42'
+ price: 5000
+ skus:
+ - '88005553535'
+ creatingMergedCards:
+ description: ''
+ value:
+ - subjectID: 3091
+ variants:
+ - vendorCode: ΠΡΡΠΈΠΊΡΠ»ΠΡΠΎΠ΄Π°Π²ΡΠ°11
+ title: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 1
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 1
+ brand: ΠΡΠ΅Π½Π΄
+ dimensions:
+ length: 55
+ width: 40
+ height: 15
+ weightBrutto: 6.24
+ characteristics:
+ - id: 12
+ value:
+ - Turkish flag
+ - id: 25471
+ value: 1200
+ - id: 14177449
+ value:
+ - red
+ sizes:
+ - skus:
+ - '111111111133111'
+ - vendorCode: ΠΡΡΠΈΠΊΡΠ»ΠΡΠΎΠ΄Π°Π²ΡΠ°22
+ title: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 2
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 2
+ brand: ΠΡΠ΅Π½Π΄ΠΡΡΠ³ΠΎΠΉ
+ dimensions:
+ length: 55
+ width: 40
+ height: 15
+ weightBrutto: 6.241
+ characteristics:
+ - id: 12
+ value:
+ - Turkish flag
+ - id: 25471
+ value: 1200
+ - id: 14177449
+ value:
+ - red
+ sizes:
+ - skus:
+ - '111111111441111'
+ creatingGroupOfIndividualCards:
+ description: ''
+ value:
+ - subjectID: 3091
+ variants:
+ - vendorCode: ΠΡΡΠΈΠΊΡΠ»ΠΡΠΎΠ΄Π°Π²ΡΠ°1
+ title: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 1
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 1
+ brand: ΠΡΠ΅Π½Π΄
+ dimensions:
+ length: 55
+ width: 40
+ height: 15
+ weightBrutto: 6
+ characteristics:
+ - id: 12
+ value:
+ - Turkish flag
+ - id: 25471
+ value: 1200
+ - id: 14177449
+ value:
+ - red
+ sizes:
+ - skus:
+ - '1111111111111'
+ - subjectID: 105
+ variants:
+ - vendorCode: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ° 2
+ title: ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 2
+ description: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ° 2
+ brand: ΠΡΠ΅Π½Π΄
+ dimensions:
+ length: 14
+ width: 5
+ height: 4
+ weightBrutto: 0.94
+ characteristics:
+ - id: 12
+ value:
+ - Turkish flag
+ - id: 25471
+ value: 1200
+ - id: 14177449
+ value:
+ - red
+ sizes:
+ - techSize: S
+ wbSize: '42'
+ price: 5000
+ skus:
+ - '2222222222222'
+ responseIncorrectBeginDate:
+ description: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Π΄Π°ΡΠ° Π½Π°ΡΠ°Π»Π°
+ value:
+ error: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Π΄Π°ΡΠ° Π½Π°ΡΠ°Π»Π°
+ responseIncorrectEndDate:
+ description: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Π΄Π°ΡΠ° ΠΊΠΎΠ½ΡΠ°
+ value:
+ error: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Π΄Π°ΡΠ° ΠΊΠΎΠ½ΡΠ°
+ responseExceededLimit:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: Π Π³ΡΡΠΏΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ
+ additionalErrors:
+ error: Π Π³ΡΡΠΏΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ
+ responseCombining:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°ΠΌΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ
+ additionalErrors:
+ error: ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°ΠΌΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ
+ responseIncorrectRequestFormat:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°
+ additionalErrors:
+ error: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°
+ responseNonExistentNmId:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: Π£ΠΊΠ°Π·Π°Π½ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ nmID ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ additionalErrors:
+ error: Π£ΠΊΠ°Π·Π°Π½ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ nmID ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ responseNonExistentImt:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: Π£ΠΊΠ°Π·Π°Π½ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ imt
+ additionalErrors:
+ error: Π£ΠΊΠ°Π·Π°Π½ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ imt
+ responseDuplicateRequests:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ!
+ additionalErrors:
+ error: ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ!
+ responseAllCardsInSameGroup:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: ΠΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅
+ additionalErrors:
+ error: ΠΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅
+ responseCardCreate1:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: string
+ additionalErrors:
+ string: string
+ InvalidRequestFormatContent:
+ description: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°
+ value:
+ data: null
+ error: true
+ errorText: Invalid request format
+ additionalErrors: { }
+ CardCreatedWithoutVendorCode:
+ description: ΠΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π΅Π· Π°ΡΡΠΈΠΊΡΠ»Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ value:
+ data: null
+ error: true
+ errorText: A card cannot be created without a vendorCode
+ additionalErrors: { }
+ CardsVendorCodeUsedInOtherCards:
+ description: ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ value:
+ data: null
+ error: true
+ errorText: bad request; Unexpected the specified card's vendor code is used in other cards
+ additionalErrors: { }
+ ThisCategoryDoesNotExist:
+ description: Π’Π°ΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
+ value:
+ data: null
+ error: true
+ errorText: This category does not exist
+ additionalErrors:
+ id: '342342'
+ responseBodyContentError400:
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ value:
+ data: null
+ error: true
+ errorText: Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ additionalErrors:
+ MoveNmsToTrash: Bad request
+ responseOK200:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ value:
+ data: null
+ error: false
+ errorText: ''
+ additionalErrors: null
+ responseBody400LenName:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ»ΡΠΊΠ°
+ additionalErrors:
+ description: Π‘Π»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°. Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
+ responseBodyLimitTag:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: ΠΡΡΠ΅ΡΠΏΠ°Π½ Π»ΠΈΠΌΠΈΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠΎΠ²
+ additionalErrors: null
+ responseBodyNameNotExist:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: Π―ΡΠ»ΡΠΊ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
+ additionalErrors: null
+ responseNotFound200:
+ description: Π£ΡΠΏΠ΅ΡΠ½ΠΎ
+ value:
+ data: null
+ error: true
+ errorText: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ additionalErrors:
+ description: Π’Π°ΠΊΠΎΠ³ΠΎ ΡΡΠ»ΡΠΊΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ responseNotFound200Del:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: Π’Π°ΠΊΠΎΠ³ΠΎ ΡΡΠ»ΡΠΊΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
+ additionalErrors:
+ tagID: '1234'
+ IncorrectRequest4:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
+ additionalErrors:
+ description: Π£ΠΊΠ°Π·Π°Π½Ρ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ»ΡΠΊΠΈ
+ responseBodyTagNotExist:
+ description: ''
+ value:
+ data: null
+ error: true
+ errorText: Π’Π°ΠΊΠΎΠ³ΠΎ ΡΡΠ»ΡΠΊΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
+ additionalErrors:
+ tagID: '1234'
+ BodySizeExceedsTheGivenLimit:
+ description: ΠΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅
+ value: body size exceeds the given limit
+ InvalidRequestParameters:
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+ value:
+ data: null
+ error: true
+ errorText: Invalid request parameters
+ UploadLimitExceeded:
+ description: Π Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠΎΠ² (ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΡΠ°ΡΡ `1000 items`)
+ value:
+ data: null
+ error: true
+ errorText: 'Upload limit exceeded: You can upload a maximum of 10 000 items'
+ DuplicateItemNos:
+ description: Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
`nmID`
+ value:
+ data: null
+ error: true
+ errorText: Duplicate item Nos.
+ DuplicateSizeIDs:
+ description: Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
`sizeID`
+ value:
+ data: null
+ error: true
+ errorText: Duplicate size IDs
+ TheSpecifiedPricesAndDiscountsAreAlreadySet:
+ description: Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ΠΉΡΠ°Ρ
+ value:
+ data: null
+ error: true
+ errorText: The specified prices and discounts are already set
+ TheSpecifiedPricesAreAlreadySet:
+ description: Π¦Π΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ΠΉΡΠ°Ρ
+ value:
+ data: null
+ error: true
+ errorText: The specified prices and discounts are already set
+ InvalidDataFormat:
+ description: ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ
+ value:
+ data: null
+ error: true
+ errorText: Invalid data format
+ PriceShouldBeAWholeNumber:
+ description: Π£ ΡΠ΅Π½Ρ Π΄ΡΠΎΠ±Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅ Π½Π° ΡΠ΅Π»ΠΎΠ΅
+ value:
+ data: null
+ error: true
+ errorText: Price should be a whole number
+ InvalidPriceValue:
+ description: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ΅Π½Π°
+ value:
+ data: null
+ error: true
+ errorText: Invalid price value
+ InvalidDiscountValue:
+ description: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠΊΠΈΠ΄ΠΊΠ°
+ value:
+ data: null
+ error: true
+ errorText: Invalid discount value
+ InvalidItemNo:
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ `nmID`
+ value:
+ data: null
+ error: true
+ errorText: Invalid item No.
+ InvalidSize:
+ description: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ `sizeID`
+ value:
+ data: null
+ error: true
+ errorText: Invalid size
+ PriceAndDiscountNotSpecified:
+ description: Π¦Π΅Π½Π° ΠΈ ΡΠΊΠΈΠ΄ΠΊΠ° Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ
+ value:
+ data: null
+ error: true
+ errorText: Price and discount not specified
+ PriceNotSpecified:
+ description: Π¦Π΅Π½Π° Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°
+ value:
+ data: null
+ error: true
+ errorText: Price and discount not specified
+ EmptyData:
+ description: ΠΠ΅Ρ Π΄Π°Π½Π½ΡΡ
+ value:
+ data: null
+ error: true
+ errorText: Empty data
+ AllItemNosAreSpecifiedIncorrectlyOrPricesAndDiscounts:
+ description: Π’Π°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡ
ΡΠ΄Π°Π»ΠΈΠ»ΠΈ), ΠΈΠ»ΠΈ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ΠΉΡΠ°Ρ
+ value:
+ data: null
+ error: true
+ errorText: All item Nos. are specified incorrectly, or the specified prices and discounts are already set
+ AllItemNosAreSpecifiedIncorrectlyOrPrices:
+ description: Π’Π°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π½Π΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡ
ΡΠ΄Π°Π»ΠΈΠ»ΠΈ), ΠΈΠ»ΠΈ ΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ΠΉΡΠ°Ρ
+ value:
+ data: null
+ error: true
+ errorText: All item Nos. are specified incorrectly, or the specified prices and discounts are already set
+ SortError:
+ description: ΠΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΡΠ΅Π½Π΅, Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΡΠΊΠΈΠ΄ΠΊΠ΅
+ value:
+ data: null
+ error: true
+ errorText: You can't sort items by price and discount at the same time
+ CheckTheWBClubDiscount:
+ description: Π‘ΠΊΠΈΠ΄ΠΊΠΈ WB ΠΠ»ΡΠ±Π° ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ value:
+ data: null
+ error: true
+ errorText: 'Check the field values in the WB Club Discount column. Field format: a whole number between {{.WbClubMinDiscount}} and {{.WbClubMaxDiscount}}, without dots or commas'
+ DiscountsAreTheSameAsThoseAlreadySet:
+ description: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠΊΠΈΠ΄ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ
+ value:
+ data: null
+ error: true
+ errorText: Discounts in the file are the same as those already set. To change discounts, edit the file and upload it again
+ AllItemNosAreSpecifiedIncorrectlyOrDiscounts:
+ description: Π’Π°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡ
ΡΠ΄Π°Π»ΠΈΠ»ΠΈ), ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ΠΉΡΠ°Ρ
+ value:
+ data: null
+ error: true
+ errorText: All item Nos. are specified incorrectly, or the specified discounts are already set
+ UnexpectedResult:
+ description: ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ Π² ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠ², ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ API
+ value:
+ data: null
+ error: true
+ errorText: Unexpected result
+ securitySchemes:
+ HeaderApiKey:
+ type: apiKey
+ name: Authorization
+ in: header
diff --git a/pkg/api/wb/client/oas_cfg_gen.go b/pkg/api/wb/client/oas_cfg_gen.go
new file mode 100644
index 0000000..fc3ff34
--- /dev/null
+++ b/pkg/api/wb/client/oas_cfg_gen.go
@@ -0,0 +1,283 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "net/http"
+
+ "go.opentelemetry.io/otel"
+ "go.opentelemetry.io/otel/metric"
+ "go.opentelemetry.io/otel/trace"
+
+ ht "github.com/ogen-go/ogen/http"
+ "github.com/ogen-go/ogen/middleware"
+ "github.com/ogen-go/ogen/ogenerrors"
+ "github.com/ogen-go/ogen/otelogen"
+)
+
+var (
+ // Allocate option closure once.
+ clientSpanKind = trace.WithSpanKind(trace.SpanKindClient)
+ // Allocate option closure once.
+ serverSpanKind = trace.WithSpanKind(trace.SpanKindServer)
+)
+
+type (
+ optionFunc[C any] func(*C)
+ otelOptionFunc func(*otelConfig)
+)
+
+type otelConfig struct {
+ TracerProvider trace.TracerProvider
+ Tracer trace.Tracer
+ MeterProvider metric.MeterProvider
+ Meter metric.Meter
+}
+
+func (cfg *otelConfig) initOTEL() {
+ if cfg.TracerProvider == nil {
+ cfg.TracerProvider = otel.GetTracerProvider()
+ }
+ if cfg.MeterProvider == nil {
+ cfg.MeterProvider = otel.GetMeterProvider()
+ }
+ cfg.Tracer = cfg.TracerProvider.Tracer(otelogen.Name,
+ trace.WithInstrumentationVersion(otelogen.SemVersion()),
+ )
+ cfg.Meter = cfg.MeterProvider.Meter(otelogen.Name,
+ metric.WithInstrumentationVersion(otelogen.SemVersion()),
+ )
+}
+
+// ErrorHandler is error handler.
+type ErrorHandler = ogenerrors.ErrorHandler
+
+type serverConfig struct {
+ otelConfig
+ NotFound http.HandlerFunc
+ MethodNotAllowed func(w http.ResponseWriter, r *http.Request, allowed string)
+ ErrorHandler ErrorHandler
+ Prefix string
+ Middleware Middleware
+ MaxMultipartMemory int64
+}
+
+// ServerOption is server config option.
+type ServerOption interface {
+ applyServer(*serverConfig)
+}
+
+var _ ServerOption = (optionFunc[serverConfig])(nil)
+
+func (o optionFunc[C]) applyServer(c *C) {
+ o(c)
+}
+
+var _ ServerOption = (otelOptionFunc)(nil)
+
+func (o otelOptionFunc) applyServer(c *serverConfig) {
+ o(&c.otelConfig)
+}
+
+func newServerConfig(opts ...ServerOption) serverConfig {
+ cfg := serverConfig{
+ NotFound: http.NotFound,
+ MethodNotAllowed: func(w http.ResponseWriter, r *http.Request, allowed string) {
+ status := http.StatusMethodNotAllowed
+ if r.Method == "OPTIONS" {
+ w.Header().Set("Access-Control-Allow-Methods", allowed)
+ w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
+ status = http.StatusNoContent
+ } else {
+ w.Header().Set("Allow", allowed)
+ }
+ w.WriteHeader(status)
+ },
+ ErrorHandler: ogenerrors.DefaultErrorHandler,
+ Middleware: nil,
+ MaxMultipartMemory: 32 << 20, // 32 MB
+ }
+ for _, opt := range opts {
+ opt.applyServer(&cfg)
+ }
+ cfg.initOTEL()
+ return cfg
+}
+
+type baseServer struct {
+ cfg serverConfig
+ requests metric.Int64Counter
+ errors metric.Int64Counter
+ duration metric.Float64Histogram
+}
+
+func (s baseServer) notFound(w http.ResponseWriter, r *http.Request) {
+ s.cfg.NotFound(w, r)
+}
+
+func (s baseServer) notAllowed(w http.ResponseWriter, r *http.Request, allowed string) {
+ s.cfg.MethodNotAllowed(w, r, allowed)
+}
+
+func (cfg serverConfig) baseServer() (s baseServer, err error) {
+ s = baseServer{cfg: cfg}
+ if s.requests, err = otelogen.ServerRequestCountCounter(s.cfg.Meter); err != nil {
+ return s, err
+ }
+ if s.errors, err = otelogen.ServerErrorsCountCounter(s.cfg.Meter); err != nil {
+ return s, err
+ }
+ if s.duration, err = otelogen.ServerDurationHistogram(s.cfg.Meter); err != nil {
+ return s, err
+ }
+ return s, nil
+}
+
+type clientConfig struct {
+ otelConfig
+ Client ht.Client
+}
+
+// ClientOption is client config option.
+type ClientOption interface {
+ applyClient(*clientConfig)
+}
+
+var _ ClientOption = (optionFunc[clientConfig])(nil)
+
+func (o optionFunc[C]) applyClient(c *C) {
+ o(c)
+}
+
+var _ ClientOption = (otelOptionFunc)(nil)
+
+func (o otelOptionFunc) applyClient(c *clientConfig) {
+ o(&c.otelConfig)
+}
+
+func newClientConfig(opts ...ClientOption) clientConfig {
+ cfg := clientConfig{
+ Client: http.DefaultClient,
+ }
+ for _, opt := range opts {
+ opt.applyClient(&cfg)
+ }
+ cfg.initOTEL()
+ return cfg
+}
+
+type baseClient struct {
+ cfg clientConfig
+ requests metric.Int64Counter
+ errors metric.Int64Counter
+ duration metric.Float64Histogram
+}
+
+func (cfg clientConfig) baseClient() (c baseClient, err error) {
+ c = baseClient{cfg: cfg}
+ if c.requests, err = otelogen.ClientRequestCountCounter(c.cfg.Meter); err != nil {
+ return c, err
+ }
+ if c.errors, err = otelogen.ClientErrorsCountCounter(c.cfg.Meter); err != nil {
+ return c, err
+ }
+ if c.duration, err = otelogen.ClientDurationHistogram(c.cfg.Meter); err != nil {
+ return c, err
+ }
+ return c, nil
+}
+
+// Option is config option.
+type Option interface {
+ ServerOption
+ ClientOption
+}
+
+// WithTracerProvider specifies a tracer provider to use for creating a tracer.
+//
+// If none is specified, the global provider is used.
+func WithTracerProvider(provider trace.TracerProvider) Option {
+ return otelOptionFunc(func(cfg *otelConfig) {
+ if provider != nil {
+ cfg.TracerProvider = provider
+ }
+ })
+}
+
+// WithMeterProvider specifies a meter provider to use for creating a meter.
+//
+// If none is specified, the otel.GetMeterProvider() is used.
+func WithMeterProvider(provider metric.MeterProvider) Option {
+ return otelOptionFunc(func(cfg *otelConfig) {
+ if provider != nil {
+ cfg.MeterProvider = provider
+ }
+ })
+}
+
+// WithClient specifies http client to use.
+func WithClient(client ht.Client) ClientOption {
+ return optionFunc[clientConfig](func(cfg *clientConfig) {
+ if client != nil {
+ cfg.Client = client
+ }
+ })
+}
+
+// WithNotFound specifies Not Found handler to use.
+func WithNotFound(notFound http.HandlerFunc) ServerOption {
+ return optionFunc[serverConfig](func(cfg *serverConfig) {
+ if notFound != nil {
+ cfg.NotFound = notFound
+ }
+ })
+}
+
+// WithMethodNotAllowed specifies Method Not Allowed handler to use.
+func WithMethodNotAllowed(methodNotAllowed func(w http.ResponseWriter, r *http.Request, allowed string)) ServerOption {
+ return optionFunc[serverConfig](func(cfg *serverConfig) {
+ if methodNotAllowed != nil {
+ cfg.MethodNotAllowed = methodNotAllowed
+ }
+ })
+}
+
+// WithErrorHandler specifies error handler to use.
+func WithErrorHandler(h ErrorHandler) ServerOption {
+ return optionFunc[serverConfig](func(cfg *serverConfig) {
+ if h != nil {
+ cfg.ErrorHandler = h
+ }
+ })
+}
+
+// WithPathPrefix specifies server path prefix.
+func WithPathPrefix(prefix string) ServerOption {
+ return optionFunc[serverConfig](func(cfg *serverConfig) {
+ cfg.Prefix = prefix
+ })
+}
+
+// WithMiddleware specifies middlewares to use.
+func WithMiddleware(m ...Middleware) ServerOption {
+ return optionFunc[serverConfig](func(cfg *serverConfig) {
+ switch len(m) {
+ case 0:
+ cfg.Middleware = nil
+ case 1:
+ cfg.Middleware = m[0]
+ default:
+ cfg.Middleware = middleware.ChainMiddlewares(m...)
+ }
+ })
+}
+
+// WithMaxMultipartMemory specifies limit of memory for storing file parts.
+// File parts which can't be stored in memory will be stored on disk in temporary files.
+func WithMaxMultipartMemory(max int64) ServerOption {
+ return optionFunc[serverConfig](func(cfg *serverConfig) {
+ if max > 0 {
+ cfg.MaxMultipartMemory = max
+ }
+ })
+}
diff --git a/pkg/api/wb/client/oas_client_gen.go b/pkg/api/wb/client/oas_client_gen.go
new file mode 100644
index 0000000..2529af5
--- /dev/null
+++ b/pkg/api/wb/client/oas_client_gen.go
@@ -0,0 +1,6749 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "context"
+ "net/url"
+ "strings"
+ "time"
+
+ "github.com/go-faster/errors"
+ "go.opentelemetry.io/otel/attribute"
+ "go.opentelemetry.io/otel/codes"
+ "go.opentelemetry.io/otel/metric"
+ semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ "go.opentelemetry.io/otel/trace"
+
+ "github.com/ogen-go/ogen/conv"
+ ht "github.com/ogen-go/ogen/http"
+ "github.com/ogen-go/ogen/ogenerrors"
+ "github.com/ogen-go/ogen/uri"
+)
+
+func trimTrailingSlashes(u *url.URL) {
+ u.Path = strings.TrimRight(u.Path, "/")
+ u.RawPath = strings.TrimRight(u.RawPath, "/")
+}
+
+// Invoker invokes operations described by OpenAPI v3 specification.
+type Invoker interface {
+ // APIV2BufferGoodsTaskGet invokes GET /api/v2/buffer/goods/task operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π²
+ // ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈΠ· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+ //
+ // ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+ // ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+ // Π°ΠΊΡΠΈΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/buffer/goods/task
+ APIV2BufferGoodsTaskGet(ctx context.Context, params APIV2BufferGoodsTaskGetParams) (APIV2BufferGoodsTaskGetRes, error)
+ // APIV2BufferTasksGet invokes GET /api/v2/buffer/tasks operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΈΠ΄ΠΎΠΊ Π²
+ // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+ //
+ // ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+ // ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+ // Π°ΠΊΡΠΈΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/buffer/tasks
+ APIV2BufferTasksGet(ctx context.Context, params APIV2BufferTasksGetParams) (APIV2BufferTasksGetRes, error)
+ // APIV2HistoryGoodsTaskGet invokes GET /api/v2/history/goods/task operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΠ±
+ // ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/history/goods/task
+ APIV2HistoryGoodsTaskGet(ctx context.Context, params APIV2HistoryGoodsTaskGetParams) (APIV2HistoryGoodsTaskGetRes, error)
+ // APIV2HistoryTasksGet invokes GET /api/v2/history/tasks operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ
+ // Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/history/tasks
+ APIV2HistoryTasksGet(ctx context.Context, params APIV2HistoryTasksGetParams) (APIV2HistoryTasksGetRes, error)
+ // APIV2ListGoodsFilterGet invokes GET /api/v2/list/goods/filter operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΠΎ ΠΈΡ
+ // Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ [WB
+ // ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+ //
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°,
+ // ΠΎΡΡΠ°Π²ΡΡΠ΅ Π°ΡΡΠΈΠΊΡΠ» ΠΏΡΡΡΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `limit=1000`, Π²
+ // ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ `offset` ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ
+ // Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅: `offset`
+ // ΠΏΠ»ΡΡ `limit` ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ,
+ // ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ²Π΅Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ
+ // ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΡΠΎΠ²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
+ // [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/list/goods/filter
+ APIV2ListGoodsFilterGet(ctx context.Context, params APIV2ListGoodsFilterGetParams) (APIV2ListGoodsFilterGetRes, error)
+ // APIV2ListGoodsSizeNmGet invokes GET /api/v2/list/goods/size/nm operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
+ // ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π΄Π»Ρ [WB
+ // ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+ //
+ // Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+ // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+ // ΡΠ°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² `editableSizePrice: true`.
+ //
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΠΎΠ²Π°ΡΠ΅,
+ // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/list/goods/size/nm
+ APIV2ListGoodsSizeNmGet(ctx context.Context, params APIV2ListGoodsSizeNmGetParams) (APIV2ListGoodsSizeNmGetRes, error)
+ // APIV2QuarantineGoodsGet invokes GET /api/v2/quarantine/goods operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅.
+ //
+ // ΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Β 3
+ // ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ, ΡΠΎΠ²Π°Ρ ΠΏΠΎΠΏΠ°Π΄ΡΡ [Π²
+ // ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½](https://seller.wildberries.ru/discount-and-prices/quarantine) ΠΈ Π±ΡΠ΄Π΅Ρ
+ // ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎΒ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π½Π΅. ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Β ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²
+ // ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² [ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
+ // Π·Π°Π³ΡΡΠ·ΠΎΠΊ](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1tasks/get).
+ //
+ // ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ
+ // Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·Β ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° [Π²Β Π»ΠΈΡΠ½ΠΎΠΌ
+ // ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/discount-and-prices/quarantine).
+ //
+ // ΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ [ΠΏΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ
+ // ΡΠ΅Π½](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post)
+ // ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/quarantine/goods
+ APIV2QuarantineGoodsGet(ctx context.Context, params APIV2QuarantineGoodsGetParams) (APIV2QuarantineGoodsGetRes, error)
+ // APIV2UploadTaskClubDiscountPost invokes POST /api/v2/upload/task/club-discount operation.
+ //
+ // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ [WB
+ // ΠΠ»ΡΠ±](https://seller.wildberries.ru/help-center/article/A-337).
+ //
+ // ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+ // ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /api/v2/upload/task/club-discount
+ APIV2UploadTaskClubDiscountPost(ctx context.Context, request *APIV2UploadTaskClubDiscountPostReq) (APIV2UploadTaskClubDiscountPostRes, error)
+ // APIV2UploadTaskPost invokes POST /api/v2/upload/task operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°,
+ // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post).
+ //
+ // ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+ // ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /api/v2/upload/task
+ APIV2UploadTaskPost(ctx context.Context, request *APIV2UploadTaskPostReq) (APIV2UploadTaskPostRes, error)
+ // APIV2UploadTaskSizePost invokes POST /api/v2/upload/task/size operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+ // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+ // [ΡΠ°ΠΊΠΈΡ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get) `editableSizePrice: true`.
+ // Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ²,
+ // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task/post).
+ //
+ // ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+ // ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /api/v2/upload/task/size
+ APIV2UploadTaskSizePost(ctx context.Context, request *APIV2UploadTaskSizePostReq) (APIV2UploadTaskSizePostRes, error)
+ // APIV3OfficesGet invokes GET /api/v3/offices operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² WB Π΄Π»Ρ
+ // ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠΊΠ»Π°Π΄Π°ΠΌ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ
+ // ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ
+ // ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // GET /api/v3/offices
+ APIV3OfficesGet(ctx context.Context) (APIV3OfficesGetRes, error)
+ // APIV3StocksWarehouseIdDelete invokes DELETE /api/v3/stocks/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ·
+ // [ΡΠΏΠΈΡΠΊΠ°
+ // ΠΎΡΡΠ°ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+ //
+ // ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎ. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ
+ // Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ
+ // Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // DELETE /api/v3/stocks/{warehouseId}
+ APIV3StocksWarehouseIdDelete(ctx context.Context, request *APIV3StocksWarehouseIdDeleteReq, params APIV3StocksWarehouseIdDeleteParams) (APIV3StocksWarehouseIdDeleteRes, error)
+ // APIV3StocksWarehouseIdPost invokes POST /api/v3/stocks/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π°
+ // [ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°](/openapi/work-with-products#tag/Sklady-prodavca).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // POST /api/v3/stocks/{warehouseId}
+ APIV3StocksWarehouseIdPost(ctx context.Context, request *APIV3StocksWarehouseIdPostReq, params APIV3StocksWarehouseIdPostParams) (APIV3StocksWarehouseIdPostRes, error)
+ // APIV3StocksWarehouseIdPut invokes PUT /api/v3/stocks/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ²
+ // ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [Π²
+ // ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+ //
+ // ΠΠ°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΡΡΡΡ. ΠΡΠΈ
+ // ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ
+ // ΠΎΡΠ²Π΅Ρ (204), Π½ΠΎ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡΡΡ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // PUT /api/v3/stocks/{warehouseId}
+ APIV3StocksWarehouseIdPut(ctx context.Context, request OptAPIV3StocksWarehouseIdPutReq, params APIV3StocksWarehouseIdPutParams) (APIV3StocksWarehouseIdPutRes, error)
+ // APIV3WarehousesGet invokes GET /api/v3/warehouses operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ // ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ [ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // GET /api/v3/warehouses
+ APIV3WarehousesGet(ctx context.Context) (APIV3WarehousesGetRes, error)
+ // APIV3WarehousesPost invokes POST /api/v3/warehouses operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ [ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post). ΠΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [ΡΠΊΠ»Π°Π΄ WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+ //
+ // ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // POST /api/v3/warehouses
+ APIV3WarehousesPost(ctx context.Context, request *APIV3WarehousesPostReq) (APIV3WarehousesPostRes, error)
+ // APIV3WarehousesWarehouseIdDelete invokes DELETE /api/v3/warehouses/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+ // ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // DELETE /api/v3/warehouses/{warehouseId}
+ APIV3WarehousesWarehouseIdDelete(ctx context.Context, params APIV3WarehousesWarehouseIdDeleteParams) (APIV3WarehousesWarehouseIdDeleteRes, error)
+ // APIV3WarehousesWarehouseIdPut invokes PUT /api/v3/warehouses/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π² [ΡΠΏΠΈΡΠΊΠ΅
+ // ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+ // ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ [ΡΠΊΠ»Π°Π΄Π΅
+ // WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) ΠΌΠΎΠΆΠ½ΠΎ
+ // ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΡΡΠΊΠΈ.
+ //
+ // ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // PUT /api/v3/warehouses/{warehouseId}
+ APIV3WarehousesWarehouseIdPut(ctx context.Context, request *APIV3WarehousesWarehouseIdPutReq, params APIV3WarehousesWarehouseIdPutParams) (APIV3WarehousesWarehouseIdPutRes, error)
+ // ContentV2BarcodesPost invokes POST /content/v2/barcodes operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ
+ // ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² [ΠΊΠ°ΡΡΠΎΡΠΊΠ΅
+ // ΡΠΎΠ²Π°ΡΠ°](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post). ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+ // .
+ //
+ // POST /content/v2/barcodes
+ ContentV2BarcodesPost(ctx context.Context, request *ContentV2BarcodesPostReq) (ContentV2BarcodesPostRes, error)
+ // ContentV2CardsDeleteTrashPost invokes POST /content/v2/cards/delete/trash operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+ // ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ [Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1recover/post).
+ //
+ // ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ // ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ imtID.
+ //
+ // ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π°Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π»Π΅ΠΆΠ°Ρ
+ // Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 Π΄Π½Π΅ΠΉ. ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ
+ // ΠΊΠ°ΠΆΠ΄ΡΡ Π½ΠΎΡΡ ΠΏΠΎ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
+ // ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²
+ // [Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/new-goods/basket-cards).
+ // .
+ //
+ // POST /content/v2/cards/delete/trash
+ ContentV2CardsDeleteTrashPost(ctx context.Context, request *ContentV2CardsDeleteTrashPostReq) (ContentV2CardsDeleteTrashPostRes, error)
+ // ContentV2CardsErrorListGet invokes GET /content/v2/cards/error/list operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈ
+ // ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ
+ // ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
+ //
+ // Π§ΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ
+ // ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
+ //
+ // .
+ //
+ // GET /content/v2/cards/error/list
+ ContentV2CardsErrorListGet(ctx context.Context, params ContentV2CardsErrorListGetParams) (ContentV2CardsErrorListGetRes, error)
+ // ContentV2CardsLimitsGet invokes GET /content/v2/cards/limits operation.
+ //
+ // ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π½Π°
+ // [ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post).
+ // Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅
+ // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ:
+ // > (`freeLimits` + `paidLimits`) - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
+ // ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+ // .
+ //
+ // GET /content/v2/cards/limits
+ ContentV2CardsLimitsGet(ctx context.Context) (ContentV2CardsLimitsGetRes, error)
+ // ContentV2CardsRecoverPost invokes POST /content/v2/cards/recover operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ·
+ // ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+ //
+ // .
+ //
+ // POST /content/v2/cards/recover
+ ContentV2CardsRecoverPost(ctx context.Context, request *ContentV2CardsRecoverPostReq) (ContentV2CardsRecoverPostRes, error)
+ // ContentV2CardsUpdatePost invokes POST /content/v2/cards/update operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ². ΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ
+ // ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+ //
+ // ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
+ // ΠΠΎΡΡΠΎΠΌΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠ΅
+ // ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅
+ // ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ.
+ //
+ // ΠΠ΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π±Π°ΡΠΊΠΎΠ΄Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ
+ // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°ΡΠΊΠΎΠ΄ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ // ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ `photos`, `video` ΠΈ `tags` ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ
+ // ΡΠ΅ΡΠ΅Π· Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ.
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+ // Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+ //
+ // Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 3000
+ // ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² (`nmID`). ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10
+ // ΠΠ±.
+ // ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+ // ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+ // Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /content/v2/cards/update
+ ContentV2CardsUpdatePost(ctx context.Context, request []ContentV2CardsUpdatePostReqItem) (ContentV2CardsUpdatePostRes, error)
+ // ContentV2CardsUploadAddPost invokes POST /content/v2/cards/upload/add operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΠΈΡ
+ // ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌ.
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+ // Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+ //
+ // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+ // ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+ // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+ // ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+ // ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+ // Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /content/v2/cards/upload/add
+ ContentV2CardsUploadAddPost(ctx context.Context, request OptContentV2CardsUploadAddPostReq) (ContentV2CardsUploadAddPostRes, error)
+ // ContentV2CardsUploadPost invokes POST /content/v2/cards/upload operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² c ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΈ
+ // Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // ΠΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°: Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΈ
+ // ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+ // Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+ //
+ // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+ // ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+ // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
+ // Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 100
+ // ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊΒ ΡΠΎΠ²Π°ΡΠΎΠ² (`imtID`), ΠΏΠΎΒ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ² Π²Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+ // ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+ // ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+ // Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /content/v2/cards/upload
+ ContentV2CardsUploadPost(ctx context.Context, request []ContentV2CardsUploadPostReqItem) (ContentV2CardsUploadPostRes, error)
+ // ContentV2DirectoryColorsGet invokes GET /content/v2/directory/colors operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π¦Π²Π΅Ρ`.
+ // .
+ //
+ // GET /content/v2/directory/colors
+ ContentV2DirectoryColorsGet(ctx context.Context, params ContentV2DirectoryColorsGetParams) (ContentV2DirectoryColorsGetRes, error)
+ // ContentV2DirectoryCountriesGet invokes GET /content/v2/directory/countries operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°`.
+ // .
+ //
+ // GET /content/v2/directory/countries
+ ContentV2DirectoryCountriesGet(ctx context.Context, params ContentV2DirectoryCountriesGetParams) (ContentV2DirectoryCountriesGetRes, error)
+ // ContentV2DirectoryKindsGet invokes GET /content/v2/directory/kinds operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `ΠΠΎΠ»`.
+ // .
+ //
+ // GET /content/v2/directory/kinds
+ ContentV2DirectoryKindsGet(ctx context.Context, params ContentV2DirectoryKindsGetParams) (ContentV2DirectoryKindsGetRes, error)
+ // ContentV2DirectorySeasonsGet invokes GET /content/v2/directory/seasons operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘Π΅Π·ΠΎΠ½`.
+ // .
+ //
+ // GET /content/v2/directory/seasons
+ ContentV2DirectorySeasonsGet(ctx context.Context, params ContentV2DirectorySeasonsGetParams) (ContentV2DirectorySeasonsGetRes, error)
+ // ContentV2DirectoryTnvedGet invokes GET /content/v2/directory/tnved operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π’ΠΠΠΠ-ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎ ID
+ // [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get) ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Π°.
+ // .
+ //
+ // GET /content/v2/directory/tnved
+ ContentV2DirectoryTnvedGet(ctx context.Context, params ContentV2DirectoryTnvedGetParams) (ContentV2DirectoryTnvedGetRes, error)
+ // ContentV2DirectoryVatGet invokes GET /content/v2/directory/vat operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘`.
+ // .
+ //
+ // GET /content/v2/directory/vat
+ ContentV2DirectoryVatGet(ctx context.Context, params ContentV2DirectoryVatGetParams) (ContentV2DirectoryVatGetRes, error)
+ // ContentV2GetCardsListPost invokes POST /content/v2/get/cards/list operation.
+ //
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // Π ΠΎΡΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΡ Π²
+ // ΠΊΠΎΡΠ·ΠΈΠ½Π΅. ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π·
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
+ //
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+ // Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+ //
+ // - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+ //
+ // {
+ // "settings": {
+ // "cursor": {
+ // "limit": 100
+ // },
+ // "filter": {
+ // "withPhoto": -1
+ // }
+ // }
+ // }
+ //
+ // - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+ //
+ // "updatedAt": "***"
+ // "nmID": ***
+ //
+ // - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+ //
cursor.
+ // - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+ // - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+ //
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+ // limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+ // ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+ //
+ // .
+ //
+ // POST /content/v2/get/cards/list
+ ContentV2GetCardsListPost(ctx context.Context, request *ContentV2GetCardsListPostReq, params ContentV2GetCardsListPostParams) (ContentV2GetCardsListPostRes, error)
+ // ContentV2GetCardsTrashPost invokes POST /content/v2/get/cards/trash operation.
+ //
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+ // ΠΊΠΎΡΠ·ΠΈΠ½Π΅.
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+ // Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+ //
+ // - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+ //
+ // {
+ // "settings": {
+ // "cursor": {
+ // "limit": 100
+ // },
+ // "filter": {
+ // "withPhoto": -1
+ // }
+ // }
+ // }
+ //
+ // - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+ //
+ // "trashedAt": "***"
+ // "nmID": ***
+ //
+ // - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+ //
cursor.
+ // - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+ // - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+ //
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+ // limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+ // ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+ //
+ // .
+ //
+ // POST /content/v2/get/cards/trash
+ ContentV2GetCardsTrashPost(ctx context.Context, request *ContentV2GetCardsTrashPostReq, params ContentV2GetCardsTrashPostParams) (ContentV2GetCardsTrashPostRes, error)
+ // ContentV2ObjectAllGet invokes GET /content/v2/object/all operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ [ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ
+ // ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1parent~1all/get) ΠΈ ΠΈΡ
ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² Ρ ID. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ `ΠΠ³ΡΡΡΠΊΠΈ` Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ `ΠΠ°Π»Π΅ΠΉΠ΄ΠΎΡΠΊΠΎΠΏΡ`, `ΠΡΠΊΠ»Ρ`, `ΠΡΡΠΈΠΊΠΈ`.
+ // .
+ //
+ // GET /content/v2/object/all
+ ContentV2ObjectAllGet(ctx context.Context, params ContentV2ObjectAllGetParams) (ContentV2ObjectAllGetRes, error)
+ // ContentV2ObjectCharcsSubjectIdGet invokes GET /content/v2/object/charcs/{subjectId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ
+ // ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ
+ // ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ID
+ // [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get).
+ //
+ // .
+ //
+ // GET /content/v2/object/charcs/{subjectId}
+ ContentV2ObjectCharcsSubjectIdGet(ctx context.Context, params ContentV2ObjectCharcsSubjectIdGetParams) (ContentV2ObjectCharcsSubjectIdGetRes, error)
+ // ContentV2ObjectParentAllGet invokes GET /content/v2/object/parent/all operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ID Π²ΡΠ΅Ρ
ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ [ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
+ // `ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°`, `ΠΡΡΠΎΠ²Π°Ρ Ρ
ΠΈΠΌΠΈΡ`, `Π ΡΠΊΠΎΠ΄Π΅Π»ΠΈΠ΅`.
+ // .
+ //
+ // GET /content/v2/object/parent/all
+ ContentV2ObjectParentAllGet(ctx context.Context, params ContentV2ObjectParentAllGetParams) (ContentV2ObjectParentAllGetRes, error)
+ // ContentV2TagNomenclatureLinkPost invokes POST /content/v2/tag/nomenclature/link operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ»ΡΠΊ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ // Π ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 15 ΡΡΠ»ΡΠΊΠΎΠ².
+ // ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ»ΡΠΊΠ° ΠΈΠ· ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΎΠ½ Π½Π΅
+ // ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+ // ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get)
+ // ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ // .
+ //
+ // POST /content/v2/tag/nomenclature/link
+ ContentV2TagNomenclatureLinkPost(ctx context.Context, request *ContentV2TagNomenclatureLinkPostReq) (ContentV2TagNomenclatureLinkPostRes, error)
+ // ContentV2TagsGet invokes GET /content/v2/tags operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ
+ // ΡΡΠ»ΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // .
+ //
+ // GET /content/v2/tags
+ ContentV2TagsGet(ctx context.Context) (ContentV2TagsGetRes, error)
+ // ContentV3MediaFilePost invokes POST /content/v3/media/file operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ» ΠΊ
+ // ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700x900 px
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+ // .
+ //
+ // POST /content/v3/media/file
+ ContentV3MediaFilePost(ctx context.Context, request *ContentV3MediaFilePostReq, params ContentV3MediaFilePostParams) (ContentV3MediaFilePostRes, error)
+ // ContentV3MediaSavePost invokes POST /content/v3/media/save operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ°
+ // ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
+ //
+ // ΠΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΡΡΠ΅. Π§ΡΠΎΠ±Ρ
+ // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
+ // ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ.
+ //
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700Γ900 px
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+ // ΠΡΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅
+ // ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ
+ // ΠΎΡΠ²Π΅ΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅/Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ.
+ // .
+ //
+ // POST /content/v3/media/save
+ ContentV3MediaSavePost(ctx context.Context, request *ContentV3MediaSavePostReq) (ContentV3MediaSavePostRes, error)
+}
+
+// Client implements OAS client.
+type Client struct {
+ serverURL *url.URL
+ sec SecuritySource
+ baseClient
+}
+
+var _ Handler = struct {
+ *Client
+}{}
+
+// NewClient initializes new Client defined by OAS.
+func NewClient(serverURL string, sec SecuritySource, opts ...ClientOption) (*Client, error) {
+ u, err := url.Parse(serverURL)
+ if err != nil {
+ return nil, err
+ }
+ trimTrailingSlashes(u)
+
+ c, err := newClientConfig(opts...).baseClient()
+ if err != nil {
+ return nil, err
+ }
+ return &Client{
+ serverURL: u,
+ sec: sec,
+ baseClient: c,
+ }, nil
+}
+
+type serverURLKey struct{}
+
+// WithServerURL sets context key to override server URL.
+func WithServerURL(ctx context.Context, u *url.URL) context.Context {
+ return context.WithValue(ctx, serverURLKey{}, u)
+}
+
+func (c *Client) requestURL(ctx context.Context) *url.URL {
+ u, ok := ctx.Value(serverURLKey{}).(*url.URL)
+ if !ok {
+ return c.serverURL
+ }
+ return u
+}
+
+// APIV2BufferGoodsTaskGet invokes GET /api/v2/buffer/goods/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π²
+// ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈΠ· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+//
+// ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+// ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+// Π°ΠΊΡΠΈΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/buffer/goods/task
+func (c *Client) APIV2BufferGoodsTaskGet(ctx context.Context, params APIV2BufferGoodsTaskGetParams) (APIV2BufferGoodsTaskGetRes, error) {
+ res, err := c.sendAPIV2BufferGoodsTaskGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV2BufferGoodsTaskGet(ctx context.Context, params APIV2BufferGoodsTaskGetParams) (res APIV2BufferGoodsTaskGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/buffer/goods/task"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2BufferGoodsTaskGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/buffer/goods/task"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "limit" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.UintToString(params.Limit))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "offset" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Offset.Get(); ok {
+ return e.EncodeValue(conv.UintToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "uploadID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.IntToString(params.UploadID))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2BufferGoodsTaskGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2BufferGoodsTaskGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2BufferTasksGet invokes GET /api/v2/buffer/tasks operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΈΠ΄ΠΎΠΊ Π²
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+//
+// ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+// ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+// Π°ΠΊΡΠΈΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/buffer/tasks
+func (c *Client) APIV2BufferTasksGet(ctx context.Context, params APIV2BufferTasksGetParams) (APIV2BufferTasksGetRes, error) {
+ res, err := c.sendAPIV2BufferTasksGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV2BufferTasksGet(ctx context.Context, params APIV2BufferTasksGetParams) (res APIV2BufferTasksGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/buffer/tasks"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2BufferTasksGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/buffer/tasks"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "uploadID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.IntToString(params.UploadID))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2BufferTasksGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2BufferTasksGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2HistoryGoodsTaskGet invokes GET /api/v2/history/goods/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΠ±
+// ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/history/goods/task
+func (c *Client) APIV2HistoryGoodsTaskGet(ctx context.Context, params APIV2HistoryGoodsTaskGetParams) (APIV2HistoryGoodsTaskGetRes, error) {
+ res, err := c.sendAPIV2HistoryGoodsTaskGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV2HistoryGoodsTaskGet(ctx context.Context, params APIV2HistoryGoodsTaskGetParams) (res APIV2HistoryGoodsTaskGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/history/goods/task"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2HistoryGoodsTaskGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/history/goods/task"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "limit" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.UintToString(params.Limit))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "offset" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Offset.Get(); ok {
+ return e.EncodeValue(conv.UintToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "uploadID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.IntToString(params.UploadID))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2HistoryGoodsTaskGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2HistoryGoodsTaskGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2HistoryTasksGet invokes GET /api/v2/history/tasks operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ
+// Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/history/tasks
+func (c *Client) APIV2HistoryTasksGet(ctx context.Context, params APIV2HistoryTasksGetParams) (APIV2HistoryTasksGetRes, error) {
+ res, err := c.sendAPIV2HistoryTasksGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV2HistoryTasksGet(ctx context.Context, params APIV2HistoryTasksGetParams) (res APIV2HistoryTasksGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/history/tasks"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2HistoryTasksGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/history/tasks"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "uploadID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.IntToString(params.UploadID))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2HistoryTasksGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2HistoryTasksGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2ListGoodsFilterGet invokes GET /api/v2/list/goods/filter operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΠΎ ΠΈΡ
+// Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ [WB
+// ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°,
+// ΠΎΡΡΠ°Π²ΡΡΠ΅ Π°ΡΡΠΈΠΊΡΠ» ΠΏΡΡΡΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `limit=1000`, Π²
+// ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ `offset` ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ
+// Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅: `offset`
+// ΠΏΠ»ΡΡ `limit` ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ,
+// ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ²Π΅Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΡΠΎΠ²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
+// [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/list/goods/filter
+func (c *Client) APIV2ListGoodsFilterGet(ctx context.Context, params APIV2ListGoodsFilterGetParams) (APIV2ListGoodsFilterGetRes, error) {
+ res, err := c.sendAPIV2ListGoodsFilterGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV2ListGoodsFilterGet(ctx context.Context, params APIV2ListGoodsFilterGetParams) (res APIV2ListGoodsFilterGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/list/goods/filter"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2ListGoodsFilterGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/list/goods/filter"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "limit" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.UintToString(params.Limit))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "offset" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Offset.Get(); ok {
+ return e.EncodeValue(conv.UintToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "filterNmID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "filterNmID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.FilterNmID.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2ListGoodsFilterGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2ListGoodsFilterGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2ListGoodsSizeNmGet invokes GET /api/v2/list/goods/size/nm operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
+// ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π΄Π»Ρ [WB
+// ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+//
+// Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+// ΡΠ°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² `editableSizePrice: true`.
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΠΎΠ²Π°ΡΠ΅,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/list/goods/size/nm
+func (c *Client) APIV2ListGoodsSizeNmGet(ctx context.Context, params APIV2ListGoodsSizeNmGetParams) (APIV2ListGoodsSizeNmGetRes, error) {
+ res, err := c.sendAPIV2ListGoodsSizeNmGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV2ListGoodsSizeNmGet(ctx context.Context, params APIV2ListGoodsSizeNmGetParams) (res APIV2ListGoodsSizeNmGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/list/goods/size/nm"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2ListGoodsSizeNmGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/list/goods/size/nm"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "limit" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.UintToString(params.Limit))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "offset" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Offset.Get(); ok {
+ return e.EncodeValue(conv.UintToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "nmID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "nmID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.IntToString(params.NmID))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2ListGoodsSizeNmGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2ListGoodsSizeNmGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2QuarantineGoodsGet invokes GET /api/v2/quarantine/goods operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅.
+//
+// ΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Β 3
+// ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ, ΡΠΎΠ²Π°Ρ ΠΏΠΎΠΏΠ°Π΄ΡΡ [Π²
+// ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½](https://seller.wildberries.ru/discount-and-prices/quarantine) ΠΈ Π±ΡΠ΄Π΅Ρ
+// ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎΒ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π½Π΅. ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Β ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²
+// ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² [ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
+// Π·Π°Π³ΡΡΠ·ΠΎΠΊ](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1tasks/get).
+//
+// ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ
+// Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·Β ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° [Π²Β Π»ΠΈΡΠ½ΠΎΠΌ
+// ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/discount-and-prices/quarantine).
+//
+// ΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ [ΠΏΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ
+// ΡΠ΅Π½](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post)
+// ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/quarantine/goods
+func (c *Client) APIV2QuarantineGoodsGet(ctx context.Context, params APIV2QuarantineGoodsGetParams) (APIV2QuarantineGoodsGetRes, error) {
+ res, err := c.sendAPIV2QuarantineGoodsGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV2QuarantineGoodsGet(ctx context.Context, params APIV2QuarantineGoodsGetParams) (res APIV2QuarantineGoodsGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/quarantine/goods"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2QuarantineGoodsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/quarantine/goods"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "limit" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.UintToString(params.Limit))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "offset" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Offset.Get(); ok {
+ return e.EncodeValue(conv.UintToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2QuarantineGoodsGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2QuarantineGoodsGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2UploadTaskClubDiscountPost invokes POST /api/v2/upload/task/club-discount operation.
+//
+// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ [WB
+// ΠΠ»ΡΠ±](https://seller.wildberries.ru/help-center/article/A-337).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task/club-discount
+func (c *Client) APIV2UploadTaskClubDiscountPost(ctx context.Context, request *APIV2UploadTaskClubDiscountPostReq) (APIV2UploadTaskClubDiscountPostRes, error) {
+ res, err := c.sendAPIV2UploadTaskClubDiscountPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendAPIV2UploadTaskClubDiscountPost(ctx context.Context, request *APIV2UploadTaskClubDiscountPostReq) (res APIV2UploadTaskClubDiscountPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v2/upload/task/club-discount"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2UploadTaskClubDiscountPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/upload/task/club-discount"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV2UploadTaskClubDiscountPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2UploadTaskClubDiscountPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2UploadTaskClubDiscountPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2UploadTaskPost invokes POST /api/v2/upload/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task
+func (c *Client) APIV2UploadTaskPost(ctx context.Context, request *APIV2UploadTaskPostReq) (APIV2UploadTaskPostRes, error) {
+ res, err := c.sendAPIV2UploadTaskPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendAPIV2UploadTaskPost(ctx context.Context, request *APIV2UploadTaskPostReq) (res APIV2UploadTaskPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v2/upload/task"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2UploadTaskPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/upload/task"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV2UploadTaskPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2UploadTaskPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2UploadTaskPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV2UploadTaskSizePost invokes POST /api/v2/upload/task/size operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+// [ΡΠ°ΠΊΠΈΡ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get) `editableSizePrice: true`.
+// Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ²,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task/post).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task/size
+func (c *Client) APIV2UploadTaskSizePost(ctx context.Context, request *APIV2UploadTaskSizePostReq) (APIV2UploadTaskSizePostRes, error) {
+ res, err := c.sendAPIV2UploadTaskSizePost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendAPIV2UploadTaskSizePost(ctx context.Context, request *APIV2UploadTaskSizePostReq) (res APIV2UploadTaskSizePostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v2/upload/task/size"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV2UploadTaskSizePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v2/upload/task/size"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV2UploadTaskSizePostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV2UploadTaskSizePostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV2UploadTaskSizePostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3OfficesGet invokes GET /api/v3/offices operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² WB Π΄Π»Ρ
+// ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠΊΠ»Π°Π΄Π°ΠΌ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ
+// ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ
+// ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// GET /api/v3/offices
+func (c *Client) APIV3OfficesGet(ctx context.Context) (APIV3OfficesGetRes, error) {
+ res, err := c.sendAPIV3OfficesGet(ctx)
+ return res, err
+}
+
+func (c *Client) sendAPIV3OfficesGet(ctx context.Context) (res APIV3OfficesGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v3/offices"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3OfficesGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v3/offices"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3OfficesGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3OfficesGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3StocksWarehouseIdDelete invokes DELETE /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ·
+// [ΡΠΏΠΈΡΠΊΠ°
+// ΠΎΡΡΠ°ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎ. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ
+// Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ
+// Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// DELETE /api/v3/stocks/{warehouseId}
+func (c *Client) APIV3StocksWarehouseIdDelete(ctx context.Context, request *APIV3StocksWarehouseIdDeleteReq, params APIV3StocksWarehouseIdDeleteParams) (APIV3StocksWarehouseIdDeleteRes, error) {
+ res, err := c.sendAPIV3StocksWarehouseIdDelete(ctx, request, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV3StocksWarehouseIdDelete(ctx context.Context, request *APIV3StocksWarehouseIdDeleteReq, params APIV3StocksWarehouseIdDeleteParams) (res APIV3StocksWarehouseIdDeleteRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("DELETE"),
+ semconv.HTTPRouteKey.String("/api/v3/stocks/{warehouseId}"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3StocksWarehouseIdDeleteOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [2]string
+ pathParts[0] = "/api/v3/stocks/"
+ {
+ // Encode "warehouseId" parameter.
+ e := uri.NewPathEncoder(uri.PathEncoderConfig{
+ Param: "warehouseId",
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+ if err := func() error {
+ return e.EncodeValue(conv.Int64ToString(params.WarehouseId))
+ }(); err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ encoded, err := e.Result()
+ if err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ pathParts[1] = encoded
+ }
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "DELETE", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV3StocksWarehouseIdDeleteRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3StocksWarehouseIdDeleteOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3StocksWarehouseIdDeleteResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3StocksWarehouseIdPost invokes POST /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π°
+// [ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°](/openapi/work-with-products#tag/Sklady-prodavca).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// POST /api/v3/stocks/{warehouseId}
+func (c *Client) APIV3StocksWarehouseIdPost(ctx context.Context, request *APIV3StocksWarehouseIdPostReq, params APIV3StocksWarehouseIdPostParams) (APIV3StocksWarehouseIdPostRes, error) {
+ res, err := c.sendAPIV3StocksWarehouseIdPost(ctx, request, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV3StocksWarehouseIdPost(ctx context.Context, request *APIV3StocksWarehouseIdPostReq, params APIV3StocksWarehouseIdPostParams) (res APIV3StocksWarehouseIdPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v3/stocks/{warehouseId}"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3StocksWarehouseIdPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [2]string
+ pathParts[0] = "/api/v3/stocks/"
+ {
+ // Encode "warehouseId" parameter.
+ e := uri.NewPathEncoder(uri.PathEncoderConfig{
+ Param: "warehouseId",
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+ if err := func() error {
+ return e.EncodeValue(conv.Int64ToString(params.WarehouseId))
+ }(); err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ encoded, err := e.Result()
+ if err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ pathParts[1] = encoded
+ }
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV3StocksWarehouseIdPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3StocksWarehouseIdPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3StocksWarehouseIdPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3StocksWarehouseIdPut invokes PUT /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ²
+// ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [Π²
+// ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΡΡΡΡ. ΠΡΠΈ
+// ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ
+// ΠΎΡΠ²Π΅Ρ (204), Π½ΠΎ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡΡΡ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// PUT /api/v3/stocks/{warehouseId}
+func (c *Client) APIV3StocksWarehouseIdPut(ctx context.Context, request OptAPIV3StocksWarehouseIdPutReq, params APIV3StocksWarehouseIdPutParams) (APIV3StocksWarehouseIdPutRes, error) {
+ res, err := c.sendAPIV3StocksWarehouseIdPut(ctx, request, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV3StocksWarehouseIdPut(ctx context.Context, request OptAPIV3StocksWarehouseIdPutReq, params APIV3StocksWarehouseIdPutParams) (res APIV3StocksWarehouseIdPutRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("PUT"),
+ semconv.HTTPRouteKey.String("/api/v3/stocks/{warehouseId}"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3StocksWarehouseIdPutOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [2]string
+ pathParts[0] = "/api/v3/stocks/"
+ {
+ // Encode "warehouseId" parameter.
+ e := uri.NewPathEncoder(uri.PathEncoderConfig{
+ Param: "warehouseId",
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+ if err := func() error {
+ return e.EncodeValue(conv.Int64ToString(params.WarehouseId))
+ }(); err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ encoded, err := e.Result()
+ if err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ pathParts[1] = encoded
+ }
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "PUT", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV3StocksWarehouseIdPutRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3StocksWarehouseIdPutOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3StocksWarehouseIdPutResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3WarehousesGet invokes GET /api/v3/warehouses operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+// ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ [ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// GET /api/v3/warehouses
+func (c *Client) APIV3WarehousesGet(ctx context.Context) (APIV3WarehousesGetRes, error) {
+ res, err := c.sendAPIV3WarehousesGet(ctx)
+ return res, err
+}
+
+func (c *Client) sendAPIV3WarehousesGet(ctx context.Context) (res APIV3WarehousesGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3WarehousesGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v3/warehouses"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3WarehousesGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3WarehousesGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3WarehousesPost invokes POST /api/v3/warehouses operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ [ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post). ΠΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [ΡΠΊΠ»Π°Π΄ WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// POST /api/v3/warehouses
+func (c *Client) APIV3WarehousesPost(ctx context.Context, request *APIV3WarehousesPostReq) (APIV3WarehousesPostRes, error) {
+ res, err := c.sendAPIV3WarehousesPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendAPIV3WarehousesPost(ctx context.Context, request *APIV3WarehousesPostReq) (res APIV3WarehousesPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3WarehousesPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/api/v3/warehouses"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV3WarehousesPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3WarehousesPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3WarehousesPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3WarehousesWarehouseIdDelete invokes DELETE /api/v3/warehouses/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+// ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// DELETE /api/v3/warehouses/{warehouseId}
+func (c *Client) APIV3WarehousesWarehouseIdDelete(ctx context.Context, params APIV3WarehousesWarehouseIdDeleteParams) (APIV3WarehousesWarehouseIdDeleteRes, error) {
+ res, err := c.sendAPIV3WarehousesWarehouseIdDelete(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV3WarehousesWarehouseIdDelete(ctx context.Context, params APIV3WarehousesWarehouseIdDeleteParams) (res APIV3WarehousesWarehouseIdDeleteRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("DELETE"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses/{warehouseId}"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3WarehousesWarehouseIdDeleteOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [2]string
+ pathParts[0] = "/api/v3/warehouses/"
+ {
+ // Encode "warehouseId" parameter.
+ e := uri.NewPathEncoder(uri.PathEncoderConfig{
+ Param: "warehouseId",
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+ if err := func() error {
+ return e.EncodeValue(conv.Int64ToString(params.WarehouseId))
+ }(); err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ encoded, err := e.Result()
+ if err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ pathParts[1] = encoded
+ }
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "DELETE", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3WarehousesWarehouseIdDeleteOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3WarehousesWarehouseIdDeleteResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// APIV3WarehousesWarehouseIdPut invokes PUT /api/v3/warehouses/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π² [ΡΠΏΠΈΡΠΊΠ΅
+// ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+// ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ [ΡΠΊΠ»Π°Π΄Π΅
+// WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) ΠΌΠΎΠΆΠ½ΠΎ
+// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΡΡΠΊΠΈ.
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// PUT /api/v3/warehouses/{warehouseId}
+func (c *Client) APIV3WarehousesWarehouseIdPut(ctx context.Context, request *APIV3WarehousesWarehouseIdPutReq, params APIV3WarehousesWarehouseIdPutParams) (APIV3WarehousesWarehouseIdPutRes, error) {
+ res, err := c.sendAPIV3WarehousesWarehouseIdPut(ctx, request, params)
+ return res, err
+}
+
+func (c *Client) sendAPIV3WarehousesWarehouseIdPut(ctx context.Context, request *APIV3WarehousesWarehouseIdPutReq, params APIV3WarehousesWarehouseIdPutParams) (res APIV3WarehousesWarehouseIdPutRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("PUT"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses/{warehouseId}"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, APIV3WarehousesWarehouseIdPutOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [2]string
+ pathParts[0] = "/api/v3/warehouses/"
+ {
+ // Encode "warehouseId" parameter.
+ e := uri.NewPathEncoder(uri.PathEncoderConfig{
+ Param: "warehouseId",
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+ if err := func() error {
+ return e.EncodeValue(conv.Int64ToString(params.WarehouseId))
+ }(); err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ encoded, err := e.Result()
+ if err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ pathParts[1] = encoded
+ }
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "PUT", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeAPIV3WarehousesWarehouseIdPutRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, APIV3WarehousesWarehouseIdPutOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeAPIV3WarehousesWarehouseIdPutResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2BarcodesPost invokes POST /content/v2/barcodes operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ
+// ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² [ΠΊΠ°ΡΡΠΎΡΠΊΠ΅
+// ΡΠΎΠ²Π°ΡΠ°](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post). ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+// .
+//
+// POST /content/v2/barcodes
+func (c *Client) ContentV2BarcodesPost(ctx context.Context, request *ContentV2BarcodesPostReq) (ContentV2BarcodesPostRes, error) {
+ res, err := c.sendContentV2BarcodesPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV2BarcodesPost(ctx context.Context, request *ContentV2BarcodesPostReq) (res ContentV2BarcodesPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/barcodes"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2BarcodesPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/barcodes"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2BarcodesPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2BarcodesPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2BarcodesPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2CardsDeleteTrashPost invokes POST /content/v2/cards/delete/trash operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ [Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1recover/post).
+//
+// ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°
+// ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ imtID.
+//
+// ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π°Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π»Π΅ΠΆΠ°Ρ
+// Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 Π΄Π½Π΅ΠΉ. ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ
+// ΠΊΠ°ΠΆΠ΄ΡΡ Π½ΠΎΡΡ ΠΏΠΎ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
+// ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²
+// [Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/new-goods/basket-cards).
+// .
+//
+// POST /content/v2/cards/delete/trash
+func (c *Client) ContentV2CardsDeleteTrashPost(ctx context.Context, request *ContentV2CardsDeleteTrashPostReq) (ContentV2CardsDeleteTrashPostRes, error) {
+ res, err := c.sendContentV2CardsDeleteTrashPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV2CardsDeleteTrashPost(ctx context.Context, request *ContentV2CardsDeleteTrashPostReq) (res ContentV2CardsDeleteTrashPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/delete/trash"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2CardsDeleteTrashPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/cards/delete/trash"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2CardsDeleteTrashPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2CardsDeleteTrashPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2CardsDeleteTrashPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2CardsErrorListGet invokes GET /content/v2/cards/error/list operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈ
+// ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ
+// ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
+//
+// Π§ΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ
+// ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
+//
+// .
+//
+// GET /content/v2/cards/error/list
+func (c *Client) ContentV2CardsErrorListGet(ctx context.Context, params ContentV2CardsErrorListGetParams) (ContentV2CardsErrorListGetRes, error) {
+ res, err := c.sendContentV2CardsErrorListGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2CardsErrorListGet(ctx context.Context, params ContentV2CardsErrorListGetParams) (res ContentV2CardsErrorListGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/error/list"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2CardsErrorListGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/cards/error/list"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2CardsErrorListGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2CardsErrorListGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2CardsLimitsGet invokes GET /content/v2/cards/limits operation.
+//
+// ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π½Π°
+// [ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post).
+// Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅
+// ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ:
+// > (`freeLimits` + `paidLimits`) - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+// .
+//
+// GET /content/v2/cards/limits
+func (c *Client) ContentV2CardsLimitsGet(ctx context.Context) (ContentV2CardsLimitsGetRes, error) {
+ res, err := c.sendContentV2CardsLimitsGet(ctx)
+ return res, err
+}
+
+func (c *Client) sendContentV2CardsLimitsGet(ctx context.Context) (res ContentV2CardsLimitsGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/limits"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2CardsLimitsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/cards/limits"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2CardsLimitsGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2CardsLimitsGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2CardsRecoverPost invokes POST /content/v2/cards/recover operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ·
+// ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+//
+// .
+//
+// POST /content/v2/cards/recover
+func (c *Client) ContentV2CardsRecoverPost(ctx context.Context, request *ContentV2CardsRecoverPostReq) (ContentV2CardsRecoverPostRes, error) {
+ res, err := c.sendContentV2CardsRecoverPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV2CardsRecoverPost(ctx context.Context, request *ContentV2CardsRecoverPostReq) (res ContentV2CardsRecoverPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/recover"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2CardsRecoverPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/cards/recover"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2CardsRecoverPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2CardsRecoverPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2CardsRecoverPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2CardsUpdatePost invokes POST /content/v2/cards/update operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ². ΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ
+// ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+//
+// ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
+// ΠΠΎΡΡΠΎΠΌΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠ΅
+// ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅
+// ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ.
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π±Π°ΡΠΊΠΎΠ΄Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ
+// Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°ΡΠΊΠΎΠ΄ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+// ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ `photos`, `video` ΠΈ `tags` ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ
+// ΡΠ΅ΡΠ΅Π· Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ.
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 3000
+// ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² (`nmID`). ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10
+// ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/update
+func (c *Client) ContentV2CardsUpdatePost(ctx context.Context, request []ContentV2CardsUpdatePostReqItem) (ContentV2CardsUpdatePostRes, error) {
+ res, err := c.sendContentV2CardsUpdatePost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV2CardsUpdatePost(ctx context.Context, request []ContentV2CardsUpdatePostReqItem) (res ContentV2CardsUpdatePostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/update"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2CardsUpdatePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/cards/update"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2CardsUpdatePostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2CardsUpdatePostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2CardsUpdatePostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2CardsUploadAddPost invokes POST /content/v2/cards/upload/add operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΠΈΡ
+// ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌ.
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+// ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/upload/add
+func (c *Client) ContentV2CardsUploadAddPost(ctx context.Context, request OptContentV2CardsUploadAddPostReq) (ContentV2CardsUploadAddPostRes, error) {
+ res, err := c.sendContentV2CardsUploadAddPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV2CardsUploadAddPost(ctx context.Context, request OptContentV2CardsUploadAddPostReq) (res ContentV2CardsUploadAddPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/upload/add"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2CardsUploadAddPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/cards/upload/add"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2CardsUploadAddPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2CardsUploadAddPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2CardsUploadAddPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2CardsUploadPost invokes POST /content/v2/cards/upload operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² c ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΈ
+// Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// ΠΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°: Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΈ
+// ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+// ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
+// Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 100
+// ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊΒ ΡΠΎΠ²Π°ΡΠΎΠ² (`imtID`), ΠΏΠΎΒ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ² Π²Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/upload
+func (c *Client) ContentV2CardsUploadPost(ctx context.Context, request []ContentV2CardsUploadPostReqItem) (ContentV2CardsUploadPostRes, error) {
+ res, err := c.sendContentV2CardsUploadPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV2CardsUploadPost(ctx context.Context, request []ContentV2CardsUploadPostReqItem) (res ContentV2CardsUploadPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/upload"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2CardsUploadPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/cards/upload"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2CardsUploadPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2CardsUploadPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2CardsUploadPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2DirectoryColorsGet invokes GET /content/v2/directory/colors operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π¦Π²Π΅Ρ`.
+// .
+//
+// GET /content/v2/directory/colors
+func (c *Client) ContentV2DirectoryColorsGet(ctx context.Context, params ContentV2DirectoryColorsGetParams) (ContentV2DirectoryColorsGetRes, error) {
+ res, err := c.sendContentV2DirectoryColorsGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2DirectoryColorsGet(ctx context.Context, params ContentV2DirectoryColorsGetParams) (res ContentV2DirectoryColorsGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/colors"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2DirectoryColorsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/directory/colors"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2DirectoryColorsGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2DirectoryColorsGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2DirectoryCountriesGet invokes GET /content/v2/directory/countries operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°`.
+// .
+//
+// GET /content/v2/directory/countries
+func (c *Client) ContentV2DirectoryCountriesGet(ctx context.Context, params ContentV2DirectoryCountriesGetParams) (ContentV2DirectoryCountriesGetRes, error) {
+ res, err := c.sendContentV2DirectoryCountriesGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2DirectoryCountriesGet(ctx context.Context, params ContentV2DirectoryCountriesGetParams) (res ContentV2DirectoryCountriesGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/countries"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2DirectoryCountriesGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/directory/countries"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2DirectoryCountriesGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2DirectoryCountriesGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2DirectoryKindsGet invokes GET /content/v2/directory/kinds operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `ΠΠΎΠ»`.
+// .
+//
+// GET /content/v2/directory/kinds
+func (c *Client) ContentV2DirectoryKindsGet(ctx context.Context, params ContentV2DirectoryKindsGetParams) (ContentV2DirectoryKindsGetRes, error) {
+ res, err := c.sendContentV2DirectoryKindsGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2DirectoryKindsGet(ctx context.Context, params ContentV2DirectoryKindsGetParams) (res ContentV2DirectoryKindsGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/kinds"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2DirectoryKindsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/directory/kinds"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2DirectoryKindsGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2DirectoryKindsGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2DirectorySeasonsGet invokes GET /content/v2/directory/seasons operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘Π΅Π·ΠΎΠ½`.
+// .
+//
+// GET /content/v2/directory/seasons
+func (c *Client) ContentV2DirectorySeasonsGet(ctx context.Context, params ContentV2DirectorySeasonsGetParams) (ContentV2DirectorySeasonsGetRes, error) {
+ res, err := c.sendContentV2DirectorySeasonsGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2DirectorySeasonsGet(ctx context.Context, params ContentV2DirectorySeasonsGetParams) (res ContentV2DirectorySeasonsGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/seasons"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2DirectorySeasonsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/directory/seasons"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2DirectorySeasonsGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2DirectorySeasonsGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2DirectoryTnvedGet invokes GET /content/v2/directory/tnved operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π’ΠΠΠΠ-ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎ ID
+// [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get) ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Π°.
+// .
+//
+// GET /content/v2/directory/tnved
+func (c *Client) ContentV2DirectoryTnvedGet(ctx context.Context, params ContentV2DirectoryTnvedGetParams) (ContentV2DirectoryTnvedGetRes, error) {
+ res, err := c.sendContentV2DirectoryTnvedGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2DirectoryTnvedGet(ctx context.Context, params ContentV2DirectoryTnvedGetParams) (res ContentV2DirectoryTnvedGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/tnved"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2DirectoryTnvedGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/directory/tnved"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "subjectID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "subjectID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.IntToString(params.SubjectID))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "search" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "search",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Search.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2DirectoryTnvedGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2DirectoryTnvedGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2DirectoryVatGet invokes GET /content/v2/directory/vat operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘`.
+// .
+//
+// GET /content/v2/directory/vat
+func (c *Client) ContentV2DirectoryVatGet(ctx context.Context, params ContentV2DirectoryVatGetParams) (ContentV2DirectoryVatGetRes, error) {
+ res, err := c.sendContentV2DirectoryVatGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2DirectoryVatGet(ctx context.Context, params ContentV2DirectoryVatGetParams) (res ContentV2DirectoryVatGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/vat"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2DirectoryVatGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/directory/vat"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2DirectoryVatGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2DirectoryVatGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2GetCardsListPost invokes POST /content/v2/get/cards/list operation.
+//
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// Π ΠΎΡΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΡ Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Π΅. ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π·
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+// Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+//
+// - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+//
+// {
+// "settings": {
+// "cursor": {
+// "limit": 100
+// },
+// "filter": {
+// "withPhoto": -1
+// }
+// }
+// }
+//
+// - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+//
+// "updatedAt": "***"
+// "nmID": ***
+//
+// - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+//
cursor.
+// - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+// - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+//
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+// limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+//
+// .
+//
+// POST /content/v2/get/cards/list
+func (c *Client) ContentV2GetCardsListPost(ctx context.Context, request *ContentV2GetCardsListPostReq, params ContentV2GetCardsListPostParams) (ContentV2GetCardsListPostRes, error) {
+ res, err := c.sendContentV2GetCardsListPost(ctx, request, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2GetCardsListPost(ctx context.Context, request *ContentV2GetCardsListPostReq, params ContentV2GetCardsListPostParams) (res ContentV2GetCardsListPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/get/cards/list"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2GetCardsListPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/get/cards/list"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2GetCardsListPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2GetCardsListPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2GetCardsListPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2GetCardsTrashPost invokes POST /content/v2/get/cards/trash operation.
+//
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Π΅.
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+// Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+//
+// - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+//
+// {
+// "settings": {
+// "cursor": {
+// "limit": 100
+// },
+// "filter": {
+// "withPhoto": -1
+// }
+// }
+// }
+//
+// - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+//
+// "trashedAt": "***"
+// "nmID": ***
+//
+// - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+//
cursor.
+// - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+// - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+//
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+// limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+//
+// .
+//
+// POST /content/v2/get/cards/trash
+func (c *Client) ContentV2GetCardsTrashPost(ctx context.Context, request *ContentV2GetCardsTrashPostReq, params ContentV2GetCardsTrashPostParams) (ContentV2GetCardsTrashPostRes, error) {
+ res, err := c.sendContentV2GetCardsTrashPost(ctx, request, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2GetCardsTrashPost(ctx context.Context, request *ContentV2GetCardsTrashPostReq, params ContentV2GetCardsTrashPostParams) (res ContentV2GetCardsTrashPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/get/cards/trash"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2GetCardsTrashPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/get/cards/trash"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(string(val)))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2GetCardsTrashPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2GetCardsTrashPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2GetCardsTrashPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2ObjectAllGet invokes GET /content/v2/object/all operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ [ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ
+// ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1parent~1all/get) ΠΈ ΠΈΡ
ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² Ρ ID. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ `ΠΠ³ΡΡΡΠΊΠΈ` Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ `ΠΠ°Π»Π΅ΠΉΠ΄ΠΎΡΠΊΠΎΠΏΡ`, `ΠΡΠΊΠ»Ρ`, `ΠΡΡΠΈΠΊΠΈ`.
+// .
+//
+// GET /content/v2/object/all
+func (c *Client) ContentV2ObjectAllGet(ctx context.Context, params ContentV2ObjectAllGetParams) (ContentV2ObjectAllGetRes, error) {
+ res, err := c.sendContentV2ObjectAllGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2ObjectAllGet(ctx context.Context, params ContentV2ObjectAllGetParams) (res ContentV2ObjectAllGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/object/all"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2ObjectAllGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/object/all"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "name" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "name",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Name.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "limit" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Limit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "offset" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Offset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ {
+ // Encode "parentID" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "parentID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.ParentID.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2ObjectAllGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2ObjectAllGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2ObjectCharcsSubjectIdGet invokes GET /content/v2/object/charcs/{subjectId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ
+// ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ
+// ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ID
+// [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get).
+//
+// .
+//
+// GET /content/v2/object/charcs/{subjectId}
+func (c *Client) ContentV2ObjectCharcsSubjectIdGet(ctx context.Context, params ContentV2ObjectCharcsSubjectIdGetParams) (ContentV2ObjectCharcsSubjectIdGetRes, error) {
+ res, err := c.sendContentV2ObjectCharcsSubjectIdGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2ObjectCharcsSubjectIdGet(ctx context.Context, params ContentV2ObjectCharcsSubjectIdGetParams) (res ContentV2ObjectCharcsSubjectIdGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/object/charcs/{subjectId}"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2ObjectCharcsSubjectIdGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [2]string
+ pathParts[0] = "/content/v2/object/charcs/"
+ {
+ // Encode "subjectId" parameter.
+ e := uri.NewPathEncoder(uri.PathEncoderConfig{
+ Param: "subjectId",
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+ if err := func() error {
+ return e.EncodeValue(conv.IntToString(params.SubjectId))
+ }(); err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ encoded, err := e.Result()
+ if err != nil {
+ return res, errors.Wrap(err, "encode path")
+ }
+ pathParts[1] = encoded
+ }
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2ObjectCharcsSubjectIdGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2ObjectCharcsSubjectIdGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2ObjectParentAllGet invokes GET /content/v2/object/parent/all operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ID Π²ΡΠ΅Ρ
ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ [ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
+// `ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°`, `ΠΡΡΠΎΠ²Π°Ρ Ρ
ΠΈΠΌΠΈΡ`, `Π ΡΠΊΠΎΠ΄Π΅Π»ΠΈΠ΅`.
+// .
+//
+// GET /content/v2/object/parent/all
+func (c *Client) ContentV2ObjectParentAllGet(ctx context.Context, params ContentV2ObjectParentAllGetParams) (ContentV2ObjectParentAllGetRes, error) {
+ res, err := c.sendContentV2ObjectParentAllGet(ctx, params)
+ return res, err
+}
+
+func (c *Client) sendContentV2ObjectParentAllGet(ctx context.Context, params ContentV2ObjectParentAllGetParams) (res ContentV2ObjectParentAllGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/object/parent/all"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2ObjectParentAllGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/object/parent/all"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeQueryParams"
+ q := uri.NewQueryEncoder()
+ {
+ // Encode "locale" parameter.
+ cfg := uri.QueryParameterEncodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := params.Locale.Get(); ok {
+ return e.EncodeValue(conv.StringToString(val))
+ }
+ return nil
+ }); err != nil {
+ return res, errors.Wrap(err, "encode query")
+ }
+ }
+ u.RawQuery = q.Values().Encode()
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2ObjectParentAllGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2ObjectParentAllGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2TagNomenclatureLinkPost invokes POST /content/v2/tag/nomenclature/link operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ»ΡΠΊ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+// Π ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 15 ΡΡΠ»ΡΠΊΠΎΠ².
+// ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ»ΡΠΊΠ° ΠΈΠ· ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΎΠ½ Π½Π΅
+// ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+// ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get)
+// ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+// .
+//
+// POST /content/v2/tag/nomenclature/link
+func (c *Client) ContentV2TagNomenclatureLinkPost(ctx context.Context, request *ContentV2TagNomenclatureLinkPostReq) (ContentV2TagNomenclatureLinkPostRes, error) {
+ res, err := c.sendContentV2TagNomenclatureLinkPost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV2TagNomenclatureLinkPost(ctx context.Context, request *ContentV2TagNomenclatureLinkPostReq) (res ContentV2TagNomenclatureLinkPostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/tag/nomenclature/link"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2TagNomenclatureLinkPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/tag/nomenclature/link"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV2TagNomenclatureLinkPostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2TagNomenclatureLinkPostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2TagNomenclatureLinkPostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV2TagsGet invokes GET /content/v2/tags operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ
+// ΡΡΠ»ΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// .
+//
+// GET /content/v2/tags
+func (c *Client) ContentV2TagsGet(ctx context.Context) (ContentV2TagsGetRes, error) {
+ res, err := c.sendContentV2TagsGet(ctx)
+ return res, err
+}
+
+func (c *Client) sendContentV2TagsGet(ctx context.Context) (res ContentV2TagsGetRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/tags"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV2TagsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v2/tags"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "GET", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV2TagsGetOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV2TagsGetResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV3MediaFilePost invokes POST /content/v3/media/file operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ» ΠΊ
+// ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700x900 px
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+// .
+//
+// POST /content/v3/media/file
+func (c *Client) ContentV3MediaFilePost(ctx context.Context, request *ContentV3MediaFilePostReq, params ContentV3MediaFilePostParams) (ContentV3MediaFilePostRes, error) {
+ res, err := c.sendContentV3MediaFilePost(ctx, request, params)
+ return res, err
+}
+
+func (c *Client) sendContentV3MediaFilePost(ctx context.Context, request *ContentV3MediaFilePostReq, params ContentV3MediaFilePostParams) (res ContentV3MediaFilePostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v3/media/file"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV3MediaFilePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v3/media/file"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV3MediaFilePostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ stage = "EncodeHeaderParams"
+ h := uri.NewHeaderEncoder(r.Header)
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Nm-Id",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.StringToString(params.XNmID))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode header")
+ }
+ }
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Photo-Number",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ return e.EncodeValue(conv.IntToString(params.XPhotoNumber))
+ }); err != nil {
+ return res, errors.Wrap(err, "encode header")
+ }
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV3MediaFilePostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV3MediaFilePostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
+
+// ContentV3MediaSavePost invokes POST /content/v3/media/save operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ°
+// ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
+//
+// ΠΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΡΡΠ΅. Π§ΡΠΎΠ±Ρ
+// Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
+// ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ.
+//
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700Γ900 px
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+// ΠΡΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅
+// ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ
+// ΠΎΡΠ²Π΅ΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅/Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ.
+// .
+//
+// POST /content/v3/media/save
+func (c *Client) ContentV3MediaSavePost(ctx context.Context, request *ContentV3MediaSavePostReq) (ContentV3MediaSavePostRes, error) {
+ res, err := c.sendContentV3MediaSavePost(ctx, request)
+ return res, err
+}
+
+func (c *Client) sendContentV3MediaSavePost(ctx context.Context, request *ContentV3MediaSavePostReq) (res ContentV3MediaSavePostRes, err error) {
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v3/media/save"),
+ }
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ elapsedDuration := time.Since(startTime)
+ c.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), metric.WithAttributes(otelAttrs...))
+ }()
+
+ // Increment request counter.
+ c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+
+ // Start a span for this request.
+ ctx, span := c.cfg.Tracer.Start(ctx, ContentV3MediaSavePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ clientSpanKind,
+ )
+ // Track stage for error reporting.
+ var stage string
+ defer func() {
+ if err != nil {
+ span.RecordError(err)
+ span.SetStatus(codes.Error, stage)
+ c.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
+ }
+ span.End()
+ }()
+
+ stage = "BuildURL"
+ u := uri.Clone(c.requestURL(ctx))
+ var pathParts [1]string
+ pathParts[0] = "/content/v3/media/save"
+ uri.AddPathParts(u, pathParts[:]...)
+
+ stage = "EncodeRequest"
+ r, err := ht.NewRequest(ctx, "POST", u)
+ if err != nil {
+ return res, errors.Wrap(err, "create request")
+ }
+ if err := encodeContentV3MediaSavePostRequest(request, r); err != nil {
+ return res, errors.Wrap(err, "encode request")
+ }
+
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ stage = "Security:HeaderApiKey"
+ switch err := c.securityHeaderApiKey(ctx, ContentV3MediaSavePostOperation, r); {
+ case err == nil: // if NO error
+ satisfied[0] |= 1 << 0
+ case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
+ // Skip this security.
+ default:
+ return res, errors.Wrap(err, "security \"HeaderApiKey\"")
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ return res, ogenerrors.ErrSecurityRequirementIsNotSatisfied
+ }
+ }
+
+ stage = "SendRequest"
+ resp, err := c.cfg.Client.Do(r)
+ if err != nil {
+ return res, errors.Wrap(err, "do request")
+ }
+ defer resp.Body.Close()
+
+ stage = "DecodeResponse"
+ result, err := decodeContentV3MediaSavePostResponse(resp)
+ if err != nil {
+ return res, errors.Wrap(err, "decode response")
+ }
+
+ return result, nil
+}
diff --git a/pkg/api/wb/client/oas_handlers_gen.go b/pkg/api/wb/client/oas_handlers_gen.go
new file mode 100644
index 0000000..d3c339d
--- /dev/null
+++ b/pkg/api/wb/client/oas_handlers_gen.go
@@ -0,0 +1,8243 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-faster/errors"
+ "go.opentelemetry.io/otel/attribute"
+ "go.opentelemetry.io/otel/codes"
+ "go.opentelemetry.io/otel/metric"
+ semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ "go.opentelemetry.io/otel/trace"
+
+ ht "github.com/ogen-go/ogen/http"
+ "github.com/ogen-go/ogen/middleware"
+ "github.com/ogen-go/ogen/ogenerrors"
+)
+
+type codeRecorder struct {
+ http.ResponseWriter
+ status int
+}
+
+func (c *codeRecorder) WriteHeader(status int) {
+ c.status = status
+ c.ResponseWriter.WriteHeader(status)
+}
+
+// handleAPIV2BufferGoodsTaskGetRequest handles GET /api/v2/buffer/goods/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π²
+// ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈΠ· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+//
+// ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+// ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+// Π°ΠΊΡΠΈΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/buffer/goods/task
+func (s *Server) handleAPIV2BufferGoodsTaskGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/buffer/goods/task"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2BufferGoodsTaskGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2BufferGoodsTaskGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2BufferGoodsTaskGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV2BufferGoodsTaskGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV2BufferGoodsTaskGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2BufferGoodsTaskGetOperation,
+ OperationSummary: "ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "limit",
+ In: "query",
+ }: params.Limit,
+ {
+ Name: "offset",
+ In: "query",
+ }: params.Offset,
+ {
+ Name: "uploadID",
+ In: "query",
+ }: params.UploadID,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV2BufferGoodsTaskGetParams
+ Response = APIV2BufferGoodsTaskGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV2BufferGoodsTaskGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2BufferGoodsTaskGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2BufferGoodsTaskGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2BufferGoodsTaskGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2BufferTasksGetRequest handles GET /api/v2/buffer/tasks operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΈΠ΄ΠΎΠΊ Π²
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+//
+// ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+// ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+// Π°ΠΊΡΠΈΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/buffer/tasks
+func (s *Server) handleAPIV2BufferTasksGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/buffer/tasks"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2BufferTasksGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2BufferTasksGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2BufferTasksGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV2BufferTasksGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV2BufferTasksGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2BufferTasksGetOperation,
+ OperationSummary: "Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "uploadID",
+ In: "query",
+ }: params.UploadID,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV2BufferTasksGetParams
+ Response = APIV2BufferTasksGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV2BufferTasksGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2BufferTasksGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2BufferTasksGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2BufferTasksGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2HistoryGoodsTaskGetRequest handles GET /api/v2/history/goods/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΠ±
+// ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/history/goods/task
+func (s *Server) handleAPIV2HistoryGoodsTaskGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/history/goods/task"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2HistoryGoodsTaskGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2HistoryGoodsTaskGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2HistoryGoodsTaskGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV2HistoryGoodsTaskGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV2HistoryGoodsTaskGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2HistoryGoodsTaskGetOperation,
+ OperationSummary: "ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "limit",
+ In: "query",
+ }: params.Limit,
+ {
+ Name: "offset",
+ In: "query",
+ }: params.Offset,
+ {
+ Name: "uploadID",
+ In: "query",
+ }: params.UploadID,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV2HistoryGoodsTaskGetParams
+ Response = APIV2HistoryGoodsTaskGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV2HistoryGoodsTaskGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2HistoryGoodsTaskGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2HistoryGoodsTaskGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2HistoryGoodsTaskGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2HistoryTasksGetRequest handles GET /api/v2/history/tasks operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ
+// Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/history/tasks
+func (s *Server) handleAPIV2HistoryTasksGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/history/tasks"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2HistoryTasksGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2HistoryTasksGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2HistoryTasksGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV2HistoryTasksGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV2HistoryTasksGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2HistoryTasksGetOperation,
+ OperationSummary: "Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "uploadID",
+ In: "query",
+ }: params.UploadID,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV2HistoryTasksGetParams
+ Response = APIV2HistoryTasksGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV2HistoryTasksGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2HistoryTasksGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2HistoryTasksGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2HistoryTasksGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2ListGoodsFilterGetRequest handles GET /api/v2/list/goods/filter operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΠΎ ΠΈΡ
+// Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ [WB
+// ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°,
+// ΠΎΡΡΠ°Π²ΡΡΠ΅ Π°ΡΡΠΈΠΊΡΠ» ΠΏΡΡΡΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `limit=1000`, Π²
+// ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ `offset` ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ
+// Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅: `offset`
+// ΠΏΠ»ΡΡ `limit` ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ,
+// ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ²Π΅Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΡΠΎΠ²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
+// [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/list/goods/filter
+func (s *Server) handleAPIV2ListGoodsFilterGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/list/goods/filter"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2ListGoodsFilterGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2ListGoodsFilterGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2ListGoodsFilterGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV2ListGoodsFilterGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV2ListGoodsFilterGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2ListGoodsFilterGetOperation,
+ OperationSummary: "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ Ρ ΡΠ΅Π½Π°ΠΌΠΈ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "limit",
+ In: "query",
+ }: params.Limit,
+ {
+ Name: "offset",
+ In: "query",
+ }: params.Offset,
+ {
+ Name: "filterNmID",
+ In: "query",
+ }: params.FilterNmID,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV2ListGoodsFilterGetParams
+ Response = APIV2ListGoodsFilterGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV2ListGoodsFilterGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2ListGoodsFilterGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2ListGoodsFilterGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2ListGoodsFilterGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2ListGoodsSizeNmGetRequest handles GET /api/v2/list/goods/size/nm operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
+// ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π΄Π»Ρ [WB
+// ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+//
+// Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+// ΡΠ°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² `editableSizePrice: true`.
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΠΎΠ²Π°ΡΠ΅,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/list/goods/size/nm
+func (s *Server) handleAPIV2ListGoodsSizeNmGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/list/goods/size/nm"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2ListGoodsSizeNmGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2ListGoodsSizeNmGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2ListGoodsSizeNmGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV2ListGoodsSizeNmGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV2ListGoodsSizeNmGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2ListGoodsSizeNmGetOperation,
+ OperationSummary: "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠ΅Π½Π°ΠΌΠΈ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "limit",
+ In: "query",
+ }: params.Limit,
+ {
+ Name: "offset",
+ In: "query",
+ }: params.Offset,
+ {
+ Name: "nmID",
+ In: "query",
+ }: params.NmID,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV2ListGoodsSizeNmGetParams
+ Response = APIV2ListGoodsSizeNmGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV2ListGoodsSizeNmGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2ListGoodsSizeNmGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2ListGoodsSizeNmGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2ListGoodsSizeNmGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2QuarantineGoodsGetRequest handles GET /api/v2/quarantine/goods operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅.
+//
+// ΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Β 3
+// ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ, ΡΠΎΠ²Π°Ρ ΠΏΠΎΠΏΠ°Π΄ΡΡ [Π²
+// ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½](https://seller.wildberries.ru/discount-and-prices/quarantine) ΠΈ Π±ΡΠ΄Π΅Ρ
+// ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎΒ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π½Π΅. ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Β ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²
+// ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² [ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
+// Π·Π°Π³ΡΡΠ·ΠΎΠΊ](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1tasks/get).
+//
+// ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ
+// Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·Β ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° [Π²Β Π»ΠΈΡΠ½ΠΎΠΌ
+// ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/discount-and-prices/quarantine).
+//
+// ΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ [ΠΏΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ
+// ΡΠ΅Π½](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post)
+// ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/quarantine/goods
+func (s *Server) handleAPIV2QuarantineGoodsGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v2/quarantine/goods"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2QuarantineGoodsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2QuarantineGoodsGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2QuarantineGoodsGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV2QuarantineGoodsGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV2QuarantineGoodsGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2QuarantineGoodsGetOperation,
+ OperationSummary: "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "limit",
+ In: "query",
+ }: params.Limit,
+ {
+ Name: "offset",
+ In: "query",
+ }: params.Offset,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV2QuarantineGoodsGetParams
+ Response = APIV2QuarantineGoodsGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV2QuarantineGoodsGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2QuarantineGoodsGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2QuarantineGoodsGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2QuarantineGoodsGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2UploadTaskClubDiscountPostRequest handles POST /api/v2/upload/task/club-discount operation.
+//
+// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ [WB
+// ΠΠ»ΡΠ±](https://seller.wildberries.ru/help-center/article/A-337).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task/club-discount
+func (s *Server) handleAPIV2UploadTaskClubDiscountPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v2/upload/task/club-discount"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2UploadTaskClubDiscountPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2UploadTaskClubDiscountPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2UploadTaskClubDiscountPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeAPIV2UploadTaskClubDiscountPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV2UploadTaskClubDiscountPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2UploadTaskClubDiscountPostOperation,
+ OperationSummary: "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠΈΠ΄ΠΊΠΈ WB ΠΠ»ΡΠ±Π°",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *APIV2UploadTaskClubDiscountPostReq
+ Params = struct{}
+ Response = APIV2UploadTaskClubDiscountPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2UploadTaskClubDiscountPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2UploadTaskClubDiscountPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2UploadTaskClubDiscountPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2UploadTaskPostRequest handles POST /api/v2/upload/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task
+func (s *Server) handleAPIV2UploadTaskPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v2/upload/task"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2UploadTaskPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2UploadTaskPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2UploadTaskPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeAPIV2UploadTaskPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV2UploadTaskPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2UploadTaskPostOperation,
+ OperationSummary: "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *APIV2UploadTaskPostReq
+ Params = struct{}
+ Response = APIV2UploadTaskPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2UploadTaskPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2UploadTaskPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2UploadTaskPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV2UploadTaskSizePostRequest handles POST /api/v2/upload/task/size operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+// [ΡΠ°ΠΊΠΈΡ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get) `editableSizePrice: true`.
+// Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ²,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task/post).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task/size
+func (s *Server) handleAPIV2UploadTaskSizePostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v2/upload/task/size"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV2UploadTaskSizePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV2UploadTaskSizePostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV2UploadTaskSizePostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeAPIV2UploadTaskSizePostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV2UploadTaskSizePostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV2UploadTaskSizePostOperation,
+ OperationSummary: "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *APIV2UploadTaskSizePostReq
+ Params = struct{}
+ Response = APIV2UploadTaskSizePostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV2UploadTaskSizePost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV2UploadTaskSizePost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV2UploadTaskSizePostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3OfficesGetRequest handles GET /api/v3/offices operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² WB Π΄Π»Ρ
+// ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠΊΠ»Π°Π΄Π°ΠΌ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ
+// ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ
+// ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// GET /api/v3/offices
+func (s *Server) handleAPIV3OfficesGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v3/offices"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3OfficesGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3OfficesGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3OfficesGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+
+ var response APIV3OfficesGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3OfficesGetOperation,
+ OperationSummary: "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = struct{}
+ Response = APIV3OfficesGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3OfficesGet(ctx)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3OfficesGet(ctx)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3OfficesGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3StocksWarehouseIdDeleteRequest handles DELETE /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ·
+// [ΡΠΏΠΈΡΠΊΠ°
+// ΠΎΡΡΠ°ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎ. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ
+// Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ
+// Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// DELETE /api/v3/stocks/{warehouseId}
+func (s *Server) handleAPIV3StocksWarehouseIdDeleteRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("DELETE"),
+ semconv.HTTPRouteKey.String("/api/v3/stocks/{warehouseId}"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3StocksWarehouseIdDeleteOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3StocksWarehouseIdDeleteOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3StocksWarehouseIdDeleteOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV3StocksWarehouseIdDeleteParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ request, close, err := s.decodeAPIV3StocksWarehouseIdDeleteRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV3StocksWarehouseIdDeleteRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3StocksWarehouseIdDeleteOperation,
+ OperationSummary: "Π£Π΄Π°Π»ΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{
+ {
+ Name: "warehouseId",
+ In: "path",
+ }: params.WarehouseId,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = *APIV3StocksWarehouseIdDeleteReq
+ Params = APIV3StocksWarehouseIdDeleteParams
+ Response = APIV3StocksWarehouseIdDeleteRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV3StocksWarehouseIdDeleteParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3StocksWarehouseIdDelete(ctx, request, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3StocksWarehouseIdDelete(ctx, request, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3StocksWarehouseIdDeleteResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3StocksWarehouseIdPostRequest handles POST /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π°
+// [ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°](/openapi/work-with-products#tag/Sklady-prodavca).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// POST /api/v3/stocks/{warehouseId}
+func (s *Server) handleAPIV3StocksWarehouseIdPostRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v3/stocks/{warehouseId}"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3StocksWarehouseIdPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3StocksWarehouseIdPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3StocksWarehouseIdPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV3StocksWarehouseIdPostParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ request, close, err := s.decodeAPIV3StocksWarehouseIdPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV3StocksWarehouseIdPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3StocksWarehouseIdPostOperation,
+ OperationSummary: "ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{
+ {
+ Name: "warehouseId",
+ In: "path",
+ }: params.WarehouseId,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = *APIV3StocksWarehouseIdPostReq
+ Params = APIV3StocksWarehouseIdPostParams
+ Response = APIV3StocksWarehouseIdPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV3StocksWarehouseIdPostParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3StocksWarehouseIdPost(ctx, request, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3StocksWarehouseIdPost(ctx, request, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3StocksWarehouseIdPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3StocksWarehouseIdPutRequest handles PUT /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ²
+// ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [Π²
+// ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΡΡΡΡ. ΠΡΠΈ
+// ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ
+// ΠΎΡΠ²Π΅Ρ (204), Π½ΠΎ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡΡΡ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// PUT /api/v3/stocks/{warehouseId}
+func (s *Server) handleAPIV3StocksWarehouseIdPutRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("PUT"),
+ semconv.HTTPRouteKey.String("/api/v3/stocks/{warehouseId}"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3StocksWarehouseIdPutOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3StocksWarehouseIdPutOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3StocksWarehouseIdPutOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV3StocksWarehouseIdPutParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ request, close, err := s.decodeAPIV3StocksWarehouseIdPutRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV3StocksWarehouseIdPutRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3StocksWarehouseIdPutOperation,
+ OperationSummary: "ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{
+ {
+ Name: "warehouseId",
+ In: "path",
+ }: params.WarehouseId,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = OptAPIV3StocksWarehouseIdPutReq
+ Params = APIV3StocksWarehouseIdPutParams
+ Response = APIV3StocksWarehouseIdPutRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV3StocksWarehouseIdPutParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3StocksWarehouseIdPut(ctx, request, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3StocksWarehouseIdPut(ctx, request, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3StocksWarehouseIdPutResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3WarehousesGetRequest handles GET /api/v3/warehouses operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+// ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ [ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// GET /api/v3/warehouses
+func (s *Server) handleAPIV3WarehousesGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3WarehousesGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3WarehousesGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3WarehousesGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+
+ var response APIV3WarehousesGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3WarehousesGetOperation,
+ OperationSummary: "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = struct{}
+ Response = APIV3WarehousesGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3WarehousesGet(ctx)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3WarehousesGet(ctx)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3WarehousesGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3WarehousesPostRequest handles POST /api/v3/warehouses operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ [ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post). ΠΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [ΡΠΊΠ»Π°Π΄ WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// POST /api/v3/warehouses
+func (s *Server) handleAPIV3WarehousesPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3WarehousesPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3WarehousesPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3WarehousesPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeAPIV3WarehousesPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV3WarehousesPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3WarehousesPostOperation,
+ OperationSummary: "Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *APIV3WarehousesPostReq
+ Params = struct{}
+ Response = APIV3WarehousesPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3WarehousesPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3WarehousesPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3WarehousesPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3WarehousesWarehouseIdDeleteRequest handles DELETE /api/v3/warehouses/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+// ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// DELETE /api/v3/warehouses/{warehouseId}
+func (s *Server) handleAPIV3WarehousesWarehouseIdDeleteRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("DELETE"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses/{warehouseId}"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3WarehousesWarehouseIdDeleteOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3WarehousesWarehouseIdDeleteOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3WarehousesWarehouseIdDeleteOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV3WarehousesWarehouseIdDeleteParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response APIV3WarehousesWarehouseIdDeleteRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3WarehousesWarehouseIdDeleteOperation,
+ OperationSummary: "Π£Π΄Π°Π»ΠΈΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "warehouseId",
+ In: "path",
+ }: params.WarehouseId,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = APIV3WarehousesWarehouseIdDeleteParams
+ Response = APIV3WarehousesWarehouseIdDeleteRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV3WarehousesWarehouseIdDeleteParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3WarehousesWarehouseIdDelete(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3WarehousesWarehouseIdDelete(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3WarehousesWarehouseIdDeleteResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleAPIV3WarehousesWarehouseIdPutRequest handles PUT /api/v3/warehouses/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π² [ΡΠΏΠΈΡΠΊΠ΅
+// ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+// ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ [ΡΠΊΠ»Π°Π΄Π΅
+// WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) ΠΌΠΎΠΆΠ½ΠΎ
+// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΡΡΠΊΠΈ.
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// PUT /api/v3/warehouses/{warehouseId}
+func (s *Server) handleAPIV3WarehousesWarehouseIdPutRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("PUT"),
+ semconv.HTTPRouteKey.String("/api/v3/warehouses/{warehouseId}"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), APIV3WarehousesWarehouseIdPutOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: APIV3WarehousesWarehouseIdPutOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, APIV3WarehousesWarehouseIdPutOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeAPIV3WarehousesWarehouseIdPutParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ request, close, err := s.decodeAPIV3WarehousesWarehouseIdPutRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response APIV3WarehousesWarehouseIdPutRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: APIV3WarehousesWarehouseIdPutOperation,
+ OperationSummary: "ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{
+ {
+ Name: "warehouseId",
+ In: "path",
+ }: params.WarehouseId,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = *APIV3WarehousesWarehouseIdPutReq
+ Params = APIV3WarehousesWarehouseIdPutParams
+ Response = APIV3WarehousesWarehouseIdPutRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackAPIV3WarehousesWarehouseIdPutParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.APIV3WarehousesWarehouseIdPut(ctx, request, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.APIV3WarehousesWarehouseIdPut(ctx, request, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeAPIV3WarehousesWarehouseIdPutResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2BarcodesPostRequest handles POST /content/v2/barcodes operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ
+// ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² [ΠΊΠ°ΡΡΠΎΡΠΊΠ΅
+// ΡΠΎΠ²Π°ΡΠ°](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post). ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+// .
+//
+// POST /content/v2/barcodes
+func (s *Server) handleContentV2BarcodesPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/barcodes"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2BarcodesPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2BarcodesPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2BarcodesPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV2BarcodesPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2BarcodesPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2BarcodesPostOperation,
+ OperationSummary: "ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV2BarcodesPostReq
+ Params = struct{}
+ Response = ContentV2BarcodesPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2BarcodesPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2BarcodesPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2BarcodesPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2CardsDeleteTrashPostRequest handles POST /content/v2/cards/delete/trash operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ [Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1recover/post).
+//
+// ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°
+// ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ imtID.
+//
+// ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π°Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π»Π΅ΠΆΠ°Ρ
+// Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 Π΄Π½Π΅ΠΉ. ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ
+// ΠΊΠ°ΠΆΠ΄ΡΡ Π½ΠΎΡΡ ΠΏΠΎ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
+// ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²
+// [Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/new-goods/basket-cards).
+// .
+//
+// POST /content/v2/cards/delete/trash
+func (s *Server) handleContentV2CardsDeleteTrashPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/delete/trash"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2CardsDeleteTrashPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2CardsDeleteTrashPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2CardsDeleteTrashPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV2CardsDeleteTrashPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2CardsDeleteTrashPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2CardsDeleteTrashPostOperation,
+ OperationSummary: "ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV2CardsDeleteTrashPostReq
+ Params = struct{}
+ Response = ContentV2CardsDeleteTrashPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2CardsDeleteTrashPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2CardsDeleteTrashPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2CardsDeleteTrashPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2CardsErrorListGetRequest handles GET /content/v2/cards/error/list operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈ
+// ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ
+// ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
+//
+// Π§ΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ
+// ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
+//
+// .
+//
+// GET /content/v2/cards/error/list
+func (s *Server) handleContentV2CardsErrorListGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/error/list"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2CardsErrorListGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2CardsErrorListGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2CardsErrorListGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2CardsErrorListGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2CardsErrorListGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2CardsErrorListGetOperation,
+ OperationSummary: "Π‘ΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2CardsErrorListGetParams
+ Response = ContentV2CardsErrorListGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2CardsErrorListGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2CardsErrorListGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2CardsErrorListGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2CardsErrorListGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2CardsLimitsGetRequest handles GET /content/v2/cards/limits operation.
+//
+// ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π½Π°
+// [ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post).
+// Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅
+// ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ:
+// > (`freeLimits` + `paidLimits`) - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+// .
+//
+// GET /content/v2/cards/limits
+func (s *Server) handleContentV2CardsLimitsGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/limits"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2CardsLimitsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2CardsLimitsGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2CardsLimitsGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+
+ var response ContentV2CardsLimitsGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2CardsLimitsGetOperation,
+ OperationSummary: "ΠΠΈΠΌΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = struct{}
+ Response = ContentV2CardsLimitsGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2CardsLimitsGet(ctx)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2CardsLimitsGet(ctx)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2CardsLimitsGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2CardsRecoverPostRequest handles POST /content/v2/cards/recover operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ·
+// ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+//
+// .
+//
+// POST /content/v2/cards/recover
+func (s *Server) handleContentV2CardsRecoverPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/recover"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2CardsRecoverPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2CardsRecoverPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2CardsRecoverPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV2CardsRecoverPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2CardsRecoverPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2CardsRecoverPostOperation,
+ OperationSummary: "ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠΎΡΠ·ΠΈΠ½Ρ",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV2CardsRecoverPostReq
+ Params = struct{}
+ Response = ContentV2CardsRecoverPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2CardsRecoverPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2CardsRecoverPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2CardsRecoverPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2CardsUpdatePostRequest handles POST /content/v2/cards/update operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ². ΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ
+// ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+//
+// ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
+// ΠΠΎΡΡΠΎΠΌΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠ΅
+// ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅
+// ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ.
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π±Π°ΡΠΊΠΎΠ΄Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ
+// Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°ΡΠΊΠΎΠ΄ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+// ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ `photos`, `video` ΠΈ `tags` ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ
+// ΡΠ΅ΡΠ΅Π· Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ.
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 3000
+// ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² (`nmID`). ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10
+// ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/update
+func (s *Server) handleContentV2CardsUpdatePostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/update"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2CardsUpdatePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2CardsUpdatePostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2CardsUpdatePostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV2CardsUpdatePostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2CardsUpdatePostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2CardsUpdatePostOperation,
+ OperationSummary: "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = []ContentV2CardsUpdatePostReqItem
+ Params = struct{}
+ Response = ContentV2CardsUpdatePostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2CardsUpdatePost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2CardsUpdatePost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2CardsUpdatePostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2CardsUploadAddPostRequest handles POST /content/v2/cards/upload/add operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΠΈΡ
+// ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌ.
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+// ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/upload/add
+func (s *Server) handleContentV2CardsUploadAddPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/upload/add"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2CardsUploadAddPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2CardsUploadAddPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2CardsUploadAddPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV2CardsUploadAddPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2CardsUploadAddPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2CardsUploadAddPostOperation,
+ OperationSummary: "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = OptContentV2CardsUploadAddPostReq
+ Params = struct{}
+ Response = ContentV2CardsUploadAddPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2CardsUploadAddPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2CardsUploadAddPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2CardsUploadAddPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2CardsUploadPostRequest handles POST /content/v2/cards/upload operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² c ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΈ
+// Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// ΠΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°: Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΈ
+// ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+// ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
+// Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 100
+// ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊΒ ΡΠΎΠ²Π°ΡΠΎΠ² (`imtID`), ΠΏΠΎΒ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ² Π²Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/upload
+func (s *Server) handleContentV2CardsUploadPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/cards/upload"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2CardsUploadPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2CardsUploadPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2CardsUploadPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV2CardsUploadPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2CardsUploadPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2CardsUploadPostOperation,
+ OperationSummary: "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = []ContentV2CardsUploadPostReqItem
+ Params = struct{}
+ Response = ContentV2CardsUploadPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2CardsUploadPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2CardsUploadPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2CardsUploadPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2DirectoryColorsGetRequest handles GET /content/v2/directory/colors operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π¦Π²Π΅Ρ`.
+// .
+//
+// GET /content/v2/directory/colors
+func (s *Server) handleContentV2DirectoryColorsGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/colors"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2DirectoryColorsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2DirectoryColorsGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2DirectoryColorsGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2DirectoryColorsGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2DirectoryColorsGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2DirectoryColorsGetOperation,
+ OperationSummary: "Π¦Π²Π΅Ρ",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2DirectoryColorsGetParams
+ Response = ContentV2DirectoryColorsGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2DirectoryColorsGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2DirectoryColorsGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2DirectoryColorsGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2DirectoryColorsGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2DirectoryCountriesGetRequest handles GET /content/v2/directory/countries operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°`.
+// .
+//
+// GET /content/v2/directory/countries
+func (s *Server) handleContentV2DirectoryCountriesGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/countries"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2DirectoryCountriesGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2DirectoryCountriesGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2DirectoryCountriesGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2DirectoryCountriesGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2DirectoryCountriesGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2DirectoryCountriesGetOperation,
+ OperationSummary: "Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2DirectoryCountriesGetParams
+ Response = ContentV2DirectoryCountriesGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2DirectoryCountriesGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2DirectoryCountriesGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2DirectoryCountriesGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2DirectoryCountriesGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2DirectoryKindsGetRequest handles GET /content/v2/directory/kinds operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `ΠΠΎΠ»`.
+// .
+//
+// GET /content/v2/directory/kinds
+func (s *Server) handleContentV2DirectoryKindsGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/kinds"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2DirectoryKindsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2DirectoryKindsGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2DirectoryKindsGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2DirectoryKindsGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2DirectoryKindsGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2DirectoryKindsGetOperation,
+ OperationSummary: "ΠΠΎΠ»",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2DirectoryKindsGetParams
+ Response = ContentV2DirectoryKindsGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2DirectoryKindsGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2DirectoryKindsGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2DirectoryKindsGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2DirectoryKindsGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2DirectorySeasonsGetRequest handles GET /content/v2/directory/seasons operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘Π΅Π·ΠΎΠ½`.
+// .
+//
+// GET /content/v2/directory/seasons
+func (s *Server) handleContentV2DirectorySeasonsGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/seasons"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2DirectorySeasonsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2DirectorySeasonsGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2DirectorySeasonsGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2DirectorySeasonsGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2DirectorySeasonsGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2DirectorySeasonsGetOperation,
+ OperationSummary: "Π‘Π΅Π·ΠΎΠ½",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2DirectorySeasonsGetParams
+ Response = ContentV2DirectorySeasonsGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2DirectorySeasonsGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2DirectorySeasonsGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2DirectorySeasonsGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2DirectorySeasonsGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2DirectoryTnvedGetRequest handles GET /content/v2/directory/tnved operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π’ΠΠΠΠ-ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎ ID
+// [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get) ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Π°.
+// .
+//
+// GET /content/v2/directory/tnved
+func (s *Server) handleContentV2DirectoryTnvedGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/tnved"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2DirectoryTnvedGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2DirectoryTnvedGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2DirectoryTnvedGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2DirectoryTnvedGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2DirectoryTnvedGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2DirectoryTnvedGetOperation,
+ OperationSummary: "Π’ΠΠΠΠ-ΠΊΠΎΠ΄",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "subjectID",
+ In: "query",
+ }: params.SubjectID,
+ {
+ Name: "search",
+ In: "query",
+ }: params.Search,
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2DirectoryTnvedGetParams
+ Response = ContentV2DirectoryTnvedGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2DirectoryTnvedGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2DirectoryTnvedGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2DirectoryTnvedGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2DirectoryTnvedGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2DirectoryVatGetRequest handles GET /content/v2/directory/vat operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘`.
+// .
+//
+// GET /content/v2/directory/vat
+func (s *Server) handleContentV2DirectoryVatGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/directory/vat"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2DirectoryVatGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2DirectoryVatGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2DirectoryVatGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2DirectoryVatGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2DirectoryVatGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2DirectoryVatGetOperation,
+ OperationSummary: "Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2DirectoryVatGetParams
+ Response = ContentV2DirectoryVatGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2DirectoryVatGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2DirectoryVatGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2DirectoryVatGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2DirectoryVatGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2GetCardsListPostRequest handles POST /content/v2/get/cards/list operation.
+//
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// Π ΠΎΡΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΡ Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Π΅. ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π·
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+// Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+//
+// - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+//
+// {
+// "settings": {
+// "cursor": {
+// "limit": 100
+// },
+// "filter": {
+// "withPhoto": -1
+// }
+// }
+// }
+//
+// - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+//
+// "updatedAt": "***"
+// "nmID": ***
+//
+// - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+//
cursor.
+// - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+// - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+//
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+// limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+//
+// .
+//
+// POST /content/v2/get/cards/list
+func (s *Server) handleContentV2GetCardsListPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/get/cards/list"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2GetCardsListPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2GetCardsListPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2GetCardsListPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2GetCardsListPostParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ request, close, err := s.decodeContentV2GetCardsListPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2GetCardsListPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2GetCardsListPostOperation,
+ OperationSummary: "Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV2GetCardsListPostReq
+ Params = ContentV2GetCardsListPostParams
+ Response = ContentV2GetCardsListPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2GetCardsListPostParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2GetCardsListPost(ctx, request, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2GetCardsListPost(ctx, request, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2GetCardsListPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2GetCardsTrashPostRequest handles POST /content/v2/get/cards/trash operation.
+//
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Π΅.
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+// Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+//
+// - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+//
+// {
+// "settings": {
+// "cursor": {
+// "limit": 100
+// },
+// "filter": {
+// "withPhoto": -1
+// }
+// }
+// }
+//
+// - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+//
+// "trashedAt": "***"
+// "nmID": ***
+//
+// - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+//
cursor.
+// - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+// - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+//
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+// limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+//
+// .
+//
+// POST /content/v2/get/cards/trash
+func (s *Server) handleContentV2GetCardsTrashPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/get/cards/trash"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2GetCardsTrashPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2GetCardsTrashPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2GetCardsTrashPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2GetCardsTrashPostParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ request, close, err := s.decodeContentV2GetCardsTrashPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2GetCardsTrashPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2GetCardsTrashPostOperation,
+ OperationSummary: "Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV2GetCardsTrashPostReq
+ Params = ContentV2GetCardsTrashPostParams
+ Response = ContentV2GetCardsTrashPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2GetCardsTrashPostParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2GetCardsTrashPost(ctx, request, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2GetCardsTrashPost(ctx, request, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2GetCardsTrashPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2ObjectAllGetRequest handles GET /content/v2/object/all operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ [ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ
+// ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1parent~1all/get) ΠΈ ΠΈΡ
ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² Ρ ID. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ `ΠΠ³ΡΡΡΠΊΠΈ` Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ `ΠΠ°Π»Π΅ΠΉΠ΄ΠΎΡΠΊΠΎΠΏΡ`, `ΠΡΠΊΠ»Ρ`, `ΠΡΡΠΈΠΊΠΈ`.
+// .
+//
+// GET /content/v2/object/all
+func (s *Server) handleContentV2ObjectAllGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/object/all"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2ObjectAllGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2ObjectAllGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2ObjectAllGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2ObjectAllGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2ObjectAllGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2ObjectAllGetOperation,
+ OperationSummary: "Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ {
+ Name: "name",
+ In: "query",
+ }: params.Name,
+ {
+ Name: "limit",
+ In: "query",
+ }: params.Limit,
+ {
+ Name: "offset",
+ In: "query",
+ }: params.Offset,
+ {
+ Name: "parentID",
+ In: "query",
+ }: params.ParentID,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2ObjectAllGetParams
+ Response = ContentV2ObjectAllGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2ObjectAllGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2ObjectAllGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2ObjectAllGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2ObjectAllGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2ObjectCharcsSubjectIdGetRequest handles GET /content/v2/object/charcs/{subjectId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ
+// ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ
+// ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ID
+// [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get).
+//
+// .
+//
+// GET /content/v2/object/charcs/{subjectId}
+func (s *Server) handleContentV2ObjectCharcsSubjectIdGetRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/object/charcs/{subjectId}"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2ObjectCharcsSubjectIdGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2ObjectCharcsSubjectIdGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2ObjectCharcsSubjectIdGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2ObjectCharcsSubjectIdGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2ObjectCharcsSubjectIdGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2ObjectCharcsSubjectIdGetOperation,
+ OperationSummary: "Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "subjectId",
+ In: "path",
+ }: params.SubjectId,
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2ObjectCharcsSubjectIdGetParams
+ Response = ContentV2ObjectCharcsSubjectIdGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2ObjectCharcsSubjectIdGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2ObjectCharcsSubjectIdGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2ObjectCharcsSubjectIdGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2ObjectCharcsSubjectIdGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2ObjectParentAllGetRequest handles GET /content/v2/object/parent/all operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ID Π²ΡΠ΅Ρ
ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ [ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
+// `ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°`, `ΠΡΡΠΎΠ²Π°Ρ Ρ
ΠΈΠΌΠΈΡ`, `Π ΡΠΊΠΎΠ΄Π΅Π»ΠΈΠ΅`.
+// .
+//
+// GET /content/v2/object/parent/all
+func (s *Server) handleContentV2ObjectParentAllGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/object/parent/all"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2ObjectParentAllGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2ObjectParentAllGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2ObjectParentAllGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV2ObjectParentAllGetParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ var response ContentV2ObjectParentAllGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2ObjectParentAllGetOperation,
+ OperationSummary: "Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{
+ {
+ Name: "locale",
+ In: "query",
+ }: params.Locale,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = ContentV2ObjectParentAllGetParams
+ Response = ContentV2ObjectParentAllGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV2ObjectParentAllGetParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2ObjectParentAllGet(ctx, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2ObjectParentAllGet(ctx, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2ObjectParentAllGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2TagNomenclatureLinkPostRequest handles POST /content/v2/tag/nomenclature/link operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ»ΡΠΊ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+// Π ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 15 ΡΡΠ»ΡΠΊΠΎΠ².
+// ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ»ΡΠΊΠ° ΠΈΠ· ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΎΠ½ Π½Π΅
+// ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+// ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get)
+// ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+// .
+//
+// POST /content/v2/tag/nomenclature/link
+func (s *Server) handleContentV2TagNomenclatureLinkPostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v2/tag/nomenclature/link"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2TagNomenclatureLinkPostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2TagNomenclatureLinkPostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2TagNomenclatureLinkPostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV2TagNomenclatureLinkPostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV2TagNomenclatureLinkPostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2TagNomenclatureLinkPostOperation,
+ OperationSummary: "Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°ΠΌΠΈ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV2TagNomenclatureLinkPostReq
+ Params = struct{}
+ Response = ContentV2TagNomenclatureLinkPostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2TagNomenclatureLinkPost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2TagNomenclatureLinkPost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2TagNomenclatureLinkPostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV2TagsGetRequest handles GET /content/v2/tags operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ
+// ΡΡΠ»ΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// .
+//
+// GET /content/v2/tags
+func (s *Server) handleContentV2TagsGetRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("GET"),
+ semconv.HTTPRouteKey.String("/content/v2/tags"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV2TagsGetOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV2TagsGetOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV2TagsGetOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+
+ var response ContentV2TagsGetRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV2TagsGetOperation,
+ OperationSummary: "Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠ»ΡΠΊΠΎΠ²",
+ OperationID: "",
+ Body: nil,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = struct{}
+ Params = struct{}
+ Response = ContentV2TagsGetRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV2TagsGet(ctx)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV2TagsGet(ctx)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV2TagsGetResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV3MediaFilePostRequest handles POST /content/v3/media/file operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ» ΠΊ
+// ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700x900 px
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+// .
+//
+// POST /content/v3/media/file
+func (s *Server) handleContentV3MediaFilePostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v3/media/file"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV3MediaFilePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV3MediaFilePostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV3MediaFilePostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ params, err := decodeContentV3MediaFilePostParams(args, argsEscaped, r)
+ if err != nil {
+ err = &ogenerrors.DecodeParamsError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeParams", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ request, close, err := s.decodeContentV3MediaFilePostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV3MediaFilePostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV3MediaFilePostOperation,
+ OperationSummary: "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{
+ {
+ Name: "X-Nm-Id",
+ In: "header",
+ }: params.XNmID,
+ {
+ Name: "X-Photo-Number",
+ In: "header",
+ }: params.XPhotoNumber,
+ },
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV3MediaFilePostReq
+ Params = ContentV3MediaFilePostParams
+ Response = ContentV3MediaFilePostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ unpackContentV3MediaFilePostParams,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV3MediaFilePost(ctx, request, params)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV3MediaFilePost(ctx, request, params)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV3MediaFilePostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
+
+// handleContentV3MediaSavePostRequest handles POST /content/v3/media/save operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ°
+// ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
+//
+// ΠΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΡΡΠ΅. Π§ΡΠΎΠ±Ρ
+// Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
+// ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ.
+//
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700Γ900 px
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+// ΠΡΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅
+// ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ
+// ΠΎΡΠ²Π΅ΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅/Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ.
+// .
+//
+// POST /content/v3/media/save
+func (s *Server) handleContentV3MediaSavePostRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
+ statusWriter := &codeRecorder{ResponseWriter: w}
+ w = statusWriter
+ otelAttrs := []attribute.KeyValue{
+ semconv.HTTPRequestMethodKey.String("POST"),
+ semconv.HTTPRouteKey.String("/content/v3/media/save"),
+ }
+
+ // Start a span for this request.
+ ctx, span := s.cfg.Tracer.Start(r.Context(), ContentV3MediaSavePostOperation,
+ trace.WithAttributes(otelAttrs...),
+ serverSpanKind,
+ )
+ defer span.End()
+
+ // Add Labeler to context.
+ labeler := &Labeler{attrs: otelAttrs}
+ ctx = contextWithLabeler(ctx, labeler)
+
+ // Run stopwatch.
+ startTime := time.Now()
+ defer func() {
+ elapsedDuration := time.Since(startTime)
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ code := statusWriter.status
+ if code != 0 {
+ codeAttr := semconv.HTTPResponseStatusCode(code)
+ attrs = append(attrs, codeAttr)
+ span.SetAttributes(codeAttr)
+ }
+ attrOpt := metric.WithAttributes(attrs...)
+
+ // Increment request counter.
+ s.requests.Add(ctx, 1, attrOpt)
+
+ // Use floating point division here for higher precision (instead of Millisecond method).
+ s.duration.Record(ctx, float64(elapsedDuration)/float64(time.Millisecond), attrOpt)
+ }()
+
+ var (
+ recordError = func(stage string, err error) {
+ span.RecordError(err)
+
+ // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
+ // Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges,
+ // unless there was another error (e.g., network error receiving the response body; or 3xx codes with
+ // max redirects exceeded), in which case status MUST be set to Error.
+ code := statusWriter.status
+ if code >= 100 && code < 500 {
+ span.SetStatus(codes.Error, stage)
+ }
+
+ attrSet := labeler.AttributeSet()
+ attrs := attrSet.ToSlice()
+ if code != 0 {
+ attrs = append(attrs, semconv.HTTPResponseStatusCode(code))
+ }
+
+ s.errors.Add(ctx, 1, metric.WithAttributes(attrs...))
+ }
+ err error
+ opErrContext = ogenerrors.OperationContext{
+ Name: ContentV3MediaSavePostOperation,
+ ID: "",
+ }
+ )
+ {
+ type bitset = [1]uint8
+ var satisfied bitset
+ {
+ sctx, ok, err := s.securityHeaderApiKey(ctx, ContentV3MediaSavePostOperation, r)
+ if err != nil {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Security: "HeaderApiKey",
+ Err: err,
+ }
+ defer recordError("Security:HeaderApiKey", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ if ok {
+ satisfied[0] |= 1 << 0
+ ctx = sctx
+ }
+ }
+
+ if ok := func() bool {
+ nextRequirement:
+ for _, requirement := range []bitset{
+ {0b00000001},
+ } {
+ for i, mask := range requirement {
+ if satisfied[i]&mask != mask {
+ continue nextRequirement
+ }
+ }
+ return true
+ }
+ return false
+ }(); !ok {
+ err = &ogenerrors.SecurityError{
+ OperationContext: opErrContext,
+ Err: ogenerrors.ErrSecurityRequirementIsNotSatisfied,
+ }
+ defer recordError("Security", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ }
+ request, close, err := s.decodeContentV3MediaSavePostRequest(r)
+ if err != nil {
+ err = &ogenerrors.DecodeRequestError{
+ OperationContext: opErrContext,
+ Err: err,
+ }
+ defer recordError("DecodeRequest", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+ defer func() {
+ if err := close(); err != nil {
+ recordError("CloseRequest", err)
+ }
+ }()
+
+ var response ContentV3MediaSavePostRes
+ if m := s.cfg.Middleware; m != nil {
+ mreq := middleware.Request{
+ Context: ctx,
+ OperationName: ContentV3MediaSavePostOperation,
+ OperationSummary: "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ",
+ OperationID: "",
+ Body: request,
+ Params: middleware.Parameters{},
+ Raw: r,
+ }
+
+ type (
+ Request = *ContentV3MediaSavePostReq
+ Params = struct{}
+ Response = ContentV3MediaSavePostRes
+ )
+ response, err = middleware.HookMiddleware[
+ Request,
+ Params,
+ Response,
+ ](
+ m,
+ mreq,
+ nil,
+ func(ctx context.Context, request Request, params Params) (response Response, err error) {
+ response, err = s.h.ContentV3MediaSavePost(ctx, request)
+ return response, err
+ },
+ )
+ } else {
+ response, err = s.h.ContentV3MediaSavePost(ctx, request)
+ }
+ if err != nil {
+ defer recordError("Internal", err)
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ return
+ }
+
+ if err := encodeContentV3MediaSavePostResponse(response, w, span); err != nil {
+ defer recordError("EncodeResponse", err)
+ if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
+ s.cfg.ErrorHandler(ctx, w, r, err)
+ }
+ return
+ }
+}
diff --git a/pkg/api/wb/client/oas_interfaces_gen.go b/pkg/api/wb/client/oas_interfaces_gen.go
new file mode 100644
index 0000000..8823033
--- /dev/null
+++ b/pkg/api/wb/client/oas_interfaces_gen.go
@@ -0,0 +1,166 @@
+// Code generated by ogen, DO NOT EDIT.
+package api
+
+type APIV2BufferGoodsTaskGetRes interface {
+ aPIV2BufferGoodsTaskGetRes()
+}
+
+type APIV2BufferTasksGetRes interface {
+ aPIV2BufferTasksGetRes()
+}
+
+type APIV2HistoryGoodsTaskGetRes interface {
+ aPIV2HistoryGoodsTaskGetRes()
+}
+
+type APIV2HistoryTasksGetRes interface {
+ aPIV2HistoryTasksGetRes()
+}
+
+type APIV2ListGoodsFilterGetRes interface {
+ aPIV2ListGoodsFilterGetRes()
+}
+
+type APIV2ListGoodsSizeNmGetRes interface {
+ aPIV2ListGoodsSizeNmGetRes()
+}
+
+type APIV2QuarantineGoodsGetRes interface {
+ aPIV2QuarantineGoodsGetRes()
+}
+
+type APIV2UploadTaskClubDiscountPostRes interface {
+ aPIV2UploadTaskClubDiscountPostRes()
+}
+
+type APIV2UploadTaskPostRes interface {
+ aPIV2UploadTaskPostRes()
+}
+
+type APIV2UploadTaskSizePostRes interface {
+ aPIV2UploadTaskSizePostRes()
+}
+
+type APIV3OfficesGetRes interface {
+ aPIV3OfficesGetRes()
+}
+
+type APIV3StocksWarehouseIdDeleteRes interface {
+ aPIV3StocksWarehouseIdDeleteRes()
+}
+
+type APIV3StocksWarehouseIdPostRes interface {
+ aPIV3StocksWarehouseIdPostRes()
+}
+
+type APIV3StocksWarehouseIdPutRes interface {
+ aPIV3StocksWarehouseIdPutRes()
+}
+
+type APIV3WarehousesGetRes interface {
+ aPIV3WarehousesGetRes()
+}
+
+type APIV3WarehousesPostRes interface {
+ aPIV3WarehousesPostRes()
+}
+
+type APIV3WarehousesWarehouseIdDeleteRes interface {
+ aPIV3WarehousesWarehouseIdDeleteRes()
+}
+
+type APIV3WarehousesWarehouseIdPutRes interface {
+ aPIV3WarehousesWarehouseIdPutRes()
+}
+
+type ContentV2BarcodesPostRes interface {
+ contentV2BarcodesPostRes()
+}
+
+type ContentV2CardsDeleteTrashPostRes interface {
+ contentV2CardsDeleteTrashPostRes()
+}
+
+type ContentV2CardsErrorListGetRes interface {
+ contentV2CardsErrorListGetRes()
+}
+
+type ContentV2CardsLimitsGetRes interface {
+ contentV2CardsLimitsGetRes()
+}
+
+type ContentV2CardsRecoverPostRes interface {
+ contentV2CardsRecoverPostRes()
+}
+
+type ContentV2CardsUpdatePostRes interface {
+ contentV2CardsUpdatePostRes()
+}
+
+type ContentV2CardsUploadAddPostRes interface {
+ contentV2CardsUploadAddPostRes()
+}
+
+type ContentV2CardsUploadPostRes interface {
+ contentV2CardsUploadPostRes()
+}
+
+type ContentV2DirectoryColorsGetRes interface {
+ contentV2DirectoryColorsGetRes()
+}
+
+type ContentV2DirectoryCountriesGetRes interface {
+ contentV2DirectoryCountriesGetRes()
+}
+
+type ContentV2DirectoryKindsGetRes interface {
+ contentV2DirectoryKindsGetRes()
+}
+
+type ContentV2DirectorySeasonsGetRes interface {
+ contentV2DirectorySeasonsGetRes()
+}
+
+type ContentV2DirectoryTnvedGetRes interface {
+ contentV2DirectoryTnvedGetRes()
+}
+
+type ContentV2DirectoryVatGetRes interface {
+ contentV2DirectoryVatGetRes()
+}
+
+type ContentV2GetCardsListPostRes interface {
+ contentV2GetCardsListPostRes()
+}
+
+type ContentV2GetCardsTrashPostRes interface {
+ contentV2GetCardsTrashPostRes()
+}
+
+type ContentV2ObjectAllGetRes interface {
+ contentV2ObjectAllGetRes()
+}
+
+type ContentV2ObjectCharcsSubjectIdGetRes interface {
+ contentV2ObjectCharcsSubjectIdGetRes()
+}
+
+type ContentV2ObjectParentAllGetRes interface {
+ contentV2ObjectParentAllGetRes()
+}
+
+type ContentV2TagNomenclatureLinkPostRes interface {
+ contentV2TagNomenclatureLinkPostRes()
+}
+
+type ContentV2TagsGetRes interface {
+ contentV2TagsGetRes()
+}
+
+type ContentV3MediaFilePostRes interface {
+ contentV3MediaFilePostRes()
+}
+
+type ContentV3MediaSavePostRes interface {
+ contentV3MediaSavePostRes()
+}
diff --git a/pkg/api/wb/client/oas_json_gen.go b/pkg/api/wb/client/oas_json_gen.go
new file mode 100644
index 0000000..1951525
--- /dev/null
+++ b/pkg/api/wb/client/oas_json_gen.go
@@ -0,0 +1,19793 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "math/bits"
+ "strconv"
+ "time"
+
+ "github.com/go-faster/errors"
+ "github.com/go-faster/jx"
+
+ "github.com/ogen-go/ogen/json"
+ "github.com/ogen-go/ogen/validate"
+)
+
+// Encode implements json.Marshaler.
+func (s *APIV2BufferGoodsTaskGetBadRequest) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2BufferGoodsTaskGetBadRequest) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV2BufferGoodsTaskGetBadRequest = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes APIV2BufferGoodsTaskGetBadRequest from json.
+func (s *APIV2BufferGoodsTaskGetBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2BufferGoodsTaskGetBadRequest to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2BufferGoodsTaskGetBadRequest")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2BufferGoodsTaskGetBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2BufferGoodsTaskGetBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2BufferGoodsTaskGetBadRequestData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2BufferGoodsTaskGetBadRequestData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfAPIV2BufferGoodsTaskGetBadRequestData = [0]string{}
+
+// Decode decodes APIV2BufferGoodsTaskGetBadRequestData from json.
+func (s *APIV2BufferGoodsTaskGetBadRequestData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2BufferGoodsTaskGetBadRequestData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2BufferGoodsTaskGetBadRequestData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2BufferGoodsTaskGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2BufferGoodsTaskGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2BufferTasksGetBadRequest) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2BufferTasksGetBadRequest) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV2BufferTasksGetBadRequest = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes APIV2BufferTasksGetBadRequest from json.
+func (s *APIV2BufferTasksGetBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2BufferTasksGetBadRequest to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2BufferTasksGetBadRequest")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2BufferTasksGetBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2BufferTasksGetBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2BufferTasksGetBadRequestData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2BufferTasksGetBadRequestData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfAPIV2BufferTasksGetBadRequestData = [0]string{}
+
+// Decode decodes APIV2BufferTasksGetBadRequestData from json.
+func (s *APIV2BufferTasksGetBadRequestData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2BufferTasksGetBadRequestData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2BufferTasksGetBadRequestData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2BufferTasksGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2BufferTasksGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV2HistoryGoodsTaskGetBadRequest = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes APIV2HistoryGoodsTaskGetBadRequest from json.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2HistoryGoodsTaskGetBadRequest to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2HistoryGoodsTaskGetBadRequest")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2HistoryGoodsTaskGetBadRequestData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2HistoryGoodsTaskGetBadRequestData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfAPIV2HistoryGoodsTaskGetBadRequestData = [0]string{}
+
+// Decode decodes APIV2HistoryGoodsTaskGetBadRequestData from json.
+func (s *APIV2HistoryGoodsTaskGetBadRequestData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2HistoryGoodsTaskGetBadRequestData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2HistoryGoodsTaskGetBadRequestData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2HistoryGoodsTaskGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2HistoryGoodsTaskGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2HistoryTasksGetBadRequest) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2HistoryTasksGetBadRequest) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV2HistoryTasksGetBadRequest = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes APIV2HistoryTasksGetBadRequest from json.
+func (s *APIV2HistoryTasksGetBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2HistoryTasksGetBadRequest to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2HistoryTasksGetBadRequest")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2HistoryTasksGetBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2HistoryTasksGetBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2HistoryTasksGetBadRequestData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2HistoryTasksGetBadRequestData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfAPIV2HistoryTasksGetBadRequestData = [0]string{}
+
+// Decode decodes APIV2HistoryTasksGetBadRequestData from json.
+func (s *APIV2HistoryTasksGetBadRequestData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2HistoryTasksGetBadRequestData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2HistoryTasksGetBadRequestData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2HistoryTasksGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2HistoryTasksGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2QuarantineGoodsGetBadRequest as json.
+func (s *APIV2QuarantineGoodsGetBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2QuarantineGoodsGetBadRequest from json.
+func (s *APIV2QuarantineGoodsGetBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2QuarantineGoodsGetBadRequest to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2QuarantineGoodsGetBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2QuarantineGoodsGetBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2QuarantineGoodsGetBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2QuarantineGoodsGetUnprocessableEntity as json.
+func (s *APIV2QuarantineGoodsGetUnprocessableEntity) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2QuarantineGoodsGetUnprocessableEntity from json.
+func (s *APIV2QuarantineGoodsGetUnprocessableEntity) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2QuarantineGoodsGetUnprocessableEntity to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2QuarantineGoodsGetUnprocessableEntity(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2QuarantineGoodsGetUnprocessableEntity) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2QuarantineGoodsGetUnprocessableEntity) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2UploadTaskClubDiscountPostBadRequest as json.
+func (s *APIV2UploadTaskClubDiscountPostBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2UploadTaskClubDiscountPostBadRequest from json.
+func (s *APIV2UploadTaskClubDiscountPostBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskClubDiscountPostBadRequest to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2UploadTaskClubDiscountPostBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskClubDiscountPostBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskClubDiscountPostBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2UploadTaskClubDiscountPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2UploadTaskClubDiscountPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV2UploadTaskClubDiscountPostReq = [1]string{
+ 0: "data",
+}
+
+// Decode decodes APIV2UploadTaskClubDiscountPostReq from json.
+func (s *APIV2UploadTaskClubDiscountPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskClubDiscountPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2UploadTaskClubDiscountPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskClubDiscountPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskClubDiscountPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2UploadTaskClubDiscountPostUnprocessableEntity as json.
+func (s *APIV2UploadTaskClubDiscountPostUnprocessableEntity) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2UploadTaskClubDiscountPostUnprocessableEntity from json.
+func (s *APIV2UploadTaskClubDiscountPostUnprocessableEntity) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskClubDiscountPostUnprocessableEntity to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2UploadTaskClubDiscountPostUnprocessableEntity(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskClubDiscountPostUnprocessableEntity) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskClubDiscountPostUnprocessableEntity) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2UploadTaskPostBadRequest as json.
+func (s *APIV2UploadTaskPostBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2UploadTaskPostBadRequest from json.
+func (s *APIV2UploadTaskPostBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskPostBadRequest to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2UploadTaskPostBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskPostBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskPostBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2UploadTaskPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2UploadTaskPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV2UploadTaskPostReq = [1]string{
+ 0: "data",
+}
+
+// Decode decodes APIV2UploadTaskPostReq from json.
+func (s *APIV2UploadTaskPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2UploadTaskPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2UploadTaskPostUnprocessableEntity as json.
+func (s *APIV2UploadTaskPostUnprocessableEntity) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2UploadTaskPostUnprocessableEntity from json.
+func (s *APIV2UploadTaskPostUnprocessableEntity) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskPostUnprocessableEntity to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2UploadTaskPostUnprocessableEntity(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskPostUnprocessableEntity) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskPostUnprocessableEntity) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2UploadTaskSizePostBadRequest as json.
+func (s *APIV2UploadTaskSizePostBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2UploadTaskSizePostBadRequest from json.
+func (s *APIV2UploadTaskSizePostBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskSizePostBadRequest to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2UploadTaskSizePostBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskSizePostBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskSizePostBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV2UploadTaskSizePostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV2UploadTaskSizePostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV2UploadTaskSizePostReq = [1]string{
+ 0: "data",
+}
+
+// Decode decodes APIV2UploadTaskSizePostReq from json.
+func (s *APIV2UploadTaskSizePostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskSizePostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV2UploadTaskSizePostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskSizePostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskSizePostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV2UploadTaskSizePostUnprocessableEntity as json.
+func (s *APIV2UploadTaskSizePostUnprocessableEntity) Encode(e *jx.Encoder) {
+ unwrapped := (*ResponseError)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV2UploadTaskSizePostUnprocessableEntity from json.
+func (s *APIV2UploadTaskSizePostUnprocessableEntity) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV2UploadTaskSizePostUnprocessableEntity to nil")
+ }
+ var unwrapped ResponseError
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV2UploadTaskSizePostUnprocessableEntity(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV2UploadTaskSizePostUnprocessableEntity) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV2UploadTaskSizePostUnprocessableEntity) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3OfficesGetOKApplicationJSON as json.
+func (s APIV3OfficesGetOKApplicationJSON) Encode(e *jx.Encoder) {
+ unwrapped := []Office(s)
+
+ e.ArrStart()
+ for _, elem := range unwrapped {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+}
+
+// Decode decodes APIV3OfficesGetOKApplicationJSON from json.
+func (s *APIV3OfficesGetOKApplicationJSON) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3OfficesGetOKApplicationJSON to nil")
+ }
+ var unwrapped []Office
+ if err := func() error {
+ unwrapped = make([]Office, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem Office
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ unwrapped = append(unwrapped, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3OfficesGetOKApplicationJSON(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s APIV3OfficesGetOKApplicationJSON) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3OfficesGetOKApplicationJSON) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdDeleteBadRequest as json.
+func (s *APIV3StocksWarehouseIdDeleteBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdDeleteBadRequest from json.
+func (s *APIV3StocksWarehouseIdDeleteBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdDeleteBadRequest to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdDeleteBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdDeleteBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdDeleteBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdDeleteConflict as json.
+func (s *APIV3StocksWarehouseIdDeleteConflict) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdDeleteConflict from json.
+func (s *APIV3StocksWarehouseIdDeleteConflict) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdDeleteConflict to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdDeleteConflict(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdDeleteConflict) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdDeleteConflict) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdDeleteForbidden as json.
+func (s *APIV3StocksWarehouseIdDeleteForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdDeleteForbidden from json.
+func (s *APIV3StocksWarehouseIdDeleteForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdDeleteForbidden to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdDeleteForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdDeleteForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdDeleteForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdDeleteNotFound as json.
+func (s *APIV3StocksWarehouseIdDeleteNotFound) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdDeleteNotFound from json.
+func (s *APIV3StocksWarehouseIdDeleteNotFound) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdDeleteNotFound to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdDeleteNotFound(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdDeleteNotFound) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdDeleteNotFound) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3StocksWarehouseIdDeleteReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3StocksWarehouseIdDeleteReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.Skus != nil {
+ e.FieldStart("skus")
+ e.ArrStart()
+ for _, elem := range s.Skus {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV3StocksWarehouseIdDeleteReq = [1]string{
+ 0: "skus",
+}
+
+// Decode decodes APIV3StocksWarehouseIdDeleteReq from json.
+func (s *APIV3StocksWarehouseIdDeleteReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdDeleteReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "skus":
+ if err := func() error {
+ s.Skus = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Skus = append(s.Skus, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"skus\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3StocksWarehouseIdDeleteReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdDeleteReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdDeleteReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPostBadRequest as json.
+func (s *APIV3StocksWarehouseIdPostBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdPostBadRequest from json.
+func (s *APIV3StocksWarehouseIdPostBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPostBadRequest to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdPostBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPostBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPostBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPostForbidden as json.
+func (s *APIV3StocksWarehouseIdPostForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdPostForbidden from json.
+func (s *APIV3StocksWarehouseIdPostForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPostForbidden to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdPostForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPostForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPostForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPostNotFound as json.
+func (s *APIV3StocksWarehouseIdPostNotFound) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdPostNotFound from json.
+func (s *APIV3StocksWarehouseIdPostNotFound) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPostNotFound to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdPostNotFound(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPostNotFound) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPostNotFound) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3StocksWarehouseIdPostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3StocksWarehouseIdPostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Stocks != nil {
+ e.FieldStart("stocks")
+ e.ArrStart()
+ for _, elem := range s.Stocks {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV3StocksWarehouseIdPostOK = [1]string{
+ 0: "stocks",
+}
+
+// Decode decodes APIV3StocksWarehouseIdPostOK from json.
+func (s *APIV3StocksWarehouseIdPostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "stocks":
+ if err := func() error {
+ s.Stocks = make([]APIV3StocksWarehouseIdPostOKStocksItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem APIV3StocksWarehouseIdPostOKStocksItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Stocks = append(s.Stocks, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"stocks\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3StocksWarehouseIdPostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Sku.Set {
+ e.FieldStart("sku")
+ s.Sku.Encode(e)
+ }
+ }
+ {
+ if s.Amount.Set {
+ e.FieldStart("amount")
+ s.Amount.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV3StocksWarehouseIdPostOKStocksItem = [2]string{
+ 0: "sku",
+ 1: "amount",
+}
+
+// Decode decodes APIV3StocksWarehouseIdPostOKStocksItem from json.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPostOKStocksItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "sku":
+ if err := func() error {
+ s.Sku.Reset()
+ if err := s.Sku.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sku\"")
+ }
+ case "amount":
+ if err := func() error {
+ s.Amount.Reset()
+ if err := s.Amount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"amount\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3StocksWarehouseIdPostOKStocksItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3StocksWarehouseIdPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3StocksWarehouseIdPostReq) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("skus")
+ e.ArrStart()
+ for _, elem := range s.Skus {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+}
+
+var jsonFieldsNameOfAPIV3StocksWarehouseIdPostReq = [1]string{
+ 0: "skus",
+}
+
+// Decode decodes APIV3StocksWarehouseIdPostReq from json.
+func (s *APIV3StocksWarehouseIdPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPostReq to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "skus":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ s.Skus = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Skus = append(s.Skus, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"skus\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3StocksWarehouseIdPostReq")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000001,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfAPIV3StocksWarehouseIdPostReq) {
+ name = jsonFieldsNameOfAPIV3StocksWarehouseIdPostReq[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPutConflict as json.
+func (s *APIV3StocksWarehouseIdPutConflict) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdPutConflict from json.
+func (s *APIV3StocksWarehouseIdPutConflict) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPutConflict to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdPutConflict(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPutConflict) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPutConflict) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPutForbidden as json.
+func (s *APIV3StocksWarehouseIdPutForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdPutForbidden from json.
+func (s *APIV3StocksWarehouseIdPutForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPutForbidden to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdPutForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPutForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPutForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON as json.
+func (s APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON) Encode(e *jx.Encoder) {
+ unwrapped := jx.Raw(s)
+
+ if len(unwrapped) != 0 {
+ e.Raw(unwrapped)
+ }
+}
+
+// Decode decodes APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON from json.
+func (s *APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON to nil")
+ }
+ var unwrapped jx.Raw
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ unwrapped = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPutNotFound as json.
+func (s *APIV3StocksWarehouseIdPutNotFound) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdPutNotFound from json.
+func (s *APIV3StocksWarehouseIdPutNotFound) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPutNotFound to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3StocksWarehouseIdPutNotFound(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPutNotFound) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPutNotFound) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3StocksWarehouseIdPutReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3StocksWarehouseIdPutReq) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("stocks")
+ e.ArrStart()
+ for _, elem := range s.Stocks {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+}
+
+var jsonFieldsNameOfAPIV3StocksWarehouseIdPutReq = [1]string{
+ 0: "stocks",
+}
+
+// Decode decodes APIV3StocksWarehouseIdPutReq from json.
+func (s *APIV3StocksWarehouseIdPutReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPutReq to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "stocks":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ s.Stocks = make([]APIV3StocksWarehouseIdPutReqStocksItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem APIV3StocksWarehouseIdPutReqStocksItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Stocks = append(s.Stocks, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"stocks\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3StocksWarehouseIdPutReq")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000001,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfAPIV3StocksWarehouseIdPutReq) {
+ name = jsonFieldsNameOfAPIV3StocksWarehouseIdPutReq[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPutReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPutReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Sku.Set {
+ e.FieldStart("sku")
+ s.Sku.Encode(e)
+ }
+ }
+ {
+ if s.Amount.Set {
+ e.FieldStart("amount")
+ s.Amount.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV3StocksWarehouseIdPutReqStocksItem = [2]string{
+ 0: "sku",
+ 1: "amount",
+}
+
+// Decode decodes APIV3StocksWarehouseIdPutReqStocksItem from json.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3StocksWarehouseIdPutReqStocksItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "sku":
+ if err := func() error {
+ s.Sku.Reset()
+ if err := s.Sku.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sku\"")
+ }
+ case "amount":
+ if err := func() error {
+ s.Amount.Reset()
+ if err := s.Amount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"amount\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3StocksWarehouseIdPutReqStocksItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesGetOKApplicationJSON as json.
+func (s APIV3WarehousesGetOKApplicationJSON) Encode(e *jx.Encoder) {
+ unwrapped := []Warehouse(s)
+
+ e.ArrStart()
+ for _, elem := range unwrapped {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+}
+
+// Decode decodes APIV3WarehousesGetOKApplicationJSON from json.
+func (s *APIV3WarehousesGetOKApplicationJSON) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesGetOKApplicationJSON to nil")
+ }
+ var unwrapped []Warehouse
+ if err := func() error {
+ unwrapped = make([]Warehouse, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem Warehouse
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ unwrapped = append(unwrapped, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesGetOKApplicationJSON(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s APIV3WarehousesGetOKApplicationJSON) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesGetOKApplicationJSON) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesPostBadRequest as json.
+func (s *APIV3WarehousesPostBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesPostBadRequest from json.
+func (s *APIV3WarehousesPostBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesPostBadRequest to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesPostBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesPostBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesPostBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesPostConflict as json.
+func (s *APIV3WarehousesPostConflict) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesPostConflict from json.
+func (s *APIV3WarehousesPostConflict) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesPostConflict to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesPostConflict(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesPostConflict) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesPostConflict) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3WarehousesPostCreated) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3WarehousesPostCreated) encodeFields(e *jx.Encoder) {
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfAPIV3WarehousesPostCreated = [1]string{
+ 0: "id",
+}
+
+// Decode decodes APIV3WarehousesPostCreated from json.
+func (s *APIV3WarehousesPostCreated) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesPostCreated to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3WarehousesPostCreated")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesPostCreated) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesPostCreated) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesPostForbidden as json.
+func (s *APIV3WarehousesPostForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesPostForbidden from json.
+func (s *APIV3WarehousesPostForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesPostForbidden to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesPostForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesPostForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesPostForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesPostNotFound as json.
+func (s *APIV3WarehousesPostNotFound) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesPostNotFound from json.
+func (s *APIV3WarehousesPostNotFound) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesPostNotFound to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesPostNotFound(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesPostNotFound) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesPostNotFound) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3WarehousesPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3WarehousesPostReq) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("name")
+ e.Str(s.Name)
+ }
+ {
+ e.FieldStart("officeId")
+ e.Int(s.OfficeId)
+ }
+}
+
+var jsonFieldsNameOfAPIV3WarehousesPostReq = [2]string{
+ 0: "name",
+ 1: "officeId",
+}
+
+// Decode decodes APIV3WarehousesPostReq from json.
+func (s *APIV3WarehousesPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesPostReq to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "name":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Str()
+ s.Name = string(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "officeId":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.Int()
+ s.OfficeId = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"officeId\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3WarehousesPostReq")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000011,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfAPIV3WarehousesPostReq) {
+ name = jsonFieldsNameOfAPIV3WarehousesPostReq[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesWarehouseIdDeleteForbidden as json.
+func (s *APIV3WarehousesWarehouseIdDeleteForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesWarehouseIdDeleteForbidden from json.
+func (s *APIV3WarehousesWarehouseIdDeleteForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesWarehouseIdDeleteForbidden to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesWarehouseIdDeleteForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesWarehouseIdDeleteForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesWarehouseIdDeleteForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesWarehouseIdDeleteNotFound as json.
+func (s *APIV3WarehousesWarehouseIdDeleteNotFound) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesWarehouseIdDeleteNotFound from json.
+func (s *APIV3WarehousesWarehouseIdDeleteNotFound) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesWarehouseIdDeleteNotFound to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesWarehouseIdDeleteNotFound(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesWarehouseIdDeleteNotFound) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesWarehouseIdDeleteNotFound) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesWarehouseIdPutBadRequest as json.
+func (s *APIV3WarehousesWarehouseIdPutBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesWarehouseIdPutBadRequest from json.
+func (s *APIV3WarehousesWarehouseIdPutBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesWarehouseIdPutBadRequest to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesWarehouseIdPutBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesWarehouseIdPutBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesWarehouseIdPutBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesWarehouseIdPutConflict as json.
+func (s *APIV3WarehousesWarehouseIdPutConflict) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesWarehouseIdPutConflict from json.
+func (s *APIV3WarehousesWarehouseIdPutConflict) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesWarehouseIdPutConflict to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesWarehouseIdPutConflict(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesWarehouseIdPutConflict) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesWarehouseIdPutConflict) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesWarehouseIdPutForbidden as json.
+func (s *APIV3WarehousesWarehouseIdPutForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesWarehouseIdPutForbidden from json.
+func (s *APIV3WarehousesWarehouseIdPutForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesWarehouseIdPutForbidden to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesWarehouseIdPutForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesWarehouseIdPutForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesWarehouseIdPutForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3WarehousesWarehouseIdPutNotFound as json.
+func (s *APIV3WarehousesWarehouseIdPutNotFound) Encode(e *jx.Encoder) {
+ unwrapped := (*Error)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes APIV3WarehousesWarehouseIdPutNotFound from json.
+func (s *APIV3WarehousesWarehouseIdPutNotFound) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesWarehouseIdPutNotFound to nil")
+ }
+ var unwrapped Error
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = APIV3WarehousesWarehouseIdPutNotFound(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesWarehouseIdPutNotFound) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesWarehouseIdPutNotFound) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *APIV3WarehousesWarehouseIdPutReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *APIV3WarehousesWarehouseIdPutReq) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("name")
+ e.Str(s.Name)
+ }
+ {
+ e.FieldStart("officeId")
+ e.Int(s.OfficeId)
+ }
+}
+
+var jsonFieldsNameOfAPIV3WarehousesWarehouseIdPutReq = [2]string{
+ 0: "name",
+ 1: "officeId",
+}
+
+// Decode decodes APIV3WarehousesWarehouseIdPutReq from json.
+func (s *APIV3WarehousesWarehouseIdPutReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode APIV3WarehousesWarehouseIdPutReq to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "name":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Str()
+ s.Name = string(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "officeId":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.Int()
+ s.OfficeId = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"officeId\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode APIV3WarehousesWarehouseIdPutReq")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000011,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfAPIV3WarehousesWarehouseIdPutReq) {
+ name = jsonFieldsNameOfAPIV3WarehousesWarehouseIdPutReq[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *APIV3WarehousesWarehouseIdPutReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *APIV3WarehousesWarehouseIdPutReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ClubDisc as json.
+func (s ClubDisc) Encode(e *jx.Encoder) {
+ unwrapped := []ClubDiscReq(s)
+ if unwrapped == nil {
+ e.ArrEmpty()
+ return
+ }
+ if unwrapped != nil {
+ e.ArrStart()
+ for _, elem := range unwrapped {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+}
+
+// Decode decodes ClubDisc from json.
+func (s *ClubDisc) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ClubDisc to nil")
+ }
+ var unwrapped []ClubDiscReq
+ if err := func() error {
+ unwrapped = make([]ClubDiscReq, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ClubDiscReq
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ unwrapped = append(unwrapped, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = ClubDisc(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s ClubDisc) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ClubDisc) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ClubDiscReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ClubDiscReq) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("nmID")
+ e.Int(s.NmID)
+ }
+ {
+ e.FieldStart("clubDiscount")
+ e.Int(s.ClubDiscount)
+ }
+}
+
+var jsonFieldsNameOfClubDiscReq = [2]string{
+ 0: "nmID",
+ 1: "clubDiscount",
+}
+
+// Decode decodes ClubDiscReq from json.
+func (s *ClubDiscReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ClubDiscReq to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Int()
+ s.NmID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "clubDiscount":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.Int()
+ s.ClubDiscount = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"clubDiscount\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ClubDiscReq")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000011,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfClubDiscReq) {
+ name = jsonFieldsNameOfClubDiscReq[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ClubDiscReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ClubDiscReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2BarcodesPostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2BarcodesPostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2BarcodesPostOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2BarcodesPostOK from json.
+func (s *ContentV2BarcodesPostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2BarcodesPostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2BarcodesPostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2BarcodesPostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2BarcodesPostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2BarcodesPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2BarcodesPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.Count.Set {
+ e.FieldStart("count")
+ s.Count.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2BarcodesPostReq = [1]string{
+ 0: "count",
+}
+
+// Decode decodes ContentV2BarcodesPostReq from json.
+func (s *ContentV2BarcodesPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2BarcodesPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "count":
+ if err := func() error {
+ s.Count.Reset()
+ if err := s.Count.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"count\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2BarcodesPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2BarcodesPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2BarcodesPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsDeleteTrashPostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsDeleteTrashPostOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2CardsDeleteTrashPostOK from json.
+func (s *ContentV2CardsDeleteTrashPostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsDeleteTrashPostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsDeleteTrashPostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsDeleteTrashPostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsDeleteTrashPostOKAdditionalErrors) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV2CardsDeleteTrashPostOKAdditionalErrors = [0]string{}
+
+// Decode decodes ContentV2CardsDeleteTrashPostOKAdditionalErrors from json.
+func (s *ContentV2CardsDeleteTrashPostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsDeleteTrashPostOKAdditionalErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsDeleteTrashPostOKAdditionalErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsDeleteTrashPostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostOKData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsDeleteTrashPostOKData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV2CardsDeleteTrashPostOKData = [0]string{}
+
+// Decode decodes ContentV2CardsDeleteTrashPostOKData from json.
+func (s *ContentV2CardsDeleteTrashPostOKData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsDeleteTrashPostOKData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsDeleteTrashPostOKData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsDeleteTrashPostOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsDeleteTrashPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmIDs != nil {
+ e.FieldStart("nmIDs")
+ e.ArrStart()
+ for _, elem := range s.NmIDs {
+ e.Int(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsDeleteTrashPostReq = [1]string{
+ 0: "nmIDs",
+}
+
+// Decode decodes ContentV2CardsDeleteTrashPostReq from json.
+func (s *ContentV2CardsDeleteTrashPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsDeleteTrashPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmIDs":
+ if err := func() error {
+ s.NmIDs = make([]int, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem int
+ v, err := d.Int()
+ elem = int(v)
+ if err != nil {
+ return err
+ }
+ s.NmIDs = append(s.NmIDs, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmIDs\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsDeleteTrashPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsDeleteTrashPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsDeleteTrashPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsErrorListGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsErrorListGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsErrorListGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2CardsErrorListGetOK from json.
+func (s *ContentV2CardsErrorListGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsErrorListGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]ContentV2CardsErrorListGetOKDataItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsErrorListGetOKDataItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsErrorListGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsErrorListGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsErrorListGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsErrorListGetOKDataItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsErrorListGetOKDataItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Object.Set {
+ e.FieldStart("object")
+ s.Object.Encode(e)
+ }
+ }
+ {
+ if s.VendorCode.Set {
+ e.FieldStart("vendorCode")
+ s.VendorCode.Encode(e)
+ }
+ }
+ {
+ if s.UpdateAt.Set {
+ e.FieldStart("updateAt")
+ s.UpdateAt.Encode(e)
+ }
+ }
+ {
+ if s.Errors != nil {
+ e.FieldStart("errors")
+ e.ArrStart()
+ for _, elem := range s.Errors {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.ObjectID.Set {
+ e.FieldStart("objectID")
+ s.ObjectID.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsErrorListGetOKDataItem = [5]string{
+ 0: "object",
+ 1: "vendorCode",
+ 2: "updateAt",
+ 3: "errors",
+ 4: "objectID",
+}
+
+// Decode decodes ContentV2CardsErrorListGetOKDataItem from json.
+func (s *ContentV2CardsErrorListGetOKDataItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsErrorListGetOKDataItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "object":
+ if err := func() error {
+ s.Object.Reset()
+ if err := s.Object.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"object\"")
+ }
+ case "vendorCode":
+ if err := func() error {
+ s.VendorCode.Reset()
+ if err := s.VendorCode.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "updateAt":
+ if err := func() error {
+ s.UpdateAt.Reset()
+ if err := s.UpdateAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"updateAt\"")
+ }
+ case "errors":
+ if err := func() error {
+ s.Errors = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Errors = append(s.Errors, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errors\"")
+ }
+ case "objectID":
+ if err := func() error {
+ s.ObjectID.Reset()
+ if err := s.ObjectID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"objectID\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsErrorListGetOKDataItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsErrorListGetOKDataItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsErrorListGetOKDataItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsLimitsGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsLimitsGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsLimitsGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2CardsLimitsGetOK from json.
+func (s *ContentV2CardsLimitsGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsLimitsGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsLimitsGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsLimitsGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsLimitsGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsLimitsGetOKData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsLimitsGetOKData) encodeFields(e *jx.Encoder) {
+ {
+ if s.FreeLimits.Set {
+ e.FieldStart("freeLimits")
+ s.FreeLimits.Encode(e)
+ }
+ }
+ {
+ if s.PaidLimits.Set {
+ e.FieldStart("paidLimits")
+ s.PaidLimits.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsLimitsGetOKData = [2]string{
+ 0: "freeLimits",
+ 1: "paidLimits",
+}
+
+// Decode decodes ContentV2CardsLimitsGetOKData from json.
+func (s *ContentV2CardsLimitsGetOKData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsLimitsGetOKData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "freeLimits":
+ if err := func() error {
+ s.FreeLimits.Reset()
+ if err := s.FreeLimits.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"freeLimits\"")
+ }
+ case "paidLimits":
+ if err := func() error {
+ s.PaidLimits.Reset()
+ if err := s.PaidLimits.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"paidLimits\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsLimitsGetOKData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsLimitsGetOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsLimitsGetOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsRecoverPostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsRecoverPostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsRecoverPostOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2CardsRecoverPostOK from json.
+func (s *ContentV2CardsRecoverPostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsRecoverPostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsRecoverPostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsRecoverPostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsRecoverPostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsRecoverPostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsRecoverPostOKAdditionalErrors) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV2CardsRecoverPostOKAdditionalErrors = [0]string{}
+
+// Decode decodes ContentV2CardsRecoverPostOKAdditionalErrors from json.
+func (s *ContentV2CardsRecoverPostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsRecoverPostOKAdditionalErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsRecoverPostOKAdditionalErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsRecoverPostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsRecoverPostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsRecoverPostOKData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsRecoverPostOKData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV2CardsRecoverPostOKData = [0]string{}
+
+// Decode decodes ContentV2CardsRecoverPostOKData from json.
+func (s *ContentV2CardsRecoverPostOKData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsRecoverPostOKData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsRecoverPostOKData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsRecoverPostOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsRecoverPostOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsRecoverPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsRecoverPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmIDs != nil {
+ e.FieldStart("nmIDs")
+ e.ArrStart()
+ for _, elem := range s.NmIDs {
+ e.Int(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsRecoverPostReq = [1]string{
+ 0: "nmIDs",
+}
+
+// Decode decodes ContentV2CardsRecoverPostReq from json.
+func (s *ContentV2CardsRecoverPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsRecoverPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmIDs":
+ if err := func() error {
+ s.NmIDs = make([]int, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem int
+ v, err := d.Int()
+ elem = int(v)
+ if err != nil {
+ return err
+ }
+ s.NmIDs = append(s.NmIDs, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmIDs\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsRecoverPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsRecoverPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsRecoverPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUpdatePostReqItem) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("nmID")
+ e.Int(s.NmID)
+ }
+ {
+ e.FieldStart("vendorCode")
+ e.Str(s.VendorCode)
+ }
+ {
+ if s.Brand.Set {
+ e.FieldStart("brand")
+ s.Brand.Encode(e)
+ }
+ }
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Description.Set {
+ e.FieldStart("description")
+ s.Description.Encode(e)
+ }
+ }
+ {
+ if s.Dimensions.Set {
+ e.FieldStart("dimensions")
+ s.Dimensions.Encode(e)
+ }
+ }
+ {
+ if s.Characteristics != nil {
+ e.FieldStart("characteristics")
+ e.ArrStart()
+ for _, elem := range s.Characteristics {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ e.FieldStart("sizes")
+ e.ArrStart()
+ for _, elem := range s.Sizes {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUpdatePostReqItem = [8]string{
+ 0: "nmID",
+ 1: "vendorCode",
+ 2: "brand",
+ 3: "title",
+ 4: "description",
+ 5: "dimensions",
+ 6: "characteristics",
+ 7: "sizes",
+}
+
+// Decode decodes ContentV2CardsUpdatePostReqItem from json.
+func (s *ContentV2CardsUpdatePostReqItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUpdatePostReqItem to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Int()
+ s.NmID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "vendorCode":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.Str()
+ s.VendorCode = string(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "brand":
+ if err := func() error {
+ s.Brand.Reset()
+ if err := s.Brand.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"brand\"")
+ }
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "description":
+ if err := func() error {
+ s.Description.Reset()
+ if err := s.Description.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"description\"")
+ }
+ case "dimensions":
+ if err := func() error {
+ s.Dimensions.Reset()
+ if err := s.Dimensions.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"dimensions\"")
+ }
+ case "characteristics":
+ if err := func() error {
+ s.Characteristics = make([]ContentV2CardsUpdatePostReqItemCharacteristicsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUpdatePostReqItemCharacteristicsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Characteristics = append(s.Characteristics, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"characteristics\"")
+ }
+ case "sizes":
+ requiredBitSet[0] |= 1 << 7
+ if err := func() error {
+ s.Sizes = make([]ContentV2CardsUpdatePostReqItemSizesItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUpdatePostReqItemSizesItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Sizes = append(s.Sizes, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizes\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUpdatePostReqItem")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b10000011,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfContentV2CardsUpdatePostReqItem) {
+ name = jsonFieldsNameOfContentV2CardsUpdatePostReqItem[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUpdatePostReqItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if len(s.Value) != 0 {
+ e.FieldStart("value")
+ e.Raw(s.Value)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUpdatePostReqItemCharacteristicsItem = [2]string{
+ 0: "id",
+ 1: "value",
+}
+
+// Decode decodes ContentV2CardsUpdatePostReqItemCharacteristicsItem from json.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUpdatePostReqItemCharacteristicsItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "value":
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Value = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"value\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUpdatePostReqItemCharacteristicsItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) encodeFields(e *jx.Encoder) {
+ {
+ if s.Length.Set {
+ e.FieldStart("length")
+ s.Length.Encode(e)
+ }
+ }
+ {
+ if s.Width.Set {
+ e.FieldStart("width")
+ s.Width.Encode(e)
+ }
+ }
+ {
+ if s.Height.Set {
+ e.FieldStart("height")
+ s.Height.Encode(e)
+ }
+ }
+ {
+ if s.WeightBrutto.Set {
+ e.FieldStart("weightBrutto")
+ s.WeightBrutto.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUpdatePostReqItemDimensions = [4]string{
+ 0: "length",
+ 1: "width",
+ 2: "height",
+ 3: "weightBrutto",
+}
+
+// Decode decodes ContentV2CardsUpdatePostReqItemDimensions from json.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUpdatePostReqItemDimensions to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "length":
+ if err := func() error {
+ s.Length.Reset()
+ if err := s.Length.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"length\"")
+ }
+ case "width":
+ if err := func() error {
+ s.Width.Reset()
+ if err := s.Width.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"width\"")
+ }
+ case "height":
+ if err := func() error {
+ s.Height.Reset()
+ if err := s.Height.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"height\"")
+ }
+ case "weightBrutto":
+ if err := func() error {
+ s.WeightBrutto.Reset()
+ if err := s.WeightBrutto.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"weightBrutto\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUpdatePostReqItemDimensions")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.ChrtID.Set {
+ e.FieldStart("chrtID")
+ s.ChrtID.Encode(e)
+ }
+ }
+ {
+ if s.TechSize.Set {
+ e.FieldStart("techSize")
+ s.TechSize.Encode(e)
+ }
+ }
+ {
+ if s.WbSize.Set {
+ e.FieldStart("wbSize")
+ s.WbSize.Encode(e)
+ }
+ }
+ {
+ if s.Skus != nil {
+ e.FieldStart("skus")
+ e.ArrStart()
+ for _, elem := range s.Skus {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUpdatePostReqItemSizesItem = [4]string{
+ 0: "chrtID",
+ 1: "techSize",
+ 2: "wbSize",
+ 3: "skus",
+}
+
+// Decode decodes ContentV2CardsUpdatePostReqItemSizesItem from json.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUpdatePostReqItemSizesItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "chrtID":
+ if err := func() error {
+ s.ChrtID.Reset()
+ if err := s.ChrtID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"chrtID\"")
+ }
+ case "techSize":
+ if err := func() error {
+ s.TechSize.Reset()
+ if err := s.TechSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSize\"")
+ }
+ case "wbSize":
+ if err := func() error {
+ s.WbSize.Reset()
+ if err := s.WbSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"wbSize\"")
+ }
+ case "skus":
+ if err := func() error {
+ s.Skus = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Skus = append(s.Skus, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"skus\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUpdatePostReqItemSizesItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) encodeFields(e *jx.Encoder) {
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Detail.Set {
+ e.FieldStart("detail")
+ s.Detail.Encode(e)
+ }
+ }
+ {
+ if s.Code.Set {
+ e.FieldStart("code")
+ s.Code.Encode(e)
+ }
+ }
+ {
+ if s.RequestId.Set {
+ e.FieldStart("requestId")
+ s.RequestId.Encode(e)
+ }
+ }
+ {
+ if s.Origin.Set {
+ e.FieldStart("origin")
+ s.Origin.Encode(e)
+ }
+ }
+ {
+ if s.Status.Set {
+ e.FieldStart("status")
+ s.Status.Encode(e)
+ }
+ }
+ {
+ if s.StatusText.Set {
+ e.FieldStart("statusText")
+ s.StatusText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUpdatePostRequestEntityTooLarge = [7]string{
+ 0: "title",
+ 1: "detail",
+ 2: "code",
+ 3: "requestId",
+ 4: "origin",
+ 5: "status",
+ 6: "statusText",
+}
+
+// Decode decodes ContentV2CardsUpdatePostRequestEntityTooLarge from json.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUpdatePostRequestEntityTooLarge to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "detail":
+ if err := func() error {
+ s.Detail.Reset()
+ if err := s.Detail.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"detail\"")
+ }
+ case "code":
+ if err := func() error {
+ s.Code.Reset()
+ if err := s.Code.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"code\"")
+ }
+ case "requestId":
+ if err := func() error {
+ s.RequestId.Reset()
+ if err := s.RequestId.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"requestId\"")
+ }
+ case "origin":
+ if err := func() error {
+ s.Origin.Reset()
+ if err := s.Origin.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"origin\"")
+ }
+ case "status":
+ if err := func() error {
+ s.Status.Reset()
+ if err := s.Status.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"status\"")
+ }
+ case "statusText":
+ if err := func() error {
+ s.StatusText.Reset()
+ if err := s.StatusText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"statusText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUpdatePostRequestEntityTooLarge")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadAddPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadAddPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.ImtID.Set {
+ e.FieldStart("imtID")
+ s.ImtID.Encode(e)
+ }
+ }
+ {
+ if s.CardsToAdd != nil {
+ e.FieldStart("cardsToAdd")
+ e.ArrStart()
+ for _, elem := range s.CardsToAdd {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadAddPostReq = [2]string{
+ 0: "imtID",
+ 1: "cardsToAdd",
+}
+
+// Decode decodes ContentV2CardsUploadAddPostReq from json.
+func (s *ContentV2CardsUploadAddPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadAddPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "imtID":
+ if err := func() error {
+ s.ImtID.Reset()
+ if err := s.ImtID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"imtID\"")
+ }
+ case "cardsToAdd":
+ if err := func() error {
+ s.CardsToAdd = make([]ContentV2CardsUploadAddPostReqCardsToAddItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUploadAddPostReqCardsToAddItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.CardsToAdd = append(s.CardsToAdd, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cardsToAdd\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadAddPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadAddPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadAddPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Brand.Set {
+ e.FieldStart("brand")
+ s.Brand.Encode(e)
+ }
+ }
+ {
+ e.FieldStart("vendorCode")
+ e.Str(s.VendorCode)
+ }
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Description.Set {
+ e.FieldStart("description")
+ s.Description.Encode(e)
+ }
+ }
+ {
+ if s.Dimensions.Set {
+ e.FieldStart("dimensions")
+ s.Dimensions.Encode(e)
+ }
+ }
+ {
+ if s.Sizes != nil {
+ e.FieldStart("sizes")
+ e.ArrStart()
+ for _, elem := range s.Sizes {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Characteristics != nil {
+ e.FieldStart("characteristics")
+ e.ArrStart()
+ for _, elem := range s.Characteristics {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItem = [7]string{
+ 0: "brand",
+ 1: "vendorCode",
+ 2: "title",
+ 3: "description",
+ 4: "dimensions",
+ 5: "sizes",
+ 6: "characteristics",
+}
+
+// Decode decodes ContentV2CardsUploadAddPostReqCardsToAddItem from json.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadAddPostReqCardsToAddItem to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "brand":
+ if err := func() error {
+ s.Brand.Reset()
+ if err := s.Brand.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"brand\"")
+ }
+ case "vendorCode":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.Str()
+ s.VendorCode = string(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "description":
+ if err := func() error {
+ s.Description.Reset()
+ if err := s.Description.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"description\"")
+ }
+ case "dimensions":
+ if err := func() error {
+ s.Dimensions.Reset()
+ if err := s.Dimensions.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"dimensions\"")
+ }
+ case "sizes":
+ if err := func() error {
+ s.Sizes = make([]ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Sizes = append(s.Sizes, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizes\"")
+ }
+ case "characteristics":
+ if err := func() error {
+ s.Characteristics = make([]ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Characteristics = append(s.Characteristics, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"characteristics\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadAddPostReqCardsToAddItem")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000010,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItem) {
+ name = jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItem[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("id")
+ e.Int(s.ID)
+ }
+ {
+ if len(s.Value) != 0 {
+ e.FieldStart("value")
+ e.Raw(s.Value)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem = [2]string{
+ 0: "id",
+ 1: "value",
+}
+
+// Decode decodes ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem from json.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Int()
+ s.ID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "value":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Value = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"value\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000011,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) {
+ name = jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) encodeFields(e *jx.Encoder) {
+ {
+ if s.Length.Set {
+ e.FieldStart("length")
+ s.Length.Encode(e)
+ }
+ }
+ {
+ if s.Width.Set {
+ e.FieldStart("width")
+ s.Width.Encode(e)
+ }
+ }
+ {
+ if s.Height.Set {
+ e.FieldStart("height")
+ s.Height.Encode(e)
+ }
+ }
+ {
+ if s.WeightBrutto.Set {
+ e.FieldStart("weightBrutto")
+ s.WeightBrutto.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItemDimensions = [4]string{
+ 0: "length",
+ 1: "width",
+ 2: "height",
+ 3: "weightBrutto",
+}
+
+// Decode decodes ContentV2CardsUploadAddPostReqCardsToAddItemDimensions from json.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadAddPostReqCardsToAddItemDimensions to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "length":
+ if err := func() error {
+ s.Length.Reset()
+ if err := s.Length.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"length\"")
+ }
+ case "width":
+ if err := func() error {
+ s.Width.Reset()
+ if err := s.Width.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"width\"")
+ }
+ case "height":
+ if err := func() error {
+ s.Height.Reset()
+ if err := s.Height.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"height\"")
+ }
+ case "weightBrutto":
+ if err := func() error {
+ s.WeightBrutto.Reset()
+ if err := s.WeightBrutto.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"weightBrutto\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadAddPostReqCardsToAddItemDimensions")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.TechSize.Set {
+ e.FieldStart("techSize")
+ s.TechSize.Encode(e)
+ }
+ }
+ {
+ if s.WbSize.Set {
+ e.FieldStart("wbSize")
+ s.WbSize.Encode(e)
+ }
+ }
+ {
+ if s.Price.Set {
+ e.FieldStart("price")
+ s.Price.Encode(e)
+ }
+ }
+ {
+ if s.Skus != nil {
+ e.FieldStart("skus")
+ e.ArrStart()
+ for _, elem := range s.Skus {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadAddPostReqCardsToAddItemSizesItem = [4]string{
+ 0: "techSize",
+ 1: "wbSize",
+ 2: "price",
+ 3: "skus",
+}
+
+// Decode decodes ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem from json.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "techSize":
+ if err := func() error {
+ s.TechSize.Reset()
+ if err := s.TechSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSize\"")
+ }
+ case "wbSize":
+ if err := func() error {
+ s.WbSize.Reset()
+ if err := s.WbSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"wbSize\"")
+ }
+ case "price":
+ if err := func() error {
+ s.Price.Reset()
+ if err := s.Price.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ case "skus":
+ if err := func() error {
+ s.Skus = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Skus = append(s.Skus, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"skus\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) encodeFields(e *jx.Encoder) {
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Detail.Set {
+ e.FieldStart("detail")
+ s.Detail.Encode(e)
+ }
+ }
+ {
+ if s.Code.Set {
+ e.FieldStart("code")
+ s.Code.Encode(e)
+ }
+ }
+ {
+ if s.RequestId.Set {
+ e.FieldStart("requestId")
+ s.RequestId.Encode(e)
+ }
+ }
+ {
+ if s.Origin.Set {
+ e.FieldStart("origin")
+ s.Origin.Encode(e)
+ }
+ }
+ {
+ if s.Status.Set {
+ e.FieldStart("status")
+ s.Status.Encode(e)
+ }
+ }
+ {
+ if s.StatusText.Set {
+ e.FieldStart("statusText")
+ s.StatusText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadAddPostRequestEntityTooLarge = [7]string{
+ 0: "title",
+ 1: "detail",
+ 2: "code",
+ 3: "requestId",
+ 4: "origin",
+ 5: "status",
+ 6: "statusText",
+}
+
+// Decode decodes ContentV2CardsUploadAddPostRequestEntityTooLarge from json.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadAddPostRequestEntityTooLarge to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "detail":
+ if err := func() error {
+ s.Detail.Reset()
+ if err := s.Detail.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"detail\"")
+ }
+ case "code":
+ if err := func() error {
+ s.Code.Reset()
+ if err := s.Code.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"code\"")
+ }
+ case "requestId":
+ if err := func() error {
+ s.RequestId.Reset()
+ if err := s.RequestId.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"requestId\"")
+ }
+ case "origin":
+ if err := func() error {
+ s.Origin.Reset()
+ if err := s.Origin.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"origin\"")
+ }
+ case "status":
+ if err := func() error {
+ s.Status.Reset()
+ if err := s.Status.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"status\"")
+ }
+ case "statusText":
+ if err := func() error {
+ s.StatusText.Reset()
+ if err := s.StatusText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"statusText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadAddPostRequestEntityTooLarge")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadPostReqItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadPostReqItem) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("subjectID")
+ e.Int(s.SubjectID)
+ }
+ {
+ e.FieldStart("variants")
+ e.ArrStart()
+ for _, elem := range s.Variants {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadPostReqItem = [2]string{
+ 0: "subjectID",
+ 1: "variants",
+}
+
+// Decode decodes ContentV2CardsUploadPostReqItem from json.
+func (s *ContentV2CardsUploadPostReqItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadPostReqItem to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "subjectID":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Int()
+ s.SubjectID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectID\"")
+ }
+ case "variants":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ s.Variants = make([]ContentV2CardsUploadPostReqItemVariantsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUploadPostReqItemVariantsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Variants = append(s.Variants, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"variants\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadPostReqItem")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000011,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfContentV2CardsUploadPostReqItem) {
+ name = jsonFieldsNameOfContentV2CardsUploadPostReqItem[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadPostReqItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadPostReqItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Brand.Set {
+ e.FieldStart("brand")
+ s.Brand.Encode(e)
+ }
+ }
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Description.Set {
+ e.FieldStart("description")
+ s.Description.Encode(e)
+ }
+ }
+ {
+ e.FieldStart("vendorCode")
+ e.Str(s.VendorCode)
+ }
+ {
+ if s.Dimensions.Set {
+ e.FieldStart("dimensions")
+ s.Dimensions.Encode(e)
+ }
+ }
+ {
+ if s.Sizes != nil {
+ e.FieldStart("sizes")
+ e.ArrStart()
+ for _, elem := range s.Sizes {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Characteristics != nil {
+ e.FieldStart("characteristics")
+ e.ArrStart()
+ for _, elem := range s.Characteristics {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItem = [7]string{
+ 0: "brand",
+ 1: "title",
+ 2: "description",
+ 3: "vendorCode",
+ 4: "dimensions",
+ 5: "sizes",
+ 6: "characteristics",
+}
+
+// Decode decodes ContentV2CardsUploadPostReqItemVariantsItem from json.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadPostReqItemVariantsItem to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "brand":
+ if err := func() error {
+ s.Brand.Reset()
+ if err := s.Brand.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"brand\"")
+ }
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "description":
+ if err := func() error {
+ s.Description.Reset()
+ if err := s.Description.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"description\"")
+ }
+ case "vendorCode":
+ requiredBitSet[0] |= 1 << 3
+ if err := func() error {
+ v, err := d.Str()
+ s.VendorCode = string(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "dimensions":
+ if err := func() error {
+ s.Dimensions.Reset()
+ if err := s.Dimensions.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"dimensions\"")
+ }
+ case "sizes":
+ if err := func() error {
+ s.Sizes = make([]ContentV2CardsUploadPostReqItemVariantsItemSizesItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUploadPostReqItemVariantsItemSizesItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Sizes = append(s.Sizes, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizes\"")
+ }
+ case "characteristics":
+ if err := func() error {
+ s.Characteristics = make([]ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Characteristics = append(s.Characteristics, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"characteristics\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadPostReqItemVariantsItem")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00001000,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItem) {
+ name = jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItem[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("id")
+ e.Int(s.ID)
+ }
+ {
+ if len(s.Value) != 0 {
+ e.FieldStart("value")
+ e.Raw(s.Value)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem = [2]string{
+ 0: "id",
+ 1: "value",
+}
+
+// Decode decodes ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem from json.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Int()
+ s.ID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "value":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Value = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"value\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000011,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) {
+ name = jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) encodeFields(e *jx.Encoder) {
+ {
+ if s.Length.Set {
+ e.FieldStart("length")
+ s.Length.Encode(e)
+ }
+ }
+ {
+ if s.Width.Set {
+ e.FieldStart("width")
+ s.Width.Encode(e)
+ }
+ }
+ {
+ if s.Height.Set {
+ e.FieldStart("height")
+ s.Height.Encode(e)
+ }
+ }
+ {
+ if s.WeightBrutto.Set {
+ e.FieldStart("weightBrutto")
+ s.WeightBrutto.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItemDimensions = [4]string{
+ 0: "length",
+ 1: "width",
+ 2: "height",
+ 3: "weightBrutto",
+}
+
+// Decode decodes ContentV2CardsUploadPostReqItemVariantsItemDimensions from json.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadPostReqItemVariantsItemDimensions to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "length":
+ if err := func() error {
+ s.Length.Reset()
+ if err := s.Length.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"length\"")
+ }
+ case "width":
+ if err := func() error {
+ s.Width.Reset()
+ if err := s.Width.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"width\"")
+ }
+ case "height":
+ if err := func() error {
+ s.Height.Reset()
+ if err := s.Height.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"height\"")
+ }
+ case "weightBrutto":
+ if err := func() error {
+ s.WeightBrutto.Reset()
+ if err := s.WeightBrutto.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"weightBrutto\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadPostReqItemVariantsItemDimensions")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.TechSize.Set {
+ e.FieldStart("techSize")
+ s.TechSize.Encode(e)
+ }
+ }
+ {
+ if s.WbSize.Set {
+ e.FieldStart("wbSize")
+ s.WbSize.Encode(e)
+ }
+ }
+ {
+ if s.Price.Set {
+ e.FieldStart("price")
+ s.Price.Encode(e)
+ }
+ }
+ {
+ if s.Skus != nil {
+ e.FieldStart("skus")
+ e.ArrStart()
+ for _, elem := range s.Skus {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadPostReqItemVariantsItemSizesItem = [4]string{
+ 0: "techSize",
+ 1: "wbSize",
+ 2: "price",
+ 3: "skus",
+}
+
+// Decode decodes ContentV2CardsUploadPostReqItemVariantsItemSizesItem from json.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadPostReqItemVariantsItemSizesItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "techSize":
+ if err := func() error {
+ s.TechSize.Reset()
+ if err := s.TechSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSize\"")
+ }
+ case "wbSize":
+ if err := func() error {
+ s.WbSize.Reset()
+ if err := s.WbSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"wbSize\"")
+ }
+ case "price":
+ if err := func() error {
+ s.Price.Reset()
+ if err := s.Price.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ case "skus":
+ if err := func() error {
+ s.Skus = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Skus = append(s.Skus, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"skus\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadPostReqItemVariantsItemSizesItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) encodeFields(e *jx.Encoder) {
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Detail.Set {
+ e.FieldStart("detail")
+ s.Detail.Encode(e)
+ }
+ }
+ {
+ if s.Code.Set {
+ e.FieldStart("code")
+ s.Code.Encode(e)
+ }
+ }
+ {
+ if s.RequestId.Set {
+ e.FieldStart("requestId")
+ s.RequestId.Encode(e)
+ }
+ }
+ {
+ if s.Origin.Set {
+ e.FieldStart("origin")
+ s.Origin.Encode(e)
+ }
+ }
+ {
+ if s.Status.Set {
+ e.FieldStart("status")
+ s.Status.Encode(e)
+ }
+ }
+ {
+ if s.StatusText.Set {
+ e.FieldStart("statusText")
+ s.StatusText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2CardsUploadPostRequestEntityTooLarge = [7]string{
+ 0: "title",
+ 1: "detail",
+ 2: "code",
+ 3: "requestId",
+ 4: "origin",
+ 5: "status",
+ 6: "statusText",
+}
+
+// Decode decodes ContentV2CardsUploadPostRequestEntityTooLarge from json.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2CardsUploadPostRequestEntityTooLarge to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "detail":
+ if err := func() error {
+ s.Detail.Reset()
+ if err := s.Detail.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"detail\"")
+ }
+ case "code":
+ if err := func() error {
+ s.Code.Reset()
+ if err := s.Code.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"code\"")
+ }
+ case "requestId":
+ if err := func() error {
+ s.RequestId.Reset()
+ if err := s.RequestId.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"requestId\"")
+ }
+ case "origin":
+ if err := func() error {
+ s.Origin.Reset()
+ if err := s.Origin.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"origin\"")
+ }
+ case "status":
+ if err := func() error {
+ s.Status.Reset()
+ if err := s.Status.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"status\"")
+ }
+ case "statusText":
+ if err := func() error {
+ s.StatusText.Reset()
+ if err := s.StatusText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"statusText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2CardsUploadPostRequestEntityTooLarge")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2DirectoryColorsGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2DirectoryColorsGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if len(s.Data) != 0 {
+ e.FieldStart("data")
+ e.Raw(s.Data)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2DirectoryColorsGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2DirectoryColorsGetOK from json.
+func (s *ContentV2DirectoryColorsGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2DirectoryColorsGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Data = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2DirectoryColorsGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2DirectoryColorsGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2DirectoryColorsGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2DirectoryCountriesGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2DirectoryCountriesGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if len(s.Data) != 0 {
+ e.FieldStart("data")
+ e.Raw(s.Data)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2DirectoryCountriesGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2DirectoryCountriesGetOK from json.
+func (s *ContentV2DirectoryCountriesGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2DirectoryCountriesGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Data = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2DirectoryCountriesGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2DirectoryCountriesGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2DirectoryCountriesGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2DirectoryKindsGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2DirectoryKindsGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2DirectoryKindsGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2DirectoryKindsGetOK from json.
+func (s *ContentV2DirectoryKindsGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2DirectoryKindsGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2DirectoryKindsGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2DirectoryKindsGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2DirectoryKindsGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2DirectorySeasonsGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2DirectorySeasonsGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2DirectorySeasonsGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2DirectorySeasonsGetOK from json.
+func (s *ContentV2DirectorySeasonsGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2DirectorySeasonsGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2DirectorySeasonsGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2DirectorySeasonsGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2DirectorySeasonsGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2DirectoryTnvedGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2DirectoryTnvedGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2DirectoryTnvedGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2DirectoryTnvedGetOK from json.
+func (s *ContentV2DirectoryTnvedGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2DirectoryTnvedGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]ContentV2DirectoryTnvedGetOKDataItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2DirectoryTnvedGetOKDataItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2DirectoryTnvedGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2DirectoryTnvedGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2DirectoryTnvedGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Tnved.Set {
+ e.FieldStart("tnved")
+ s.Tnved.Encode(e)
+ }
+ }
+ {
+ if s.IsKiz.Set {
+ e.FieldStart("isKiz")
+ s.IsKiz.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2DirectoryTnvedGetOKDataItem = [2]string{
+ 0: "tnved",
+ 1: "isKiz",
+}
+
+// Decode decodes ContentV2DirectoryTnvedGetOKDataItem from json.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2DirectoryTnvedGetOKDataItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "tnved":
+ if err := func() error {
+ s.Tnved.Reset()
+ if err := s.Tnved.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"tnved\"")
+ }
+ case "isKiz":
+ if err := func() error {
+ s.IsKiz.Reset()
+ if err := s.IsKiz.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"isKiz\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2DirectoryTnvedGetOKDataItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2DirectoryVatGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2DirectoryVatGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2DirectoryVatGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2DirectoryVatGetOK from json.
+func (s *ContentV2DirectoryVatGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2DirectoryVatGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2DirectoryVatGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2DirectoryVatGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2DirectoryVatGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Cards != nil {
+ e.FieldStart("cards")
+ e.ArrStart()
+ for _, elem := range s.Cards {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Cursor.Set {
+ e.FieldStart("cursor")
+ s.Cursor.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOK = [2]string{
+ 0: "cards",
+ 1: "cursor",
+}
+
+// Decode decodes ContentV2GetCardsListPostOK from json.
+func (s *ContentV2GetCardsListPostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "cards":
+ if err := func() error {
+ s.Cards = make([]ContentV2GetCardsListPostOKCardsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsListPostOKCardsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Cards = append(s.Cards, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cards\"")
+ }
+ case "cursor":
+ if err := func() error {
+ s.Cursor.Reset()
+ if err := s.Cursor.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cursor\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOKCardsItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.ImtID.Set {
+ e.FieldStart("imtID")
+ s.ImtID.Encode(e)
+ }
+ }
+ {
+ if s.NmUUID.Set {
+ e.FieldStart("nmUUID")
+ s.NmUUID.Encode(e)
+ }
+ }
+ {
+ if s.SubjectID.Set {
+ e.FieldStart("subjectID")
+ s.SubjectID.Encode(e)
+ }
+ }
+ {
+ if s.SubjectName.Set {
+ e.FieldStart("subjectName")
+ s.SubjectName.Encode(e)
+ }
+ }
+ {
+ if s.VendorCode.Set {
+ e.FieldStart("vendorCode")
+ s.VendorCode.Encode(e)
+ }
+ }
+ {
+ if s.Brand.Set {
+ e.FieldStart("brand")
+ s.Brand.Encode(e)
+ }
+ }
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Description.Set {
+ e.FieldStart("description")
+ s.Description.Encode(e)
+ }
+ }
+ {
+ if s.NeedKiz.Set {
+ e.FieldStart("needKiz")
+ s.NeedKiz.Encode(e)
+ }
+ }
+ {
+ if s.Photos != nil {
+ e.FieldStart("photos")
+ e.ArrStart()
+ for _, elem := range s.Photos {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Video.Set {
+ e.FieldStart("video")
+ s.Video.Encode(e)
+ }
+ }
+ {
+ if s.Dimensions.Set {
+ e.FieldStart("dimensions")
+ s.Dimensions.Encode(e)
+ }
+ }
+ {
+ if s.Characteristics != nil {
+ e.FieldStart("characteristics")
+ e.ArrStart()
+ for _, elem := range s.Characteristics {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Sizes != nil {
+ e.FieldStart("sizes")
+ e.ArrStart()
+ for _, elem := range s.Sizes {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Tags != nil {
+ e.FieldStart("tags")
+ e.ArrStart()
+ for _, elem := range s.Tags {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.CreatedAt.Set {
+ e.FieldStart("createdAt")
+ s.CreatedAt.Encode(e)
+ }
+ }
+ {
+ if s.UpdatedAt.Set {
+ e.FieldStart("updatedAt")
+ s.UpdatedAt.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOKCardsItem = [18]string{
+ 0: "nmID",
+ 1: "imtID",
+ 2: "nmUUID",
+ 3: "subjectID",
+ 4: "subjectName",
+ 5: "vendorCode",
+ 6: "brand",
+ 7: "title",
+ 8: "description",
+ 9: "needKiz",
+ 10: "photos",
+ 11: "video",
+ 12: "dimensions",
+ 13: "characteristics",
+ 14: "sizes",
+ 15: "tags",
+ 16: "createdAt",
+ 17: "updatedAt",
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCardsItem from json.
+func (s *ContentV2GetCardsListPostOKCardsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOKCardsItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "imtID":
+ if err := func() error {
+ s.ImtID.Reset()
+ if err := s.ImtID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"imtID\"")
+ }
+ case "nmUUID":
+ if err := func() error {
+ s.NmUUID.Reset()
+ if err := s.NmUUID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmUUID\"")
+ }
+ case "subjectID":
+ if err := func() error {
+ s.SubjectID.Reset()
+ if err := s.SubjectID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectID\"")
+ }
+ case "subjectName":
+ if err := func() error {
+ s.SubjectName.Reset()
+ if err := s.SubjectName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectName\"")
+ }
+ case "vendorCode":
+ if err := func() error {
+ s.VendorCode.Reset()
+ if err := s.VendorCode.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "brand":
+ if err := func() error {
+ s.Brand.Reset()
+ if err := s.Brand.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"brand\"")
+ }
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "description":
+ if err := func() error {
+ s.Description.Reset()
+ if err := s.Description.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"description\"")
+ }
+ case "needKiz":
+ if err := func() error {
+ s.NeedKiz.Reset()
+ if err := s.NeedKiz.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"needKiz\"")
+ }
+ case "photos":
+ if err := func() error {
+ s.Photos = make([]ContentV2GetCardsListPostOKCardsItemPhotosItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsListPostOKCardsItemPhotosItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Photos = append(s.Photos, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"photos\"")
+ }
+ case "video":
+ if err := func() error {
+ s.Video.Reset()
+ if err := s.Video.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"video\"")
+ }
+ case "dimensions":
+ if err := func() error {
+ s.Dimensions.Reset()
+ if err := s.Dimensions.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"dimensions\"")
+ }
+ case "characteristics":
+ if err := func() error {
+ s.Characteristics = make([]ContentV2GetCardsListPostOKCardsItemCharacteristicsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsListPostOKCardsItemCharacteristicsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Characteristics = append(s.Characteristics, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"characteristics\"")
+ }
+ case "sizes":
+ if err := func() error {
+ s.Sizes = make([]ContentV2GetCardsListPostOKCardsItemSizesItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsListPostOKCardsItemSizesItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Sizes = append(s.Sizes, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizes\"")
+ }
+ case "tags":
+ if err := func() error {
+ s.Tags = make([]ContentV2GetCardsListPostOKCardsItemTagsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsListPostOKCardsItemTagsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Tags = append(s.Tags, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"tags\"")
+ }
+ case "createdAt":
+ if err := func() error {
+ s.CreatedAt.Reset()
+ if err := s.CreatedAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"createdAt\"")
+ }
+ case "updatedAt":
+ if err := func() error {
+ s.UpdatedAt.Reset()
+ if err := s.UpdatedAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"updatedAt\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOKCardsItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOKCardsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if s.Name.Set {
+ e.FieldStart("name")
+ s.Name.Encode(e)
+ }
+ }
+ {
+ if len(s.Value) != 0 {
+ e.FieldStart("value")
+ e.Raw(s.Value)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOKCardsItemCharacteristicsItem = [3]string{
+ 0: "id",
+ 1: "name",
+ 2: "value",
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCardsItemCharacteristicsItem from json.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOKCardsItemCharacteristicsItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "name":
+ if err := func() error {
+ s.Name.Reset()
+ if err := s.Name.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "value":
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Value = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"value\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOKCardsItemCharacteristicsItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) encodeFields(e *jx.Encoder) {
+ {
+ if s.Length.Set {
+ e.FieldStart("length")
+ s.Length.Encode(e)
+ }
+ }
+ {
+ if s.Width.Set {
+ e.FieldStart("width")
+ s.Width.Encode(e)
+ }
+ }
+ {
+ if s.Height.Set {
+ e.FieldStart("height")
+ s.Height.Encode(e)
+ }
+ }
+ {
+ if s.WeightBrutto.Set {
+ e.FieldStart("weightBrutto")
+ s.WeightBrutto.Encode(e)
+ }
+ }
+ {
+ if s.IsValid.Set {
+ e.FieldStart("isValid")
+ s.IsValid.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOKCardsItemDimensions = [5]string{
+ 0: "length",
+ 1: "width",
+ 2: "height",
+ 3: "weightBrutto",
+ 4: "isValid",
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCardsItemDimensions from json.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOKCardsItemDimensions to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "length":
+ if err := func() error {
+ s.Length.Reset()
+ if err := s.Length.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"length\"")
+ }
+ case "width":
+ if err := func() error {
+ s.Width.Reset()
+ if err := s.Width.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"width\"")
+ }
+ case "height":
+ if err := func() error {
+ s.Height.Reset()
+ if err := s.Height.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"height\"")
+ }
+ case "weightBrutto":
+ if err := func() error {
+ s.WeightBrutto.Reset()
+ if err := s.WeightBrutto.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"weightBrutto\"")
+ }
+ case "isValid":
+ if err := func() error {
+ s.IsValid.Reset()
+ if err := s.IsValid.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"isValid\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOKCardsItemDimensions")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Big.Set {
+ e.FieldStart("big")
+ s.Big.Encode(e)
+ }
+ }
+ {
+ if s.C246x328.Set {
+ e.FieldStart("c246x328")
+ s.C246x328.Encode(e)
+ }
+ }
+ {
+ if s.C516x688.Set {
+ e.FieldStart("c516x688")
+ s.C516x688.Encode(e)
+ }
+ }
+ {
+ if s.Square.Set {
+ e.FieldStart("square")
+ s.Square.Encode(e)
+ }
+ }
+ {
+ if s.Tm.Set {
+ e.FieldStart("tm")
+ s.Tm.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOKCardsItemPhotosItem = [5]string{
+ 0: "big",
+ 1: "c246x328",
+ 2: "c516x688",
+ 3: "square",
+ 4: "tm",
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCardsItemPhotosItem from json.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOKCardsItemPhotosItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "big":
+ if err := func() error {
+ s.Big.Reset()
+ if err := s.Big.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"big\"")
+ }
+ case "c246x328":
+ if err := func() error {
+ s.C246x328.Reset()
+ if err := s.C246x328.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"c246x328\"")
+ }
+ case "c516x688":
+ if err := func() error {
+ s.C516x688.Reset()
+ if err := s.C516x688.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"c516x688\"")
+ }
+ case "square":
+ if err := func() error {
+ s.Square.Reset()
+ if err := s.Square.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"square\"")
+ }
+ case "tm":
+ if err := func() error {
+ s.Tm.Reset()
+ if err := s.Tm.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"tm\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOKCardsItemPhotosItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.ChrtID.Set {
+ e.FieldStart("chrtID")
+ s.ChrtID.Encode(e)
+ }
+ }
+ {
+ if s.TechSize.Set {
+ e.FieldStart("techSize")
+ s.TechSize.Encode(e)
+ }
+ }
+ {
+ if s.WbSize.Set {
+ e.FieldStart("wbSize")
+ s.WbSize.Encode(e)
+ }
+ }
+ {
+ if s.Skus != nil {
+ e.FieldStart("skus")
+ e.ArrStart()
+ for _, elem := range s.Skus {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOKCardsItemSizesItem = [4]string{
+ 0: "chrtID",
+ 1: "techSize",
+ 2: "wbSize",
+ 3: "skus",
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCardsItemSizesItem from json.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOKCardsItemSizesItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "chrtID":
+ if err := func() error {
+ s.ChrtID.Reset()
+ if err := s.ChrtID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"chrtID\"")
+ }
+ case "techSize":
+ if err := func() error {
+ s.TechSize.Reset()
+ if err := s.TechSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSize\"")
+ }
+ case "wbSize":
+ if err := func() error {
+ s.WbSize.Reset()
+ if err := s.WbSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"wbSize\"")
+ }
+ case "skus":
+ if err := func() error {
+ s.Skus = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Skus = append(s.Skus, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"skus\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOKCardsItemSizesItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if s.Name.Set {
+ e.FieldStart("name")
+ s.Name.Encode(e)
+ }
+ }
+ {
+ if s.Color.Set {
+ e.FieldStart("color")
+ s.Color.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOKCardsItemTagsItem = [3]string{
+ 0: "id",
+ 1: "name",
+ 2: "color",
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCardsItemTagsItem from json.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOKCardsItemTagsItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "name":
+ if err := func() error {
+ s.Name.Reset()
+ if err := s.Name.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "color":
+ if err := func() error {
+ s.Color.Reset()
+ if err := s.Color.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"color\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOKCardsItemTagsItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostOKCursor) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostOKCursor) encodeFields(e *jx.Encoder) {
+ {
+ if s.UpdatedAt.Set {
+ e.FieldStart("updatedAt")
+ s.UpdatedAt.Encode(e)
+ }
+ }
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.Total.Set {
+ e.FieldStart("total")
+ s.Total.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostOKCursor = [3]string{
+ 0: "updatedAt",
+ 1: "nmID",
+ 2: "total",
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCursor from json.
+func (s *ContentV2GetCardsListPostOKCursor) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostOKCursor to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "updatedAt":
+ if err := func() error {
+ s.UpdatedAt.Reset()
+ if err := s.UpdatedAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"updatedAt\"")
+ }
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "total":
+ if err := func() error {
+ s.Total.Reset()
+ if err := s.Total.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"total\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostOKCursor")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostOKCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostOKCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.Settings.Set {
+ e.FieldStart("settings")
+ s.Settings.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostReq = [1]string{
+ 0: "settings",
+}
+
+// Decode decodes ContentV2GetCardsListPostReq from json.
+func (s *ContentV2GetCardsListPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "settings":
+ if err := func() error {
+ s.Settings.Reset()
+ if err := s.Settings.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"settings\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettings) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostReqSettings) encodeFields(e *jx.Encoder) {
+ {
+ if s.Sort.Set {
+ e.FieldStart("sort")
+ s.Sort.Encode(e)
+ }
+ }
+ {
+ if s.Filter.Set {
+ e.FieldStart("filter")
+ s.Filter.Encode(e)
+ }
+ }
+ {
+ if s.Cursor.Set {
+ e.FieldStart("cursor")
+ s.Cursor.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostReqSettings = [3]string{
+ 0: "sort",
+ 1: "filter",
+ 2: "cursor",
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettings from json.
+func (s *ContentV2GetCardsListPostReqSettings) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostReqSettings to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "sort":
+ if err := func() error {
+ s.Sort.Reset()
+ if err := s.Sort.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sort\"")
+ }
+ case "filter":
+ if err := func() error {
+ s.Filter.Reset()
+ if err := s.Filter.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"filter\"")
+ }
+ case "cursor":
+ if err := func() error {
+ s.Cursor.Reset()
+ if err := s.Cursor.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cursor\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostReqSettings")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettings) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostReqSettings) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) encodeFields(e *jx.Encoder) {
+ {
+ if s.Limit.Set {
+ e.FieldStart("limit")
+ s.Limit.Encode(e)
+ }
+ }
+ {
+ if s.UpdatedAt.Set {
+ e.FieldStart("updatedAt")
+ s.UpdatedAt.Encode(e)
+ }
+ }
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostReqSettingsCursor = [3]string{
+ 0: "limit",
+ 1: "updatedAt",
+ 2: "nmID",
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettingsCursor from json.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostReqSettingsCursor to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "limit":
+ if err := func() error {
+ s.Limit.Reset()
+ if err := s.Limit.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"limit\"")
+ }
+ case "updatedAt":
+ if err := func() error {
+ s.UpdatedAt.Reset()
+ if err := s.UpdatedAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"updatedAt\"")
+ }
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostReqSettingsCursor")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) encodeFields(e *jx.Encoder) {
+ {
+ if s.WithPhoto.Set {
+ e.FieldStart("withPhoto")
+ s.WithPhoto.Encode(e)
+ }
+ }
+ {
+ if s.TextSearch.Set {
+ e.FieldStart("textSearch")
+ s.TextSearch.Encode(e)
+ }
+ }
+ {
+ if s.TagIDs != nil {
+ e.FieldStart("tagIDs")
+ e.ArrStart()
+ for _, elem := range s.TagIDs {
+ e.Int(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.AllowedCategoriesOnly.Set {
+ e.FieldStart("allowedCategoriesOnly")
+ s.AllowedCategoriesOnly.Encode(e)
+ }
+ }
+ {
+ if s.ObjectIDs != nil {
+ e.FieldStart("objectIDs")
+ e.ArrStart()
+ for _, elem := range s.ObjectIDs {
+ e.Int(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Brands != nil {
+ e.FieldStart("brands")
+ e.ArrStart()
+ for _, elem := range s.Brands {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.ImtID.Set {
+ e.FieldStart("imtID")
+ s.ImtID.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostReqSettingsFilter = [7]string{
+ 0: "withPhoto",
+ 1: "textSearch",
+ 2: "tagIDs",
+ 3: "allowedCategoriesOnly",
+ 4: "objectIDs",
+ 5: "brands",
+ 6: "imtID",
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettingsFilter from json.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostReqSettingsFilter to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "withPhoto":
+ if err := func() error {
+ s.WithPhoto.Reset()
+ if err := s.WithPhoto.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"withPhoto\"")
+ }
+ case "textSearch":
+ if err := func() error {
+ s.TextSearch.Reset()
+ if err := s.TextSearch.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"textSearch\"")
+ }
+ case "tagIDs":
+ if err := func() error {
+ s.TagIDs = make([]int, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem int
+ v, err := d.Int()
+ elem = int(v)
+ if err != nil {
+ return err
+ }
+ s.TagIDs = append(s.TagIDs, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"tagIDs\"")
+ }
+ case "allowedCategoriesOnly":
+ if err := func() error {
+ s.AllowedCategoriesOnly.Reset()
+ if err := s.AllowedCategoriesOnly.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"allowedCategoriesOnly\"")
+ }
+ case "objectIDs":
+ if err := func() error {
+ s.ObjectIDs = make([]int, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem int
+ v, err := d.Int()
+ elem = int(v)
+ if err != nil {
+ return err
+ }
+ s.ObjectIDs = append(s.ObjectIDs, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"objectIDs\"")
+ }
+ case "brands":
+ if err := func() error {
+ s.Brands = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Brands = append(s.Brands, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"brands\"")
+ }
+ case "imtID":
+ if err := func() error {
+ s.ImtID.Reset()
+ if err := s.ImtID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"imtID\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostReqSettingsFilter")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettingsSort) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsListPostReqSettingsSort) encodeFields(e *jx.Encoder) {
+ {
+ if s.Ascending.Set {
+ e.FieldStart("ascending")
+ s.Ascending.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsListPostReqSettingsSort = [1]string{
+ 0: "ascending",
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettingsSort from json.
+func (s *ContentV2GetCardsListPostReqSettingsSort) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsListPostReqSettingsSort to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "ascending":
+ if err := func() error {
+ s.Ascending.Reset()
+ if err := s.Ascending.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"ascending\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsListPostReqSettingsSort")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsListPostReqSettingsSort) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsListPostReqSettingsSort) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Cards != nil {
+ e.FieldStart("cards")
+ e.ArrStart()
+ for _, elem := range s.Cards {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Cursor.Set {
+ e.FieldStart("cursor")
+ s.Cursor.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostOK = [2]string{
+ 0: "cards",
+ 1: "cursor",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOK from json.
+func (s *ContentV2GetCardsTrashPostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "cards":
+ if err := func() error {
+ s.Cards = make([]ContentV2GetCardsTrashPostOKCardsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsTrashPostOKCardsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Cards = append(s.Cards, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cards\"")
+ }
+ case "cursor":
+ if err := func() error {
+ s.Cursor.Reset()
+ if err := s.Cursor.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cursor\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.VendorCode.Set {
+ e.FieldStart("vendorCode")
+ s.VendorCode.Encode(e)
+ }
+ }
+ {
+ if s.SubjectID.Set {
+ e.FieldStart("subjectID")
+ s.SubjectID.Encode(e)
+ }
+ }
+ {
+ if s.SubjectName.Set {
+ e.FieldStart("subjectName")
+ s.SubjectName.Encode(e)
+ }
+ }
+ {
+ if s.Photos != nil {
+ e.FieldStart("photos")
+ e.ArrStart()
+ for _, elem := range s.Photos {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Video.Set {
+ e.FieldStart("video")
+ s.Video.Encode(e)
+ }
+ }
+ {
+ if s.Sizes != nil {
+ e.FieldStart("sizes")
+ e.ArrStart()
+ for _, elem := range s.Sizes {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Dimensions.Set {
+ e.FieldStart("dimensions")
+ s.Dimensions.Encode(e)
+ }
+ }
+ {
+ if s.Characteristics != nil {
+ e.FieldStart("characteristics")
+ e.ArrStart()
+ for _, elem := range s.Characteristics {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.CreatedAt.Set {
+ e.FieldStart("createdAt")
+ s.CreatedAt.Encode(e)
+ }
+ }
+ {
+ if s.TrashedAt.Set {
+ e.FieldStart("trashedAt")
+ s.TrashedAt.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostOKCardsItem = [11]string{
+ 0: "nmID",
+ 1: "vendorCode",
+ 2: "subjectID",
+ 3: "subjectName",
+ 4: "photos",
+ 5: "video",
+ 6: "sizes",
+ 7: "dimensions",
+ 8: "characteristics",
+ 9: "createdAt",
+ 10: "trashedAt",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCardsItem from json.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostOKCardsItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "vendorCode":
+ if err := func() error {
+ s.VendorCode.Reset()
+ if err := s.VendorCode.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "subjectID":
+ if err := func() error {
+ s.SubjectID.Reset()
+ if err := s.SubjectID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectID\"")
+ }
+ case "subjectName":
+ if err := func() error {
+ s.SubjectName.Reset()
+ if err := s.SubjectName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectName\"")
+ }
+ case "photos":
+ if err := func() error {
+ s.Photos = make([]ContentV2GetCardsTrashPostOKCardsItemPhotosItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsTrashPostOKCardsItemPhotosItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Photos = append(s.Photos, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"photos\"")
+ }
+ case "video":
+ if err := func() error {
+ s.Video.Reset()
+ if err := s.Video.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"video\"")
+ }
+ case "sizes":
+ if err := func() error {
+ s.Sizes = make([]ContentV2GetCardsTrashPostOKCardsItemSizesItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsTrashPostOKCardsItemSizesItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Sizes = append(s.Sizes, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizes\"")
+ }
+ case "dimensions":
+ if err := func() error {
+ s.Dimensions.Reset()
+ if err := s.Dimensions.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"dimensions\"")
+ }
+ case "characteristics":
+ if err := func() error {
+ s.Characteristics = make([]ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Characteristics = append(s.Characteristics, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"characteristics\"")
+ }
+ case "createdAt":
+ if err := func() error {
+ s.CreatedAt.Reset()
+ if err := s.CreatedAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"createdAt\"")
+ }
+ case "trashedAt":
+ if err := func() error {
+ s.TrashedAt.Reset()
+ if err := s.TrashedAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"trashedAt\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostOKCardsItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if s.Name.Set {
+ e.FieldStart("name")
+ s.Name.Encode(e)
+ }
+ }
+ {
+ if len(s.Value) != 0 {
+ e.FieldStart("value")
+ e.Raw(s.Value)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem = [3]string{
+ 0: "id",
+ 1: "name",
+ 2: "value",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem from json.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "name":
+ if err := func() error {
+ s.Name.Reset()
+ if err := s.Name.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "value":
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Value = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"value\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) encodeFields(e *jx.Encoder) {
+ {
+ if s.Length.Set {
+ e.FieldStart("length")
+ s.Length.Encode(e)
+ }
+ }
+ {
+ if s.Width.Set {
+ e.FieldStart("width")
+ s.Width.Encode(e)
+ }
+ }
+ {
+ if s.Height.Set {
+ e.FieldStart("height")
+ s.Height.Encode(e)
+ }
+ }
+ {
+ if s.WeightBrutto.Set {
+ e.FieldStart("weightBrutto")
+ s.WeightBrutto.Encode(e)
+ }
+ }
+ {
+ if s.IsValid.Set {
+ e.FieldStart("isValid")
+ s.IsValid.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostOKCardsItemDimensions = [5]string{
+ 0: "length",
+ 1: "width",
+ 2: "height",
+ 3: "weightBrutto",
+ 4: "isValid",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCardsItemDimensions from json.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostOKCardsItemDimensions to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "length":
+ if err := func() error {
+ s.Length.Reset()
+ if err := s.Length.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"length\"")
+ }
+ case "width":
+ if err := func() error {
+ s.Width.Reset()
+ if err := s.Width.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"width\"")
+ }
+ case "height":
+ if err := func() error {
+ s.Height.Reset()
+ if err := s.Height.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"height\"")
+ }
+ case "weightBrutto":
+ if err := func() error {
+ s.WeightBrutto.Reset()
+ if err := s.WeightBrutto.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"weightBrutto\"")
+ }
+ case "isValid":
+ if err := func() error {
+ s.IsValid.Reset()
+ if err := s.IsValid.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"isValid\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostOKCardsItemDimensions")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Big.Set {
+ e.FieldStart("big")
+ s.Big.Encode(e)
+ }
+ }
+ {
+ if s.C246x328.Set {
+ e.FieldStart("c246x328")
+ s.C246x328.Encode(e)
+ }
+ }
+ {
+ if s.C516x688.Set {
+ e.FieldStart("c516x688")
+ s.C516x688.Encode(e)
+ }
+ }
+ {
+ if s.Square.Set {
+ e.FieldStart("square")
+ s.Square.Encode(e)
+ }
+ }
+ {
+ if s.Tm.Set {
+ e.FieldStart("tm")
+ s.Tm.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostOKCardsItemPhotosItem = [5]string{
+ 0: "big",
+ 1: "c246x328",
+ 2: "c516x688",
+ 3: "square",
+ 4: "tm",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCardsItemPhotosItem from json.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostOKCardsItemPhotosItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "big":
+ if err := func() error {
+ s.Big.Reset()
+ if err := s.Big.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"big\"")
+ }
+ case "c246x328":
+ if err := func() error {
+ s.C246x328.Reset()
+ if err := s.C246x328.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"c246x328\"")
+ }
+ case "c516x688":
+ if err := func() error {
+ s.C516x688.Reset()
+ if err := s.C516x688.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"c516x688\"")
+ }
+ case "square":
+ if err := func() error {
+ s.Square.Reset()
+ if err := s.Square.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"square\"")
+ }
+ case "tm":
+ if err := func() error {
+ s.Tm.Reset()
+ if err := s.Tm.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"tm\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostOKCardsItemPhotosItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.ChrtID.Set {
+ e.FieldStart("chrtID")
+ s.ChrtID.Encode(e)
+ }
+ }
+ {
+ if s.TechSize.Set {
+ e.FieldStart("techSize")
+ s.TechSize.Encode(e)
+ }
+ }
+ {
+ if s.WbSize.Set {
+ e.FieldStart("wbSize")
+ s.WbSize.Encode(e)
+ }
+ }
+ {
+ if s.Skus != nil {
+ e.FieldStart("skus")
+ e.ArrStart()
+ for _, elem := range s.Skus {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostOKCardsItemSizesItem = [4]string{
+ 0: "chrtID",
+ 1: "techSize",
+ 2: "wbSize",
+ 3: "skus",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCardsItemSizesItem from json.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostOKCardsItemSizesItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "chrtID":
+ if err := func() error {
+ s.ChrtID.Reset()
+ if err := s.ChrtID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"chrtID\"")
+ }
+ case "techSize":
+ if err := func() error {
+ s.TechSize.Reset()
+ if err := s.TechSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSize\"")
+ }
+ case "wbSize":
+ if err := func() error {
+ s.WbSize.Reset()
+ if err := s.WbSize.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"wbSize\"")
+ }
+ case "skus":
+ if err := func() error {
+ s.Skus = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Skus = append(s.Skus, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"skus\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostOKCardsItemSizesItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCursor) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostOKCursor) encodeFields(e *jx.Encoder) {
+ {
+ if s.TrashedAt.Set {
+ e.FieldStart("trashedAt")
+ s.TrashedAt.Encode(e)
+ }
+ }
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.Total.Set {
+ e.FieldStart("total")
+ s.Total.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostOKCursor = [3]string{
+ 0: "trashedAt",
+ 1: "nmID",
+ 2: "total",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCursor from json.
+func (s *ContentV2GetCardsTrashPostOKCursor) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostOKCursor to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "trashedAt":
+ if err := func() error {
+ s.TrashedAt.Reset()
+ if err := s.TrashedAt.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"trashedAt\"")
+ }
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "total":
+ if err := func() error {
+ s.Total.Reset()
+ if err := s.Total.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"total\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostOKCursor")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostOKCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostOKCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.Settings.Set {
+ e.FieldStart("settings")
+ s.Settings.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostReq = [1]string{
+ 0: "settings",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReq from json.
+func (s *ContentV2GetCardsTrashPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "settings":
+ if err := func() error {
+ s.Settings.Reset()
+ if err := s.Settings.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"settings\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettings) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostReqSettings) encodeFields(e *jx.Encoder) {
+ {
+ if s.Sort.Set {
+ e.FieldStart("sort")
+ s.Sort.Encode(e)
+ }
+ }
+ {
+ if s.Cursor.Set {
+ e.FieldStart("cursor")
+ s.Cursor.Encode(e)
+ }
+ }
+ {
+ if s.Filter.Set {
+ e.FieldStart("filter")
+ s.Filter.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostReqSettings = [3]string{
+ 0: "sort",
+ 1: "cursor",
+ 2: "filter",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettings from json.
+func (s *ContentV2GetCardsTrashPostReqSettings) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostReqSettings to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "sort":
+ if err := func() error {
+ s.Sort.Reset()
+ if err := s.Sort.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sort\"")
+ }
+ case "cursor":
+ if err := func() error {
+ s.Cursor.Reset()
+ if err := s.Cursor.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cursor\"")
+ }
+ case "filter":
+ if err := func() error {
+ s.Filter.Reset()
+ if err := s.Filter.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"filter\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostReqSettings")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettings) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostReqSettings) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsCursor) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostReqSettingsCursor) encodeFields(e *jx.Encoder) {
+ {
+ if s.Limit.Set {
+ e.FieldStart("limit")
+ s.Limit.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostReqSettingsCursor = [1]string{
+ 0: "limit",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettingsCursor from json.
+func (s *ContentV2GetCardsTrashPostReqSettingsCursor) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostReqSettingsCursor to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "limit":
+ if err := func() error {
+ s.Limit.Reset()
+ if err := s.Limit.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"limit\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostReqSettingsCursor")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsFilter) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostReqSettingsFilter) encodeFields(e *jx.Encoder) {
+ {
+ if s.TextSearch.Set {
+ e.FieldStart("textSearch")
+ s.TextSearch.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostReqSettingsFilter = [1]string{
+ 0: "textSearch",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettingsFilter from json.
+func (s *ContentV2GetCardsTrashPostReqSettingsFilter) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostReqSettingsFilter to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "textSearch":
+ if err := func() error {
+ s.TextSearch.Reset()
+ if err := s.TextSearch.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"textSearch\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostReqSettingsFilter")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsFilter) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsFilter) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsSort) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2GetCardsTrashPostReqSettingsSort) encodeFields(e *jx.Encoder) {
+ {
+ if s.Ascending.Set {
+ e.FieldStart("ascending")
+ s.Ascending.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2GetCardsTrashPostReqSettingsSort = [1]string{
+ 0: "ascending",
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettingsSort from json.
+func (s *ContentV2GetCardsTrashPostReqSettingsSort) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2GetCardsTrashPostReqSettingsSort to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "ascending":
+ if err := func() error {
+ s.Ascending.Reset()
+ if err := s.Ascending.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"ascending\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2GetCardsTrashPostReqSettingsSort")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsSort) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2GetCardsTrashPostReqSettingsSort) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2ObjectAllGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2ObjectAllGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2ObjectAllGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2ObjectAllGetOK from json.
+func (s *ContentV2ObjectAllGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2ObjectAllGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]ContentV2ObjectAllGetOKDataItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2ObjectAllGetOKDataItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2ObjectAllGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2ObjectAllGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2ObjectAllGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2ObjectAllGetOKDataItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2ObjectAllGetOKDataItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.SubjectID.Set {
+ e.FieldStart("subjectID")
+ s.SubjectID.Encode(e)
+ }
+ }
+ {
+ if s.ParentID.Set {
+ e.FieldStart("parentID")
+ s.ParentID.Encode(e)
+ }
+ }
+ {
+ if s.SubjectName.Set {
+ e.FieldStart("subjectName")
+ s.SubjectName.Encode(e)
+ }
+ }
+ {
+ if s.ParentName.Set {
+ e.FieldStart("parentName")
+ s.ParentName.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2ObjectAllGetOKDataItem = [4]string{
+ 0: "subjectID",
+ 1: "parentID",
+ 2: "subjectName",
+ 3: "parentName",
+}
+
+// Decode decodes ContentV2ObjectAllGetOKDataItem from json.
+func (s *ContentV2ObjectAllGetOKDataItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2ObjectAllGetOKDataItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "subjectID":
+ if err := func() error {
+ s.SubjectID.Reset()
+ if err := s.SubjectID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectID\"")
+ }
+ case "parentID":
+ if err := func() error {
+ s.ParentID.Reset()
+ if err := s.ParentID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"parentID\"")
+ }
+ case "subjectName":
+ if err := func() error {
+ s.SubjectName.Reset()
+ if err := s.SubjectName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectName\"")
+ }
+ case "parentName":
+ if err := func() error {
+ s.ParentName.Reset()
+ if err := s.ParentName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"parentName\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2ObjectAllGetOKDataItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2ObjectAllGetOKDataItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2ObjectAllGetOKDataItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2ObjectCharcsSubjectIdGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2ObjectCharcsSubjectIdGetOK from json.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2ObjectCharcsSubjectIdGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = make([]ContentV2ObjectCharcsSubjectIdGetOKDataItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2ObjectCharcsSubjectIdGetOKDataItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2ObjectCharcsSubjectIdGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.CharcID.Set {
+ e.FieldStart("charcID")
+ s.CharcID.Encode(e)
+ }
+ }
+ {
+ if s.SubjectName.Set {
+ e.FieldStart("subjectName")
+ s.SubjectName.Encode(e)
+ }
+ }
+ {
+ if s.SubjectID.Set {
+ e.FieldStart("subjectID")
+ s.SubjectID.Encode(e)
+ }
+ }
+ {
+ if s.Name.Set {
+ e.FieldStart("name")
+ s.Name.Encode(e)
+ }
+ }
+ {
+ if s.Required.Set {
+ e.FieldStart("required")
+ s.Required.Encode(e)
+ }
+ }
+ {
+ if s.UnitName.Set {
+ e.FieldStart("unitName")
+ s.UnitName.Encode(e)
+ }
+ }
+ {
+ if s.MaxCount.Set {
+ e.FieldStart("maxCount")
+ s.MaxCount.Encode(e)
+ }
+ }
+ {
+ if s.Popular.Set {
+ e.FieldStart("popular")
+ s.Popular.Encode(e)
+ }
+ }
+ {
+ if s.CharcType.Set {
+ e.FieldStart("charcType")
+ s.CharcType.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2ObjectCharcsSubjectIdGetOKDataItem = [9]string{
+ 0: "charcID",
+ 1: "subjectName",
+ 2: "subjectID",
+ 3: "name",
+ 4: "required",
+ 5: "unitName",
+ 6: "maxCount",
+ 7: "popular",
+ 8: "charcType",
+}
+
+// Decode decodes ContentV2ObjectCharcsSubjectIdGetOKDataItem from json.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2ObjectCharcsSubjectIdGetOKDataItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "charcID":
+ if err := func() error {
+ s.CharcID.Reset()
+ if err := s.CharcID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"charcID\"")
+ }
+ case "subjectName":
+ if err := func() error {
+ s.SubjectName.Reset()
+ if err := s.SubjectName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectName\"")
+ }
+ case "subjectID":
+ if err := func() error {
+ s.SubjectID.Reset()
+ if err := s.SubjectID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"subjectID\"")
+ }
+ case "name":
+ if err := func() error {
+ s.Name.Reset()
+ if err := s.Name.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "required":
+ if err := func() error {
+ s.Required.Reset()
+ if err := s.Required.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"required\"")
+ }
+ case "unitName":
+ if err := func() error {
+ s.UnitName.Reset()
+ if err := s.UnitName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"unitName\"")
+ }
+ case "maxCount":
+ if err := func() error {
+ s.MaxCount.Reset()
+ if err := s.MaxCount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"maxCount\"")
+ }
+ case "popular":
+ if err := func() error {
+ s.Popular.Reset()
+ if err := s.Popular.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"popular\"")
+ }
+ case "charcType":
+ if err := func() error {
+ s.CharcType.Reset()
+ if err := s.CharcType.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"charcType\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2ObjectCharcsSubjectIdGetOKDataItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2ObjectParentAllGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2ObjectParentAllGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if len(s.Data) != 0 {
+ e.FieldStart("data")
+ e.Raw(s.Data)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2ObjectParentAllGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2ObjectParentAllGetOK from json.
+func (s *ContentV2ObjectParentAllGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2ObjectParentAllGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Data = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2ObjectParentAllGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2ObjectParentAllGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2ObjectParentAllGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2TagNomenclatureLinkPostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2TagNomenclatureLinkPostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.TagsIDs != nil {
+ e.FieldStart("tagsIDs")
+ e.ArrStart()
+ for _, elem := range s.TagsIDs {
+ e.Int(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2TagNomenclatureLinkPostReq = [2]string{
+ 0: "nmID",
+ 1: "tagsIDs",
+}
+
+// Decode decodes ContentV2TagNomenclatureLinkPostReq from json.
+func (s *ContentV2TagNomenclatureLinkPostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2TagNomenclatureLinkPostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "tagsIDs":
+ if err := func() error {
+ s.TagsIDs = make([]int, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem int
+ v, err := d.Int()
+ elem = int(v)
+ if err != nil {
+ return err
+ }
+ s.TagsIDs = append(s.TagsIDs, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"tagsIDs\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2TagNomenclatureLinkPostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2TagNomenclatureLinkPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2TagNomenclatureLinkPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV2TagsGetOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV2TagsGetOK) encodeFields(e *jx.Encoder) {
+ {
+ if len(s.Data) != 0 {
+ e.FieldStart("data")
+ e.Raw(s.Data)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV2TagsGetOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV2TagsGetOK from json.
+func (s *ContentV2TagsGetOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV2TagsGetOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ s.Data = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV2TagsGetOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV2TagsGetOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV2TagsGetOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV3MediaFilePostApplicationJSONBadRequest as json.
+func (s *ContentV3MediaFilePostApplicationJSONBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*MediaErrors)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes ContentV3MediaFilePostApplicationJSONBadRequest from json.
+func (s *ContentV3MediaFilePostApplicationJSONBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaFilePostApplicationJSONBadRequest to nil")
+ }
+ var unwrapped MediaErrors
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = ContentV3MediaFilePostApplicationJSONBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaFilePostApplicationJSONBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaFilePostApplicationJSONBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV3MediaFilePostForbidden as json.
+func (s *ContentV3MediaFilePostForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*MediaErrors)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes ContentV3MediaFilePostForbidden from json.
+func (s *ContentV3MediaFilePostForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaFilePostForbidden to nil")
+ }
+ var unwrapped MediaErrors
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = ContentV3MediaFilePostForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaFilePostForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaFilePostForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV3MediaFilePostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV3MediaFilePostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV3MediaFilePostOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV3MediaFilePostOK from json.
+func (s *ContentV3MediaFilePostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaFilePostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = nil
+ var elem ContentV3MediaFilePostOKData
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Data = &elem
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV3MediaFilePostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaFilePostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaFilePostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV3MediaFilePostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV3MediaFilePostOKAdditionalErrors) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV3MediaFilePostOKAdditionalErrors = [0]string{}
+
+// Decode decodes ContentV3MediaFilePostOKAdditionalErrors from json.
+func (s *ContentV3MediaFilePostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaFilePostOKAdditionalErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV3MediaFilePostOKAdditionalErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaFilePostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaFilePostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV3MediaFilePostOKData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV3MediaFilePostOKData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV3MediaFilePostOKData = [0]string{}
+
+// Decode decodes ContentV3MediaFilePostOKData from json.
+func (s *ContentV3MediaFilePostOKData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaFilePostOKData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV3MediaFilePostOKData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaFilePostOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaFilePostOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV3MediaSavePostBadRequest as json.
+func (s *ContentV3MediaSavePostBadRequest) Encode(e *jx.Encoder) {
+ unwrapped := (*MediaErrors)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes ContentV3MediaSavePostBadRequest from json.
+func (s *ContentV3MediaSavePostBadRequest) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostBadRequest to nil")
+ }
+ var unwrapped MediaErrors
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = ContentV3MediaSavePostBadRequest(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostBadRequest) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostBadRequest) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV3MediaSavePostConflict as json.
+func (s *ContentV3MediaSavePostConflict) Encode(e *jx.Encoder) {
+ unwrapped := (*MediaErrors)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes ContentV3MediaSavePostConflict from json.
+func (s *ContentV3MediaSavePostConflict) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostConflict to nil")
+ }
+ var unwrapped MediaErrors
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = ContentV3MediaSavePostConflict(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostConflict) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostConflict) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV3MediaSavePostForbidden as json.
+func (s *ContentV3MediaSavePostForbidden) Encode(e *jx.Encoder) {
+ unwrapped := (*MediaErrors)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes ContentV3MediaSavePostForbidden from json.
+func (s *ContentV3MediaSavePostForbidden) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostForbidden to nil")
+ }
+ var unwrapped MediaErrors
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = ContentV3MediaSavePostForbidden(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostForbidden) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostForbidden) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV3MediaSavePostOK) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV3MediaSavePostOK) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV3MediaSavePostOK = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ContentV3MediaSavePostOK from json.
+func (s *ContentV3MediaSavePostOK) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostOK to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data = nil
+ var elem ContentV3MediaSavePostOKData
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Data = &elem
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV3MediaSavePostOK")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostOK) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostOK) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV3MediaSavePostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV3MediaSavePostOKAdditionalErrors) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV3MediaSavePostOKAdditionalErrors = [0]string{}
+
+// Decode decodes ContentV3MediaSavePostOKAdditionalErrors from json.
+func (s *ContentV3MediaSavePostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostOKAdditionalErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV3MediaSavePostOKAdditionalErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV3MediaSavePostOKData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV3MediaSavePostOKData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfContentV3MediaSavePostOKData = [0]string{}
+
+// Decode decodes ContentV3MediaSavePostOKData from json.
+func (s *ContentV3MediaSavePostOKData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostOKData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV3MediaSavePostOKData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ContentV3MediaSavePostReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ContentV3MediaSavePostReq) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmId.Set {
+ e.FieldStart("nmId")
+ s.NmId.Encode(e)
+ }
+ }
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ e.ArrStart()
+ for _, elem := range s.Data {
+ e.Str(elem)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfContentV3MediaSavePostReq = [2]string{
+ 0: "nmId",
+ 1: "data",
+}
+
+// Decode decodes ContentV3MediaSavePostReq from json.
+func (s *ContentV3MediaSavePostReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostReq to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmId":
+ if err := func() error {
+ s.NmId.Reset()
+ if err := s.NmId.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmId\"")
+ }
+ case "data":
+ if err := func() error {
+ s.Data = make([]string, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem string
+ v, err := d.Str()
+ elem = string(v)
+ if err != nil {
+ return err
+ }
+ s.Data = append(s.Data, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ContentV3MediaSavePostReq")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV3MediaSavePostUnprocessableEntity as json.
+func (s *ContentV3MediaSavePostUnprocessableEntity) Encode(e *jx.Encoder) {
+ unwrapped := (*MediaErrors)(s)
+
+ unwrapped.Encode(e)
+}
+
+// Decode decodes ContentV3MediaSavePostUnprocessableEntity from json.
+func (s *ContentV3MediaSavePostUnprocessableEntity) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ContentV3MediaSavePostUnprocessableEntity to nil")
+ }
+ var unwrapped MediaErrors
+ if err := func() error {
+ if err := unwrapped.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = ContentV3MediaSavePostUnprocessableEntity(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ContentV3MediaSavePostUnprocessableEntity) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ContentV3MediaSavePostUnprocessableEntity) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *Error) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *Error) encodeFields(e *jx.Encoder) {
+ {
+ if s.Code.Set {
+ e.FieldStart("code")
+ s.Code.Encode(e)
+ }
+ }
+ {
+ if s.Message.Set {
+ e.FieldStart("message")
+ s.Message.Encode(e)
+ }
+ }
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfError = [3]string{
+ 0: "code",
+ 1: "message",
+ 2: "data",
+}
+
+// Decode decodes Error from json.
+func (s *Error) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode Error to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "code":
+ if err := func() error {
+ s.Code.Reset()
+ if err := s.Code.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"code\"")
+ }
+ case "message":
+ if err := func() error {
+ s.Message.Reset()
+ if err := s.Message.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"message\"")
+ }
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode Error")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *Error) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *Error) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ErrorData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ErrorData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfErrorData = [0]string{}
+
+// Decode decodes ErrorData from json.
+func (s *ErrorData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ErrorData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ErrorData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ErrorData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ErrorData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *Good) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *Good) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("nmID")
+ e.Int(s.NmID)
+ }
+ {
+ if s.Price.Set {
+ e.FieldStart("price")
+ s.Price.Encode(e)
+ }
+ }
+ {
+ if s.Discount.Set {
+ e.FieldStart("discount")
+ s.Discount.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfGood = [3]string{
+ 0: "nmID",
+ 1: "price",
+ 2: "discount",
+}
+
+// Decode decodes Good from json.
+func (s *Good) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode Good to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Int()
+ s.NmID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "price":
+ if err := func() error {
+ s.Price.Reset()
+ if err := s.Price.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ case "discount":
+ if err := func() error {
+ s.Discount.Reset()
+ if err := s.Discount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"discount\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode Good")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000001,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfGood) {
+ name = jsonFieldsNameOfGood[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *Good) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *Good) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *GoodBufferHistory) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *GoodBufferHistory) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.VendorCode.Set {
+ e.FieldStart("vendorCode")
+ s.VendorCode.Encode(e)
+ }
+ }
+ {
+ if s.SizeID.Set {
+ e.FieldStart("sizeID")
+ s.SizeID.Encode(e)
+ }
+ }
+ {
+ if s.TechSizeName.Set {
+ e.FieldStart("techSizeName")
+ s.TechSizeName.Encode(e)
+ }
+ }
+ {
+ if s.Price.Set {
+ e.FieldStart("price")
+ s.Price.Encode(e)
+ }
+ }
+ {
+ if s.CurrencyIsoCode4217.Set {
+ e.FieldStart("currencyIsoCode4217")
+ s.CurrencyIsoCode4217.Encode(e)
+ }
+ }
+ {
+ if s.Discount.Set {
+ e.FieldStart("discount")
+ s.Discount.Encode(e)
+ }
+ }
+ {
+ if s.ClubDiscount.Set {
+ e.FieldStart("clubDiscount")
+ s.ClubDiscount.Encode(e)
+ }
+ }
+ {
+ if s.Status.Set {
+ e.FieldStart("status")
+ s.Status.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfGoodBufferHistory = [10]string{
+ 0: "nmID",
+ 1: "vendorCode",
+ 2: "sizeID",
+ 3: "techSizeName",
+ 4: "price",
+ 5: "currencyIsoCode4217",
+ 6: "discount",
+ 7: "clubDiscount",
+ 8: "status",
+ 9: "errorText",
+}
+
+// Decode decodes GoodBufferHistory from json.
+func (s *GoodBufferHistory) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode GoodBufferHistory to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "vendorCode":
+ if err := func() error {
+ s.VendorCode.Reset()
+ if err := s.VendorCode.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "sizeID":
+ if err := func() error {
+ s.SizeID.Reset()
+ if err := s.SizeID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizeID\"")
+ }
+ case "techSizeName":
+ if err := func() error {
+ s.TechSizeName.Reset()
+ if err := s.TechSizeName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSizeName\"")
+ }
+ case "price":
+ if err := func() error {
+ s.Price.Reset()
+ if err := s.Price.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ case "currencyIsoCode4217":
+ if err := func() error {
+ s.CurrencyIsoCode4217.Reset()
+ if err := s.CurrencyIsoCode4217.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"currencyIsoCode4217\"")
+ }
+ case "discount":
+ if err := func() error {
+ s.Discount.Reset()
+ if err := s.Discount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"discount\"")
+ }
+ case "clubDiscount":
+ if err := func() error {
+ s.ClubDiscount.Reset()
+ if err := s.ClubDiscount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"clubDiscount\"")
+ }
+ case "status":
+ if err := func() error {
+ s.Status.Reset()
+ if err := s.Status.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"status\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode GoodBufferHistory")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *GoodBufferHistory) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *GoodBufferHistory) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *GoodHistory) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *GoodHistory) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.VendorCode.Set {
+ e.FieldStart("vendorCode")
+ s.VendorCode.Encode(e)
+ }
+ }
+ {
+ if s.SizeID.Set {
+ e.FieldStart("sizeID")
+ s.SizeID.Encode(e)
+ }
+ }
+ {
+ if s.TechSizeName.Set {
+ e.FieldStart("techSizeName")
+ s.TechSizeName.Encode(e)
+ }
+ }
+ {
+ if s.Price.Set {
+ e.FieldStart("price")
+ s.Price.Encode(e)
+ }
+ }
+ {
+ if s.CurrencyIsoCode4217.Set {
+ e.FieldStart("currencyIsoCode4217")
+ s.CurrencyIsoCode4217.Encode(e)
+ }
+ }
+ {
+ if s.Discount.Set {
+ e.FieldStart("discount")
+ s.Discount.Encode(e)
+ }
+ }
+ {
+ if s.ClubDiscount.Set {
+ e.FieldStart("clubDiscount")
+ s.ClubDiscount.Encode(e)
+ }
+ }
+ {
+ if s.Status.Set {
+ e.FieldStart("status")
+ s.Status.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfGoodHistory = [10]string{
+ 0: "nmID",
+ 1: "vendorCode",
+ 2: "sizeID",
+ 3: "techSizeName",
+ 4: "price",
+ 5: "currencyIsoCode4217",
+ 6: "discount",
+ 7: "clubDiscount",
+ 8: "status",
+ 9: "errorText",
+}
+
+// Decode decodes GoodHistory from json.
+func (s *GoodHistory) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode GoodHistory to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "vendorCode":
+ if err := func() error {
+ s.VendorCode.Reset()
+ if err := s.VendorCode.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "sizeID":
+ if err := func() error {
+ s.SizeID.Reset()
+ if err := s.SizeID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizeID\"")
+ }
+ case "techSizeName":
+ if err := func() error {
+ s.TechSizeName.Reset()
+ if err := s.TechSizeName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSizeName\"")
+ }
+ case "price":
+ if err := func() error {
+ s.Price.Reset()
+ if err := s.Price.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ case "currencyIsoCode4217":
+ if err := func() error {
+ s.CurrencyIsoCode4217.Reset()
+ if err := s.CurrencyIsoCode4217.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"currencyIsoCode4217\"")
+ }
+ case "discount":
+ if err := func() error {
+ s.Discount.Reset()
+ if err := s.Discount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"discount\"")
+ }
+ case "clubDiscount":
+ if err := func() error {
+ s.ClubDiscount.Reset()
+ if err := s.ClubDiscount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"clubDiscount\"")
+ }
+ case "status":
+ if err := func() error {
+ s.Status.Reset()
+ if err := s.Status.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"status\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode GoodHistory")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *GoodHistory) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *GoodHistory) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes GoodStatus as json.
+func (s GoodStatus) Encode(e *jx.Encoder) {
+ unwrapped := int(s)
+
+ e.Int(unwrapped)
+}
+
+// Decode decodes GoodStatus from json.
+func (s *GoodStatus) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode GoodStatus to nil")
+ }
+ var unwrapped int
+ if err := func() error {
+ v, err := d.Int()
+ unwrapped = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = GoodStatus(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s GoodStatus) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *GoodStatus) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes GoodStatusBuffer as json.
+func (s GoodStatusBuffer) Encode(e *jx.Encoder) {
+ unwrapped := int(s)
+
+ e.Int(unwrapped)
+}
+
+// Decode decodes GoodStatusBuffer from json.
+func (s *GoodStatusBuffer) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode GoodStatusBuffer to nil")
+ }
+ var unwrapped int
+ if err := func() error {
+ v, err := d.Int()
+ unwrapped = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = GoodStatusBuffer(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s GoodStatusBuffer) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *GoodStatusBuffer) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes Goods as json.
+func (s Goods) Encode(e *jx.Encoder) {
+ unwrapped := []Good(s)
+ if unwrapped == nil {
+ e.ArrEmpty()
+ return
+ }
+ if unwrapped != nil {
+ e.ArrStart()
+ for _, elem := range unwrapped {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+}
+
+// Decode decodes Goods from json.
+func (s *Goods) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode Goods to nil")
+ }
+ var unwrapped []Good
+ if err := func() error {
+ unwrapped = make([]Good, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem Good
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ unwrapped = append(unwrapped, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = Goods(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s Goods) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *Goods) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *GoodsList) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *GoodsList) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.VendorCode.Set {
+ e.FieldStart("vendorCode")
+ s.VendorCode.Encode(e)
+ }
+ }
+ {
+ if s.Sizes != nil {
+ e.FieldStart("sizes")
+ e.ArrStart()
+ for _, elem := range s.Sizes {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ {
+ if s.CurrencyIsoCode4217.Set {
+ e.FieldStart("currencyIsoCode4217")
+ s.CurrencyIsoCode4217.Encode(e)
+ }
+ }
+ {
+ if s.Discount.Set {
+ e.FieldStart("discount")
+ s.Discount.Encode(e)
+ }
+ }
+ {
+ if s.ClubDiscount.Set {
+ e.FieldStart("clubDiscount")
+ s.ClubDiscount.Encode(e)
+ }
+ }
+ {
+ if s.EditableSizePrice.Set {
+ e.FieldStart("editableSizePrice")
+ s.EditableSizePrice.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfGoodsList = [7]string{
+ 0: "nmID",
+ 1: "vendorCode",
+ 2: "sizes",
+ 3: "currencyIsoCode4217",
+ 4: "discount",
+ 5: "clubDiscount",
+ 6: "editableSizePrice",
+}
+
+// Decode decodes GoodsList from json.
+func (s *GoodsList) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode GoodsList to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "vendorCode":
+ if err := func() error {
+ s.VendorCode.Reset()
+ if err := s.VendorCode.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "sizes":
+ if err := func() error {
+ s.Sizes = make([]GoodsListSizesItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem GoodsListSizesItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Sizes = append(s.Sizes, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizes\"")
+ }
+ case "currencyIsoCode4217":
+ if err := func() error {
+ s.CurrencyIsoCode4217.Reset()
+ if err := s.CurrencyIsoCode4217.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"currencyIsoCode4217\"")
+ }
+ case "discount":
+ if err := func() error {
+ s.Discount.Reset()
+ if err := s.Discount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"discount\"")
+ }
+ case "clubDiscount":
+ if err := func() error {
+ s.ClubDiscount.Reset()
+ if err := s.ClubDiscount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"clubDiscount\"")
+ }
+ case "editableSizePrice":
+ if err := func() error {
+ s.EditableSizePrice.Reset()
+ if err := s.EditableSizePrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"editableSizePrice\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode GoodsList")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *GoodsList) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *GoodsList) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *GoodsListSizesItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *GoodsListSizesItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.SizeID.Set {
+ e.FieldStart("sizeID")
+ s.SizeID.Encode(e)
+ }
+ }
+ {
+ if s.Price.Set {
+ e.FieldStart("price")
+ s.Price.Encode(e)
+ }
+ }
+ {
+ if s.DiscountedPrice.Set {
+ e.FieldStart("discountedPrice")
+ s.DiscountedPrice.Encode(e)
+ }
+ }
+ {
+ if s.ClubDiscountedPrice.Set {
+ e.FieldStart("clubDiscountedPrice")
+ s.ClubDiscountedPrice.Encode(e)
+ }
+ }
+ {
+ if s.TechSizeName.Set {
+ e.FieldStart("techSizeName")
+ s.TechSizeName.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfGoodsListSizesItem = [5]string{
+ 0: "sizeID",
+ 1: "price",
+ 2: "discountedPrice",
+ 3: "clubDiscountedPrice",
+ 4: "techSizeName",
+}
+
+// Decode decodes GoodsListSizesItem from json.
+func (s *GoodsListSizesItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode GoodsListSizesItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "sizeID":
+ if err := func() error {
+ s.SizeID.Reset()
+ if err := s.SizeID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizeID\"")
+ }
+ case "price":
+ if err := func() error {
+ s.Price.Reset()
+ if err := s.Price.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ case "discountedPrice":
+ if err := func() error {
+ s.DiscountedPrice.Reset()
+ if err := s.DiscountedPrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"discountedPrice\"")
+ }
+ case "clubDiscountedPrice":
+ if err := func() error {
+ s.ClubDiscountedPrice.Reset()
+ if err := s.ClubDiscountedPrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"clubDiscountedPrice\"")
+ }
+ case "techSizeName":
+ if err := func() error {
+ s.TechSizeName.Reset()
+ if err := s.TechSizeName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSizeName\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode GoodsListSizesItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *GoodsListSizesItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *GoodsListSizesItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *MediaErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *MediaErrors) encodeFields(e *jx.Encoder) {
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+ {
+ if s.Data != nil {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfMediaErrors = [4]string{
+ 0: "additionalErrors",
+ 1: "data",
+ 2: "error",
+ 3: "errorText",
+}
+
+// Decode decodes MediaErrors from json.
+func (s *MediaErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode MediaErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ case "data":
+ if err := func() error {
+ s.Data = nil
+ var elem MediaErrorsData
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.Data = &elem
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode MediaErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *MediaErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *MediaErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *MediaErrorsAdditionalErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *MediaErrorsAdditionalErrors) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfMediaErrorsAdditionalErrors = [0]string{}
+
+// Decode decodes MediaErrorsAdditionalErrors from json.
+func (s *MediaErrorsAdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode MediaErrorsAdditionalErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode MediaErrorsAdditionalErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *MediaErrorsAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *MediaErrorsAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *MediaErrorsData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *MediaErrorsData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfMediaErrorsData = [0]string{}
+
+// Decode decodes MediaErrorsData from json.
+func (s *MediaErrorsData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode MediaErrorsData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode MediaErrorsData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *MediaErrorsData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *MediaErrorsData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *Office) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *Office) encodeFields(e *jx.Encoder) {
+ {
+ if s.Address.Set {
+ e.FieldStart("address")
+ s.Address.Encode(e)
+ }
+ }
+ {
+ if s.Name.Set {
+ e.FieldStart("name")
+ s.Name.Encode(e)
+ }
+ }
+ {
+ if s.City.Set {
+ e.FieldStart("city")
+ s.City.Encode(e)
+ }
+ }
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if s.Longitude.Set {
+ e.FieldStart("longitude")
+ s.Longitude.Encode(e)
+ }
+ }
+ {
+ if s.Latitude.Set {
+ e.FieldStart("latitude")
+ s.Latitude.Encode(e)
+ }
+ }
+ {
+ if s.CargoType.Set {
+ e.FieldStart("cargoType")
+ s.CargoType.Encode(e)
+ }
+ }
+ {
+ if s.DeliveryType.Set {
+ e.FieldStart("deliveryType")
+ s.DeliveryType.Encode(e)
+ }
+ }
+ {
+ if s.Selected.Set {
+ e.FieldStart("selected")
+ s.Selected.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfOffice = [9]string{
+ 0: "address",
+ 1: "name",
+ 2: "city",
+ 3: "id",
+ 4: "longitude",
+ 5: "latitude",
+ 6: "cargoType",
+ 7: "deliveryType",
+ 8: "selected",
+}
+
+// Decode decodes Office from json.
+func (s *Office) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode Office to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "address":
+ if err := func() error {
+ s.Address.Reset()
+ if err := s.Address.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"address\"")
+ }
+ case "name":
+ if err := func() error {
+ s.Name.Reset()
+ if err := s.Name.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "city":
+ if err := func() error {
+ s.City.Reset()
+ if err := s.City.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"city\"")
+ }
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "longitude":
+ if err := func() error {
+ s.Longitude.Reset()
+ if err := s.Longitude.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"longitude\"")
+ }
+ case "latitude":
+ if err := func() error {
+ s.Latitude.Reset()
+ if err := s.Latitude.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"latitude\"")
+ }
+ case "cargoType":
+ if err := func() error {
+ s.CargoType.Reset()
+ if err := s.CargoType.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cargoType\"")
+ }
+ case "deliveryType":
+ if err := func() error {
+ s.DeliveryType.Reset()
+ if err := s.DeliveryType.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"deliveryType\"")
+ }
+ case "selected":
+ if err := func() error {
+ s.Selected.Reset()
+ if err := s.Selected.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"selected\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode Office")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *Office) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *Office) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes OfficeCargoType as json.
+func (s OfficeCargoType) Encode(e *jx.Encoder) {
+ e.Int(int(s))
+}
+
+// Decode decodes OfficeCargoType from json.
+func (s *OfficeCargoType) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode OfficeCargoType to nil")
+ }
+ v, err := d.Int()
+ if err != nil {
+ return err
+ }
+ *s = OfficeCargoType(v)
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OfficeCargoType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OfficeCargoType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes OfficeDeliveryType as json.
+func (s OfficeDeliveryType) Encode(e *jx.Encoder) {
+ e.Int(int(s))
+}
+
+// Decode decodes OfficeDeliveryType from json.
+func (s *OfficeDeliveryType) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode OfficeDeliveryType to nil")
+ }
+ v, err := d.Int()
+ if err != nil {
+ return err
+ }
+ *s = OfficeDeliveryType(v)
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OfficeDeliveryType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OfficeDeliveryType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *APIV2BufferGoodsTaskGetBadRequestData as json.
+func (o OptAPIV2BufferGoodsTaskGetBadRequestData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *APIV2BufferGoodsTaskGetBadRequestData from json.
+func (o *OptAPIV2BufferGoodsTaskGetBadRequestData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptAPIV2BufferGoodsTaskGetBadRequestData to nil")
+ }
+ o.Set = true
+ o.Value = new(APIV2BufferGoodsTaskGetBadRequestData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptAPIV2BufferGoodsTaskGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptAPIV2BufferGoodsTaskGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *APIV2BufferTasksGetBadRequestData as json.
+func (o OptAPIV2BufferTasksGetBadRequestData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *APIV2BufferTasksGetBadRequestData from json.
+func (o *OptAPIV2BufferTasksGetBadRequestData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptAPIV2BufferTasksGetBadRequestData to nil")
+ }
+ o.Set = true
+ o.Value = new(APIV2BufferTasksGetBadRequestData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptAPIV2BufferTasksGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptAPIV2BufferTasksGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *APIV2HistoryGoodsTaskGetBadRequestData as json.
+func (o OptAPIV2HistoryGoodsTaskGetBadRequestData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *APIV2HistoryGoodsTaskGetBadRequestData from json.
+func (o *OptAPIV2HistoryGoodsTaskGetBadRequestData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptAPIV2HistoryGoodsTaskGetBadRequestData to nil")
+ }
+ o.Set = true
+ o.Value = new(APIV2HistoryGoodsTaskGetBadRequestData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptAPIV2HistoryGoodsTaskGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptAPIV2HistoryGoodsTaskGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *APIV2HistoryTasksGetBadRequestData as json.
+func (o OptAPIV2HistoryTasksGetBadRequestData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *APIV2HistoryTasksGetBadRequestData from json.
+func (o *OptAPIV2HistoryTasksGetBadRequestData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptAPIV2HistoryTasksGetBadRequestData to nil")
+ }
+ o.Set = true
+ o.Value = new(APIV2HistoryTasksGetBadRequestData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptAPIV2HistoryTasksGetBadRequestData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptAPIV2HistoryTasksGetBadRequestData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes APIV3StocksWarehouseIdPutReq as json.
+func (o OptAPIV3StocksWarehouseIdPutReq) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes APIV3StocksWarehouseIdPutReq from json.
+func (o *OptAPIV3StocksWarehouseIdPutReq) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptAPIV3StocksWarehouseIdPutReq to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptAPIV3StocksWarehouseIdPutReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptAPIV3StocksWarehouseIdPutReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes bool as json.
+func (o OptBool) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Bool(bool(o.Value))
+}
+
+// Decode decodes bool from json.
+func (o *OptBool) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptBool to nil")
+ }
+ o.Set = true
+ v, err := d.Bool()
+ if err != nil {
+ return err
+ }
+ o.Value = bool(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptBool) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptBool) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ContentV2CardsDeleteTrashPostOKAdditionalErrors as json.
+func (o OptContentV2CardsDeleteTrashPostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ContentV2CardsDeleteTrashPostOKAdditionalErrors from json.
+func (o *OptContentV2CardsDeleteTrashPostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsDeleteTrashPostOKAdditionalErrors to nil")
+ }
+ o.Set = true
+ o.Value = new(ContentV2CardsDeleteTrashPostOKAdditionalErrors)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsDeleteTrashPostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsDeleteTrashPostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ContentV2CardsDeleteTrashPostOKData as json.
+func (o OptContentV2CardsDeleteTrashPostOKData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ContentV2CardsDeleteTrashPostOKData from json.
+func (o *OptContentV2CardsDeleteTrashPostOKData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsDeleteTrashPostOKData to nil")
+ }
+ o.Set = true
+ o.Value = new(ContentV2CardsDeleteTrashPostOKData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsDeleteTrashPostOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsDeleteTrashPostOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2CardsLimitsGetOKData as json.
+func (o OptContentV2CardsLimitsGetOKData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2CardsLimitsGetOKData from json.
+func (o *OptContentV2CardsLimitsGetOKData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsLimitsGetOKData to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsLimitsGetOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsLimitsGetOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ContentV2CardsRecoverPostOKAdditionalErrors as json.
+func (o OptContentV2CardsRecoverPostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ContentV2CardsRecoverPostOKAdditionalErrors from json.
+func (o *OptContentV2CardsRecoverPostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsRecoverPostOKAdditionalErrors to nil")
+ }
+ o.Set = true
+ o.Value = new(ContentV2CardsRecoverPostOKAdditionalErrors)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsRecoverPostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsRecoverPostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ContentV2CardsRecoverPostOKData as json.
+func (o OptContentV2CardsRecoverPostOKData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ContentV2CardsRecoverPostOKData from json.
+func (o *OptContentV2CardsRecoverPostOKData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsRecoverPostOKData to nil")
+ }
+ o.Set = true
+ o.Value = new(ContentV2CardsRecoverPostOKData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsRecoverPostOKData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsRecoverPostOKData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2CardsUpdatePostReqItemDimensions as json.
+func (o OptContentV2CardsUpdatePostReqItemDimensions) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2CardsUpdatePostReqItemDimensions from json.
+func (o *OptContentV2CardsUpdatePostReqItemDimensions) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsUpdatePostReqItemDimensions to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsUpdatePostReqItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsUpdatePostReqItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2CardsUploadAddPostReq as json.
+func (o OptContentV2CardsUploadAddPostReq) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2CardsUploadAddPostReq from json.
+func (o *OptContentV2CardsUploadAddPostReq) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsUploadAddPostReq to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsUploadAddPostReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsUploadAddPostReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2CardsUploadAddPostReqCardsToAddItemDimensions as json.
+func (o OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2CardsUploadAddPostReqCardsToAddItemDimensions from json.
+func (o *OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2CardsUploadPostReqItemVariantsItemDimensions as json.
+func (o OptContentV2CardsUploadPostReqItemVariantsItemDimensions) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2CardsUploadPostReqItemVariantsItemDimensions from json.
+func (o *OptContentV2CardsUploadPostReqItemVariantsItemDimensions) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2CardsUploadPostReqItemVariantsItemDimensions to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2CardsUploadPostReqItemVariantsItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2CardsUploadPostReqItemVariantsItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsListPostOKCardsItemDimensions as json.
+func (o OptContentV2GetCardsListPostOKCardsItemDimensions) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCardsItemDimensions from json.
+func (o *OptContentV2GetCardsListPostOKCardsItemDimensions) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsListPostOKCardsItemDimensions to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsListPostOKCardsItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsListPostOKCardsItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsListPostOKCursor as json.
+func (o OptContentV2GetCardsListPostOKCursor) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsListPostOKCursor from json.
+func (o *OptContentV2GetCardsListPostOKCursor) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsListPostOKCursor to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsListPostOKCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsListPostOKCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsListPostReqSettings as json.
+func (o OptContentV2GetCardsListPostReqSettings) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettings from json.
+func (o *OptContentV2GetCardsListPostReqSettings) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsListPostReqSettings to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsListPostReqSettings) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsListPostReqSettings) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsListPostReqSettingsCursor as json.
+func (o OptContentV2GetCardsListPostReqSettingsCursor) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettingsCursor from json.
+func (o *OptContentV2GetCardsListPostReqSettingsCursor) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsListPostReqSettingsCursor to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsListPostReqSettingsCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsListPostReqSettingsCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsListPostReqSettingsFilter as json.
+func (o OptContentV2GetCardsListPostReqSettingsFilter) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettingsFilter from json.
+func (o *OptContentV2GetCardsListPostReqSettingsFilter) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsListPostReqSettingsFilter to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsListPostReqSettingsFilter) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsListPostReqSettingsFilter) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsListPostReqSettingsSort as json.
+func (o OptContentV2GetCardsListPostReqSettingsSort) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsListPostReqSettingsSort from json.
+func (o *OptContentV2GetCardsListPostReqSettingsSort) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsListPostReqSettingsSort to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsListPostReqSettingsSort) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsListPostReqSettingsSort) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsTrashPostOKCardsItemDimensions as json.
+func (o OptContentV2GetCardsTrashPostOKCardsItemDimensions) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCardsItemDimensions from json.
+func (o *OptContentV2GetCardsTrashPostOKCardsItemDimensions) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsTrashPostOKCardsItemDimensions to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsTrashPostOKCardsItemDimensions) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsTrashPostOKCardsItemDimensions) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsTrashPostOKCursor as json.
+func (o OptContentV2GetCardsTrashPostOKCursor) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsTrashPostOKCursor from json.
+func (o *OptContentV2GetCardsTrashPostOKCursor) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsTrashPostOKCursor to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsTrashPostOKCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsTrashPostOKCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsTrashPostReqSettings as json.
+func (o OptContentV2GetCardsTrashPostReqSettings) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettings from json.
+func (o *OptContentV2GetCardsTrashPostReqSettings) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsTrashPostReqSettings to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsTrashPostReqSettings) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsTrashPostReqSettings) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsTrashPostReqSettingsCursor as json.
+func (o OptContentV2GetCardsTrashPostReqSettingsCursor) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettingsCursor from json.
+func (o *OptContentV2GetCardsTrashPostReqSettingsCursor) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsTrashPostReqSettingsCursor to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsTrashPostReqSettingsCursor) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsTrashPostReqSettingsCursor) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsTrashPostReqSettingsFilter as json.
+func (o OptContentV2GetCardsTrashPostReqSettingsFilter) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettingsFilter from json.
+func (o *OptContentV2GetCardsTrashPostReqSettingsFilter) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsTrashPostReqSettingsFilter to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsTrashPostReqSettingsFilter) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsTrashPostReqSettingsFilter) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ContentV2GetCardsTrashPostReqSettingsSort as json.
+func (o OptContentV2GetCardsTrashPostReqSettingsSort) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ContentV2GetCardsTrashPostReqSettingsSort from json.
+func (o *OptContentV2GetCardsTrashPostReqSettingsSort) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV2GetCardsTrashPostReqSettingsSort to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV2GetCardsTrashPostReqSettingsSort) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV2GetCardsTrashPostReqSettingsSort) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ContentV3MediaFilePostOKAdditionalErrors as json.
+func (o OptContentV3MediaFilePostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ContentV3MediaFilePostOKAdditionalErrors from json.
+func (o *OptContentV3MediaFilePostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV3MediaFilePostOKAdditionalErrors to nil")
+ }
+ o.Set = true
+ o.Value = new(ContentV3MediaFilePostOKAdditionalErrors)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV3MediaFilePostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV3MediaFilePostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ContentV3MediaSavePostOKAdditionalErrors as json.
+func (o OptContentV3MediaSavePostOKAdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ContentV3MediaSavePostOKAdditionalErrors from json.
+func (o *OptContentV3MediaSavePostOKAdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptContentV3MediaSavePostOKAdditionalErrors to nil")
+ }
+ o.Set = true
+ o.Value = new(ContentV3MediaSavePostOKAdditionalErrors)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptContentV3MediaSavePostOKAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptContentV3MediaSavePostOKAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes time.Time as json.
+func (o OptDateTime) Encode(e *jx.Encoder, format func(*jx.Encoder, time.Time)) {
+ if !o.Set {
+ return
+ }
+ format(e, o.Value)
+}
+
+// Decode decodes time.Time from json.
+func (o *OptDateTime) Decode(d *jx.Decoder, format func(*jx.Decoder) (time.Time, error)) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptDateTime to nil")
+ }
+ o.Set = true
+ v, err := format(d)
+ if err != nil {
+ return err
+ }
+ o.Value = v
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptDateTime) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e, json.EncodeDateTime)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptDateTime) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d, json.DecodeDateTime)
+}
+
+// Encode encodes *ErrorData as json.
+func (o OptErrorData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ErrorData from json.
+func (o *OptErrorData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptErrorData to nil")
+ }
+ o.Set = true
+ o.Value = new(ErrorData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptErrorData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptErrorData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes float32 as json.
+func (o OptFloat32) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Float32(float32(o.Value))
+}
+
+// Decode decodes float32 from json.
+func (o *OptFloat32) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptFloat32 to nil")
+ }
+ o.Set = true
+ v, err := d.Float32()
+ if err != nil {
+ return err
+ }
+ o.Value = float32(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptFloat32) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptFloat32) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes float64 as json.
+func (o OptFloat64) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Float64(float64(o.Value))
+}
+
+// Decode decodes float64 from json.
+func (o *OptFloat64) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptFloat64 to nil")
+ }
+ o.Set = true
+ v, err := d.Float64()
+ if err != nil {
+ return err
+ }
+ o.Value = float64(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptFloat64) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptFloat64) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes GoodStatus as json.
+func (o OptGoodStatus) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes GoodStatus from json.
+func (o *OptGoodStatus) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptGoodStatus to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptGoodStatus) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptGoodStatus) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes GoodStatusBuffer as json.
+func (o OptGoodStatusBuffer) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes GoodStatusBuffer from json.
+func (o *OptGoodStatusBuffer) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptGoodStatusBuffer to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptGoodStatusBuffer) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptGoodStatusBuffer) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes int as json.
+func (o OptInt) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Int(int(o.Value))
+}
+
+// Decode decodes int from json.
+func (o *OptInt) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptInt to nil")
+ }
+ o.Set = true
+ v, err := d.Int()
+ if err != nil {
+ return err
+ }
+ o.Value = int(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptInt) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptInt) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes int64 as json.
+func (o OptInt64) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Int64(int64(o.Value))
+}
+
+// Decode decodes int64 from json.
+func (o *OptInt64) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptInt64 to nil")
+ }
+ o.Set = true
+ v, err := d.Int64()
+ if err != nil {
+ return err
+ }
+ o.Value = int64(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptInt64) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptInt64) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *MediaErrorsAdditionalErrors as json.
+func (o OptMediaErrorsAdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *MediaErrorsAdditionalErrors from json.
+func (o *OptMediaErrorsAdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptMediaErrorsAdditionalErrors to nil")
+ }
+ o.Set = true
+ o.Value = new(MediaErrorsAdditionalErrors)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptMediaErrorsAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptMediaErrorsAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes int as json.
+func (o OptNilInt) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ if o.Null {
+ e.Null()
+ return
+ }
+ e.Int(int(o.Value))
+}
+
+// Decode decodes int from json.
+func (o *OptNilInt) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptNilInt to nil")
+ }
+ if d.Next() == jx.Null {
+ if err := d.Null(); err != nil {
+ return err
+ }
+
+ var v int
+ o.Value = v
+ o.Set = true
+ o.Null = true
+ return nil
+ }
+ o.Set = true
+ o.Null = false
+ v, err := d.Int()
+ if err != nil {
+ return err
+ }
+ o.Value = int(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptNilInt) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptNilInt) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseBodyContentError400AdditionalErrors as json.
+func (o OptNilResponseBodyContentError400AdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ if o.Null {
+ e.Null()
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseBodyContentError400AdditionalErrors from json.
+func (o *OptNilResponseBodyContentError400AdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptNilResponseBodyContentError400AdditionalErrors to nil")
+ }
+ if d.Next() == jx.Null {
+ if err := d.Null(); err != nil {
+ return err
+ }
+
+ var v ResponseBodyContentError400AdditionalErrors
+ o.Value = v
+ o.Set = true
+ o.Null = true
+ return nil
+ }
+ o.Set = true
+ o.Null = false
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptNilResponseBodyContentError400AdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptNilResponseBodyContentError400AdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseContentError4AdditionalErrors as json.
+func (o OptNilResponseContentError4AdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ if o.Null {
+ e.Null()
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseContentError4AdditionalErrors from json.
+func (o *OptNilResponseContentError4AdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptNilResponseContentError4AdditionalErrors to nil")
+ }
+ if d.Next() == jx.Null {
+ if err := d.Null(); err != nil {
+ return err
+ }
+
+ var v ResponseContentError4AdditionalErrors
+ o.Value = v
+ o.Set = true
+ o.Null = true
+ return nil
+ }
+ o.Set = true
+ o.Null = false
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptNilResponseContentError4AdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptNilResponseContentError4AdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseQuarantineGoodsData as json.
+func (o OptNilResponseQuarantineGoodsData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ if o.Null {
+ e.Null()
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseQuarantineGoodsData from json.
+func (o *OptNilResponseQuarantineGoodsData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptNilResponseQuarantineGoodsData to nil")
+ }
+ if d.Next() == jx.Null {
+ if err := d.Null(); err != nil {
+ return err
+ }
+
+ var v ResponseQuarantineGoodsData
+ o.Value = v
+ o.Set = true
+ o.Null = true
+ return nil
+ }
+ o.Set = true
+ o.Null = false
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptNilResponseQuarantineGoodsData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptNilResponseQuarantineGoodsData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes string as json.
+func (o OptNilString) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ if o.Null {
+ e.Null()
+ return
+ }
+ e.Str(string(o.Value))
+}
+
+// Decode decodes string from json.
+func (o *OptNilString) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptNilString to nil")
+ }
+ if d.Next() == jx.Null {
+ if err := d.Null(); err != nil {
+ return err
+ }
+
+ var v string
+ o.Value = v
+ o.Set = true
+ o.Null = true
+ return nil
+ }
+ o.Set = true
+ o.Null = false
+ v, err := d.Str()
+ if err != nil {
+ return err
+ }
+ o.Value = string(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptNilString) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptNilString) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes OfficeCargoType as json.
+func (o OptOfficeCargoType) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Int(int(o.Value))
+}
+
+// Decode decodes OfficeCargoType from json.
+func (o *OptOfficeCargoType) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptOfficeCargoType to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptOfficeCargoType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptOfficeCargoType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes OfficeDeliveryType as json.
+func (o OptOfficeDeliveryType) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Int(int(o.Value))
+}
+
+// Decode decodes OfficeDeliveryType from json.
+func (o *OptOfficeDeliveryType) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptOfficeDeliveryType to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptOfficeDeliveryType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptOfficeDeliveryType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes RequestAlreadyExistsErrorData as json.
+func (o OptRequestAlreadyExistsErrorData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes RequestAlreadyExistsErrorData from json.
+func (o *OptRequestAlreadyExistsErrorData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptRequestAlreadyExistsErrorData to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptRequestAlreadyExistsErrorData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptRequestAlreadyExistsErrorData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ResponseBodyContentError400Data as json.
+func (o OptResponseBodyContentError400Data) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ResponseBodyContentError400Data from json.
+func (o *OptResponseBodyContentError400Data) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseBodyContentError400Data to nil")
+ }
+ o.Set = true
+ o.Value = new(ResponseBodyContentError400Data)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseBodyContentError400Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseBodyContentError400Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ResponseBodyContentError403Data as json.
+func (o OptResponseBodyContentError403Data) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ResponseBodyContentError403Data from json.
+func (o *OptResponseBodyContentError403Data) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseBodyContentError403Data to nil")
+ }
+ o.Set = true
+ o.Value = new(ResponseBodyContentError403Data)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseBodyContentError403Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseBodyContentError403Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseCardCreateAdditionalErrors as json.
+func (o OptResponseCardCreateAdditionalErrors) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseCardCreateAdditionalErrors from json.
+func (o *OptResponseCardCreateAdditionalErrors) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseCardCreateAdditionalErrors to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseCardCreateAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseCardCreateAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ResponseCardCreateData as json.
+func (o OptResponseCardCreateData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ResponseCardCreateData from json.
+func (o *OptResponseCardCreateData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseCardCreateData to nil")
+ }
+ o.Set = true
+ o.Value = new(ResponseCardCreateData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseCardCreateData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseCardCreateData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ResponseContentError4Data as json.
+func (o OptResponseContentError4Data) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ResponseContentError4Data from json.
+func (o *OptResponseContentError4Data) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseContentError4Data to nil")
+ }
+ o.Set = true
+ o.Value = new(ResponseContentError4Data)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseContentError4Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseContentError4Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ResponseContentError6Data as json.
+func (o OptResponseContentError6Data) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ResponseContentError6Data from json.
+func (o *OptResponseContentError6Data) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseContentError6Data to nil")
+ }
+ o.Set = true
+ o.Value = new(ResponseContentError6Data)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseContentError6Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseContentError6Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *ResponseErrorData as json.
+func (o OptResponseErrorData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *ResponseErrorData from json.
+func (o *OptResponseErrorData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseErrorData to nil")
+ }
+ o.Set = true
+ o.Value = new(ResponseErrorData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseErrorData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseErrorData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseGoodBufferHistoriesData as json.
+func (o OptResponseGoodBufferHistoriesData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseGoodBufferHistoriesData from json.
+func (o *OptResponseGoodBufferHistoriesData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseGoodBufferHistoriesData to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseGoodBufferHistoriesData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseGoodBufferHistoriesData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseGoodHistoriesData as json.
+func (o OptResponseGoodHistoriesData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseGoodHistoriesData from json.
+func (o *OptResponseGoodHistoriesData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseGoodHistoriesData to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseGoodHistoriesData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseGoodHistoriesData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseGoodsListsData as json.
+func (o OptResponseGoodsListsData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseGoodsListsData from json.
+func (o *OptResponseGoodsListsData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseGoodsListsData to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseGoodsListsData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseGoodsListsData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseSizeListsData as json.
+func (o OptResponseSizeListsData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes ResponseSizeListsData from json.
+func (o *OptResponseSizeListsData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptResponseSizeListsData to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptResponseSizeListsData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptResponseSizeListsData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes *StocksWarehouseErrorItemData as json.
+func (o OptStocksWarehouseErrorItemData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes *StocksWarehouseErrorItemData from json.
+func (o *OptStocksWarehouseErrorItemData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptStocksWarehouseErrorItemData to nil")
+ }
+ o.Set = true
+ o.Value = new(StocksWarehouseErrorItemData)
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptStocksWarehouseErrorItemData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptStocksWarehouseErrorItemData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes string as json.
+func (o OptString) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Str(string(o.Value))
+}
+
+// Decode decodes string from json.
+func (o *OptString) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptString to nil")
+ }
+ o.Set = true
+ v, err := d.Str()
+ if err != nil {
+ return err
+ }
+ o.Value = string(v)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptString) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptString) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes TaskCreatedData as json.
+func (o OptTaskCreatedData) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ o.Value.Encode(e)
+}
+
+// Decode decodes TaskCreatedData from json.
+func (o *OptTaskCreatedData) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptTaskCreatedData to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptTaskCreatedData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptTaskCreatedData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes uuid.UUID as json.
+func (o OptUUID) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ json.EncodeUUID(e, o.Value)
+}
+
+// Decode decodes uuid.UUID from json.
+func (o *OptUUID) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptUUID to nil")
+ }
+ o.Set = true
+ v, err := json.DecodeUUID(d)
+ if err != nil {
+ return err
+ }
+ o.Value = v
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptUUID) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptUUID) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes WarehouseCargoType as json.
+func (o OptWarehouseCargoType) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Int(int(o.Value))
+}
+
+// Decode decodes WarehouseCargoType from json.
+func (o *OptWarehouseCargoType) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptWarehouseCargoType to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptWarehouseCargoType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptWarehouseCargoType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes WarehouseDeliveryType as json.
+func (o OptWarehouseDeliveryType) Encode(e *jx.Encoder) {
+ if !o.Set {
+ return
+ }
+ e.Int(int(o.Value))
+}
+
+// Decode decodes WarehouseDeliveryType from json.
+func (o *OptWarehouseDeliveryType) Decode(d *jx.Decoder) error {
+ if o == nil {
+ return errors.New("invalid: unable to decode OptWarehouseDeliveryType to nil")
+ }
+ o.Set = true
+ if err := o.Value.Decode(d); err != nil {
+ return err
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s OptWarehouseDeliveryType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *OptWarehouseDeliveryType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *QuarantineGoods) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *QuarantineGoods) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.SizeID.Set {
+ e.FieldStart("sizeID")
+ s.SizeID.Encode(e)
+ }
+ }
+ {
+ if s.TechSizeName.Set {
+ e.FieldStart("techSizeName")
+ s.TechSizeName.Encode(e)
+ }
+ }
+ {
+ if s.CurrencyIsoCode4217.Set {
+ e.FieldStart("currencyIsoCode4217")
+ s.CurrencyIsoCode4217.Encode(e)
+ }
+ }
+ {
+ if s.NewPrice.Set {
+ e.FieldStart("newPrice")
+ s.NewPrice.Encode(e)
+ }
+ }
+ {
+ if s.OldPrice.Set {
+ e.FieldStart("oldPrice")
+ s.OldPrice.Encode(e)
+ }
+ }
+ {
+ if s.NewDiscount.Set {
+ e.FieldStart("newDiscount")
+ s.NewDiscount.Encode(e)
+ }
+ }
+ {
+ if s.OldDiscount.Set {
+ e.FieldStart("oldDiscount")
+ s.OldDiscount.Encode(e)
+ }
+ }
+ {
+ if s.PriceDiff.Set {
+ e.FieldStart("priceDiff")
+ s.PriceDiff.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfQuarantineGoods = [9]string{
+ 0: "nmID",
+ 1: "sizeID",
+ 2: "techSizeName",
+ 3: "currencyIsoCode4217",
+ 4: "newPrice",
+ 5: "oldPrice",
+ 6: "newDiscount",
+ 7: "oldDiscount",
+ 8: "priceDiff",
+}
+
+// Decode decodes QuarantineGoods from json.
+func (s *QuarantineGoods) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode QuarantineGoods to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "sizeID":
+ if err := func() error {
+ s.SizeID.Reset()
+ if err := s.SizeID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizeID\"")
+ }
+ case "techSizeName":
+ if err := func() error {
+ s.TechSizeName.Reset()
+ if err := s.TechSizeName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSizeName\"")
+ }
+ case "currencyIsoCode4217":
+ if err := func() error {
+ s.CurrencyIsoCode4217.Reset()
+ if err := s.CurrencyIsoCode4217.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"currencyIsoCode4217\"")
+ }
+ case "newPrice":
+ if err := func() error {
+ s.NewPrice.Reset()
+ if err := s.NewPrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"newPrice\"")
+ }
+ case "oldPrice":
+ if err := func() error {
+ s.OldPrice.Reset()
+ if err := s.OldPrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"oldPrice\"")
+ }
+ case "newDiscount":
+ if err := func() error {
+ s.NewDiscount.Reset()
+ if err := s.NewDiscount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"newDiscount\"")
+ }
+ case "oldDiscount":
+ if err := func() error {
+ s.OldDiscount.Reset()
+ if err := s.OldDiscount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"oldDiscount\"")
+ }
+ case "priceDiff":
+ if err := func() error {
+ s.PriceDiff.Reset()
+ if err := s.PriceDiff.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"priceDiff\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode QuarantineGoods")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *QuarantineGoods) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *QuarantineGoods) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *R401) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *R401) encodeFields(e *jx.Encoder) {
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Detail.Set {
+ e.FieldStart("detail")
+ s.Detail.Encode(e)
+ }
+ }
+ {
+ if s.Code.Set {
+ e.FieldStart("code")
+ s.Code.Encode(e)
+ }
+ }
+ {
+ if s.RequestId.Set {
+ e.FieldStart("requestId")
+ s.RequestId.Encode(e)
+ }
+ }
+ {
+ if s.Origin.Set {
+ e.FieldStart("origin")
+ s.Origin.Encode(e)
+ }
+ }
+ {
+ if s.Status.Set {
+ e.FieldStart("status")
+ s.Status.Encode(e)
+ }
+ }
+ {
+ if s.StatusText.Set {
+ e.FieldStart("statusText")
+ s.StatusText.Encode(e)
+ }
+ }
+ {
+ if s.Timestamp.Set {
+ e.FieldStart("timestamp")
+ s.Timestamp.Encode(e, json.EncodeDateTime)
+ }
+ }
+}
+
+var jsonFieldsNameOfR401 = [8]string{
+ 0: "title",
+ 1: "detail",
+ 2: "code",
+ 3: "requestId",
+ 4: "origin",
+ 5: "status",
+ 6: "statusText",
+ 7: "timestamp",
+}
+
+// Decode decodes R401 from json.
+func (s *R401) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode R401 to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "detail":
+ if err := func() error {
+ s.Detail.Reset()
+ if err := s.Detail.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"detail\"")
+ }
+ case "code":
+ if err := func() error {
+ s.Code.Reset()
+ if err := s.Code.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"code\"")
+ }
+ case "requestId":
+ if err := func() error {
+ s.RequestId.Reset()
+ if err := s.RequestId.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"requestId\"")
+ }
+ case "origin":
+ if err := func() error {
+ s.Origin.Reset()
+ if err := s.Origin.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"origin\"")
+ }
+ case "status":
+ if err := func() error {
+ s.Status.Reset()
+ if err := s.Status.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"status\"")
+ }
+ case "statusText":
+ if err := func() error {
+ s.StatusText.Reset()
+ if err := s.StatusText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"statusText\"")
+ }
+ case "timestamp":
+ if err := func() error {
+ s.Timestamp.Reset()
+ if err := s.Timestamp.Decode(d, json.DecodeDateTime); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"timestamp\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode R401")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *R401) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *R401) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *R429) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *R429) encodeFields(e *jx.Encoder) {
+ {
+ if s.Title.Set {
+ e.FieldStart("title")
+ s.Title.Encode(e)
+ }
+ }
+ {
+ if s.Detail.Set {
+ e.FieldStart("detail")
+ s.Detail.Encode(e)
+ }
+ }
+ {
+ if s.Code.Set {
+ e.FieldStart("code")
+ s.Code.Encode(e)
+ }
+ }
+ {
+ if s.RequestId.Set {
+ e.FieldStart("requestId")
+ s.RequestId.Encode(e)
+ }
+ }
+ {
+ if s.Origin.Set {
+ e.FieldStart("origin")
+ s.Origin.Encode(e)
+ }
+ }
+ {
+ if s.Status.Set {
+ e.FieldStart("status")
+ s.Status.Encode(e)
+ }
+ }
+ {
+ if s.StatusText.Set {
+ e.FieldStart("statusText")
+ s.StatusText.Encode(e)
+ }
+ }
+ {
+ if s.Timestamp.Set {
+ e.FieldStart("timestamp")
+ s.Timestamp.Encode(e, json.EncodeDateTime)
+ }
+ }
+}
+
+var jsonFieldsNameOfR429 = [8]string{
+ 0: "title",
+ 1: "detail",
+ 2: "code",
+ 3: "requestId",
+ 4: "origin",
+ 5: "status",
+ 6: "statusText",
+ 7: "timestamp",
+}
+
+// Decode decodes R429 from json.
+func (s *R429) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode R429 to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "title":
+ if err := func() error {
+ s.Title.Reset()
+ if err := s.Title.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"title\"")
+ }
+ case "detail":
+ if err := func() error {
+ s.Detail.Reset()
+ if err := s.Detail.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"detail\"")
+ }
+ case "code":
+ if err := func() error {
+ s.Code.Reset()
+ if err := s.Code.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"code\"")
+ }
+ case "requestId":
+ if err := func() error {
+ s.RequestId.Reset()
+ if err := s.RequestId.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"requestId\"")
+ }
+ case "origin":
+ if err := func() error {
+ s.Origin.Reset()
+ if err := s.Origin.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"origin\"")
+ }
+ case "status":
+ if err := func() error {
+ s.Status.Reset()
+ if err := s.Status.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"status\"")
+ }
+ case "statusText":
+ if err := func() error {
+ s.StatusText.Reset()
+ if err := s.StatusText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"statusText\"")
+ }
+ case "timestamp":
+ if err := func() error {
+ s.Timestamp.Reset()
+ if err := s.Timestamp.Decode(d, json.DecodeDateTime); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"timestamp\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode R429")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *R429) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *R429) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *RequestAlreadyExistsError) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *RequestAlreadyExistsError) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfRequestAlreadyExistsError = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes RequestAlreadyExistsError from json.
+func (s *RequestAlreadyExistsError) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode RequestAlreadyExistsError to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode RequestAlreadyExistsError")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *RequestAlreadyExistsError) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *RequestAlreadyExistsError) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *RequestAlreadyExistsErrorData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *RequestAlreadyExistsErrorData) encodeFields(e *jx.Encoder) {
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if s.AlreadyExists.Set {
+ e.FieldStart("alreadyExists")
+ s.AlreadyExists.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfRequestAlreadyExistsErrorData = [2]string{
+ 0: "id",
+ 1: "alreadyExists",
+}
+
+// Decode decodes RequestAlreadyExistsErrorData from json.
+func (s *RequestAlreadyExistsErrorData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode RequestAlreadyExistsErrorData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "alreadyExists":
+ if err := func() error {
+ s.AlreadyExists.Reset()
+ if err := s.AlreadyExists.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"alreadyExists\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode RequestAlreadyExistsErrorData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *RequestAlreadyExistsErrorData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *RequestAlreadyExistsErrorData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseBodyContentError400) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseBodyContentError400) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseBodyContentError400 = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ResponseBodyContentError400 from json.
+func (s *ResponseBodyContentError400) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseBodyContentError400 to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseBodyContentError400")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseBodyContentError400) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseBodyContentError400) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseBodyContentError400AdditionalErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseBodyContentError400AdditionalErrors) encodeFields(e *jx.Encoder) {
+ {
+ if s.MoveNmsToTrash.Set {
+ e.FieldStart("MoveNmsToTrash")
+ s.MoveNmsToTrash.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseBodyContentError400AdditionalErrors = [1]string{
+ 0: "MoveNmsToTrash",
+}
+
+// Decode decodes ResponseBodyContentError400AdditionalErrors from json.
+func (s *ResponseBodyContentError400AdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseBodyContentError400AdditionalErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "MoveNmsToTrash":
+ if err := func() error {
+ s.MoveNmsToTrash.Reset()
+ if err := s.MoveNmsToTrash.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"MoveNmsToTrash\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseBodyContentError400AdditionalErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseBodyContentError400AdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseBodyContentError400AdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseBodyContentError400Data) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseBodyContentError400Data) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfResponseBodyContentError400Data = [0]string{}
+
+// Decode decodes ResponseBodyContentError400Data from json.
+func (s *ResponseBodyContentError400Data) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseBodyContentError400Data to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseBodyContentError400Data")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseBodyContentError400Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseBodyContentError400Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseBodyContentError403) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseBodyContentError403) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseBodyContentError403 = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ResponseBodyContentError403 from json.
+func (s *ResponseBodyContentError403) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseBodyContentError403 to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseBodyContentError403")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseBodyContentError403) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseBodyContentError403) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseBodyContentError403Data) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseBodyContentError403Data) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfResponseBodyContentError403Data = [0]string{}
+
+// Decode decodes ResponseBodyContentError403Data from json.
+func (s *ResponseBodyContentError403Data) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseBodyContentError403Data to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseBodyContentError403Data")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseBodyContentError403Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseBodyContentError403Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseCardCreate) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseCardCreate) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseCardCreate = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ResponseCardCreate from json.
+func (s *ResponseCardCreate) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseCardCreate to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseCardCreate")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseCardCreate) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseCardCreate) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes ResponseCardCreateAdditionalErrors as json.
+func (s ResponseCardCreateAdditionalErrors) Encode(e *jx.Encoder) {
+ switch s.Type {
+ case NullResponseCardCreateAdditionalErrors:
+ _ = s.Null
+ e.Null()
+ case ResponseCardCreateAdditionalErrors0ResponseCardCreateAdditionalErrors:
+ s.ResponseCardCreateAdditionalErrors0.Encode(e)
+ case StringResponseCardCreateAdditionalErrors:
+ e.Str(s.String)
+ }
+}
+
+// Decode decodes ResponseCardCreateAdditionalErrors from json.
+func (s *ResponseCardCreateAdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseCardCreateAdditionalErrors to nil")
+ }
+ // Sum type type_discriminator.
+ switch t := d.Next(); t {
+ case jx.Null:
+ if err := d.Null(); err != nil {
+ return err
+ }
+ s.Type = NullResponseCardCreateAdditionalErrors
+ case jx.Object:
+ if err := s.ResponseCardCreateAdditionalErrors0.Decode(d); err != nil {
+ return err
+ }
+ s.Type = ResponseCardCreateAdditionalErrors0ResponseCardCreateAdditionalErrors
+ case jx.String:
+ v, err := d.Str()
+ s.String = string(v)
+ if err != nil {
+ return err
+ }
+ s.Type = StringResponseCardCreateAdditionalErrors
+ default:
+ return errors.Errorf("unexpected json type %q", t)
+ }
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s ResponseCardCreateAdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseCardCreateAdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseCardCreateAdditionalErrors0) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseCardCreateAdditionalErrors0) encodeFields(e *jx.Encoder) {
+ {
+ if s.String.Set {
+ e.FieldStart("string")
+ s.String.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseCardCreateAdditionalErrors0 = [1]string{
+ 0: "string",
+}
+
+// Decode decodes ResponseCardCreateAdditionalErrors0 from json.
+func (s *ResponseCardCreateAdditionalErrors0) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseCardCreateAdditionalErrors0 to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "string":
+ if err := func() error {
+ s.String.Reset()
+ if err := s.String.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"string\"")
+ }
+ default:
+ return errors.Errorf("unexpected field %q", k)
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseCardCreateAdditionalErrors0")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseCardCreateAdditionalErrors0) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseCardCreateAdditionalErrors0) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseCardCreateData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseCardCreateData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfResponseCardCreateData = [0]string{}
+
+// Decode decodes ResponseCardCreateData from json.
+func (s *ResponseCardCreateData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseCardCreateData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseCardCreateData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseCardCreateData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseCardCreateData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseContentError4) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseContentError4) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseContentError4 = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ResponseContentError4 from json.
+func (s *ResponseContentError4) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseContentError4 to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseContentError4")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseContentError4) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseContentError4) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseContentError4AdditionalErrors) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseContentError4AdditionalErrors) encodeFields(e *jx.Encoder) {
+ {
+ if s.Description.Set {
+ e.FieldStart("description")
+ s.Description.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseContentError4AdditionalErrors = [1]string{
+ 0: "description",
+}
+
+// Decode decodes ResponseContentError4AdditionalErrors from json.
+func (s *ResponseContentError4AdditionalErrors) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseContentError4AdditionalErrors to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "description":
+ if err := func() error {
+ s.Description.Reset()
+ if err := s.Description.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"description\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseContentError4AdditionalErrors")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseContentError4AdditionalErrors) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseContentError4AdditionalErrors) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseContentError4Data) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseContentError4Data) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfResponseContentError4Data = [0]string{}
+
+// Decode decodes ResponseContentError4Data from json.
+func (s *ResponseContentError4Data) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseContentError4Data to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseContentError4Data")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseContentError4Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseContentError4Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseContentError6) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseContentError6) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+ {
+ if s.AdditionalErrors.Set {
+ e.FieldStart("additionalErrors")
+ s.AdditionalErrors.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseContentError6 = [4]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+ 3: "additionalErrors",
+}
+
+// Decode decodes ResponseContentError6 from json.
+func (s *ResponseContentError6) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseContentError6 to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ case "additionalErrors":
+ if err := func() error {
+ s.AdditionalErrors.Reset()
+ if err := s.AdditionalErrors.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"additionalErrors\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseContentError6")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseContentError6) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseContentError6) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseContentError6Data) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseContentError6Data) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfResponseContentError6Data = [0]string{}
+
+// Decode decodes ResponseContentError6Data from json.
+func (s *ResponseContentError6Data) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseContentError6Data to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseContentError6Data")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseContentError6Data) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseContentError6Data) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseError) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseError) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseError = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes ResponseError from json.
+func (s *ResponseError) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseError to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseError")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseError) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseError) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseErrorData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseErrorData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfResponseErrorData = [0]string{}
+
+// Decode decodes ResponseErrorData from json.
+func (s *ResponseErrorData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseErrorData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseErrorData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseErrorData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseErrorData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseGoodBufferHistories) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseGoodBufferHistories) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseGoodBufferHistories = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes ResponseGoodBufferHistories from json.
+func (s *ResponseGoodBufferHistories) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseGoodBufferHistories to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseGoodBufferHistories")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseGoodBufferHistories) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseGoodBufferHistories) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseGoodBufferHistoriesData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseGoodBufferHistoriesData) encodeFields(e *jx.Encoder) {
+ {
+ if s.UploadID.Set {
+ e.FieldStart("uploadID")
+ s.UploadID.Encode(e)
+ }
+ }
+ {
+ if s.BufferGoods != nil {
+ e.FieldStart("bufferGoods")
+ e.ArrStart()
+ for _, elem := range s.BufferGoods {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseGoodBufferHistoriesData = [2]string{
+ 0: "uploadID",
+ 1: "bufferGoods",
+}
+
+// Decode decodes ResponseGoodBufferHistoriesData from json.
+func (s *ResponseGoodBufferHistoriesData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseGoodBufferHistoriesData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "uploadID":
+ if err := func() error {
+ s.UploadID.Reset()
+ if err := s.UploadID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"uploadID\"")
+ }
+ case "bufferGoods":
+ if err := func() error {
+ s.BufferGoods = make([]GoodBufferHistory, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem GoodBufferHistory
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.BufferGoods = append(s.BufferGoods, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"bufferGoods\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseGoodBufferHistoriesData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseGoodBufferHistoriesData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseGoodBufferHistoriesData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseGoodHistories) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseGoodHistories) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseGoodHistories = [1]string{
+ 0: "data",
+}
+
+// Decode decodes ResponseGoodHistories from json.
+func (s *ResponseGoodHistories) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseGoodHistories to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseGoodHistories")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseGoodHistories) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseGoodHistories) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseGoodHistoriesData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseGoodHistoriesData) encodeFields(e *jx.Encoder) {
+ {
+ if s.UploadID.Set {
+ e.FieldStart("uploadID")
+ s.UploadID.Encode(e)
+ }
+ }
+ {
+ if s.HistoryGoods != nil {
+ e.FieldStart("historyGoods")
+ e.ArrStart()
+ for _, elem := range s.HistoryGoods {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseGoodHistoriesData = [2]string{
+ 0: "uploadID",
+ 1: "historyGoods",
+}
+
+// Decode decodes ResponseGoodHistoriesData from json.
+func (s *ResponseGoodHistoriesData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseGoodHistoriesData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "uploadID":
+ if err := func() error {
+ s.UploadID.Reset()
+ if err := s.UploadID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"uploadID\"")
+ }
+ case "historyGoods":
+ if err := func() error {
+ s.HistoryGoods = make([]GoodHistory, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem GoodHistory
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.HistoryGoods = append(s.HistoryGoods, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"historyGoods\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseGoodHistoriesData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseGoodHistoriesData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseGoodHistoriesData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseGoodsLists) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseGoodsLists) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseGoodsLists = [1]string{
+ 0: "data",
+}
+
+// Decode decodes ResponseGoodsLists from json.
+func (s *ResponseGoodsLists) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseGoodsLists to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseGoodsLists")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseGoodsLists) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseGoodsLists) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseGoodsListsData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseGoodsListsData) encodeFields(e *jx.Encoder) {
+ {
+ if s.ListGoods != nil {
+ e.FieldStart("listGoods")
+ e.ArrStart()
+ for _, elem := range s.ListGoods {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseGoodsListsData = [1]string{
+ 0: "listGoods",
+}
+
+// Decode decodes ResponseGoodsListsData from json.
+func (s *ResponseGoodsListsData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseGoodsListsData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "listGoods":
+ if err := func() error {
+ s.ListGoods = make([]GoodsList, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem GoodsList
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.ListGoods = append(s.ListGoods, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"listGoods\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseGoodsListsData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseGoodsListsData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseGoodsListsData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseQuarantineGoods) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseQuarantineGoods) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseQuarantineGoods = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes ResponseQuarantineGoods from json.
+func (s *ResponseQuarantineGoods) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseQuarantineGoods to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseQuarantineGoods")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseQuarantineGoods) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseQuarantineGoods) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseQuarantineGoodsData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseQuarantineGoodsData) encodeFields(e *jx.Encoder) {
+ {
+ if s.QuarantineGoods != nil {
+ e.FieldStart("quarantineGoods")
+ e.ArrStart()
+ for _, elem := range s.QuarantineGoods {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseQuarantineGoodsData = [1]string{
+ 0: "quarantineGoods",
+}
+
+// Decode decodes ResponseQuarantineGoodsData from json.
+func (s *ResponseQuarantineGoodsData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseQuarantineGoodsData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "quarantineGoods":
+ if err := func() error {
+ s.QuarantineGoods = make([]QuarantineGoods, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem QuarantineGoods
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.QuarantineGoods = append(s.QuarantineGoods, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"quarantineGoods\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseQuarantineGoodsData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseQuarantineGoodsData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseQuarantineGoodsData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseSizeLists) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseSizeLists) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseSizeLists = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes ResponseSizeLists from json.
+func (s *ResponseSizeLists) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseSizeLists to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseSizeLists")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseSizeLists) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseSizeLists) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseSizeListsData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseSizeListsData) encodeFields(e *jx.Encoder) {
+ {
+ if s.ListGoods != nil {
+ e.FieldStart("listGoods")
+ e.ArrStart()
+ for _, elem := range s.ListGoods {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseSizeListsData = [1]string{
+ 0: "listGoods",
+}
+
+// Decode decodes ResponseSizeListsData from json.
+func (s *ResponseSizeListsData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseSizeListsData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "listGoods":
+ if err := func() error {
+ s.ListGoods = make([]SizeGood, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem SizeGood
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ s.ListGoods = append(s.ListGoods, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"listGoods\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseSizeListsData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseSizeListsData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseSizeListsData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseTaskBuffer) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseTaskBuffer) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseTaskBuffer = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes ResponseTaskBuffer from json.
+func (s *ResponseTaskBuffer) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseTaskBuffer to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseTaskBuffer")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseTaskBuffer) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseTaskBuffer) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *ResponseTaskHistory) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *ResponseTaskHistory) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfResponseTaskHistory = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes ResponseTaskHistory from json.
+func (s *ResponseTaskHistory) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode ResponseTaskHistory to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode ResponseTaskHistory")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *ResponseTaskHistory) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *ResponseTaskHistory) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *SizeGood) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *SizeGood) encodeFields(e *jx.Encoder) {
+ {
+ if s.NmID.Set {
+ e.FieldStart("nmID")
+ s.NmID.Encode(e)
+ }
+ }
+ {
+ if s.SizeID.Set {
+ e.FieldStart("sizeID")
+ s.SizeID.Encode(e)
+ }
+ }
+ {
+ if s.VendorCode.Set {
+ e.FieldStart("vendorCode")
+ s.VendorCode.Encode(e)
+ }
+ }
+ {
+ if s.Price.Set {
+ e.FieldStart("price")
+ s.Price.Encode(e)
+ }
+ }
+ {
+ if s.CurrencyIsoCode4217.Set {
+ e.FieldStart("currencyIsoCode4217")
+ s.CurrencyIsoCode4217.Encode(e)
+ }
+ }
+ {
+ if s.DiscountedPrice.Set {
+ e.FieldStart("discountedPrice")
+ s.DiscountedPrice.Encode(e)
+ }
+ }
+ {
+ if s.ClubDiscountedPrice.Set {
+ e.FieldStart("clubDiscountedPrice")
+ s.ClubDiscountedPrice.Encode(e)
+ }
+ }
+ {
+ if s.Discount.Set {
+ e.FieldStart("discount")
+ s.Discount.Encode(e)
+ }
+ }
+ {
+ if s.ClubDiscount.Set {
+ e.FieldStart("clubDiscount")
+ s.ClubDiscount.Encode(e)
+ }
+ }
+ {
+ if s.TechSizeName.Set {
+ e.FieldStart("techSizeName")
+ s.TechSizeName.Encode(e)
+ }
+ }
+ {
+ if s.EditableSizePrice.Set {
+ e.FieldStart("editableSizePrice")
+ s.EditableSizePrice.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfSizeGood = [11]string{
+ 0: "nmID",
+ 1: "sizeID",
+ 2: "vendorCode",
+ 3: "price",
+ 4: "currencyIsoCode4217",
+ 5: "discountedPrice",
+ 6: "clubDiscountedPrice",
+ 7: "discount",
+ 8: "clubDiscount",
+ 9: "techSizeName",
+ 10: "editableSizePrice",
+}
+
+// Decode decodes SizeGood from json.
+func (s *SizeGood) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode SizeGood to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ if err := func() error {
+ s.NmID.Reset()
+ if err := s.NmID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "sizeID":
+ if err := func() error {
+ s.SizeID.Reset()
+ if err := s.SizeID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizeID\"")
+ }
+ case "vendorCode":
+ if err := func() error {
+ s.VendorCode.Reset()
+ if err := s.VendorCode.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"vendorCode\"")
+ }
+ case "price":
+ if err := func() error {
+ s.Price.Reset()
+ if err := s.Price.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ case "currencyIsoCode4217":
+ if err := func() error {
+ s.CurrencyIsoCode4217.Reset()
+ if err := s.CurrencyIsoCode4217.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"currencyIsoCode4217\"")
+ }
+ case "discountedPrice":
+ if err := func() error {
+ s.DiscountedPrice.Reset()
+ if err := s.DiscountedPrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"discountedPrice\"")
+ }
+ case "clubDiscountedPrice":
+ if err := func() error {
+ s.ClubDiscountedPrice.Reset()
+ if err := s.ClubDiscountedPrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"clubDiscountedPrice\"")
+ }
+ case "discount":
+ if err := func() error {
+ s.Discount.Reset()
+ if err := s.Discount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"discount\"")
+ }
+ case "clubDiscount":
+ if err := func() error {
+ s.ClubDiscount.Reset()
+ if err := s.ClubDiscount.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"clubDiscount\"")
+ }
+ case "techSizeName":
+ if err := func() error {
+ s.TechSizeName.Reset()
+ if err := s.TechSizeName.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"techSizeName\"")
+ }
+ case "editableSizePrice":
+ if err := func() error {
+ s.EditableSizePrice.Reset()
+ if err := s.EditableSizePrice.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"editableSizePrice\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode SizeGood")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *SizeGood) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *SizeGood) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *SizeGoodReq) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *SizeGoodReq) encodeFields(e *jx.Encoder) {
+ {
+ e.FieldStart("nmID")
+ e.Int(s.NmID)
+ }
+ {
+ e.FieldStart("sizeID")
+ e.Int(s.SizeID)
+ }
+ {
+ e.FieldStart("price")
+ e.Int(s.Price)
+ }
+}
+
+var jsonFieldsNameOfSizeGoodReq = [3]string{
+ 0: "nmID",
+ 1: "sizeID",
+ 2: "price",
+}
+
+// Decode decodes SizeGoodReq from json.
+func (s *SizeGoodReq) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode SizeGoodReq to nil")
+ }
+ var requiredBitSet [1]uint8
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "nmID":
+ requiredBitSet[0] |= 1 << 0
+ if err := func() error {
+ v, err := d.Int()
+ s.NmID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"nmID\"")
+ }
+ case "sizeID":
+ requiredBitSet[0] |= 1 << 1
+ if err := func() error {
+ v, err := d.Int()
+ s.SizeID = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"sizeID\"")
+ }
+ case "price":
+ requiredBitSet[0] |= 1 << 2
+ if err := func() error {
+ v, err := d.Int()
+ s.Price = int(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"price\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode SizeGoodReq")
+ }
+ // Validate required fields.
+ var failures []validate.FieldError
+ for i, mask := range [1]uint8{
+ 0b00000111,
+ } {
+ if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
+ // Mask only required fields and check equality to mask using XOR.
+ //
+ // If XOR result is not zero, result is not equal to expected, so some fields are missed.
+ // Bits of fields which would be set are actually bits of missed fields.
+ missed := bits.OnesCount8(result)
+ for bitN := 0; bitN < missed; bitN++ {
+ bitIdx := bits.TrailingZeros8(result)
+ fieldIdx := i*8 + bitIdx
+ var name string
+ if fieldIdx < len(jsonFieldsNameOfSizeGoodReq) {
+ name = jsonFieldsNameOfSizeGoodReq[fieldIdx]
+ } else {
+ name = strconv.Itoa(fieldIdx)
+ }
+ failures = append(failures, validate.FieldError{
+ Name: name,
+ Error: validate.ErrFieldRequired,
+ })
+ // Reset bit.
+ result &^= 1 << bitIdx
+ }
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *SizeGoodReq) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *SizeGoodReq) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes SizeGoodsBody as json.
+func (s SizeGoodsBody) Encode(e *jx.Encoder) {
+ unwrapped := []SizeGoodReq(s)
+ if unwrapped == nil {
+ e.ArrEmpty()
+ return
+ }
+ if unwrapped != nil {
+ e.ArrStart()
+ for _, elem := range unwrapped {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+}
+
+// Decode decodes SizeGoodsBody from json.
+func (s *SizeGoodsBody) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode SizeGoodsBody to nil")
+ }
+ var unwrapped []SizeGoodReq
+ if err := func() error {
+ unwrapped = make([]SizeGoodReq, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem SizeGoodReq
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ unwrapped = append(unwrapped, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = SizeGoodsBody(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s SizeGoodsBody) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *SizeGoodsBody) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes StocksWarehouseError as json.
+func (s StocksWarehouseError) Encode(e *jx.Encoder) {
+ unwrapped := []StocksWarehouseErrorItem(s)
+
+ e.ArrStart()
+ for _, elem := range unwrapped {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+}
+
+// Decode decodes StocksWarehouseError from json.
+func (s *StocksWarehouseError) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode StocksWarehouseError to nil")
+ }
+ var unwrapped []StocksWarehouseErrorItem
+ if err := func() error {
+ unwrapped = make([]StocksWarehouseErrorItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem StocksWarehouseErrorItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ unwrapped = append(unwrapped, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = StocksWarehouseError(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s StocksWarehouseError) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *StocksWarehouseError) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *StocksWarehouseErrorItem) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *StocksWarehouseErrorItem) encodeFields(e *jx.Encoder) {
+ {
+ if s.Code.Set {
+ e.FieldStart("code")
+ s.Code.Encode(e)
+ }
+ }
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Message.Set {
+ e.FieldStart("message")
+ s.Message.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfStocksWarehouseErrorItem = [3]string{
+ 0: "code",
+ 1: "data",
+ 2: "message",
+}
+
+// Decode decodes StocksWarehouseErrorItem from json.
+func (s *StocksWarehouseErrorItem) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode StocksWarehouseErrorItem to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "code":
+ if err := func() error {
+ s.Code.Reset()
+ if err := s.Code.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"code\"")
+ }
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "message":
+ if err := func() error {
+ s.Message.Reset()
+ if err := s.Message.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"message\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode StocksWarehouseErrorItem")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *StocksWarehouseErrorItem) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *StocksWarehouseErrorItem) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *StocksWarehouseErrorItemData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *StocksWarehouseErrorItemData) encodeFields(e *jx.Encoder) {
+}
+
+var jsonFieldsNameOfStocksWarehouseErrorItemData = [0]string{}
+
+// Decode decodes StocksWarehouseErrorItemData from json.
+func (s *StocksWarehouseErrorItemData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode StocksWarehouseErrorItemData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ default:
+ return d.Skip()
+ }
+ }); err != nil {
+ return errors.Wrap(err, "decode StocksWarehouseErrorItemData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *StocksWarehouseErrorItemData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *StocksWarehouseErrorItemData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes SupplierTaskMetadata as json.
+func (s SupplierTaskMetadata) Encode(e *jx.Encoder) {
+ unwrapped := jx.Raw(s)
+
+ if len(unwrapped) != 0 {
+ e.Raw(unwrapped)
+ }
+}
+
+// Decode decodes SupplierTaskMetadata from json.
+func (s *SupplierTaskMetadata) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode SupplierTaskMetadata to nil")
+ }
+ var unwrapped jx.Raw
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ unwrapped = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = SupplierTaskMetadata(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s SupplierTaskMetadata) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *SupplierTaskMetadata) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes SupplierTaskMetadataBuffer as json.
+func (s SupplierTaskMetadataBuffer) Encode(e *jx.Encoder) {
+ unwrapped := jx.Raw(s)
+
+ if len(unwrapped) != 0 {
+ e.Raw(unwrapped)
+ }
+}
+
+// Decode decodes SupplierTaskMetadataBuffer from json.
+func (s *SupplierTaskMetadataBuffer) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode SupplierTaskMetadataBuffer to nil")
+ }
+ var unwrapped jx.Raw
+ if err := func() error {
+ v, err := d.RawAppend(nil)
+ unwrapped = jx.Raw(v)
+ if err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "alias")
+ }
+ *s = SupplierTaskMetadataBuffer(unwrapped)
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s SupplierTaskMetadataBuffer) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *SupplierTaskMetadataBuffer) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *TaskCreated) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *TaskCreated) encodeFields(e *jx.Encoder) {
+ {
+ if s.Data.Set {
+ e.FieldStart("data")
+ s.Data.Encode(e)
+ }
+ }
+ {
+ if s.Error.Set {
+ e.FieldStart("error")
+ s.Error.Encode(e)
+ }
+ }
+ {
+ if s.ErrorText.Set {
+ e.FieldStart("errorText")
+ s.ErrorText.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfTaskCreated = [3]string{
+ 0: "data",
+ 1: "error",
+ 2: "errorText",
+}
+
+// Decode decodes TaskCreated from json.
+func (s *TaskCreated) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode TaskCreated to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "data":
+ if err := func() error {
+ s.Data.Reset()
+ if err := s.Data.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"data\"")
+ }
+ case "error":
+ if err := func() error {
+ s.Error.Reset()
+ if err := s.Error.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"error\"")
+ }
+ case "errorText":
+ if err := func() error {
+ s.ErrorText.Reset()
+ if err := s.ErrorText.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"errorText\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode TaskCreated")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *TaskCreated) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *TaskCreated) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *TaskCreatedData) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *TaskCreatedData) encodeFields(e *jx.Encoder) {
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if s.AlreadyExists.Set {
+ e.FieldStart("alreadyExists")
+ s.AlreadyExists.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfTaskCreatedData = [2]string{
+ 0: "id",
+ 1: "alreadyExists",
+}
+
+// Decode decodes TaskCreatedData from json.
+func (s *TaskCreatedData) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode TaskCreatedData to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "alreadyExists":
+ if err := func() error {
+ s.AlreadyExists.Reset()
+ if err := s.AlreadyExists.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"alreadyExists\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode TaskCreatedData")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *TaskCreatedData) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *TaskCreatedData) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode implements json.Marshaler.
+func (s *Warehouse) Encode(e *jx.Encoder) {
+ e.ObjStart()
+ s.encodeFields(e)
+ e.ObjEnd()
+}
+
+// encodeFields encodes fields.
+func (s *Warehouse) encodeFields(e *jx.Encoder) {
+ {
+ if s.Name.Set {
+ e.FieldStart("name")
+ s.Name.Encode(e)
+ }
+ }
+ {
+ if s.OfficeId.Set {
+ e.FieldStart("officeId")
+ s.OfficeId.Encode(e)
+ }
+ }
+ {
+ if s.ID.Set {
+ e.FieldStart("id")
+ s.ID.Encode(e)
+ }
+ }
+ {
+ if s.CargoType.Set {
+ e.FieldStart("cargoType")
+ s.CargoType.Encode(e)
+ }
+ }
+ {
+ if s.DeliveryType.Set {
+ e.FieldStart("deliveryType")
+ s.DeliveryType.Encode(e)
+ }
+ }
+}
+
+var jsonFieldsNameOfWarehouse = [5]string{
+ 0: "name",
+ 1: "officeId",
+ 2: "id",
+ 3: "cargoType",
+ 4: "deliveryType",
+}
+
+// Decode decodes Warehouse from json.
+func (s *Warehouse) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode Warehouse to nil")
+ }
+
+ if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
+ switch string(k) {
+ case "name":
+ if err := func() error {
+ s.Name.Reset()
+ if err := s.Name.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"name\"")
+ }
+ case "officeId":
+ if err := func() error {
+ s.OfficeId.Reset()
+ if err := s.OfficeId.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"officeId\"")
+ }
+ case "id":
+ if err := func() error {
+ s.ID.Reset()
+ if err := s.ID.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"id\"")
+ }
+ case "cargoType":
+ if err := func() error {
+ s.CargoType.Reset()
+ if err := s.CargoType.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"cargoType\"")
+ }
+ case "deliveryType":
+ if err := func() error {
+ s.DeliveryType.Reset()
+ if err := s.DeliveryType.Decode(d); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return errors.Wrap(err, "decode field \"deliveryType\"")
+ }
+ default:
+ return d.Skip()
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "decode Warehouse")
+ }
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s *Warehouse) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *Warehouse) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes WarehouseCargoType as json.
+func (s WarehouseCargoType) Encode(e *jx.Encoder) {
+ e.Int(int(s))
+}
+
+// Decode decodes WarehouseCargoType from json.
+func (s *WarehouseCargoType) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode WarehouseCargoType to nil")
+ }
+ v, err := d.Int()
+ if err != nil {
+ return err
+ }
+ *s = WarehouseCargoType(v)
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s WarehouseCargoType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *WarehouseCargoType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
+
+// Encode encodes WarehouseDeliveryType as json.
+func (s WarehouseDeliveryType) Encode(e *jx.Encoder) {
+ e.Int(int(s))
+}
+
+// Decode decodes WarehouseDeliveryType from json.
+func (s *WarehouseDeliveryType) Decode(d *jx.Decoder) error {
+ if s == nil {
+ return errors.New("invalid: unable to decode WarehouseDeliveryType to nil")
+ }
+ v, err := d.Int()
+ if err != nil {
+ return err
+ }
+ *s = WarehouseDeliveryType(v)
+
+ return nil
+}
+
+// MarshalJSON implements stdjson.Marshaler.
+func (s WarehouseDeliveryType) MarshalJSON() ([]byte, error) {
+ e := jx.Encoder{}
+ s.Encode(&e)
+ return e.Bytes(), nil
+}
+
+// UnmarshalJSON implements stdjson.Unmarshaler.
+func (s *WarehouseDeliveryType) UnmarshalJSON(data []byte) error {
+ d := jx.DecodeBytes(data)
+ return s.Decode(d)
+}
diff --git a/pkg/api/wb/client/oas_labeler_gen.go b/pkg/api/wb/client/oas_labeler_gen.go
new file mode 100644
index 0000000..7e519e8
--- /dev/null
+++ b/pkg/api/wb/client/oas_labeler_gen.go
@@ -0,0 +1,42 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "context"
+
+ "go.opentelemetry.io/otel/attribute"
+)
+
+// Labeler is used to allow adding custom attributes to the server request metrics.
+type Labeler struct {
+ attrs []attribute.KeyValue
+}
+
+// Add attributes to the Labeler.
+func (l *Labeler) Add(attrs ...attribute.KeyValue) {
+ l.attrs = append(l.attrs, attrs...)
+}
+
+// AttributeSet returns the attributes added to the Labeler as an attribute.Set.
+func (l *Labeler) AttributeSet() attribute.Set {
+ return attribute.NewSet(l.attrs...)
+}
+
+type labelerContextKey struct{}
+
+// LabelerFromContext retrieves the Labeler from the provided context, if present.
+//
+// If no Labeler was found in the provided context a new, empty Labeler is returned and the second
+// return value is false. In this case it is safe to use the Labeler but any attributes added to
+// it will not be used.
+func LabelerFromContext(ctx context.Context) (*Labeler, bool) {
+ if l, ok := ctx.Value(labelerContextKey{}).(*Labeler); ok {
+ return l, true
+ }
+ return &Labeler{}, false
+}
+
+func contextWithLabeler(ctx context.Context, l *Labeler) context.Context {
+ return context.WithValue(ctx, labelerContextKey{}, l)
+}
diff --git a/pkg/api/wb/client/oas_middleware_gen.go b/pkg/api/wb/client/oas_middleware_gen.go
new file mode 100644
index 0000000..6f58a1a
--- /dev/null
+++ b/pkg/api/wb/client/oas_middleware_gen.go
@@ -0,0 +1,10 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "github.com/ogen-go/ogen/middleware"
+)
+
+// Middleware is middleware type.
+type Middleware = middleware.Middleware
diff --git a/pkg/api/wb/client/oas_operations_gen.go b/pkg/api/wb/client/oas_operations_gen.go
new file mode 100644
index 0000000..8a9aeac
--- /dev/null
+++ b/pkg/api/wb/client/oas_operations_gen.go
@@ -0,0 +1,50 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+// OperationName is the ogen operation name
+type OperationName = string
+
+const (
+ APIV2BufferGoodsTaskGetOperation OperationName = "APIV2BufferGoodsTaskGet"
+ APIV2BufferTasksGetOperation OperationName = "APIV2BufferTasksGet"
+ APIV2HistoryGoodsTaskGetOperation OperationName = "APIV2HistoryGoodsTaskGet"
+ APIV2HistoryTasksGetOperation OperationName = "APIV2HistoryTasksGet"
+ APIV2ListGoodsFilterGetOperation OperationName = "APIV2ListGoodsFilterGet"
+ APIV2ListGoodsSizeNmGetOperation OperationName = "APIV2ListGoodsSizeNmGet"
+ APIV2QuarantineGoodsGetOperation OperationName = "APIV2QuarantineGoodsGet"
+ APIV2UploadTaskClubDiscountPostOperation OperationName = "APIV2UploadTaskClubDiscountPost"
+ APIV2UploadTaskPostOperation OperationName = "APIV2UploadTaskPost"
+ APIV2UploadTaskSizePostOperation OperationName = "APIV2UploadTaskSizePost"
+ APIV3OfficesGetOperation OperationName = "APIV3OfficesGet"
+ APIV3StocksWarehouseIdDeleteOperation OperationName = "APIV3StocksWarehouseIdDelete"
+ APIV3StocksWarehouseIdPostOperation OperationName = "APIV3StocksWarehouseIdPost"
+ APIV3StocksWarehouseIdPutOperation OperationName = "APIV3StocksWarehouseIdPut"
+ APIV3WarehousesGetOperation OperationName = "APIV3WarehousesGet"
+ APIV3WarehousesPostOperation OperationName = "APIV3WarehousesPost"
+ APIV3WarehousesWarehouseIdDeleteOperation OperationName = "APIV3WarehousesWarehouseIdDelete"
+ APIV3WarehousesWarehouseIdPutOperation OperationName = "APIV3WarehousesWarehouseIdPut"
+ ContentV2BarcodesPostOperation OperationName = "ContentV2BarcodesPost"
+ ContentV2CardsDeleteTrashPostOperation OperationName = "ContentV2CardsDeleteTrashPost"
+ ContentV2CardsErrorListGetOperation OperationName = "ContentV2CardsErrorListGet"
+ ContentV2CardsLimitsGetOperation OperationName = "ContentV2CardsLimitsGet"
+ ContentV2CardsRecoverPostOperation OperationName = "ContentV2CardsRecoverPost"
+ ContentV2CardsUpdatePostOperation OperationName = "ContentV2CardsUpdatePost"
+ ContentV2CardsUploadAddPostOperation OperationName = "ContentV2CardsUploadAddPost"
+ ContentV2CardsUploadPostOperation OperationName = "ContentV2CardsUploadPost"
+ ContentV2DirectoryColorsGetOperation OperationName = "ContentV2DirectoryColorsGet"
+ ContentV2DirectoryCountriesGetOperation OperationName = "ContentV2DirectoryCountriesGet"
+ ContentV2DirectoryKindsGetOperation OperationName = "ContentV2DirectoryKindsGet"
+ ContentV2DirectorySeasonsGetOperation OperationName = "ContentV2DirectorySeasonsGet"
+ ContentV2DirectoryTnvedGetOperation OperationName = "ContentV2DirectoryTnvedGet"
+ ContentV2DirectoryVatGetOperation OperationName = "ContentV2DirectoryVatGet"
+ ContentV2GetCardsListPostOperation OperationName = "ContentV2GetCardsListPost"
+ ContentV2GetCardsTrashPostOperation OperationName = "ContentV2GetCardsTrashPost"
+ ContentV2ObjectAllGetOperation OperationName = "ContentV2ObjectAllGet"
+ ContentV2ObjectCharcsSubjectIdGetOperation OperationName = "ContentV2ObjectCharcsSubjectIdGet"
+ ContentV2ObjectParentAllGetOperation OperationName = "ContentV2ObjectParentAllGet"
+ ContentV2TagNomenclatureLinkPostOperation OperationName = "ContentV2TagNomenclatureLinkPost"
+ ContentV2TagsGetOperation OperationName = "ContentV2TagsGet"
+ ContentV3MediaFilePostOperation OperationName = "ContentV3MediaFilePost"
+ ContentV3MediaSavePostOperation OperationName = "ContentV3MediaSavePost"
+)
diff --git a/pkg/api/wb/client/oas_parameters_gen.go b/pkg/api/wb/client/oas_parameters_gen.go
new file mode 100644
index 0000000..63e18ec
--- /dev/null
+++ b/pkg/api/wb/client/oas_parameters_gen.go
@@ -0,0 +1,2634 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "net/http"
+ "net/url"
+
+ "github.com/go-faster/errors"
+
+ "github.com/ogen-go/ogen/conv"
+ "github.com/ogen-go/ogen/middleware"
+ "github.com/ogen-go/ogen/ogenerrors"
+ "github.com/ogen-go/ogen/uri"
+ "github.com/ogen-go/ogen/validate"
+)
+
+// APIV2BufferGoodsTaskGetParams is parameters of GET /api/v2/buffer/goods/task operation.
+type APIV2BufferGoodsTaskGetParams struct {
+ // Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
+ // (ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ). ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1Β 000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
+ Limit uint
+ // ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
+ Offset OptUint
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ UploadID int
+}
+
+func unpackAPIV2BufferGoodsTaskGetParams(packed middleware.Parameters) (params APIV2BufferGoodsTaskGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "limit",
+ In: "query",
+ }
+ params.Limit = packed[key].(uint)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "offset",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Offset = v.(OptUint)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "uploadID",
+ In: "query",
+ }
+ params.UploadID = packed[key].(int)
+ }
+ return params
+}
+
+func decodeAPIV2BufferGoodsTaskGetParams(args [0]string, argsEscaped bool, r *http.Request) (params APIV2BufferGoodsTaskGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: limit.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ params.Limit = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "limit",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: offset.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotOffsetVal uint
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotOffsetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Offset.SetTo(paramsDotOffsetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := func() error {
+ if value, ok := params.Offset.Get(); ok {
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: true,
+ Min: 0,
+ MaxSet: false,
+ Max: 0,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(value)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "offset",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: uploadID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.UploadID = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "uploadID",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV2BufferTasksGetParams is parameters of GET /api/v2/buffer/tasks operation.
+type APIV2BufferTasksGetParams struct {
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ UploadID int
+}
+
+func unpackAPIV2BufferTasksGetParams(packed middleware.Parameters) (params APIV2BufferTasksGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "uploadID",
+ In: "query",
+ }
+ params.UploadID = packed[key].(int)
+ }
+ return params
+}
+
+func decodeAPIV2BufferTasksGetParams(args [0]string, argsEscaped bool, r *http.Request) (params APIV2BufferTasksGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: uploadID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.UploadID = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "uploadID",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV2HistoryGoodsTaskGetParams is parameters of GET /api/v2/history/goods/task operation.
+type APIV2HistoryGoodsTaskGetParams struct {
+ // Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
+ // (ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ). ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1Β 000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
+ Limit uint
+ // ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
+ Offset OptUint
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ UploadID int
+}
+
+func unpackAPIV2HistoryGoodsTaskGetParams(packed middleware.Parameters) (params APIV2HistoryGoodsTaskGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "limit",
+ In: "query",
+ }
+ params.Limit = packed[key].(uint)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "offset",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Offset = v.(OptUint)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "uploadID",
+ In: "query",
+ }
+ params.UploadID = packed[key].(int)
+ }
+ return params
+}
+
+func decodeAPIV2HistoryGoodsTaskGetParams(args [0]string, argsEscaped bool, r *http.Request) (params APIV2HistoryGoodsTaskGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: limit.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ params.Limit = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "limit",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: offset.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotOffsetVal uint
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotOffsetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Offset.SetTo(paramsDotOffsetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := func() error {
+ if value, ok := params.Offset.Get(); ok {
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: true,
+ Min: 0,
+ MaxSet: false,
+ Max: 0,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(value)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "offset",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: uploadID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.UploadID = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "uploadID",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV2HistoryTasksGetParams is parameters of GET /api/v2/history/tasks operation.
+type APIV2HistoryTasksGetParams struct {
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ UploadID int
+}
+
+func unpackAPIV2HistoryTasksGetParams(packed middleware.Parameters) (params APIV2HistoryTasksGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "uploadID",
+ In: "query",
+ }
+ params.UploadID = packed[key].(int)
+ }
+ return params
+}
+
+func decodeAPIV2HistoryTasksGetParams(args [0]string, argsEscaped bool, r *http.Request) (params APIV2HistoryTasksGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: uploadID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "uploadID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.UploadID = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "uploadID",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV2ListGoodsFilterGetParams is parameters of GET /api/v2/list/goods/filter operation.
+type APIV2ListGoodsFilterGetParams struct {
+ // Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
+ // (ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ). ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1Β 000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
+ Limit uint
+ // ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
+ Offset OptUint
+ // ΠΡΡΠΈΠΊΡΠ» WB, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΈΡΠΊΠ°ΡΡ ΡΠΎΠ²Π°Ρ.
+ FilterNmID OptInt
+}
+
+func unpackAPIV2ListGoodsFilterGetParams(packed middleware.Parameters) (params APIV2ListGoodsFilterGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "limit",
+ In: "query",
+ }
+ params.Limit = packed[key].(uint)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "offset",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Offset = v.(OptUint)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "filterNmID",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.FilterNmID = v.(OptInt)
+ }
+ }
+ return params
+}
+
+func decodeAPIV2ListGoodsFilterGetParams(args [0]string, argsEscaped bool, r *http.Request) (params APIV2ListGoodsFilterGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: limit.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ params.Limit = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "limit",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: offset.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotOffsetVal uint
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotOffsetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Offset.SetTo(paramsDotOffsetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := func() error {
+ if value, ok := params.Offset.Get(); ok {
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: true,
+ Min: 0,
+ MaxSet: false,
+ Max: 0,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(value)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "offset",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: filterNmID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "filterNmID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotFilterNmIDVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotFilterNmIDVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.FilterNmID.SetTo(paramsDotFilterNmIDVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "filterNmID",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV2ListGoodsSizeNmGetParams is parameters of GET /api/v2/list/goods/size/nm operation.
+type APIV2ListGoodsSizeNmGetParams struct {
+ // Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
+ // (ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ). ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1Β 000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
+ Limit uint
+ // ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
+ Offset OptUint
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID int
+}
+
+func unpackAPIV2ListGoodsSizeNmGetParams(packed middleware.Parameters) (params APIV2ListGoodsSizeNmGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "limit",
+ In: "query",
+ }
+ params.Limit = packed[key].(uint)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "offset",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Offset = v.(OptUint)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "nmID",
+ In: "query",
+ }
+ params.NmID = packed[key].(int)
+ }
+ return params
+}
+
+func decodeAPIV2ListGoodsSizeNmGetParams(args [0]string, argsEscaped bool, r *http.Request) (params APIV2ListGoodsSizeNmGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: limit.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ params.Limit = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "limit",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: offset.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotOffsetVal uint
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotOffsetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Offset.SetTo(paramsDotOffsetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := func() error {
+ if value, ok := params.Offset.Get(); ok {
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: true,
+ Min: 0,
+ MaxSet: false,
+ Max: 0,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(value)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "offset",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: nmID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "nmID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.NmID = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "nmID",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV2QuarantineGoodsGetParams is parameters of GET /api/v2/quarantine/goods operation.
+type APIV2QuarantineGoodsGetParams struct {
+ // Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
+ // (ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ). ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 1Β 000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
+ Limit uint
+ // ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
+ Offset OptUint
+}
+
+func unpackAPIV2QuarantineGoodsGetParams(packed middleware.Parameters) (params APIV2QuarantineGoodsGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "limit",
+ In: "query",
+ }
+ params.Limit = packed[key].(uint)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "offset",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Offset = v.(OptUint)
+ }
+ }
+ return params
+}
+
+func decodeAPIV2QuarantineGoodsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params APIV2QuarantineGoodsGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: limit.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ params.Limit = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "limit",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: offset.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotOffsetVal uint
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToUint(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotOffsetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Offset.SetTo(paramsDotOffsetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := func() error {
+ if value, ok := params.Offset.Get(); ok {
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: true,
+ Min: 0,
+ MaxSet: false,
+ Max: 0,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(value)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "offset",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV3StocksWarehouseIdDeleteParams is parameters of DELETE /api/v3/stocks/{warehouseId} operation.
+type APIV3StocksWarehouseIdDeleteParams struct {
+ // ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ WarehouseId int64
+}
+
+func unpackAPIV3StocksWarehouseIdDeleteParams(packed middleware.Parameters) (params APIV3StocksWarehouseIdDeleteParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "warehouseId",
+ In: "path",
+ }
+ params.WarehouseId = packed[key].(int64)
+ }
+ return params
+}
+
+func decodeAPIV3StocksWarehouseIdDeleteParams(args [1]string, argsEscaped bool, r *http.Request) (params APIV3StocksWarehouseIdDeleteParams, _ error) {
+ // Decode path: warehouseId.
+ if err := func() error {
+ param := args[0]
+ if argsEscaped {
+ unescaped, err := url.PathUnescape(args[0])
+ if err != nil {
+ return errors.Wrap(err, "unescape path")
+ }
+ param = unescaped
+ }
+ if len(param) > 0 {
+ d := uri.NewPathDecoder(uri.PathDecoderConfig{
+ Param: "warehouseId",
+ Value: param,
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt64(val)
+ if err != nil {
+ return err
+ }
+
+ params.WarehouseId = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ } else {
+ return validate.ErrFieldRequired
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "warehouseId",
+ In: "path",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV3StocksWarehouseIdPostParams is parameters of POST /api/v3/stocks/{warehouseId} operation.
+type APIV3StocksWarehouseIdPostParams struct {
+ // ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ WarehouseId int64
+}
+
+func unpackAPIV3StocksWarehouseIdPostParams(packed middleware.Parameters) (params APIV3StocksWarehouseIdPostParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "warehouseId",
+ In: "path",
+ }
+ params.WarehouseId = packed[key].(int64)
+ }
+ return params
+}
+
+func decodeAPIV3StocksWarehouseIdPostParams(args [1]string, argsEscaped bool, r *http.Request) (params APIV3StocksWarehouseIdPostParams, _ error) {
+ // Decode path: warehouseId.
+ if err := func() error {
+ param := args[0]
+ if argsEscaped {
+ unescaped, err := url.PathUnescape(args[0])
+ if err != nil {
+ return errors.Wrap(err, "unescape path")
+ }
+ param = unescaped
+ }
+ if len(param) > 0 {
+ d := uri.NewPathDecoder(uri.PathDecoderConfig{
+ Param: "warehouseId",
+ Value: param,
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt64(val)
+ if err != nil {
+ return err
+ }
+
+ params.WarehouseId = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ } else {
+ return validate.ErrFieldRequired
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "warehouseId",
+ In: "path",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV3StocksWarehouseIdPutParams is parameters of PUT /api/v3/stocks/{warehouseId} operation.
+type APIV3StocksWarehouseIdPutParams struct {
+ // ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ WarehouseId int64
+}
+
+func unpackAPIV3StocksWarehouseIdPutParams(packed middleware.Parameters) (params APIV3StocksWarehouseIdPutParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "warehouseId",
+ In: "path",
+ }
+ params.WarehouseId = packed[key].(int64)
+ }
+ return params
+}
+
+func decodeAPIV3StocksWarehouseIdPutParams(args [1]string, argsEscaped bool, r *http.Request) (params APIV3StocksWarehouseIdPutParams, _ error) {
+ // Decode path: warehouseId.
+ if err := func() error {
+ param := args[0]
+ if argsEscaped {
+ unescaped, err := url.PathUnescape(args[0])
+ if err != nil {
+ return errors.Wrap(err, "unescape path")
+ }
+ param = unescaped
+ }
+ if len(param) > 0 {
+ d := uri.NewPathDecoder(uri.PathDecoderConfig{
+ Param: "warehouseId",
+ Value: param,
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt64(val)
+ if err != nil {
+ return err
+ }
+
+ params.WarehouseId = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ } else {
+ return validate.ErrFieldRequired
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "warehouseId",
+ In: "path",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV3WarehousesWarehouseIdDeleteParams is parameters of DELETE /api/v3/warehouses/{warehouseId} operation.
+type APIV3WarehousesWarehouseIdDeleteParams struct {
+ // ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ WarehouseId int64
+}
+
+func unpackAPIV3WarehousesWarehouseIdDeleteParams(packed middleware.Parameters) (params APIV3WarehousesWarehouseIdDeleteParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "warehouseId",
+ In: "path",
+ }
+ params.WarehouseId = packed[key].(int64)
+ }
+ return params
+}
+
+func decodeAPIV3WarehousesWarehouseIdDeleteParams(args [1]string, argsEscaped bool, r *http.Request) (params APIV3WarehousesWarehouseIdDeleteParams, _ error) {
+ // Decode path: warehouseId.
+ if err := func() error {
+ param := args[0]
+ if argsEscaped {
+ unescaped, err := url.PathUnescape(args[0])
+ if err != nil {
+ return errors.Wrap(err, "unescape path")
+ }
+ param = unescaped
+ }
+ if len(param) > 0 {
+ d := uri.NewPathDecoder(uri.PathDecoderConfig{
+ Param: "warehouseId",
+ Value: param,
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt64(val)
+ if err != nil {
+ return err
+ }
+
+ params.WarehouseId = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ } else {
+ return validate.ErrFieldRequired
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "warehouseId",
+ In: "path",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// APIV3WarehousesWarehouseIdPutParams is parameters of PUT /api/v3/warehouses/{warehouseId} operation.
+type APIV3WarehousesWarehouseIdPutParams struct {
+ // ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ WarehouseId int64
+}
+
+func unpackAPIV3WarehousesWarehouseIdPutParams(packed middleware.Parameters) (params APIV3WarehousesWarehouseIdPutParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "warehouseId",
+ In: "path",
+ }
+ params.WarehouseId = packed[key].(int64)
+ }
+ return params
+}
+
+func decodeAPIV3WarehousesWarehouseIdPutParams(args [1]string, argsEscaped bool, r *http.Request) (params APIV3WarehousesWarehouseIdPutParams, _ error) {
+ // Decode path: warehouseId.
+ if err := func() error {
+ param := args[0]
+ if argsEscaped {
+ unescaped, err := url.PathUnescape(args[0])
+ if err != nil {
+ return errors.Wrap(err, "unescape path")
+ }
+ param = unescaped
+ }
+ if len(param) > 0 {
+ d := uri.NewPathDecoder(uri.PathDecoderConfig{
+ Param: "warehouseId",
+ Value: param,
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt64(val)
+ if err != nil {
+ return err
+ }
+
+ params.WarehouseId = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ } else {
+ return validate.ErrFieldRequired
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "warehouseId",
+ In: "path",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2CardsErrorListGetParams is parameters of GET /content/v2/cards/error/list operation.
+type ContentV2CardsErrorListGetParams struct {
+ // ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ·ΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° (Π΄Π»Ρ
+ // ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΠΎΡΡΡ).
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2CardsErrorListGetParams(packed middleware.Parameters) (params ContentV2CardsErrorListGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2CardsErrorListGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2CardsErrorListGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2DirectoryColorsGetParams is parameters of GET /content/v2/directory/colors operation.
+type ContentV2DirectoryColorsGetParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2DirectoryColorsGetParams(packed middleware.Parameters) (params ContentV2DirectoryColorsGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2DirectoryColorsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2DirectoryColorsGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2DirectoryCountriesGetParams is parameters of GET /content/v2/directory/countries operation.
+type ContentV2DirectoryCountriesGetParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2DirectoryCountriesGetParams(packed middleware.Parameters) (params ContentV2DirectoryCountriesGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2DirectoryCountriesGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2DirectoryCountriesGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2DirectoryKindsGetParams is parameters of GET /content/v2/directory/kinds operation.
+type ContentV2DirectoryKindsGetParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2DirectoryKindsGetParams(packed middleware.Parameters) (params ContentV2DirectoryKindsGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2DirectoryKindsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2DirectoryKindsGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2DirectorySeasonsGetParams is parameters of GET /content/v2/directory/seasons operation.
+type ContentV2DirectorySeasonsGetParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2DirectorySeasonsGetParams(packed middleware.Parameters) (params ContentV2DirectorySeasonsGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2DirectorySeasonsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2DirectorySeasonsGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2DirectoryTnvedGetParams is parameters of GET /content/v2/directory/tnved operation.
+type ContentV2DirectoryTnvedGetParams struct {
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectID int
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Ρ. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠ°ΡΠ΅ Ρ `subjectID`.
+ Search OptInt
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ°:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2DirectoryTnvedGetParams(packed middleware.Parameters) (params ContentV2DirectoryTnvedGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "subjectID",
+ In: "query",
+ }
+ params.SubjectID = packed[key].(int)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "search",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Search = v.(OptInt)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2DirectoryTnvedGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2DirectoryTnvedGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: subjectID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "subjectID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.SubjectID = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "subjectID",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: search.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "search",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotSearchVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotSearchVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Search.SetTo(paramsDotSearchVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "search",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2DirectoryVatGetParams is parameters of GET /content/v2/directory/vat operation.
+type ContentV2DirectoryVatGetParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2DirectoryVatGetParams(packed middleware.Parameters) (params ContentV2DirectoryVatGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2DirectoryVatGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2DirectoryVatGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2GetCardsListPostParams is parameters of POST /content/v2/get/cards/list operation.
+type ContentV2GetCardsListPostParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `name`, `value` ΠΈ `object`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2GetCardsListPostParams(packed middleware.Parameters) (params ContentV2GetCardsListPostParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2GetCardsListPostParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2GetCardsListPostParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2GetCardsTrashPostParams is parameters of POST /content/v2/get/cards/trash operation.
+type ContentV2GetCardsTrashPostParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `name`, `value` ΠΈ `object`: `ru`, `en`, `zh`.
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptContentV2GetCardsTrashPostLocale
+}
+
+func unpackContentV2GetCardsTrashPostParams(packed middleware.Parameters) (params ContentV2GetCardsTrashPostParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptContentV2GetCardsTrashPostLocale)
+ }
+ }
+ return params
+}
+
+func decodeContentV2GetCardsTrashPostParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2GetCardsTrashPostParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal ContentV2GetCardsTrashPostLocale
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = ContentV2GetCardsTrashPostLocale(c)
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := func() error {
+ if value, ok := params.Locale.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2ObjectAllGetParams is parameters of GET /content/v2/object/all operation.
+type ContentV2ObjectAllGetParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ°:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° (ΠΠΎΡΠΊΠΈ), ΠΏΠΎΠΈΡΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ
+ // ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ΅, ΠΈΡΠΊΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
+ // ΡΠ·ΡΠΊΠΎΠ².
+ Name OptString
+ Limit OptInt
+ Offset OptInt
+ // ID ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ ParentID OptInt
+}
+
+func unpackContentV2ObjectAllGetParams(packed middleware.Parameters) (params ContentV2ObjectAllGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "name",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Name = v.(OptString)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "limit",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Limit = v.(OptInt)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "offset",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Offset = v.(OptInt)
+ }
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "parentID",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.ParentID = v.(OptInt)
+ }
+ }
+ return params
+}
+
+func decodeContentV2ObjectAllGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2ObjectAllGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: name.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "name",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotNameVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotNameVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Name.SetTo(paramsDotNameVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "name",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Set default value for query: limit.
+ {
+ val := int(30)
+ params.Limit.SetTo(val)
+ }
+ // Decode query: limit.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "limit",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Limit.SetTo(paramsDotLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "limit",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Set default value for query: offset.
+ {
+ val := int(0)
+ params.Offset.SetTo(val)
+ }
+ // Decode query: offset.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "offset",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotOffsetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotOffsetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Offset.SetTo(paramsDotOffsetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "offset",
+ In: "query",
+ Err: err,
+ }
+ }
+ // Decode query: parentID.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "parentID",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotParentIDVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotParentIDVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.ParentID.SetTo(paramsDotParentIDVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "parentID",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2ObjectCharcsSubjectIdGetParams is parameters of GET /content/v2/object/charcs/{subjectId} operation.
+type ContentV2ObjectCharcsSubjectIdGetParams struct {
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectId int
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠ²Π΅ΡΠ° `subjectName` ΠΈ `name`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2ObjectCharcsSubjectIdGetParams(packed middleware.Parameters) (params ContentV2ObjectCharcsSubjectIdGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "subjectId",
+ In: "path",
+ }
+ params.SubjectId = packed[key].(int)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2ObjectCharcsSubjectIdGetParams(args [1]string, argsEscaped bool, r *http.Request) (params ContentV2ObjectCharcsSubjectIdGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode path: subjectId.
+ if err := func() error {
+ param := args[0]
+ if argsEscaped {
+ unescaped, err := url.PathUnescape(args[0])
+ if err != nil {
+ return errors.Wrap(err, "unescape path")
+ }
+ param = unescaped
+ }
+ if len(param) > 0 {
+ d := uri.NewPathDecoder(uri.PathDecoderConfig{
+ Param: "subjectId",
+ Value: param,
+ Style: uri.PathStyleSimple,
+ Explode: false,
+ })
+
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.SubjectId = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ } else {
+ return validate.ErrFieldRequired
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "subjectId",
+ In: "path",
+ Err: err,
+ }
+ }
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV2ObjectParentAllGetParams is parameters of GET /content/v2/object/parent/all operation.
+type ContentV2ObjectParentAllGetParams struct {
+ // Π―Π·ΡΠΊ ΠΏΠΎΠ»Ρ ΠΎΡΠ²Π΅ΡΠ° `name`:
+ // - `ru` β ΡΡΡΡΠΊΠΈΠΉ
+ // - `en` β Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
+ // - `zh` β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ
+ // ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ Locale OptString
+}
+
+func unpackContentV2ObjectParentAllGetParams(packed middleware.Parameters) (params ContentV2ObjectParentAllGetParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "locale",
+ In: "query",
+ }
+ if v, ok := packed[key]; ok {
+ params.Locale = v.(OptString)
+ }
+ }
+ return params
+}
+
+func decodeContentV2ObjectParentAllGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV2ObjectParentAllGetParams, _ error) {
+ q := uri.NewQueryDecoder(r.URL.Query())
+ // Decode query: locale.
+ if err := func() error {
+ cfg := uri.QueryParameterDecodingConfig{
+ Name: "locale",
+ Style: uri.QueryStyleForm,
+ Explode: true,
+ }
+
+ if err := q.HasParam(cfg); err == nil {
+ if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
+ var paramsDotLocaleVal string
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ paramsDotLocaleVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ params.Locale.SetTo(paramsDotLocaleVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "locale",
+ In: "query",
+ Err: err,
+ }
+ }
+ return params, nil
+}
+
+// ContentV3MediaFilePostParams is parameters of POST /content/v3/media/file operation.
+type ContentV3MediaFilePostParams struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ XNmID string
+ // ΠΠΎΠΌΠ΅Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Π° Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΒ `1`. ΠΡΠΈ
+ // Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ `1`.
+ // Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌ, Π½ΠΎΠΌΠ΅Ρ
+ // ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΆΠ΅
+ // Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ².
+ XPhotoNumber int
+}
+
+func unpackContentV3MediaFilePostParams(packed middleware.Parameters) (params ContentV3MediaFilePostParams) {
+ {
+ key := middleware.ParameterKey{
+ Name: "X-Nm-Id",
+ In: "header",
+ }
+ params.XNmID = packed[key].(string)
+ }
+ {
+ key := middleware.ParameterKey{
+ Name: "X-Photo-Number",
+ In: "header",
+ }
+ params.XPhotoNumber = packed[key].(int)
+ }
+ return params
+}
+
+func decodeContentV3MediaFilePostParams(args [0]string, argsEscaped bool, r *http.Request) (params ContentV3MediaFilePostParams, _ error) {
+ h := uri.NewHeaderDecoder(r.Header)
+ // Decode header: X-Nm-Id.
+ if err := func() error {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Nm-Id",
+ Explode: false,
+ }
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToString(val)
+ if err != nil {
+ return err
+ }
+
+ params.XNmID = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "X-Nm-Id",
+ In: "header",
+ Err: err,
+ }
+ }
+ // Decode header: X-Photo-Number.
+ if err := func() error {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Photo-Number",
+ Explode: false,
+ }
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ params.XPhotoNumber = c
+ return nil
+ }); err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return params, &ogenerrors.DecodeParamError{
+ Name: "X-Photo-Number",
+ In: "header",
+ Err: err,
+ }
+ }
+ return params, nil
+}
diff --git a/pkg/api/wb/client/oas_request_decoders_gen.go b/pkg/api/wb/client/oas_request_decoders_gen.go
new file mode 100644
index 0000000..68054ef
--- /dev/null
+++ b/pkg/api/wb/client/oas_request_decoders_gen.go
@@ -0,0 +1,1360 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "fmt"
+ "io"
+ "mime"
+ "net/http"
+ "net/url"
+
+ "github.com/go-faster/errors"
+ "github.com/go-faster/jx"
+
+ ht "github.com/ogen-go/ogen/http"
+ "github.com/ogen-go/ogen/ogenerrors"
+ "github.com/ogen-go/ogen/validate"
+)
+
+func (s *Server) decodeAPIV2UploadTaskClubDiscountPostRequest(r *http.Request) (
+ req *APIV2UploadTaskClubDiscountPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request APIV2UploadTaskClubDiscountPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeAPIV2UploadTaskPostRequest(r *http.Request) (
+ req *APIV2UploadTaskPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request APIV2UploadTaskPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeAPIV2UploadTaskSizePostRequest(r *http.Request) (
+ req *APIV2UploadTaskSizePostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request APIV2UploadTaskSizePostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeAPIV3StocksWarehouseIdDeleteRequest(r *http.Request) (
+ req *APIV3StocksWarehouseIdDeleteReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request APIV3StocksWarehouseIdDeleteReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ if err := request.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeAPIV3StocksWarehouseIdPostRequest(r *http.Request) (
+ req *APIV3StocksWarehouseIdPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request APIV3StocksWarehouseIdPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ if err := request.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeAPIV3StocksWarehouseIdPutRequest(r *http.Request) (
+ req OptAPIV3StocksWarehouseIdPutReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ if _, ok := r.Header["Content-Type"]; !ok && r.ContentLength == 0 {
+ return req, close, nil
+ }
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, nil
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, nil
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request OptAPIV3StocksWarehouseIdPutReq
+ if err := func() error {
+ request.Reset()
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ if value, ok := request.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeAPIV3WarehousesPostRequest(r *http.Request) (
+ req *APIV3WarehousesPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request APIV3WarehousesPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ if err := request.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeAPIV3WarehousesWarehouseIdPutRequest(r *http.Request) (
+ req *APIV3WarehousesWarehouseIdPutReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request APIV3WarehousesWarehouseIdPutReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ if err := request.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2BarcodesPostRequest(r *http.Request) (
+ req *ContentV2BarcodesPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request ContentV2BarcodesPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2CardsDeleteTrashPostRequest(r *http.Request) (
+ req *ContentV2CardsDeleteTrashPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request ContentV2CardsDeleteTrashPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2CardsRecoverPostRequest(r *http.Request) (
+ req *ContentV2CardsRecoverPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request ContentV2CardsRecoverPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2CardsUpdatePostRequest(r *http.Request) (
+ req []ContentV2CardsUpdatePostReqItem,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ if _, ok := r.Header["Content-Type"]; !ok && r.ContentLength == 0 {
+ return req, close, nil
+ }
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, nil
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, nil
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request []ContentV2CardsUpdatePostReqItem
+ if err := func() error {
+ request = make([]ContentV2CardsUpdatePostReqItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUpdatePostReqItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ request = append(request, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range request {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2CardsUploadAddPostRequest(r *http.Request) (
+ req OptContentV2CardsUploadAddPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ if _, ok := r.Header["Content-Type"]; !ok && r.ContentLength == 0 {
+ return req, close, nil
+ }
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, nil
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, nil
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request OptContentV2CardsUploadAddPostReq
+ if err := func() error {
+ request.Reset()
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ if value, ok := request.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2CardsUploadPostRequest(r *http.Request) (
+ req []ContentV2CardsUploadPostReqItem,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ if _, ok := r.Header["Content-Type"]; !ok && r.ContentLength == 0 {
+ return req, close, nil
+ }
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, nil
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, nil
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request []ContentV2CardsUploadPostReqItem
+ if err := func() error {
+ request = make([]ContentV2CardsUploadPostReqItem, 0)
+ if err := d.Arr(func(d *jx.Decoder) error {
+ var elem ContentV2CardsUploadPostReqItem
+ if err := elem.Decode(d); err != nil {
+ return err
+ }
+ request = append(request, elem)
+ return nil
+ }); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range request {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "validate")
+ }
+ return request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2GetCardsListPostRequest(r *http.Request) (
+ req *ContentV2GetCardsListPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request ContentV2GetCardsListPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2GetCardsTrashPostRequest(r *http.Request) (
+ req *ContentV2GetCardsTrashPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request ContentV2GetCardsTrashPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV2TagNomenclatureLinkPostRequest(r *http.Request) (
+ req *ContentV2TagNomenclatureLinkPostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request ContentV2TagNomenclatureLinkPostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV3MediaFilePostRequest(r *http.Request) (
+ req *ContentV3MediaFilePostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "multipart/form-data":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ if err := r.ParseMultipartForm(s.cfg.MaxMultipartMemory); err != nil {
+ return req, close, errors.Wrap(err, "parse multipart form")
+ }
+ // Remove all temporary files created by ParseMultipartForm when the request is done.
+ //
+ // Notice that the closers are called in reverse order, to match defer behavior, so
+ // any opened file will be closed before RemoveAll call.
+ closers = append(closers, r.MultipartForm.RemoveAll)
+ // Form values may be unused.
+ form := url.Values(r.MultipartForm.Value)
+ _ = form
+
+ var request ContentV3MediaFilePostReq
+ {
+ if err := func() error {
+ files, ok := r.MultipartForm.File["uploadfile"]
+ if !ok || len(files) < 1 {
+ return nil
+ }
+ fh := files[0]
+
+ f, err := fh.Open()
+ if err != nil {
+ return errors.Wrap(err, "open")
+ }
+ closers = append(closers, f.Close)
+ request.Uploadfile.SetTo(ht.MultipartFile{
+ Name: fh.Filename,
+ File: f,
+ Size: fh.Size,
+ Header: fh.Header,
+ })
+ return nil
+ }(); err != nil {
+ return req, close, errors.Wrap(err, "decode \"uploadfile\"")
+ }
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
+
+func (s *Server) decodeContentV3MediaSavePostRequest(r *http.Request) (
+ req *ContentV3MediaSavePostReq,
+ close func() error,
+ rerr error,
+) {
+ var closers []func() error
+ close = func() error {
+ var merr error
+ // Close in reverse order, to match defer behavior.
+ for i := len(closers) - 1; i >= 0; i-- {
+ c := closers[i]
+ merr = errors.Join(merr, c())
+ }
+ return merr
+ }
+ defer func() {
+ if rerr != nil {
+ rerr = errors.Join(rerr, close())
+ }
+ }()
+ ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
+ if err != nil {
+ return req, close, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ if r.ContentLength == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+ buf, err := io.ReadAll(r.Body)
+ if err != nil {
+ return req, close, err
+ }
+
+ if len(buf) == 0 {
+ return req, close, validate.ErrBodyRequired
+ }
+
+ d := jx.DecodeBytes(buf)
+
+ var request ContentV3MediaSavePostReq
+ if err := func() error {
+ if err := request.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return req, close, err
+ }
+ return &request, close, nil
+ default:
+ return req, close, validate.InvalidContentType(ct)
+ }
+}
diff --git a/pkg/api/wb/client/oas_request_encoders_gen.go b/pkg/api/wb/client/oas_request_encoders_gen.go
new file mode 100644
index 0000000..6117241
--- /dev/null
+++ b/pkg/api/wb/client/oas_request_encoders_gen.go
@@ -0,0 +1,315 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "bytes"
+ "mime"
+ "mime/multipart"
+ "net/http"
+
+ "github.com/go-faster/errors"
+ "github.com/go-faster/jx"
+
+ ht "github.com/ogen-go/ogen/http"
+ "github.com/ogen-go/ogen/uri"
+)
+
+func encodeAPIV2UploadTaskClubDiscountPostRequest(
+ req *APIV2UploadTaskClubDiscountPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeAPIV2UploadTaskPostRequest(
+ req *APIV2UploadTaskPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeAPIV2UploadTaskSizePostRequest(
+ req *APIV2UploadTaskSizePostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeAPIV3StocksWarehouseIdDeleteRequest(
+ req *APIV3StocksWarehouseIdDeleteReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeAPIV3StocksWarehouseIdPostRequest(
+ req *APIV3StocksWarehouseIdPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeAPIV3StocksWarehouseIdPutRequest(
+ req OptAPIV3StocksWarehouseIdPutReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ if !req.Set {
+ // Keep request with empty body if value is not set.
+ return nil
+ }
+ e := new(jx.Encoder)
+ {
+ if req.Set {
+ req.Encode(e)
+ }
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeAPIV3WarehousesPostRequest(
+ req *APIV3WarehousesPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeAPIV3WarehousesWarehouseIdPutRequest(
+ req *APIV3WarehousesWarehouseIdPutReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2BarcodesPostRequest(
+ req *ContentV2BarcodesPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2CardsDeleteTrashPostRequest(
+ req *ContentV2CardsDeleteTrashPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2CardsRecoverPostRequest(
+ req *ContentV2CardsRecoverPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2CardsUpdatePostRequest(
+ req []ContentV2CardsUpdatePostReqItem,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ if req != nil {
+ e.ArrStart()
+ for _, elem := range req {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2CardsUploadAddPostRequest(
+ req OptContentV2CardsUploadAddPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ if !req.Set {
+ // Keep request with empty body if value is not set.
+ return nil
+ }
+ e := new(jx.Encoder)
+ {
+ if req.Set {
+ req.Encode(e)
+ }
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2CardsUploadPostRequest(
+ req []ContentV2CardsUploadPostReqItem,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ if req != nil {
+ e.ArrStart()
+ for _, elem := range req {
+ elem.Encode(e)
+ }
+ e.ArrEnd()
+ }
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2GetCardsListPostRequest(
+ req *ContentV2GetCardsListPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2GetCardsTrashPostRequest(
+ req *ContentV2GetCardsTrashPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV2TagNomenclatureLinkPostRequest(
+ req *ContentV2TagNomenclatureLinkPostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
+
+func encodeContentV3MediaFilePostRequest(
+ req *ContentV3MediaFilePostReq,
+ r *http.Request,
+) error {
+ const contentType = "multipart/form-data"
+ request := req
+
+ q := uri.NewFormEncoder(map[string]string{})
+ body, boundary := ht.CreateMultipartBody(func(w *multipart.Writer) error {
+ if val, ok := request.Uploadfile.Get(); ok {
+ if err := val.WriteMultipart("uploadfile", w); err != nil {
+ return errors.Wrap(err, "write \"uploadfile\"")
+ }
+ }
+ if err := q.WriteMultipart(w); err != nil {
+ return errors.Wrap(err, "write multipart")
+ }
+ return nil
+ })
+ ht.SetCloserBody(r, body, mime.FormatMediaType(contentType, map[string]string{"boundary": boundary}))
+ return nil
+}
+
+func encodeContentV3MediaSavePostRequest(
+ req *ContentV3MediaSavePostReq,
+ r *http.Request,
+) error {
+ const contentType = "application/json"
+ e := new(jx.Encoder)
+ {
+ req.Encode(e)
+ }
+ encoded := e.Bytes()
+ ht.SetBody(r, bytes.NewReader(encoded), contentType)
+ return nil
+}
diff --git a/pkg/api/wb/client/oas_response_decoders_gen.go b/pkg/api/wb/client/oas_response_decoders_gen.go
new file mode 100644
index 0000000..bb549b0
--- /dev/null
+++ b/pkg/api/wb/client/oas_response_decoders_gen.go
@@ -0,0 +1,12994 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "bytes"
+ "io"
+ "mime"
+ "net/http"
+
+ "github.com/go-faster/errors"
+ "github.com/go-faster/jx"
+
+ "github.com/ogen-go/ogen/conv"
+ "github.com/ogen-go/ogen/ogenerrors"
+ "github.com/ogen-go/ogen/uri"
+ "github.com/ogen-go/ogen/validate"
+)
+
+func decodeAPIV2BufferGoodsTaskGetResponse(resp *http.Response) (res APIV2BufferGoodsTaskGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseGoodBufferHistories
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2BufferGoodsTaskGetBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2BufferTasksGetResponse(resp *http.Response) (res APIV2BufferTasksGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseTaskBuffer
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2BufferTasksGetBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2HistoryGoodsTaskGetResponse(resp *http.Response) (res APIV2HistoryGoodsTaskGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseGoodHistories
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2HistoryGoodsTaskGetBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2HistoryTasksGetResponse(resp *http.Response) (res APIV2HistoryTasksGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseTaskHistory
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2HistoryTasksGetBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2ListGoodsFilterGetResponse(resp *http.Response) (res APIV2ListGoodsFilterGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseGoodsLists
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseError
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2ListGoodsSizeNmGetResponse(resp *http.Response) (res APIV2ListGoodsSizeNmGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseSizeLists
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseError
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2QuarantineGoodsGetResponse(resp *http.Response) (res APIV2QuarantineGoodsGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseQuarantineGoods
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2QuarantineGoodsGetBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 422:
+ // Code 422.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2QuarantineGoodsGetUnprocessableEntity
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2UploadTaskClubDiscountPostResponse(resp *http.Response) (res APIV2UploadTaskClubDiscountPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response TaskCreated
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 208:
+ // Code 208.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response RequestAlreadyExistsError
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2UploadTaskClubDiscountPostBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 422:
+ // Code 422.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2UploadTaskClubDiscountPostUnprocessableEntity
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2UploadTaskPostResponse(resp *http.Response) (res APIV2UploadTaskPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response TaskCreated
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 208:
+ // Code 208.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response RequestAlreadyExistsError
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2UploadTaskPostBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 422:
+ // Code 422.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2UploadTaskPostUnprocessableEntity
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV2UploadTaskSizePostResponse(resp *http.Response) (res APIV2UploadTaskSizePostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response TaskCreated
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 208:
+ // Code 208.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response RequestAlreadyExistsError
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2UploadTaskSizePostBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 422:
+ // Code 422.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV2UploadTaskSizePostUnprocessableEntity
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3OfficesGetResponse(resp *http.Response) (res APIV3OfficesGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3OfficesGetOKApplicationJSON
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response Error
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3StocksWarehouseIdDeleteResponse(resp *http.Response) (res APIV3StocksWarehouseIdDeleteRes, _ error) {
+ switch resp.StatusCode {
+ case 204:
+ // Code 204.
+ return &APIV3StocksWarehouseIdDeleteNoContent{}, nil
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdDeleteBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdDeleteForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 404:
+ // Code 404.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdDeleteNotFound
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 409:
+ // Code 409.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdDeleteConflict
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3StocksWarehouseIdPostResponse(resp *http.Response) (res APIV3StocksWarehouseIdPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPostBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPostForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 404:
+ // Code 404.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPostNotFound
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3StocksWarehouseIdPutResponse(resp *http.Response) (res APIV3StocksWarehouseIdPutRes, _ error) {
+ switch resp.StatusCode {
+ case 204:
+ // Code 204.
+ return &APIV3StocksWarehouseIdPutNoContent{}, nil
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response StocksWarehouseError
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPutForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 404:
+ // Code 404.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPutNotFound
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 406:
+ // Code 406.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 409:
+ // Code 409.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3StocksWarehouseIdPutConflict
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3WarehousesGetResponse(resp *http.Response) (res APIV3WarehousesGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesGetOKApplicationJSON
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response Error
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3WarehousesPostResponse(resp *http.Response) (res APIV3WarehousesPostRes, _ error) {
+ switch resp.StatusCode {
+ case 201:
+ // Code 201.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesPostCreated
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesPostBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesPostForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 404:
+ // Code 404.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesPostNotFound
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 409:
+ // Code 409.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesPostConflict
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3WarehousesWarehouseIdDeleteResponse(resp *http.Response) (res APIV3WarehousesWarehouseIdDeleteRes, _ error) {
+ switch resp.StatusCode {
+ case 204:
+ // Code 204.
+ return &APIV3WarehousesWarehouseIdDeleteNoContent{}, nil
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesWarehouseIdDeleteForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 404:
+ // Code 404.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesWarehouseIdDeleteNotFound
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeAPIV3WarehousesWarehouseIdPutResponse(resp *http.Response) (res APIV3WarehousesWarehouseIdPutRes, _ error) {
+ switch resp.StatusCode {
+ case 204:
+ // Code 204.
+ return &APIV3WarehousesWarehouseIdPutNoContent{}, nil
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesWarehouseIdPutBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesWarehouseIdPutForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 404:
+ // Code 404.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesWarehouseIdPutNotFound
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 409:
+ // Code 409.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response APIV3WarehousesWarehouseIdPutConflict
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2BarcodesPostResponse(resp *http.Response) (res ContentV2BarcodesPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2BarcodesPostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2CardsDeleteTrashPostResponse(resp *http.Response) (res ContentV2CardsDeleteTrashPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2CardsDeleteTrashPostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2CardsErrorListGetResponse(resp *http.Response) (res ContentV2CardsErrorListGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2CardsErrorListGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2CardsLimitsGetResponse(resp *http.Response) (res ContentV2CardsLimitsGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2CardsLimitsGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2CardsRecoverPostResponse(resp *http.Response) (res ContentV2CardsRecoverPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2CardsRecoverPostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2CardsUpdatePostResponse(resp *http.Response) (res ContentV2CardsUpdatePostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseCardCreate
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 413:
+ // Code 413.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2CardsUpdatePostRequestEntityTooLarge
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2CardsUploadAddPostResponse(resp *http.Response) (res ContentV2CardsUploadAddPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseCardCreate
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 413:
+ // Code 413.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2CardsUploadAddPostRequestEntityTooLarge
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2CardsUploadPostResponse(resp *http.Response) (res ContentV2CardsUploadPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseCardCreate
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 413:
+ // Code 413.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2CardsUploadPostRequestEntityTooLarge
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2DirectoryColorsGetResponse(resp *http.Response) (res ContentV2DirectoryColorsGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2DirectoryColorsGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2DirectoryCountriesGetResponse(resp *http.Response) (res ContentV2DirectoryCountriesGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2DirectoryCountriesGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2DirectoryKindsGetResponse(resp *http.Response) (res ContentV2DirectoryKindsGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2DirectoryKindsGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2DirectorySeasonsGetResponse(resp *http.Response) (res ContentV2DirectorySeasonsGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2DirectorySeasonsGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2DirectoryTnvedGetResponse(resp *http.Response) (res ContentV2DirectoryTnvedGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2DirectoryTnvedGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2DirectoryVatGetResponse(resp *http.Response) (res ContentV2DirectoryVatGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2DirectoryVatGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2GetCardsListPostResponse(resp *http.Response) (res ContentV2GetCardsListPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2GetCardsListPostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper ContentV2GetCardsListPostOKHeaders
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Remaining" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Remaining",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRemainingVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRemainingVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRemaining.SetTo(wrapperDotXRatelimitRemainingVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Remaining header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ case ct == "plain/text":
+ reader := resp.Body
+ b, err := io.ReadAll(reader)
+ if err != nil {
+ return res, err
+ }
+
+ response := ContentV2GetCardsListPostBadRequestPlainText{Data: bytes.NewReader(b)}
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2GetCardsTrashPostResponse(resp *http.Response) (res ContentV2GetCardsTrashPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2GetCardsTrashPostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ case ct == "plain/text":
+ reader := resp.Body
+ b, err := io.ReadAll(reader)
+ if err != nil {
+ return res, err
+ }
+
+ response := ContentV2GetCardsTrashPostBadRequestPlainText{Data: bytes.NewReader(b)}
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2ObjectAllGetResponse(resp *http.Response) (res ContentV2ObjectAllGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2ObjectAllGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2ObjectCharcsSubjectIdGetResponse(resp *http.Response) (res ContentV2ObjectCharcsSubjectIdGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2ObjectCharcsSubjectIdGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2ObjectParentAllGetResponse(resp *http.Response) (res ContentV2ObjectParentAllGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2ObjectParentAllGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError400
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2TagNomenclatureLinkPostResponse(resp *http.Response) (res ContentV2TagNomenclatureLinkPostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseContentError6
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseContentError4
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV2TagsGetResponse(resp *http.Response) (res ContentV2TagsGetRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV2TagsGetOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ResponseBodyContentError403
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV3MediaFilePostResponse(resp *http.Response) (res ContentV3MediaFilePostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaFilePostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaFilePostApplicationJSONBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ case ct == "plain/text":
+ reader := resp.Body
+ b, err := io.ReadAll(reader)
+ if err != nil {
+ return res, err
+ }
+
+ response := ContentV3MediaFilePostBadRequestPlainText{Data: bytes.NewReader(b)}
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaFilePostForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
+
+func decodeContentV3MediaSavePostResponse(resp *http.Response) (res ContentV3MediaSavePostRes, _ error) {
+ switch resp.StatusCode {
+ case 200:
+ // Code 200.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaSavePostOK
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 400:
+ // Code 400.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaSavePostBadRequest
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 401:
+ // Code 401.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R401
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 403:
+ // Code 403.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaSavePostForbidden
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 409:
+ // Code 409.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaSavePostConflict
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 422:
+ // Code 422.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response ContentV3MediaSavePostUnprocessableEntity
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ return &response, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ case 429:
+ // Code 429.
+ ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
+ if err != nil {
+ return res, errors.Wrap(err, "parse media type")
+ }
+ switch {
+ case ct == "application/problem+json":
+ buf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ return res, err
+ }
+ d := jx.DecodeBytes(buf)
+
+ var response R429
+ if err := func() error {
+ if err := response.Decode(d); err != nil {
+ return err
+ }
+ if err := d.Skip(); err != io.EOF {
+ return errors.New("unexpected trailing data")
+ }
+ return nil
+ }(); err != nil {
+ err = &ogenerrors.DecodeBodyError{
+ ContentType: ct,
+ Body: buf,
+ Err: err,
+ }
+ return res, err
+ }
+ // Validate response.
+ if err := func() error {
+ if err := response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "validate")
+ }
+ var wrapper R429Headers
+ wrapper.Response = response
+ h := uri.NewHeaderDecoder(resp.Header)
+ // Parse "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitLimitVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitLimitVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitLimit.SetTo(wrapperDotXRatelimitLimitVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Limit header")
+ }
+ }
+ // Parse "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitResetVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitResetVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitReset.SetTo(wrapperDotXRatelimitResetVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Reset header")
+ }
+ }
+ // Parse "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterDecodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := func() error {
+ if err := h.HasParam(cfg); err == nil {
+ if err := h.DecodeParam(cfg, func(d uri.Decoder) error {
+ var wrapperDotXRatelimitRetryVal int
+ if err := func() error {
+ val, err := d.DecodeValue()
+ if err != nil {
+ return err
+ }
+
+ c, err := conv.ToInt(val)
+ if err != nil {
+ return err
+ }
+
+ wrapperDotXRatelimitRetryVal = c
+ return nil
+ }(); err != nil {
+ return err
+ }
+ wrapper.XRatelimitRetry.SetTo(wrapperDotXRatelimitRetryVal)
+ return nil
+ }); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ return res, errors.Wrap(err, "parse X-Ratelimit-Retry header")
+ }
+ }
+ return &wrapper, nil
+ default:
+ return res, validate.InvalidContentType(ct)
+ }
+ }
+ return res, validate.UnexpectedStatusCode(resp.StatusCode)
+}
diff --git a/pkg/api/wb/client/oas_response_encoders_gen.go b/pkg/api/wb/client/oas_response_encoders_gen.go
new file mode 100644
index 0000000..8b64c64
--- /dev/null
+++ b/pkg/api/wb/client/oas_response_encoders_gen.go
@@ -0,0 +1,5052 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "io"
+ "net/http"
+
+ "github.com/go-faster/errors"
+ "github.com/go-faster/jx"
+ "go.opentelemetry.io/otel/codes"
+ "go.opentelemetry.io/otel/trace"
+
+ "github.com/ogen-go/ogen/conv"
+ "github.com/ogen-go/ogen/uri"
+)
+
+func encodeAPIV2BufferGoodsTaskGetResponse(response APIV2BufferGoodsTaskGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseGoodBufferHistories:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2BufferGoodsTaskGetBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2BufferTasksGetResponse(response APIV2BufferTasksGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseTaskBuffer:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2BufferTasksGetBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2HistoryGoodsTaskGetResponse(response APIV2HistoryGoodsTaskGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseGoodHistories:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2HistoryGoodsTaskGetBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2HistoryTasksGetResponse(response APIV2HistoryTasksGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseTaskHistory:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2HistoryTasksGetBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2ListGoodsFilterGetResponse(response APIV2ListGoodsFilterGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseGoodsLists:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseError:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2ListGoodsSizeNmGetResponse(response APIV2ListGoodsSizeNmGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseSizeLists:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseError:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2QuarantineGoodsGetResponse(response APIV2QuarantineGoodsGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseQuarantineGoods:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2QuarantineGoodsGetBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2QuarantineGoodsGetUnprocessableEntity:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(422)
+ span.SetStatus(codes.Error, http.StatusText(422))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2UploadTaskClubDiscountPostResponse(response APIV2UploadTaskClubDiscountPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *TaskCreated:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *RequestAlreadyExistsError:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(208)
+ span.SetStatus(codes.Ok, http.StatusText(208))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2UploadTaskClubDiscountPostBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2UploadTaskClubDiscountPostUnprocessableEntity:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(422)
+ span.SetStatus(codes.Error, http.StatusText(422))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2UploadTaskPostResponse(response APIV2UploadTaskPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *TaskCreated:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *RequestAlreadyExistsError:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(208)
+ span.SetStatus(codes.Ok, http.StatusText(208))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2UploadTaskPostBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2UploadTaskPostUnprocessableEntity:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(422)
+ span.SetStatus(codes.Error, http.StatusText(422))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV2UploadTaskSizePostResponse(response APIV2UploadTaskSizePostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *TaskCreated:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *RequestAlreadyExistsError:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(208)
+ span.SetStatus(codes.Ok, http.StatusText(208))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2UploadTaskSizePostBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV2UploadTaskSizePostUnprocessableEntity:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(422)
+ span.SetStatus(codes.Error, http.StatusText(422))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3OfficesGetResponse(response APIV3OfficesGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3OfficesGetOKApplicationJSON:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *Error:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3StocksWarehouseIdDeleteResponse(response APIV3StocksWarehouseIdDeleteRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3StocksWarehouseIdDeleteNoContent:
+ w.WriteHeader(204)
+ span.SetStatus(codes.Ok, http.StatusText(204))
+
+ return nil
+
+ case *APIV3StocksWarehouseIdDeleteBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdDeleteForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdDeleteNotFound:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(404)
+ span.SetStatus(codes.Error, http.StatusText(404))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdDeleteConflict:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(409)
+ span.SetStatus(codes.Error, http.StatusText(409))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3StocksWarehouseIdPostResponse(response APIV3StocksWarehouseIdPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3StocksWarehouseIdPostOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdPostBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdPostForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdPostNotFound:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(404)
+ span.SetStatus(codes.Error, http.StatusText(404))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3StocksWarehouseIdPutResponse(response APIV3StocksWarehouseIdPutRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3StocksWarehouseIdPutNoContent:
+ w.WriteHeader(204)
+ span.SetStatus(codes.Ok, http.StatusText(204))
+
+ return nil
+
+ case *StocksWarehouseError:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdPutForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdPutNotFound:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(404)
+ span.SetStatus(codes.Error, http.StatusText(404))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(406)
+ span.SetStatus(codes.Error, http.StatusText(406))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3StocksWarehouseIdPutConflict:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(409)
+ span.SetStatus(codes.Error, http.StatusText(409))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3WarehousesGetResponse(response APIV3WarehousesGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3WarehousesGetOKApplicationJSON:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *Error:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3WarehousesPostResponse(response APIV3WarehousesPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3WarehousesPostCreated:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(201)
+ span.SetStatus(codes.Ok, http.StatusText(201))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesPostBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesPostForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesPostNotFound:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(404)
+ span.SetStatus(codes.Error, http.StatusText(404))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesPostConflict:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(409)
+ span.SetStatus(codes.Error, http.StatusText(409))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3WarehousesWarehouseIdDeleteResponse(response APIV3WarehousesWarehouseIdDeleteRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3WarehousesWarehouseIdDeleteNoContent:
+ w.WriteHeader(204)
+ span.SetStatus(codes.Ok, http.StatusText(204))
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesWarehouseIdDeleteForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesWarehouseIdDeleteNotFound:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(404)
+ span.SetStatus(codes.Error, http.StatusText(404))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeAPIV3WarehousesWarehouseIdPutResponse(response APIV3WarehousesWarehouseIdPutRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *APIV3WarehousesWarehouseIdPutNoContent:
+ w.WriteHeader(204)
+ span.SetStatus(codes.Ok, http.StatusText(204))
+
+ return nil
+
+ case *APIV3WarehousesWarehouseIdPutBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesWarehouseIdPutForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesWarehouseIdPutNotFound:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(404)
+ span.SetStatus(codes.Error, http.StatusText(404))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *APIV3WarehousesWarehouseIdPutConflict:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(409)
+ span.SetStatus(codes.Error, http.StatusText(409))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2BarcodesPostResponse(response ContentV2BarcodesPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2BarcodesPostOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2CardsDeleteTrashPostResponse(response ContentV2CardsDeleteTrashPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2CardsDeleteTrashPostOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2CardsErrorListGetResponse(response ContentV2CardsErrorListGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2CardsErrorListGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2CardsLimitsGetResponse(response ContentV2CardsLimitsGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2CardsLimitsGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2CardsRecoverPostResponse(response ContentV2CardsRecoverPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2CardsRecoverPostOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2CardsUpdatePostResponse(response ContentV2CardsUpdatePostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseCardCreate:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV2CardsUpdatePostRequestEntityTooLarge:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(413)
+ span.SetStatus(codes.Error, http.StatusText(413))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2CardsUploadAddPostResponse(response ContentV2CardsUploadAddPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseCardCreate:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV2CardsUploadAddPostRequestEntityTooLarge:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(413)
+ span.SetStatus(codes.Error, http.StatusText(413))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2CardsUploadPostResponse(response ContentV2CardsUploadPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseCardCreate:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV2CardsUploadPostRequestEntityTooLarge:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(413)
+ span.SetStatus(codes.Error, http.StatusText(413))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2DirectoryColorsGetResponse(response ContentV2DirectoryColorsGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2DirectoryColorsGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2DirectoryCountriesGetResponse(response ContentV2DirectoryCountriesGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2DirectoryCountriesGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2DirectoryKindsGetResponse(response ContentV2DirectoryKindsGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2DirectoryKindsGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2DirectorySeasonsGetResponse(response ContentV2DirectorySeasonsGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2DirectorySeasonsGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2DirectoryTnvedGetResponse(response ContentV2DirectoryTnvedGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2DirectoryTnvedGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2DirectoryVatGetResponse(response ContentV2DirectoryVatGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2DirectoryVatGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2GetCardsListPostResponse(response ContentV2GetCardsListPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2GetCardsListPostOKHeaders:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Remaining" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Remaining",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRemaining.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Remaining header")
+ }
+ }
+ }
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV2GetCardsListPostBadRequestPlainText:
+ w.Header().Set("Content-Type", "plain/text")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ writer := w
+ if closer, ok := response.Data.(io.Closer); ok {
+ defer closer.Close()
+ }
+ if _, err := io.Copy(writer, response); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2GetCardsTrashPostResponse(response ContentV2GetCardsTrashPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2GetCardsTrashPostOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV2GetCardsTrashPostBadRequestPlainText:
+ w.Header().Set("Content-Type", "plain/text")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ writer := w
+ if closer, ok := response.Data.(io.Closer); ok {
+ defer closer.Close()
+ }
+ if _, err := io.Copy(writer, response); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2ObjectAllGetResponse(response ContentV2ObjectAllGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2ObjectAllGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2ObjectCharcsSubjectIdGetResponse(response ContentV2ObjectCharcsSubjectIdGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2ObjectCharcsSubjectIdGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2ObjectParentAllGetResponse(response ContentV2ObjectParentAllGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2ObjectParentAllGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError400:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2TagNomenclatureLinkPostResponse(response ContentV2TagNomenclatureLinkPostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ResponseContentError6:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseContentError4:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV2TagsGetResponse(response ContentV2TagsGetRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV2TagsGetOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ResponseBodyContentError403:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV3MediaFilePostResponse(response ContentV3MediaFilePostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV3MediaFilePostOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV3MediaFilePostApplicationJSONBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV3MediaFilePostBadRequestPlainText:
+ w.Header().Set("Content-Type", "plain/text")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ writer := w
+ if closer, ok := response.Data.(io.Closer); ok {
+ defer closer.Close()
+ }
+ if _, err := io.Copy(writer, response); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV3MediaFilePostForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
+
+func encodeContentV3MediaSavePostResponse(response ContentV3MediaSavePostRes, w http.ResponseWriter, span trace.Span) error {
+ switch response := response.(type) {
+ case *ContentV3MediaSavePostOK:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(200)
+ span.SetStatus(codes.Ok, http.StatusText(200))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV3MediaSavePostBadRequest:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(400)
+ span.SetStatus(codes.Error, http.StatusText(400))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R401:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(401)
+ span.SetStatus(codes.Error, http.StatusText(401))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV3MediaSavePostForbidden:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(403)
+ span.SetStatus(codes.Error, http.StatusText(403))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV3MediaSavePostConflict:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(409)
+ span.SetStatus(codes.Error, http.StatusText(409))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *ContentV3MediaSavePostUnprocessableEntity:
+ w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.WriteHeader(422)
+ span.SetStatus(codes.Error, http.StatusText(422))
+
+ e := new(jx.Encoder)
+ response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ case *R429Headers:
+ w.Header().Set("Content-Type", "application/problem+json")
+ // Encoding response headers.
+ {
+ h := uri.NewHeaderEncoder(w.Header())
+ // Encode "X-Ratelimit-Limit" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Limit",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitLimit.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Limit header")
+ }
+ }
+ // Encode "X-Ratelimit-Reset" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Reset",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitReset.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Reset header")
+ }
+ }
+ // Encode "X-Ratelimit-Retry" header.
+ {
+ cfg := uri.HeaderParameterEncodingConfig{
+ Name: "X-Ratelimit-Retry",
+ Explode: false,
+ }
+ if err := h.EncodeParam(cfg, func(e uri.Encoder) error {
+ if val, ok := response.XRatelimitRetry.Get(); ok {
+ return e.EncodeValue(conv.IntToString(val))
+ }
+ return nil
+ }); err != nil {
+ return errors.Wrap(err, "encode X-Ratelimit-Retry header")
+ }
+ }
+ }
+ w.WriteHeader(429)
+ span.SetStatus(codes.Error, http.StatusText(429))
+
+ e := new(jx.Encoder)
+ response.Response.Encode(e)
+ if _, err := e.WriteTo(w); err != nil {
+ return errors.Wrap(err, "write")
+ }
+
+ return nil
+
+ default:
+ return errors.Errorf("unexpected response type: %T", response)
+ }
+}
diff --git a/pkg/api/wb/client/oas_router_gen.go b/pkg/api/wb/client/oas_router_gen.go
new file mode 100644
index 0000000..a40be1e
--- /dev/null
+++ b/pkg/api/wb/client/oas_router_gen.go
@@ -0,0 +1,2379 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "net/http"
+ "net/url"
+ "strings"
+
+ "github.com/ogen-go/ogen/uri"
+)
+
+func (s *Server) cutPrefix(path string) (string, bool) {
+ prefix := s.cfg.Prefix
+ if prefix == "" {
+ return path, true
+ }
+ if !strings.HasPrefix(path, prefix) {
+ // Prefix doesn't match.
+ return "", false
+ }
+ // Cut prefix from the path.
+ return strings.TrimPrefix(path, prefix), true
+}
+
+// ServeHTTP serves http request as defined by OpenAPI v3 specification,
+// calling handler that matches the path or returning not found error.
+func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+ elem := r.URL.Path
+ elemIsEscaped := false
+ if rawPath := r.URL.RawPath; rawPath != "" {
+ if normalized, ok := uri.NormalizeEscapedPath(rawPath); ok {
+ elem = normalized
+ elemIsEscaped = strings.ContainsRune(elem, '%')
+ }
+ }
+
+ elem, ok := s.cutPrefix(elem)
+ if !ok || len(elem) == 0 {
+ s.notFound(w, r)
+ return
+ }
+ args := [1]string{}
+
+ // Static code generated router with unwrapped path search.
+ switch {
+ default:
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/"
+
+ if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'a': // Prefix: "api/v"
+
+ if l := len("api/v"); len(elem) >= l && elem[0:l] == "api/v" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '2': // Prefix: "2/"
+
+ if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'b': // Prefix: "buffer/"
+
+ if l := len("buffer/"); len(elem) >= l && elem[0:l] == "buffer/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'g': // Prefix: "goods/task"
+
+ if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV2BufferGoodsTaskGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 't': // Prefix: "tasks"
+
+ if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV2BufferTasksGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ }
+
+ case 'h': // Prefix: "history/"
+
+ if l := len("history/"); len(elem) >= l && elem[0:l] == "history/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'g': // Prefix: "goods/task"
+
+ if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV2HistoryGoodsTaskGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 't': // Prefix: "tasks"
+
+ if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV2HistoryTasksGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ }
+
+ case 'l': // Prefix: "list/goods/"
+
+ if l := len("list/goods/"); len(elem) >= l && elem[0:l] == "list/goods/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'f': // Prefix: "filter"
+
+ if l := len("filter"); len(elem) >= l && elem[0:l] == "filter" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV2ListGoodsFilterGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 's': // Prefix: "size/nm"
+
+ if l := len("size/nm"); len(elem) >= l && elem[0:l] == "size/nm" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV2ListGoodsSizeNmGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ }
+
+ case 'q': // Prefix: "quarantine/goods"
+
+ if l := len("quarantine/goods"); len(elem) >= l && elem[0:l] == "quarantine/goods" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV2QuarantineGoodsGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 'u': // Prefix: "upload/task"
+
+ if l := len("upload/task"); len(elem) >= l && elem[0:l] == "upload/task" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ switch r.Method {
+ case "POST":
+ s.handleAPIV2UploadTaskPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/"
+
+ if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'c': // Prefix: "club-discount"
+
+ if l := len("club-discount"); len(elem) >= l && elem[0:l] == "club-discount" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleAPIV2UploadTaskClubDiscountPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 's': // Prefix: "size"
+
+ if l := len("size"); len(elem) >= l && elem[0:l] == "size" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleAPIV2UploadTaskSizePostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ }
+
+ }
+
+ }
+
+ case '3': // Prefix: "3/"
+
+ if l := len("3/"); len(elem) >= l && elem[0:l] == "3/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'o': // Prefix: "offices"
+
+ if l := len("offices"); len(elem) >= l && elem[0:l] == "offices" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleAPIV3OfficesGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 's': // Prefix: "stocks/"
+
+ if l := len("stocks/"); len(elem) >= l && elem[0:l] == "stocks/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ // Param: "warehouseId"
+ // Leaf parameter, slashes are prohibited
+ idx := strings.IndexByte(elem, '/')
+ if idx >= 0 {
+ break
+ }
+ args[0] = elem
+ elem = ""
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "DELETE":
+ s.handleAPIV3StocksWarehouseIdDeleteRequest([1]string{
+ args[0],
+ }, elemIsEscaped, w, r)
+ case "POST":
+ s.handleAPIV3StocksWarehouseIdPostRequest([1]string{
+ args[0],
+ }, elemIsEscaped, w, r)
+ case "PUT":
+ s.handleAPIV3StocksWarehouseIdPutRequest([1]string{
+ args[0],
+ }, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "DELETE,POST,PUT")
+ }
+
+ return
+ }
+
+ case 'w': // Prefix: "warehouses"
+
+ if l := len("warehouses"); len(elem) >= l && elem[0:l] == "warehouses" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ switch r.Method {
+ case "GET":
+ s.handleAPIV3WarehousesGetRequest([0]string{}, elemIsEscaped, w, r)
+ case "POST":
+ s.handleAPIV3WarehousesPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET,POST")
+ }
+
+ return
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/"
+
+ if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ // Param: "warehouseId"
+ // Leaf parameter, slashes are prohibited
+ idx := strings.IndexByte(elem, '/')
+ if idx >= 0 {
+ break
+ }
+ args[0] = elem
+ elem = ""
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "DELETE":
+ s.handleAPIV3WarehousesWarehouseIdDeleteRequest([1]string{
+ args[0],
+ }, elemIsEscaped, w, r)
+ case "PUT":
+ s.handleAPIV3WarehousesWarehouseIdPutRequest([1]string{
+ args[0],
+ }, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "DELETE,PUT")
+ }
+
+ return
+ }
+
+ }
+
+ }
+
+ }
+
+ case 'c': // Prefix: "content/v"
+
+ if l := len("content/v"); len(elem) >= l && elem[0:l] == "content/v" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '2': // Prefix: "2/"
+
+ if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'b': // Prefix: "barcodes"
+
+ if l := len("barcodes"); len(elem) >= l && elem[0:l] == "barcodes" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2BarcodesPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 'c': // Prefix: "cards/"
+
+ if l := len("cards/"); len(elem) >= l && elem[0:l] == "cards/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'd': // Prefix: "delete/trash"
+
+ if l := len("delete/trash"); len(elem) >= l && elem[0:l] == "delete/trash" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2CardsDeleteTrashPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 'e': // Prefix: "error/list"
+
+ if l := len("error/list"); len(elem) >= l && elem[0:l] == "error/list" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2CardsErrorListGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 'l': // Prefix: "limits"
+
+ if l := len("limits"); len(elem) >= l && elem[0:l] == "limits" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2CardsLimitsGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 'r': // Prefix: "recover"
+
+ if l := len("recover"); len(elem) >= l && elem[0:l] == "recover" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2CardsRecoverPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 'u': // Prefix: "up"
+
+ if l := len("up"); len(elem) >= l && elem[0:l] == "up" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'd': // Prefix: "date"
+
+ if l := len("date"); len(elem) >= l && elem[0:l] == "date" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2CardsUpdatePostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 'l': // Prefix: "load"
+
+ if l := len("load"); len(elem) >= l && elem[0:l] == "load" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ switch r.Method {
+ case "POST":
+ s.handleContentV2CardsUploadPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/add"
+
+ if l := len("/add"); len(elem) >= l && elem[0:l] == "/add" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2CardsUploadAddPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ }
+
+ }
+
+ }
+
+ case 'd': // Prefix: "directory/"
+
+ if l := len("directory/"); len(elem) >= l && elem[0:l] == "directory/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'c': // Prefix: "co"
+
+ if l := len("co"); len(elem) >= l && elem[0:l] == "co" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'l': // Prefix: "lors"
+
+ if l := len("lors"); len(elem) >= l && elem[0:l] == "lors" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2DirectoryColorsGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 'u': // Prefix: "untries"
+
+ if l := len("untries"); len(elem) >= l && elem[0:l] == "untries" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2DirectoryCountriesGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ }
+
+ case 'k': // Prefix: "kinds"
+
+ if l := len("kinds"); len(elem) >= l && elem[0:l] == "kinds" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2DirectoryKindsGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 's': // Prefix: "seasons"
+
+ if l := len("seasons"); len(elem) >= l && elem[0:l] == "seasons" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2DirectorySeasonsGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 't': // Prefix: "tnved"
+
+ if l := len("tnved"); len(elem) >= l && elem[0:l] == "tnved" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2DirectoryTnvedGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 'v': // Prefix: "vat"
+
+ if l := len("vat"); len(elem) >= l && elem[0:l] == "vat" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2DirectoryVatGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ }
+
+ case 'g': // Prefix: "get/cards/"
+
+ if l := len("get/cards/"); len(elem) >= l && elem[0:l] == "get/cards/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'l': // Prefix: "list"
+
+ if l := len("list"); len(elem) >= l && elem[0:l] == "list" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2GetCardsListPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 't': // Prefix: "trash"
+
+ if l := len("trash"); len(elem) >= l && elem[0:l] == "trash" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2GetCardsTrashPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ }
+
+ case 'o': // Prefix: "object/"
+
+ if l := len("object/"); len(elem) >= l && elem[0:l] == "object/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'a': // Prefix: "all"
+
+ if l := len("all"); len(elem) >= l && elem[0:l] == "all" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2ObjectAllGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 'c': // Prefix: "charcs/"
+
+ if l := len("charcs/"); len(elem) >= l && elem[0:l] == "charcs/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ // Param: "subjectId"
+ // Leaf parameter, slashes are prohibited
+ idx := strings.IndexByte(elem, '/')
+ if idx >= 0 {
+ break
+ }
+ args[0] = elem
+ elem = ""
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2ObjectCharcsSubjectIdGetRequest([1]string{
+ args[0],
+ }, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ case 'p': // Prefix: "parent/all"
+
+ if l := len("parent/all"); len(elem) >= l && elem[0:l] == "parent/all" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2ObjectParentAllGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ }
+
+ case 't': // Prefix: "tag"
+
+ if l := len("tag"); len(elem) >= l && elem[0:l] == "tag" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/nomenclature/link"
+
+ if l := len("/nomenclature/link"); len(elem) >= l && elem[0:l] == "/nomenclature/link" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV2TagNomenclatureLinkPostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 's': // Prefix: "s"
+
+ if l := len("s"); len(elem) >= l && elem[0:l] == "s" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "GET":
+ s.handleContentV2TagsGetRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "GET")
+ }
+
+ return
+ }
+
+ }
+
+ }
+
+ case '3': // Prefix: "3/media/"
+
+ if l := len("3/media/"); len(elem) >= l && elem[0:l] == "3/media/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'f': // Prefix: "file"
+
+ if l := len("file"); len(elem) >= l && elem[0:l] == "file" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV3MediaFilePostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ case 's': // Prefix: "save"
+
+ if l := len("save"); len(elem) >= l && elem[0:l] == "save" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch r.Method {
+ case "POST":
+ s.handleContentV3MediaSavePostRequest([0]string{}, elemIsEscaped, w, r)
+ default:
+ s.notAllowed(w, r, "POST")
+ }
+
+ return
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+ }
+ s.notFound(w, r)
+}
+
+// Route is route object.
+type Route struct {
+ name string
+ summary string
+ operationID string
+ pathPattern string
+ count int
+ args [1]string
+}
+
+// Name returns ogen operation name.
+//
+// It is guaranteed to be unique and not empty.
+func (r Route) Name() string {
+ return r.name
+}
+
+// Summary returns OpenAPI summary.
+func (r Route) Summary() string {
+ return r.summary
+}
+
+// OperationID returns OpenAPI operationId.
+func (r Route) OperationID() string {
+ return r.operationID
+}
+
+// PathPattern returns OpenAPI path.
+func (r Route) PathPattern() string {
+ return r.pathPattern
+}
+
+// Args returns parsed arguments.
+func (r Route) Args() []string {
+ return r.args[:r.count]
+}
+
+// FindRoute finds Route for given method and path.
+//
+// Note: this method does not unescape path or handle reserved characters in path properly. Use FindPath instead.
+func (s *Server) FindRoute(method, path string) (Route, bool) {
+ return s.FindPath(method, &url.URL{Path: path})
+}
+
+// FindPath finds Route for given method and URL.
+func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
+ var (
+ elem = u.Path
+ args = r.args
+ )
+ if rawPath := u.RawPath; rawPath != "" {
+ if normalized, ok := uri.NormalizeEscapedPath(rawPath); ok {
+ elem = normalized
+ }
+ defer func() {
+ for i, arg := range r.args[:r.count] {
+ if unescaped, err := url.PathUnescape(arg); err == nil {
+ r.args[i] = unescaped
+ }
+ }
+ }()
+ }
+
+ elem, ok := s.cutPrefix(elem)
+ if !ok {
+ return r, false
+ }
+
+ // Static code generated router with unwrapped path search.
+ switch {
+ default:
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/"
+
+ if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'a': // Prefix: "api/v"
+
+ if l := len("api/v"); len(elem) >= l && elem[0:l] == "api/v" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '2': // Prefix: "2/"
+
+ if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'b': // Prefix: "buffer/"
+
+ if l := len("buffer/"); len(elem) >= l && elem[0:l] == "buffer/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'g': // Prefix: "goods/task"
+
+ if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV2BufferGoodsTaskGetOperation
+ r.summary = "ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/buffer/goods/task"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 't': // Prefix: "tasks"
+
+ if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV2BufferTasksGetOperation
+ r.summary = "Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/buffer/tasks"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ case 'h': // Prefix: "history/"
+
+ if l := len("history/"); len(elem) >= l && elem[0:l] == "history/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'g': // Prefix: "goods/task"
+
+ if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV2HistoryGoodsTaskGetOperation
+ r.summary = "ΠΠ΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/history/goods/task"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 't': // Prefix: "tasks"
+
+ if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV2HistoryTasksGetOperation
+ r.summary = "Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/history/tasks"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ case 'l': // Prefix: "list/goods/"
+
+ if l := len("list/goods/"); len(elem) >= l && elem[0:l] == "list/goods/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'f': // Prefix: "filter"
+
+ if l := len("filter"); len(elem) >= l && elem[0:l] == "filter" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV2ListGoodsFilterGetOperation
+ r.summary = "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ Ρ ΡΠ΅Π½Π°ΠΌΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/list/goods/filter"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 's': // Prefix: "size/nm"
+
+ if l := len("size/nm"); len(elem) >= l && elem[0:l] == "size/nm" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV2ListGoodsSizeNmGetOperation
+ r.summary = "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠ΅Π½Π°ΠΌΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/list/goods/size/nm"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ case 'q': // Prefix: "quarantine/goods"
+
+ if l := len("quarantine/goods"); len(elem) >= l && elem[0:l] == "quarantine/goods" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV2QuarantineGoodsGetOperation
+ r.summary = "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/quarantine/goods"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'u': // Prefix: "upload/task"
+
+ if l := len("upload/task"); len(elem) >= l && elem[0:l] == "upload/task" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ switch method {
+ case "POST":
+ r.name = APIV2UploadTaskPostOperation
+ r.summary = "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/upload/task"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/"
+
+ if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'c': // Prefix: "club-discount"
+
+ if l := len("club-discount"); len(elem) >= l && elem[0:l] == "club-discount" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = APIV2UploadTaskClubDiscountPostOperation
+ r.summary = "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠΈΠ΄ΠΊΠΈ WB ΠΠ»ΡΠ±Π°"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/upload/task/club-discount"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 's': // Prefix: "size"
+
+ if l := len("size"); len(elem) >= l && elem[0:l] == "size" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = APIV2UploadTaskSizePostOperation
+ r.summary = "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/api/v2/upload/task/size"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ case '3': // Prefix: "3/"
+
+ if l := len("3/"); len(elem) >= l && elem[0:l] == "3/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'o': // Prefix: "offices"
+
+ if l := len("offices"); len(elem) >= l && elem[0:l] == "offices" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = APIV3OfficesGetOperation
+ r.summary = "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/offices"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 's': // Prefix: "stocks/"
+
+ if l := len("stocks/"); len(elem) >= l && elem[0:l] == "stocks/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ // Param: "warehouseId"
+ // Leaf parameter, slashes are prohibited
+ idx := strings.IndexByte(elem, '/')
+ if idx >= 0 {
+ break
+ }
+ args[0] = elem
+ elem = ""
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "DELETE":
+ r.name = APIV3StocksWarehouseIdDeleteOperation
+ r.summary = "Π£Π΄Π°Π»ΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/stocks/{warehouseId}"
+ r.args = args
+ r.count = 1
+ return r, true
+ case "POST":
+ r.name = APIV3StocksWarehouseIdPostOperation
+ r.summary = "ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/stocks/{warehouseId}"
+ r.args = args
+ r.count = 1
+ return r, true
+ case "PUT":
+ r.name = APIV3StocksWarehouseIdPutOperation
+ r.summary = "ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/stocks/{warehouseId}"
+ r.args = args
+ r.count = 1
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'w': // Prefix: "warehouses"
+
+ if l := len("warehouses"); len(elem) >= l && elem[0:l] == "warehouses" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ switch method {
+ case "GET":
+ r.name = APIV3WarehousesGetOperation
+ r.summary = "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/warehouses"
+ r.args = args
+ r.count = 0
+ return r, true
+ case "POST":
+ r.name = APIV3WarehousesPostOperation
+ r.summary = "Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/warehouses"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/"
+
+ if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ // Param: "warehouseId"
+ // Leaf parameter, slashes are prohibited
+ idx := strings.IndexByte(elem, '/')
+ if idx >= 0 {
+ break
+ }
+ args[0] = elem
+ elem = ""
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "DELETE":
+ r.name = APIV3WarehousesWarehouseIdDeleteOperation
+ r.summary = "Π£Π΄Π°Π»ΠΈΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/warehouses/{warehouseId}"
+ r.args = args
+ r.count = 1
+ return r, true
+ case "PUT":
+ r.name = APIV3WarehousesWarehouseIdPutOperation
+ r.summary = "ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°"
+ r.operationID = ""
+ r.pathPattern = "/api/v3/warehouses/{warehouseId}"
+ r.args = args
+ r.count = 1
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ case 'c': // Prefix: "content/v"
+
+ if l := len("content/v"); len(elem) >= l && elem[0:l] == "content/v" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '2': // Prefix: "2/"
+
+ if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'b': // Prefix: "barcodes"
+
+ if l := len("barcodes"); len(elem) >= l && elem[0:l] == "barcodes" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2BarcodesPostOperation
+ r.summary = "ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/barcodes"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'c': // Prefix: "cards/"
+
+ if l := len("cards/"); len(elem) >= l && elem[0:l] == "cards/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'd': // Prefix: "delete/trash"
+
+ if l := len("delete/trash"); len(elem) >= l && elem[0:l] == "delete/trash" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2CardsDeleteTrashPostOperation
+ r.summary = "ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/cards/delete/trash"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'e': // Prefix: "error/list"
+
+ if l := len("error/list"); len(elem) >= l && elem[0:l] == "error/list" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2CardsErrorListGetOperation
+ r.summary = "Π‘ΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/cards/error/list"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'l': // Prefix: "limits"
+
+ if l := len("limits"); len(elem) >= l && elem[0:l] == "limits" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2CardsLimitsGetOperation
+ r.summary = "ΠΠΈΠΌΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/cards/limits"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'r': // Prefix: "recover"
+
+ if l := len("recover"); len(elem) >= l && elem[0:l] == "recover" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2CardsRecoverPostOperation
+ r.summary = "ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠΎΡΠ·ΠΈΠ½Ρ"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/cards/recover"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'u': // Prefix: "up"
+
+ if l := len("up"); len(elem) >= l && elem[0:l] == "up" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'd': // Prefix: "date"
+
+ if l := len("date"); len(elem) >= l && elem[0:l] == "date" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2CardsUpdatePostOperation
+ r.summary = "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/cards/update"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'l': // Prefix: "load"
+
+ if l := len("load"); len(elem) >= l && elem[0:l] == "load" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ switch method {
+ case "POST":
+ r.name = ContentV2CardsUploadPostOperation
+ r.summary = "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/cards/upload"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/add"
+
+ if l := len("/add"); len(elem) >= l && elem[0:l] == "/add" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2CardsUploadAddPostOperation
+ r.summary = "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/cards/upload/add"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ case 'd': // Prefix: "directory/"
+
+ if l := len("directory/"); len(elem) >= l && elem[0:l] == "directory/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'c': // Prefix: "co"
+
+ if l := len("co"); len(elem) >= l && elem[0:l] == "co" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'l': // Prefix: "lors"
+
+ if l := len("lors"); len(elem) >= l && elem[0:l] == "lors" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2DirectoryColorsGetOperation
+ r.summary = "Π¦Π²Π΅Ρ"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/directory/colors"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'u': // Prefix: "untries"
+
+ if l := len("untries"); len(elem) >= l && elem[0:l] == "untries" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2DirectoryCountriesGetOperation
+ r.summary = "Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/directory/countries"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ case 'k': // Prefix: "kinds"
+
+ if l := len("kinds"); len(elem) >= l && elem[0:l] == "kinds" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2DirectoryKindsGetOperation
+ r.summary = "ΠΠΎΠ»"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/directory/kinds"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 's': // Prefix: "seasons"
+
+ if l := len("seasons"); len(elem) >= l && elem[0:l] == "seasons" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2DirectorySeasonsGetOperation
+ r.summary = "Π‘Π΅Π·ΠΎΠ½"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/directory/seasons"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 't': // Prefix: "tnved"
+
+ if l := len("tnved"); len(elem) >= l && elem[0:l] == "tnved" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2DirectoryTnvedGetOperation
+ r.summary = "Π’ΠΠΠΠ-ΠΊΠΎΠ΄"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/directory/tnved"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'v': // Prefix: "vat"
+
+ if l := len("vat"); len(elem) >= l && elem[0:l] == "vat" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2DirectoryVatGetOperation
+ r.summary = "Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/directory/vat"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ case 'g': // Prefix: "get/cards/"
+
+ if l := len("get/cards/"); len(elem) >= l && elem[0:l] == "get/cards/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'l': // Prefix: "list"
+
+ if l := len("list"); len(elem) >= l && elem[0:l] == "list" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2GetCardsListPostOperation
+ r.summary = "Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/get/cards/list"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 't': // Prefix: "trash"
+
+ if l := len("trash"); len(elem) >= l && elem[0:l] == "trash" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2GetCardsTrashPostOperation
+ r.summary = "Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/get/cards/trash"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ case 'o': // Prefix: "object/"
+
+ if l := len("object/"); len(elem) >= l && elem[0:l] == "object/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'a': // Prefix: "all"
+
+ if l := len("all"); len(elem) >= l && elem[0:l] == "all" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2ObjectAllGetOperation
+ r.summary = "Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/object/all"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'c': // Prefix: "charcs/"
+
+ if l := len("charcs/"); len(elem) >= l && elem[0:l] == "charcs/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ // Param: "subjectId"
+ // Leaf parameter, slashes are prohibited
+ idx := strings.IndexByte(elem, '/')
+ if idx >= 0 {
+ break
+ }
+ args[0] = elem
+ elem = ""
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2ObjectCharcsSubjectIdGetOperation
+ r.summary = "Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/object/charcs/{subjectId}"
+ r.args = args
+ r.count = 1
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 'p': // Prefix: "parent/all"
+
+ if l := len("parent/all"); len(elem) >= l && elem[0:l] == "parent/all" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2ObjectParentAllGetOperation
+ r.summary = "Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/object/parent/all"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ case 't': // Prefix: "tag"
+
+ if l := len("tag"); len(elem) >= l && elem[0:l] == "tag" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case '/': // Prefix: "/nomenclature/link"
+
+ if l := len("/nomenclature/link"); len(elem) >= l && elem[0:l] == "/nomenclature/link" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV2TagNomenclatureLinkPostOperation
+ r.summary = "Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°ΠΌΠΈ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/tag/nomenclature/link"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 's': // Prefix: "s"
+
+ if l := len("s"); len(elem) >= l && elem[0:l] == "s" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "GET":
+ r.name = ContentV2TagsGetOperation
+ r.summary = "Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠ»ΡΠΊΠΎΠ²"
+ r.operationID = ""
+ r.pathPattern = "/content/v2/tags"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ }
+
+ case '3': // Prefix: "3/media/"
+
+ if l := len("3/media/"); len(elem) >= l && elem[0:l] == "3/media/" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ break
+ }
+ switch elem[0] {
+ case 'f': // Prefix: "file"
+
+ if l := len("file"); len(elem) >= l && elem[0:l] == "file" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV3MediaFilePostOperation
+ r.summary = "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»"
+ r.operationID = ""
+ r.pathPattern = "/content/v3/media/file"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ case 's': // Prefix: "save"
+
+ if l := len("save"); len(elem) >= l && elem[0:l] == "save" {
+ elem = elem[l:]
+ } else {
+ break
+ }
+
+ if len(elem) == 0 {
+ // Leaf node.
+ switch method {
+ case "POST":
+ r.name = ContentV3MediaSavePostOperation
+ r.summary = "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ"
+ r.operationID = ""
+ r.pathPattern = "/content/v3/media/save"
+ r.args = args
+ r.count = 0
+ return r, true
+ default:
+ return
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+ }
+ return r, false
+}
diff --git a/pkg/api/wb/client/oas_schemas_gen.go b/pkg/api/wb/client/oas_schemas_gen.go
new file mode 100644
index 0000000..bc72873
--- /dev/null
+++ b/pkg/api/wb/client/oas_schemas_gen.go
@@ -0,0 +1,10053 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "io"
+ "time"
+
+ "github.com/go-faster/errors"
+ "github.com/go-faster/jx"
+ "github.com/google/uuid"
+
+ ht "github.com/ogen-go/ogen/http"
+)
+
+type APIV2BufferGoodsTaskGetBadRequest struct {
+ Data OptAPIV2BufferGoodsTaskGetBadRequestData `json:"data"`
+ Error OptBool `json:"error"`
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *APIV2BufferGoodsTaskGetBadRequest) GetData() OptAPIV2BufferGoodsTaskGetBadRequestData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *APIV2BufferGoodsTaskGetBadRequest) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *APIV2BufferGoodsTaskGetBadRequest) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *APIV2BufferGoodsTaskGetBadRequest) SetData(val OptAPIV2BufferGoodsTaskGetBadRequestData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *APIV2BufferGoodsTaskGetBadRequest) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *APIV2BufferGoodsTaskGetBadRequest) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*APIV2BufferGoodsTaskGetBadRequest) aPIV2BufferGoodsTaskGetRes() {}
+
+type APIV2BufferGoodsTaskGetBadRequestData struct{}
+
+type APIV2BufferTasksGetBadRequest struct {
+ Data OptAPIV2BufferTasksGetBadRequestData `json:"data"`
+ Error OptBool `json:"error"`
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *APIV2BufferTasksGetBadRequest) GetData() OptAPIV2BufferTasksGetBadRequestData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *APIV2BufferTasksGetBadRequest) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *APIV2BufferTasksGetBadRequest) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *APIV2BufferTasksGetBadRequest) SetData(val OptAPIV2BufferTasksGetBadRequestData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *APIV2BufferTasksGetBadRequest) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *APIV2BufferTasksGetBadRequest) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*APIV2BufferTasksGetBadRequest) aPIV2BufferTasksGetRes() {}
+
+type APIV2BufferTasksGetBadRequestData struct{}
+
+type APIV2HistoryGoodsTaskGetBadRequest struct {
+ Data OptAPIV2HistoryGoodsTaskGetBadRequestData `json:"data"`
+ Error OptBool `json:"error"`
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) GetData() OptAPIV2HistoryGoodsTaskGetBadRequestData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) SetData(val OptAPIV2HistoryGoodsTaskGetBadRequestData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *APIV2HistoryGoodsTaskGetBadRequest) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*APIV2HistoryGoodsTaskGetBadRequest) aPIV2HistoryGoodsTaskGetRes() {}
+
+type APIV2HistoryGoodsTaskGetBadRequestData struct{}
+
+type APIV2HistoryTasksGetBadRequest struct {
+ Data OptAPIV2HistoryTasksGetBadRequestData `json:"data"`
+ Error OptBool `json:"error"`
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *APIV2HistoryTasksGetBadRequest) GetData() OptAPIV2HistoryTasksGetBadRequestData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *APIV2HistoryTasksGetBadRequest) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *APIV2HistoryTasksGetBadRequest) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *APIV2HistoryTasksGetBadRequest) SetData(val OptAPIV2HistoryTasksGetBadRequestData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *APIV2HistoryTasksGetBadRequest) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *APIV2HistoryTasksGetBadRequest) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*APIV2HistoryTasksGetBadRequest) aPIV2HistoryTasksGetRes() {}
+
+type APIV2HistoryTasksGetBadRequestData struct{}
+
+type APIV2QuarantineGoodsGetBadRequest ResponseError
+
+func (*APIV2QuarantineGoodsGetBadRequest) aPIV2QuarantineGoodsGetRes() {}
+
+type APIV2QuarantineGoodsGetUnprocessableEntity ResponseError
+
+func (*APIV2QuarantineGoodsGetUnprocessableEntity) aPIV2QuarantineGoodsGetRes() {}
+
+type APIV2UploadTaskClubDiscountPostBadRequest ResponseError
+
+func (*APIV2UploadTaskClubDiscountPostBadRequest) aPIV2UploadTaskClubDiscountPostRes() {}
+
+type APIV2UploadTaskClubDiscountPostReq struct {
+ Data ClubDisc `json:"data"`
+}
+
+// GetData returns the value of Data.
+func (s *APIV2UploadTaskClubDiscountPostReq) GetData() ClubDisc {
+ return s.Data
+}
+
+// SetData sets the value of Data.
+func (s *APIV2UploadTaskClubDiscountPostReq) SetData(val ClubDisc) {
+ s.Data = val
+}
+
+type APIV2UploadTaskClubDiscountPostUnprocessableEntity ResponseError
+
+func (*APIV2UploadTaskClubDiscountPostUnprocessableEntity) aPIV2UploadTaskClubDiscountPostRes() {}
+
+type APIV2UploadTaskPostBadRequest ResponseError
+
+func (*APIV2UploadTaskPostBadRequest) aPIV2UploadTaskPostRes() {}
+
+type APIV2UploadTaskPostReq struct {
+ Data Goods `json:"data"`
+}
+
+// GetData returns the value of Data.
+func (s *APIV2UploadTaskPostReq) GetData() Goods {
+ return s.Data
+}
+
+// SetData sets the value of Data.
+func (s *APIV2UploadTaskPostReq) SetData(val Goods) {
+ s.Data = val
+}
+
+type APIV2UploadTaskPostUnprocessableEntity ResponseError
+
+func (*APIV2UploadTaskPostUnprocessableEntity) aPIV2UploadTaskPostRes() {}
+
+type APIV2UploadTaskSizePostBadRequest ResponseError
+
+func (*APIV2UploadTaskSizePostBadRequest) aPIV2UploadTaskSizePostRes() {}
+
+type APIV2UploadTaskSizePostReq struct {
+ Data SizeGoodsBody `json:"data"`
+}
+
+// GetData returns the value of Data.
+func (s *APIV2UploadTaskSizePostReq) GetData() SizeGoodsBody {
+ return s.Data
+}
+
+// SetData sets the value of Data.
+func (s *APIV2UploadTaskSizePostReq) SetData(val SizeGoodsBody) {
+ s.Data = val
+}
+
+type APIV2UploadTaskSizePostUnprocessableEntity ResponseError
+
+func (*APIV2UploadTaskSizePostUnprocessableEntity) aPIV2UploadTaskSizePostRes() {}
+
+type APIV3OfficesGetOKApplicationJSON []Office
+
+func (*APIV3OfficesGetOKApplicationJSON) aPIV3OfficesGetRes() {}
+
+type APIV3StocksWarehouseIdDeleteBadRequest Error
+
+func (*APIV3StocksWarehouseIdDeleteBadRequest) aPIV3StocksWarehouseIdDeleteRes() {}
+
+type APIV3StocksWarehouseIdDeleteConflict Error
+
+func (*APIV3StocksWarehouseIdDeleteConflict) aPIV3StocksWarehouseIdDeleteRes() {}
+
+type APIV3StocksWarehouseIdDeleteForbidden Error
+
+func (*APIV3StocksWarehouseIdDeleteForbidden) aPIV3StocksWarehouseIdDeleteRes() {}
+
+// APIV3StocksWarehouseIdDeleteNoContent is response for APIV3StocksWarehouseIdDelete operation.
+type APIV3StocksWarehouseIdDeleteNoContent struct{}
+
+func (*APIV3StocksWarehouseIdDeleteNoContent) aPIV3StocksWarehouseIdDeleteRes() {}
+
+type APIV3StocksWarehouseIdDeleteNotFound Error
+
+func (*APIV3StocksWarehouseIdDeleteNotFound) aPIV3StocksWarehouseIdDeleteRes() {}
+
+type APIV3StocksWarehouseIdDeleteReq struct {
+ // ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+ Skus []string `json:"skus"`
+}
+
+// GetSkus returns the value of Skus.
+func (s *APIV3StocksWarehouseIdDeleteReq) GetSkus() []string {
+ return s.Skus
+}
+
+// SetSkus sets the value of Skus.
+func (s *APIV3StocksWarehouseIdDeleteReq) SetSkus(val []string) {
+ s.Skus = val
+}
+
+type APIV3StocksWarehouseIdPostBadRequest Error
+
+func (*APIV3StocksWarehouseIdPostBadRequest) aPIV3StocksWarehouseIdPostRes() {}
+
+type APIV3StocksWarehouseIdPostForbidden Error
+
+func (*APIV3StocksWarehouseIdPostForbidden) aPIV3StocksWarehouseIdPostRes() {}
+
+type APIV3StocksWarehouseIdPostNotFound Error
+
+func (*APIV3StocksWarehouseIdPostNotFound) aPIV3StocksWarehouseIdPostRes() {}
+
+type APIV3StocksWarehouseIdPostOK struct {
+ Stocks []APIV3StocksWarehouseIdPostOKStocksItem `json:"stocks"`
+}
+
+// GetStocks returns the value of Stocks.
+func (s *APIV3StocksWarehouseIdPostOK) GetStocks() []APIV3StocksWarehouseIdPostOKStocksItem {
+ return s.Stocks
+}
+
+// SetStocks sets the value of Stocks.
+func (s *APIV3StocksWarehouseIdPostOK) SetStocks(val []APIV3StocksWarehouseIdPostOKStocksItem) {
+ s.Stocks = val
+}
+
+func (*APIV3StocksWarehouseIdPostOK) aPIV3StocksWarehouseIdPostRes() {}
+
+type APIV3StocksWarehouseIdPostOKStocksItem struct {
+ // ΠΠ°ΡΠΊΠΎΠ΄.
+ Sku OptString `json:"sku"`
+ // ΠΡΡΠ°ΡΠΎΠΊ.
+ Amount OptInt `json:"amount"`
+}
+
+// GetSku returns the value of Sku.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) GetSku() OptString {
+ return s.Sku
+}
+
+// GetAmount returns the value of Amount.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) GetAmount() OptInt {
+ return s.Amount
+}
+
+// SetSku sets the value of Sku.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) SetSku(val OptString) {
+ s.Sku = val
+}
+
+// SetAmount sets the value of Amount.
+func (s *APIV3StocksWarehouseIdPostOKStocksItem) SetAmount(val OptInt) {
+ s.Amount = val
+}
+
+type APIV3StocksWarehouseIdPostReq struct {
+ // ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+ Skus []string `json:"skus"`
+}
+
+// GetSkus returns the value of Skus.
+func (s *APIV3StocksWarehouseIdPostReq) GetSkus() []string {
+ return s.Skus
+}
+
+// SetSkus sets the value of Skus.
+func (s *APIV3StocksWarehouseIdPostReq) SetSkus(val []string) {
+ s.Skus = val
+}
+
+type APIV3StocksWarehouseIdPutConflict Error
+
+func (*APIV3StocksWarehouseIdPutConflict) aPIV3StocksWarehouseIdPutRes() {}
+
+type APIV3StocksWarehouseIdPutForbidden Error
+
+func (*APIV3StocksWarehouseIdPutForbidden) aPIV3StocksWarehouseIdPutRes() {}
+
+// APIV3StocksWarehouseIdPutNoContent is response for APIV3StocksWarehouseIdPut operation.
+type APIV3StocksWarehouseIdPutNoContent struct{}
+
+func (*APIV3StocksWarehouseIdPutNoContent) aPIV3StocksWarehouseIdPutRes() {}
+
+type APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON jx.Raw
+
+func (*APIV3StocksWarehouseIdPutNotAcceptableApplicationJSON) aPIV3StocksWarehouseIdPutRes() {}
+
+type APIV3StocksWarehouseIdPutNotFound Error
+
+func (*APIV3StocksWarehouseIdPutNotFound) aPIV3StocksWarehouseIdPutRes() {}
+
+type APIV3StocksWarehouseIdPutReq struct {
+ // ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈ ΠΈΡ
ΠΎΡΡΠ°ΡΠΊΠΎΠ².
+ Stocks []APIV3StocksWarehouseIdPutReqStocksItem `json:"stocks"`
+}
+
+// GetStocks returns the value of Stocks.
+func (s *APIV3StocksWarehouseIdPutReq) GetStocks() []APIV3StocksWarehouseIdPutReqStocksItem {
+ return s.Stocks
+}
+
+// SetStocks sets the value of Stocks.
+func (s *APIV3StocksWarehouseIdPutReq) SetStocks(val []APIV3StocksWarehouseIdPutReqStocksItem) {
+ s.Stocks = val
+}
+
+type APIV3StocksWarehouseIdPutReqStocksItem struct {
+ // ΠΠ°ΡΠΊΠΎΠ΄.
+ Sku OptString `json:"sku"`
+ // ΠΡΡΠ°ΡΠΎΠΊ.
+ Amount OptInt `json:"amount"`
+}
+
+// GetSku returns the value of Sku.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) GetSku() OptString {
+ return s.Sku
+}
+
+// GetAmount returns the value of Amount.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) GetAmount() OptInt {
+ return s.Amount
+}
+
+// SetSku sets the value of Sku.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) SetSku(val OptString) {
+ s.Sku = val
+}
+
+// SetAmount sets the value of Amount.
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) SetAmount(val OptInt) {
+ s.Amount = val
+}
+
+type APIV3WarehousesGetOKApplicationJSON []Warehouse
+
+func (*APIV3WarehousesGetOKApplicationJSON) aPIV3WarehousesGetRes() {}
+
+type APIV3WarehousesPostBadRequest Error
+
+func (*APIV3WarehousesPostBadRequest) aPIV3WarehousesPostRes() {}
+
+type APIV3WarehousesPostConflict Error
+
+func (*APIV3WarehousesPostConflict) aPIV3WarehousesPostRes() {}
+
+type APIV3WarehousesPostCreated struct {
+ // ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ ID OptInt `json:"id"`
+}
+
+// GetID returns the value of ID.
+func (s *APIV3WarehousesPostCreated) GetID() OptInt {
+ return s.ID
+}
+
+// SetID sets the value of ID.
+func (s *APIV3WarehousesPostCreated) SetID(val OptInt) {
+ s.ID = val
+}
+
+func (*APIV3WarehousesPostCreated) aPIV3WarehousesPostRes() {}
+
+type APIV3WarehousesPostForbidden Error
+
+func (*APIV3WarehousesPostForbidden) aPIV3WarehousesPostRes() {}
+
+type APIV3WarehousesPostNotFound Error
+
+func (*APIV3WarehousesPostNotFound) aPIV3WarehousesPostRes() {}
+
+type APIV3WarehousesPostReq struct {
+ // ΠΠΌΡ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ Name string `json:"name"`
+ // ID ΡΠΊΠ»Π°Π΄Π° WB.
+ OfficeId int `json:"officeId"`
+}
+
+// GetName returns the value of Name.
+func (s *APIV3WarehousesPostReq) GetName() string {
+ return s.Name
+}
+
+// GetOfficeId returns the value of OfficeId.
+func (s *APIV3WarehousesPostReq) GetOfficeId() int {
+ return s.OfficeId
+}
+
+// SetName sets the value of Name.
+func (s *APIV3WarehousesPostReq) SetName(val string) {
+ s.Name = val
+}
+
+// SetOfficeId sets the value of OfficeId.
+func (s *APIV3WarehousesPostReq) SetOfficeId(val int) {
+ s.OfficeId = val
+}
+
+type APIV3WarehousesWarehouseIdDeleteForbidden Error
+
+func (*APIV3WarehousesWarehouseIdDeleteForbidden) aPIV3WarehousesWarehouseIdDeleteRes() {}
+
+// APIV3WarehousesWarehouseIdDeleteNoContent is response for APIV3WarehousesWarehouseIdDelete operation.
+type APIV3WarehousesWarehouseIdDeleteNoContent struct{}
+
+func (*APIV3WarehousesWarehouseIdDeleteNoContent) aPIV3WarehousesWarehouseIdDeleteRes() {}
+
+type APIV3WarehousesWarehouseIdDeleteNotFound Error
+
+func (*APIV3WarehousesWarehouseIdDeleteNotFound) aPIV3WarehousesWarehouseIdDeleteRes() {}
+
+type APIV3WarehousesWarehouseIdPutBadRequest Error
+
+func (*APIV3WarehousesWarehouseIdPutBadRequest) aPIV3WarehousesWarehouseIdPutRes() {}
+
+type APIV3WarehousesWarehouseIdPutConflict Error
+
+func (*APIV3WarehousesWarehouseIdPutConflict) aPIV3WarehousesWarehouseIdPutRes() {}
+
+type APIV3WarehousesWarehouseIdPutForbidden Error
+
+func (*APIV3WarehousesWarehouseIdPutForbidden) aPIV3WarehousesWarehouseIdPutRes() {}
+
+// APIV3WarehousesWarehouseIdPutNoContent is response for APIV3WarehousesWarehouseIdPut operation.
+type APIV3WarehousesWarehouseIdPutNoContent struct{}
+
+func (*APIV3WarehousesWarehouseIdPutNoContent) aPIV3WarehousesWarehouseIdPutRes() {}
+
+type APIV3WarehousesWarehouseIdPutNotFound Error
+
+func (*APIV3WarehousesWarehouseIdPutNotFound) aPIV3WarehousesWarehouseIdPutRes() {}
+
+type APIV3WarehousesWarehouseIdPutReq struct {
+ // ΠΠΌΡ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ Name string `json:"name"`
+ // ID ΡΠΊΠ»Π°Π΄Π° WB.
+ OfficeId int `json:"officeId"`
+}
+
+// GetName returns the value of Name.
+func (s *APIV3WarehousesWarehouseIdPutReq) GetName() string {
+ return s.Name
+}
+
+// GetOfficeId returns the value of OfficeId.
+func (s *APIV3WarehousesWarehouseIdPutReq) GetOfficeId() int {
+ return s.OfficeId
+}
+
+// SetName sets the value of Name.
+func (s *APIV3WarehousesWarehouseIdPutReq) SetName(val string) {
+ s.Name = val
+}
+
+// SetOfficeId sets the value of OfficeId.
+func (s *APIV3WarehousesWarehouseIdPutReq) SetOfficeId(val int) {
+ s.OfficeId = val
+}
+
+type ClubDisc []ClubDiscReq
+
+// Ref: #/components/schemas/ClubDiscReq
+type ClubDiscReq struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID int `json:"nmID"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,Β %.
+ ClubDiscount int `json:"clubDiscount"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *ClubDiscReq) GetNmID() int {
+ return s.NmID
+}
+
+// GetClubDiscount returns the value of ClubDiscount.
+func (s *ClubDiscReq) GetClubDiscount() int {
+ return s.ClubDiscount
+}
+
+// SetNmID sets the value of NmID.
+func (s *ClubDiscReq) SetNmID(val int) {
+ s.NmID = val
+}
+
+// SetClubDiscount sets the value of ClubDiscount.
+func (s *ClubDiscReq) SetClubDiscount(val int) {
+ s.ClubDiscount = val
+}
+
+type ContentV2BarcodesPostOK struct {
+ // ΠΠ°ΡΡΠΈΠ² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+ Data []string `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2BarcodesPostOK) GetData() []string {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2BarcodesPostOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2BarcodesPostOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2BarcodesPostOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2BarcodesPostOK) SetData(val []string) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2BarcodesPostOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2BarcodesPostOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2BarcodesPostOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2BarcodesPostOK) contentV2BarcodesPostRes() {}
+
+type ContentV2BarcodesPostReq struct {
+ // ΠΠΎΠ»-Π²ΠΎ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ,
+ // ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ
+ // Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ - `5 000`.
+ Count OptInt `json:"count"`
+}
+
+// GetCount returns the value of Count.
+func (s *ContentV2BarcodesPostReq) GetCount() OptInt {
+ return s.Count
+}
+
+// SetCount sets the value of Count.
+func (s *ContentV2BarcodesPostReq) SetCount(val OptInt) {
+ s.Count = val
+}
+
+type ContentV2CardsDeleteTrashPostOK struct {
+ Data OptContentV2CardsDeleteTrashPostOKData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptContentV2CardsDeleteTrashPostOKAdditionalErrors `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2CardsDeleteTrashPostOK) GetData() OptContentV2CardsDeleteTrashPostOKData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2CardsDeleteTrashPostOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2CardsDeleteTrashPostOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2CardsDeleteTrashPostOK) GetAdditionalErrors() OptContentV2CardsDeleteTrashPostOKAdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2CardsDeleteTrashPostOK) SetData(val OptContentV2CardsDeleteTrashPostOKData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2CardsDeleteTrashPostOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2CardsDeleteTrashPostOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2CardsDeleteTrashPostOK) SetAdditionalErrors(val OptContentV2CardsDeleteTrashPostOKAdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2CardsDeleteTrashPostOK) contentV2CardsDeleteTrashPostRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+type ContentV2CardsDeleteTrashPostOKAdditionalErrors struct{}
+
+type ContentV2CardsDeleteTrashPostOKData struct{}
+
+type ContentV2CardsDeleteTrashPostReq struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB (max. 1000).
+ NmIDs []int `json:"nmIDs"`
+}
+
+// GetNmIDs returns the value of NmIDs.
+func (s *ContentV2CardsDeleteTrashPostReq) GetNmIDs() []int {
+ return s.NmIDs
+}
+
+// SetNmIDs sets the value of NmIDs.
+func (s *ContentV2CardsDeleteTrashPostReq) SetNmIDs(val []int) {
+ s.NmIDs = val
+}
+
+type ContentV2CardsErrorListGetOK struct {
+ Data []ContentV2CardsErrorListGetOKDataItem `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2CardsErrorListGetOK) GetData() []ContentV2CardsErrorListGetOKDataItem {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2CardsErrorListGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2CardsErrorListGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2CardsErrorListGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2CardsErrorListGetOK) SetData(val []ContentV2CardsErrorListGetOKDataItem) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2CardsErrorListGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2CardsErrorListGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2CardsErrorListGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2CardsErrorListGetOK) contentV2CardsErrorListGetRes() {}
+
+type ContentV2CardsErrorListGetOKDataItem struct {
+ // ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ°.
+ Object OptString `json:"object"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode OptString `json:"vendorCode"`
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ UpdateAt OptString `json:"updateAt"`
+ // Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°
+ // ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ Errors []string `json:"errors"`
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ ObjectID OptInt `json:"objectID"`
+}
+
+// GetObject returns the value of Object.
+func (s *ContentV2CardsErrorListGetOKDataItem) GetObject() OptString {
+ return s.Object
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *ContentV2CardsErrorListGetOKDataItem) GetVendorCode() OptString {
+ return s.VendorCode
+}
+
+// GetUpdateAt returns the value of UpdateAt.
+func (s *ContentV2CardsErrorListGetOKDataItem) GetUpdateAt() OptString {
+ return s.UpdateAt
+}
+
+// GetErrors returns the value of Errors.
+func (s *ContentV2CardsErrorListGetOKDataItem) GetErrors() []string {
+ return s.Errors
+}
+
+// GetObjectID returns the value of ObjectID.
+func (s *ContentV2CardsErrorListGetOKDataItem) GetObjectID() OptInt {
+ return s.ObjectID
+}
+
+// SetObject sets the value of Object.
+func (s *ContentV2CardsErrorListGetOKDataItem) SetObject(val OptString) {
+ s.Object = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *ContentV2CardsErrorListGetOKDataItem) SetVendorCode(val OptString) {
+ s.VendorCode = val
+}
+
+// SetUpdateAt sets the value of UpdateAt.
+func (s *ContentV2CardsErrorListGetOKDataItem) SetUpdateAt(val OptString) {
+ s.UpdateAt = val
+}
+
+// SetErrors sets the value of Errors.
+func (s *ContentV2CardsErrorListGetOKDataItem) SetErrors(val []string) {
+ s.Errors = val
+}
+
+// SetObjectID sets the value of ObjectID.
+func (s *ContentV2CardsErrorListGetOKDataItem) SetObjectID(val OptInt) {
+ s.ObjectID = val
+}
+
+type ContentV2CardsLimitsGetOK struct {
+ Data OptContentV2CardsLimitsGetOKData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2CardsLimitsGetOK) GetData() OptContentV2CardsLimitsGetOKData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2CardsLimitsGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2CardsLimitsGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2CardsLimitsGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2CardsLimitsGetOK) SetData(val OptContentV2CardsLimitsGetOKData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2CardsLimitsGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2CardsLimitsGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2CardsLimitsGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2CardsLimitsGetOK) contentV2CardsLimitsGetRes() {}
+
+type ContentV2CardsLimitsGetOKData struct {
+ // ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
Π»ΠΈΠΌΠΈΡΠΎΠ².
+ FreeLimits OptInt `json:"freeLimits"`
+ // ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ»Π°ΡΠ΅Π½Π½ΡΡ
Π»ΠΈΠΌΠΈΡΠΎΠ².
+ PaidLimits OptInt `json:"paidLimits"`
+}
+
+// GetFreeLimits returns the value of FreeLimits.
+func (s *ContentV2CardsLimitsGetOKData) GetFreeLimits() OptInt {
+ return s.FreeLimits
+}
+
+// GetPaidLimits returns the value of PaidLimits.
+func (s *ContentV2CardsLimitsGetOKData) GetPaidLimits() OptInt {
+ return s.PaidLimits
+}
+
+// SetFreeLimits sets the value of FreeLimits.
+func (s *ContentV2CardsLimitsGetOKData) SetFreeLimits(val OptInt) {
+ s.FreeLimits = val
+}
+
+// SetPaidLimits sets the value of PaidLimits.
+func (s *ContentV2CardsLimitsGetOKData) SetPaidLimits(val OptInt) {
+ s.PaidLimits = val
+}
+
+type ContentV2CardsRecoverPostOK struct {
+ Data OptContentV2CardsRecoverPostOKData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptContentV2CardsRecoverPostOKAdditionalErrors `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2CardsRecoverPostOK) GetData() OptContentV2CardsRecoverPostOKData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2CardsRecoverPostOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2CardsRecoverPostOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2CardsRecoverPostOK) GetAdditionalErrors() OptContentV2CardsRecoverPostOKAdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2CardsRecoverPostOK) SetData(val OptContentV2CardsRecoverPostOKData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2CardsRecoverPostOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2CardsRecoverPostOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2CardsRecoverPostOK) SetAdditionalErrors(val OptContentV2CardsRecoverPostOKAdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2CardsRecoverPostOK) contentV2CardsRecoverPostRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+type ContentV2CardsRecoverPostOKAdditionalErrors struct{}
+
+type ContentV2CardsRecoverPostOKData struct{}
+
+type ContentV2CardsRecoverPostReq struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB (max. 1000).
+ NmIDs []int `json:"nmIDs"`
+}
+
+// GetNmIDs returns the value of NmIDs.
+func (s *ContentV2CardsRecoverPostReq) GetNmIDs() []int {
+ return s.NmIDs
+}
+
+// SetNmIDs sets the value of NmIDs.
+func (s *ContentV2CardsRecoverPostReq) SetNmIDs(val []int) {
+ s.NmIDs = val
+}
+
+type ContentV2CardsUpdatePostReqItem struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID int `json:"nmID"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode string `json:"vendorCode"`
+ // ΠΡΠ΅Π½Π΄.
+ Brand OptString `json:"brand"`
+ // ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ Title OptString `json:"title"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ // ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°
+ // Π‘ΡΠ°Π½Π΄Π°ΡΡ β 2000, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ β 1000, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ β 5000
+ // ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² **ΠΡΠ°Π²ΠΈΠ»Π°Ρ
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
+ // ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°** Π² [Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅](https://seller.wildberries.
+ // ru/help-center/article/A-113#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠ².
+ Description OptString `json:"description"`
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+ // Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ
+ // ΡΠΎΠ²Π°ΡΠ°.
+ Dimensions OptContentV2CardsUpdatePostReqItemDimensions `json:"dimensions"`
+ // Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ Characteristics []ContentV2CardsUpdatePostReqItemCharacteristicsItem `json:"characteristics"`
+ // ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ // ΠΠ»Ρ Π±Π΅Π·ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ° Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ
+ // Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (wbSize ΠΈ techSize), Π½ΠΎ Ρ
+ // Π±Π°ΡΠΊΠΎΠ΄ΠΎΠΌ.
+ Sizes []ContentV2CardsUpdatePostReqItemSizesItem `json:"sizes"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *ContentV2CardsUpdatePostReqItem) GetNmID() int {
+ return s.NmID
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *ContentV2CardsUpdatePostReqItem) GetVendorCode() string {
+ return s.VendorCode
+}
+
+// GetBrand returns the value of Brand.
+func (s *ContentV2CardsUpdatePostReqItem) GetBrand() OptString {
+ return s.Brand
+}
+
+// GetTitle returns the value of Title.
+func (s *ContentV2CardsUpdatePostReqItem) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDescription returns the value of Description.
+func (s *ContentV2CardsUpdatePostReqItem) GetDescription() OptString {
+ return s.Description
+}
+
+// GetDimensions returns the value of Dimensions.
+func (s *ContentV2CardsUpdatePostReqItem) GetDimensions() OptContentV2CardsUpdatePostReqItemDimensions {
+ return s.Dimensions
+}
+
+// GetCharacteristics returns the value of Characteristics.
+func (s *ContentV2CardsUpdatePostReqItem) GetCharacteristics() []ContentV2CardsUpdatePostReqItemCharacteristicsItem {
+ return s.Characteristics
+}
+
+// GetSizes returns the value of Sizes.
+func (s *ContentV2CardsUpdatePostReqItem) GetSizes() []ContentV2CardsUpdatePostReqItemSizesItem {
+ return s.Sizes
+}
+
+// SetNmID sets the value of NmID.
+func (s *ContentV2CardsUpdatePostReqItem) SetNmID(val int) {
+ s.NmID = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *ContentV2CardsUpdatePostReqItem) SetVendorCode(val string) {
+ s.VendorCode = val
+}
+
+// SetBrand sets the value of Brand.
+func (s *ContentV2CardsUpdatePostReqItem) SetBrand(val OptString) {
+ s.Brand = val
+}
+
+// SetTitle sets the value of Title.
+func (s *ContentV2CardsUpdatePostReqItem) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDescription sets the value of Description.
+func (s *ContentV2CardsUpdatePostReqItem) SetDescription(val OptString) {
+ s.Description = val
+}
+
+// SetDimensions sets the value of Dimensions.
+func (s *ContentV2CardsUpdatePostReqItem) SetDimensions(val OptContentV2CardsUpdatePostReqItemDimensions) {
+ s.Dimensions = val
+}
+
+// SetCharacteristics sets the value of Characteristics.
+func (s *ContentV2CardsUpdatePostReqItem) SetCharacteristics(val []ContentV2CardsUpdatePostReqItemCharacteristicsItem) {
+ s.Characteristics = val
+}
+
+// SetSizes sets the value of Sizes.
+func (s *ContentV2CardsUpdatePostReqItem) SetSizes(val []ContentV2CardsUpdatePostReqItemSizesItem) {
+ s.Sizes = val
+}
+
+type ContentV2CardsUpdatePostReqItemCharacteristicsItem struct {
+ // ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ ID OptInt `json:"id"`
+ // ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Value jx.Raw `json:"value"`
+}
+
+// GetID returns the value of ID.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) GetID() OptInt {
+ return s.ID
+}
+
+// GetValue returns the value of Value.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) GetValue() jx.Raw {
+ return s.Value
+}
+
+// SetID sets the value of ID.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) SetID(val OptInt) {
+ s.ID = val
+}
+
+// SetValue sets the value of Value.
+func (s *ContentV2CardsUpdatePostReqItemCharacteristicsItem) SetValue(val jx.Raw) {
+ s.Value = val
+}
+
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+// Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ
+// ΡΠΎΠ²Π°ΡΠ°.
+type ContentV2CardsUpdatePostReqItemDimensions struct {
+ // ΠΠ»ΠΈΠ½Π°, ΡΠΌ.
+ Length OptInt `json:"length"`
+ // Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ.
+ Width OptInt `json:"width"`
+ // ΠΡΡΠΎΡΠ°, ΡΠΌ.
+ Height OptInt `json:"height"`
+ // ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3.
+ WeightBrutto OptFloat64 `json:"weightBrutto"`
+}
+
+// GetLength returns the value of Length.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) GetLength() OptInt {
+ return s.Length
+}
+
+// GetWidth returns the value of Width.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) GetWidth() OptInt {
+ return s.Width
+}
+
+// GetHeight returns the value of Height.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) GetHeight() OptInt {
+ return s.Height
+}
+
+// GetWeightBrutto returns the value of WeightBrutto.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) GetWeightBrutto() OptFloat64 {
+ return s.WeightBrutto
+}
+
+// SetLength sets the value of Length.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) SetLength(val OptInt) {
+ s.Length = val
+}
+
+// SetWidth sets the value of Width.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) SetWidth(val OptInt) {
+ s.Width = val
+}
+
+// SetHeight sets the value of Height.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) SetHeight(val OptInt) {
+ s.Height = val
+}
+
+// SetWeightBrutto sets the value of WeightBrutto.
+func (s *ContentV2CardsUpdatePostReqItemDimensions) SetWeightBrutto(val OptFloat64) {
+ s.WeightBrutto = val
+}
+
+type ContentV2CardsUpdatePostReqItemSizesItem struct {
+ // ID ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠΊΡΠ»Π° WB
+ // ΠΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½ ΠΊ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ // ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ.
+ ChrtID OptInt `json:"chrtID"`
+ // Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, XL, S, 45).
+ TechSize OptString `json:"techSize"`
+ // Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ WbSize OptString `json:"wbSize"`
+ // ΠΠ°ΡΠΊΠΎΠ΄Ρ.
+ Skus []string `json:"skus"`
+}
+
+// GetChrtID returns the value of ChrtID.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) GetChrtID() OptInt {
+ return s.ChrtID
+}
+
+// GetTechSize returns the value of TechSize.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) GetTechSize() OptString {
+ return s.TechSize
+}
+
+// GetWbSize returns the value of WbSize.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) GetWbSize() OptString {
+ return s.WbSize
+}
+
+// GetSkus returns the value of Skus.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) GetSkus() []string {
+ return s.Skus
+}
+
+// SetChrtID sets the value of ChrtID.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) SetChrtID(val OptInt) {
+ s.ChrtID = val
+}
+
+// SetTechSize sets the value of TechSize.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) SetTechSize(val OptString) {
+ s.TechSize = val
+}
+
+// SetWbSize sets the value of WbSize.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) SetWbSize(val OptString) {
+ s.WbSize = val
+}
+
+// SetSkus sets the value of Skus.
+func (s *ContentV2CardsUpdatePostReqItemSizesItem) SetSkus(val []string) {
+ s.Skus = val
+}
+
+type ContentV2CardsUpdatePostRequestEntityTooLarge struct {
+ // ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Title OptString `json:"title"`
+ // ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Detail OptString `json:"detail"`
+ // ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Code OptString `json:"code"`
+ // Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°.
+ RequestId OptString `json:"requestId"`
+ // ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB.
+ Origin OptString `json:"origin"`
+ // HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄.
+ Status OptFloat64 `json:"status"`
+ // Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°.
+ StatusText OptString `json:"statusText"`
+}
+
+// GetTitle returns the value of Title.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDetail returns the value of Detail.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) GetDetail() OptString {
+ return s.Detail
+}
+
+// GetCode returns the value of Code.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) GetCode() OptString {
+ return s.Code
+}
+
+// GetRequestId returns the value of RequestId.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) GetRequestId() OptString {
+ return s.RequestId
+}
+
+// GetOrigin returns the value of Origin.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) GetOrigin() OptString {
+ return s.Origin
+}
+
+// GetStatus returns the value of Status.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) GetStatus() OptFloat64 {
+ return s.Status
+}
+
+// GetStatusText returns the value of StatusText.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) GetStatusText() OptString {
+ return s.StatusText
+}
+
+// SetTitle sets the value of Title.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDetail sets the value of Detail.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) SetDetail(val OptString) {
+ s.Detail = val
+}
+
+// SetCode sets the value of Code.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) SetCode(val OptString) {
+ s.Code = val
+}
+
+// SetRequestId sets the value of RequestId.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) SetRequestId(val OptString) {
+ s.RequestId = val
+}
+
+// SetOrigin sets the value of Origin.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) SetOrigin(val OptString) {
+ s.Origin = val
+}
+
+// SetStatus sets the value of Status.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) SetStatus(val OptFloat64) {
+ s.Status = val
+}
+
+// SetStatusText sets the value of StatusText.
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) SetStatusText(val OptString) {
+ s.StatusText = val
+}
+
+func (*ContentV2CardsUpdatePostRequestEntityTooLarge) contentV2CardsUpdatePostRes() {}
+
+type ContentV2CardsUploadAddPostReq struct {
+ // `imtID` ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ
+ // ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ°.
+ ImtID OptInt `json:"imtID"`
+ // Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ CardsToAdd []ContentV2CardsUploadAddPostReqCardsToAddItem `json:"cardsToAdd"`
+}
+
+// GetImtID returns the value of ImtID.
+func (s *ContentV2CardsUploadAddPostReq) GetImtID() OptInt {
+ return s.ImtID
+}
+
+// GetCardsToAdd returns the value of CardsToAdd.
+func (s *ContentV2CardsUploadAddPostReq) GetCardsToAdd() []ContentV2CardsUploadAddPostReqCardsToAddItem {
+ return s.CardsToAdd
+}
+
+// SetImtID sets the value of ImtID.
+func (s *ContentV2CardsUploadAddPostReq) SetImtID(val OptInt) {
+ s.ImtID = val
+}
+
+// SetCardsToAdd sets the value of CardsToAdd.
+func (s *ContentV2CardsUploadAddPostReq) SetCardsToAdd(val []ContentV2CardsUploadAddPostReqCardsToAddItem) {
+ s.CardsToAdd = val
+}
+
+type ContentV2CardsUploadAddPostReqCardsToAddItem struct {
+ // ΠΡΠ΅Π½Π΄.
+ Brand OptString `json:"brand"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode string `json:"vendorCode"`
+ // ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ Title OptString `json:"title"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ // ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°
+ // Π‘ΡΠ°Π½Π΄Π°ΡΡ β 2000, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ β 1000, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ β 5000
+ // ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² **ΠΡΠ°Π²ΠΈΠ»Π°Ρ
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
+ // ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°** Π² [Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅](https://seller.wildberries.
+ // ru/help-center/article/A-113#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠ².
+ Description OptString `json:"description"`
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+ // Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ
+ // ΡΠΎΠ²Π°ΡΠ°
+ // ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ
+ // Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»ΠΈΠ½Ρ, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ, Π²Π΅ΡΠ°.
+ Dimensions OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions `json:"dimensions"`
+ // ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ // ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ° (ΠΎΠ±ΡΠ²Ρ, ΠΎΠ΄Π΅ΠΆΠ΄Π° ΠΈ
+ // Π΄Ρ.), ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ `techSize` = "A", `wbSize` = "1"
+ // ΠΈ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠΌ.
+ Sizes []ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem `json:"sizes"`
+ // ΠΠ°ΡΡΠΈΠ² Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠ°.
+ Characteristics []ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem `json:"characteristics"`
+}
+
+// GetBrand returns the value of Brand.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) GetBrand() OptString {
+ return s.Brand
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) GetVendorCode() string {
+ return s.VendorCode
+}
+
+// GetTitle returns the value of Title.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDescription returns the value of Description.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) GetDescription() OptString {
+ return s.Description
+}
+
+// GetDimensions returns the value of Dimensions.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) GetDimensions() OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions {
+ return s.Dimensions
+}
+
+// GetSizes returns the value of Sizes.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) GetSizes() []ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem {
+ return s.Sizes
+}
+
+// GetCharacteristics returns the value of Characteristics.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) GetCharacteristics() []ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem {
+ return s.Characteristics
+}
+
+// SetBrand sets the value of Brand.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) SetBrand(val OptString) {
+ s.Brand = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) SetVendorCode(val string) {
+ s.VendorCode = val
+}
+
+// SetTitle sets the value of Title.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDescription sets the value of Description.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) SetDescription(val OptString) {
+ s.Description = val
+}
+
+// SetDimensions sets the value of Dimensions.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) SetDimensions(val OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) {
+ s.Dimensions = val
+}
+
+// SetSizes sets the value of Sizes.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) SetSizes(val []ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) {
+ s.Sizes = val
+}
+
+// SetCharacteristics sets the value of Characteristics.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) SetCharacteristics(val []ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) {
+ s.Characteristics = val
+}
+
+type ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem struct {
+ // ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ ID int `json:"id"`
+ // ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Value jx.Raw `json:"value"`
+}
+
+// GetID returns the value of ID.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) GetID() int {
+ return s.ID
+}
+
+// GetValue returns the value of Value.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) GetValue() jx.Raw {
+ return s.Value
+}
+
+// SetID sets the value of ID.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) SetID(val int) {
+ s.ID = val
+}
+
+// SetValue sets the value of Value.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemCharacteristicsItem) SetValue(val jx.Raw) {
+ s.Value = val
+}
+
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+// Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ
+// ΡΠΎΠ²Π°ΡΠ°
+// ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ
+// Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»ΠΈΠ½Ρ, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ, Π²Π΅ΡΠ°.
+type ContentV2CardsUploadAddPostReqCardsToAddItemDimensions struct {
+ // ΠΠ»ΠΈΠ½Π°, ΡΠΌ.
+ Length OptInt `json:"length"`
+ // Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ.
+ Width OptInt `json:"width"`
+ // ΠΡΡΠΎΡΠ°, ΡΠΌ.
+ Height OptInt `json:"height"`
+ // ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3.
+ WeightBrutto OptFloat64 `json:"weightBrutto"`
+}
+
+// GetLength returns the value of Length.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) GetLength() OptInt {
+ return s.Length
+}
+
+// GetWidth returns the value of Width.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) GetWidth() OptInt {
+ return s.Width
+}
+
+// GetHeight returns the value of Height.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) GetHeight() OptInt {
+ return s.Height
+}
+
+// GetWeightBrutto returns the value of WeightBrutto.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) GetWeightBrutto() OptFloat64 {
+ return s.WeightBrutto
+}
+
+// SetLength sets the value of Length.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) SetLength(val OptInt) {
+ s.Length = val
+}
+
+// SetWidth sets the value of Width.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) SetWidth(val OptInt) {
+ s.Width = val
+}
+
+// SetHeight sets the value of Height.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) SetHeight(val OptInt) {
+ s.Height = val
+}
+
+// SetWeightBrutto sets the value of WeightBrutto.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) SetWeightBrutto(val OptFloat64) {
+ s.WeightBrutto = val
+}
+
+type ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem struct {
+ // Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, XL, 45).
+ TechSize OptString `json:"techSize"`
+ // Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ WbSize OptString `json:"wbSize"`
+ // Π¦Π΅Π½Π° ΡΠΎΠ²Π°ΡΠ°.
+ Price OptInt `json:"price"`
+ // ΠΠ°ΡΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
+ Skus []string `json:"skus"`
+}
+
+// GetTechSize returns the value of TechSize.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) GetTechSize() OptString {
+ return s.TechSize
+}
+
+// GetWbSize returns the value of WbSize.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) GetWbSize() OptString {
+ return s.WbSize
+}
+
+// GetPrice returns the value of Price.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) GetPrice() OptInt {
+ return s.Price
+}
+
+// GetSkus returns the value of Skus.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) GetSkus() []string {
+ return s.Skus
+}
+
+// SetTechSize sets the value of TechSize.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) SetTechSize(val OptString) {
+ s.TechSize = val
+}
+
+// SetWbSize sets the value of WbSize.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) SetWbSize(val OptString) {
+ s.WbSize = val
+}
+
+// SetPrice sets the value of Price.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) SetPrice(val OptInt) {
+ s.Price = val
+}
+
+// SetSkus sets the value of Skus.
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemSizesItem) SetSkus(val []string) {
+ s.Skus = val
+}
+
+type ContentV2CardsUploadAddPostRequestEntityTooLarge struct {
+ // ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Title OptString `json:"title"`
+ // ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Detail OptString `json:"detail"`
+ // ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Code OptString `json:"code"`
+ // Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°.
+ RequestId OptString `json:"requestId"`
+ // ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB.
+ Origin OptString `json:"origin"`
+ // HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄.
+ Status OptFloat64 `json:"status"`
+ // Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°.
+ StatusText OptString `json:"statusText"`
+}
+
+// GetTitle returns the value of Title.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDetail returns the value of Detail.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) GetDetail() OptString {
+ return s.Detail
+}
+
+// GetCode returns the value of Code.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) GetCode() OptString {
+ return s.Code
+}
+
+// GetRequestId returns the value of RequestId.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) GetRequestId() OptString {
+ return s.RequestId
+}
+
+// GetOrigin returns the value of Origin.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) GetOrigin() OptString {
+ return s.Origin
+}
+
+// GetStatus returns the value of Status.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) GetStatus() OptFloat64 {
+ return s.Status
+}
+
+// GetStatusText returns the value of StatusText.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) GetStatusText() OptString {
+ return s.StatusText
+}
+
+// SetTitle sets the value of Title.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDetail sets the value of Detail.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) SetDetail(val OptString) {
+ s.Detail = val
+}
+
+// SetCode sets the value of Code.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) SetCode(val OptString) {
+ s.Code = val
+}
+
+// SetRequestId sets the value of RequestId.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) SetRequestId(val OptString) {
+ s.RequestId = val
+}
+
+// SetOrigin sets the value of Origin.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) SetOrigin(val OptString) {
+ s.Origin = val
+}
+
+// SetStatus sets the value of Status.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) SetStatus(val OptFloat64) {
+ s.Status = val
+}
+
+// SetStatusText sets the value of StatusText.
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) SetStatusText(val OptString) {
+ s.StatusText = val
+}
+
+func (*ContentV2CardsUploadAddPostRequestEntityTooLarge) contentV2CardsUploadAddPostRes() {}
+
+type ContentV2CardsUploadPostReqItem struct {
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectID int `json:"subjectID"`
+ // ΠΠ°ΡΡΠΈΠ² Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°
+ // Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅
+ // Π±ΠΎΠ»Π΅Π΅ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ Variants []ContentV2CardsUploadPostReqItemVariantsItem `json:"variants"`
+}
+
+// GetSubjectID returns the value of SubjectID.
+func (s *ContentV2CardsUploadPostReqItem) GetSubjectID() int {
+ return s.SubjectID
+}
+
+// GetVariants returns the value of Variants.
+func (s *ContentV2CardsUploadPostReqItem) GetVariants() []ContentV2CardsUploadPostReqItemVariantsItem {
+ return s.Variants
+}
+
+// SetSubjectID sets the value of SubjectID.
+func (s *ContentV2CardsUploadPostReqItem) SetSubjectID(val int) {
+ s.SubjectID = val
+}
+
+// SetVariants sets the value of Variants.
+func (s *ContentV2CardsUploadPostReqItem) SetVariants(val []ContentV2CardsUploadPostReqItemVariantsItem) {
+ s.Variants = val
+}
+
+type ContentV2CardsUploadPostReqItemVariantsItem struct {
+ // ΠΡΠ΅Π½Π΄.
+ Brand OptString `json:"brand"`
+ // ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ Title OptString `json:"title"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ // ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°
+ // Π‘ΡΠ°Π½Π΄Π°ΡΡ β 2000, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ β 1000, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ β 5000
+ // ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² **ΠΡΠ°Π²ΠΈΠ»Π°Ρ
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
+ // ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°** Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π² [Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ
+ // ΡΠ΅Π½ΡΡΠ΅](https://seller.wildberries.ru/help-center/article/A-113#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) Π½Π°
+ // ΠΏΠΎΡΡΠ°Π»Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠ².
+ Description OptString `json:"description"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode string `json:"vendorCode"`
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+ // Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ
+ // ΡΠΎΠ²Π°ΡΠ°
+ // ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ
+ // Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»ΠΈΠ½Ρ, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ, Π²Π΅ΡΠ°.
+ Dimensions OptContentV2CardsUploadPostReqItemVariantsItemDimensions `json:"dimensions"`
+ // ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ // ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ° (ΠΎΠ±ΡΠ²Ρ, ΠΎΠ΄Π΅ΠΆΠ΄Π° ΠΈ
+ // Π΄Ρ.), ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ `techSize` = "A", `wbSize` = "1"
+ // ΠΈ Π±Π°ΡΠΊΠΎΠ΄ΠΎΠΌ.
+ Sizes []ContentV2CardsUploadPostReqItemVariantsItemSizesItem `json:"sizes"`
+ // ΠΠ°ΡΡΠΈΠ² Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠ°.
+ Characteristics []ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem `json:"characteristics"`
+}
+
+// GetBrand returns the value of Brand.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) GetBrand() OptString {
+ return s.Brand
+}
+
+// GetTitle returns the value of Title.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDescription returns the value of Description.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) GetDescription() OptString {
+ return s.Description
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) GetVendorCode() string {
+ return s.VendorCode
+}
+
+// GetDimensions returns the value of Dimensions.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) GetDimensions() OptContentV2CardsUploadPostReqItemVariantsItemDimensions {
+ return s.Dimensions
+}
+
+// GetSizes returns the value of Sizes.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) GetSizes() []ContentV2CardsUploadPostReqItemVariantsItemSizesItem {
+ return s.Sizes
+}
+
+// GetCharacteristics returns the value of Characteristics.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) GetCharacteristics() []ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem {
+ return s.Characteristics
+}
+
+// SetBrand sets the value of Brand.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) SetBrand(val OptString) {
+ s.Brand = val
+}
+
+// SetTitle sets the value of Title.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDescription sets the value of Description.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) SetDescription(val OptString) {
+ s.Description = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) SetVendorCode(val string) {
+ s.VendorCode = val
+}
+
+// SetDimensions sets the value of Dimensions.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) SetDimensions(val OptContentV2CardsUploadPostReqItemVariantsItemDimensions) {
+ s.Dimensions = val
+}
+
+// SetSizes sets the value of Sizes.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) SetSizes(val []ContentV2CardsUploadPostReqItemVariantsItemSizesItem) {
+ s.Sizes = val
+}
+
+// SetCharacteristics sets the value of Characteristics.
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) SetCharacteristics(val []ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) {
+ s.Characteristics = val
+}
+
+type ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem struct {
+ // ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ ID int `json:"id"`
+ // ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Value jx.Raw `json:"value"`
+}
+
+// GetID returns the value of ID.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) GetID() int {
+ return s.ID
+}
+
+// GetValue returns the value of Value.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) GetValue() jx.Raw {
+ return s.Value
+}
+
+// SetID sets the value of ID.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) SetID(val int) {
+ s.ID = val
+}
+
+// SetValue sets the value of Value.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemCharacteristicsItem) SetValue(val jx.Raw) {
+ s.Value = val
+}
+
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° `c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ`
+// Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
` ΠΈ `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
` Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ
+// ΡΠΎΠ²Π°ΡΠ°
+// ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ
+// Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»ΠΈΠ½Ρ, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ, Π²Π΅ΡΠ°.
+type ContentV2CardsUploadPostReqItemVariantsItemDimensions struct {
+ // ΠΠ»ΠΈΠ½Π°, ΡΠΌ.
+ Length OptInt `json:"length"`
+ // Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ.
+ Width OptInt `json:"width"`
+ // ΠΡΡΠΎΡΠ°, ΡΠΌ.
+ Height OptInt `json:"height"`
+ // ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3.
+ WeightBrutto OptFloat64 `json:"weightBrutto"`
+}
+
+// GetLength returns the value of Length.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) GetLength() OptInt {
+ return s.Length
+}
+
+// GetWidth returns the value of Width.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) GetWidth() OptInt {
+ return s.Width
+}
+
+// GetHeight returns the value of Height.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) GetHeight() OptInt {
+ return s.Height
+}
+
+// GetWeightBrutto returns the value of WeightBrutto.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) GetWeightBrutto() OptFloat64 {
+ return s.WeightBrutto
+}
+
+// SetLength sets the value of Length.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) SetLength(val OptInt) {
+ s.Length = val
+}
+
+// SetWidth sets the value of Width.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) SetWidth(val OptInt) {
+ s.Width = val
+}
+
+// SetHeight sets the value of Height.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) SetHeight(val OptInt) {
+ s.Height = val
+}
+
+// SetWeightBrutto sets the value of WeightBrutto.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) SetWeightBrutto(val OptFloat64) {
+ s.WeightBrutto = val
+}
+
+type ContentV2CardsUploadPostReqItemVariantsItemSizesItem struct {
+ // Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, XL, 45).
+ TechSize OptString `json:"techSize"`
+ // Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ WbSize OptString `json:"wbSize"`
+ // Π¦Π΅Π½Π° ΡΠΎΠ²Π°ΡΠ°.
+ Price OptInt `json:"price"`
+ // ΠΠ°ΡΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
+ Skus []string `json:"skus"`
+}
+
+// GetTechSize returns the value of TechSize.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) GetTechSize() OptString {
+ return s.TechSize
+}
+
+// GetWbSize returns the value of WbSize.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) GetWbSize() OptString {
+ return s.WbSize
+}
+
+// GetPrice returns the value of Price.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) GetPrice() OptInt {
+ return s.Price
+}
+
+// GetSkus returns the value of Skus.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) GetSkus() []string {
+ return s.Skus
+}
+
+// SetTechSize sets the value of TechSize.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) SetTechSize(val OptString) {
+ s.TechSize = val
+}
+
+// SetWbSize sets the value of WbSize.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) SetWbSize(val OptString) {
+ s.WbSize = val
+}
+
+// SetPrice sets the value of Price.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) SetPrice(val OptInt) {
+ s.Price = val
+}
+
+// SetSkus sets the value of Skus.
+func (s *ContentV2CardsUploadPostReqItemVariantsItemSizesItem) SetSkus(val []string) {
+ s.Skus = val
+}
+
+type ContentV2CardsUploadPostRequestEntityTooLarge struct {
+ // ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Title OptString `json:"title"`
+ // ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Detail OptString `json:"detail"`
+ // ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Code OptString `json:"code"`
+ // Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°.
+ RequestId OptString `json:"requestId"`
+ // ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB.
+ Origin OptString `json:"origin"`
+ // HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄.
+ Status OptFloat64 `json:"status"`
+ // Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°.
+ StatusText OptString `json:"statusText"`
+}
+
+// GetTitle returns the value of Title.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDetail returns the value of Detail.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) GetDetail() OptString {
+ return s.Detail
+}
+
+// GetCode returns the value of Code.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) GetCode() OptString {
+ return s.Code
+}
+
+// GetRequestId returns the value of RequestId.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) GetRequestId() OptString {
+ return s.RequestId
+}
+
+// GetOrigin returns the value of Origin.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) GetOrigin() OptString {
+ return s.Origin
+}
+
+// GetStatus returns the value of Status.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) GetStatus() OptFloat64 {
+ return s.Status
+}
+
+// GetStatusText returns the value of StatusText.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) GetStatusText() OptString {
+ return s.StatusText
+}
+
+// SetTitle sets the value of Title.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDetail sets the value of Detail.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) SetDetail(val OptString) {
+ s.Detail = val
+}
+
+// SetCode sets the value of Code.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) SetCode(val OptString) {
+ s.Code = val
+}
+
+// SetRequestId sets the value of RequestId.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) SetRequestId(val OptString) {
+ s.RequestId = val
+}
+
+// SetOrigin sets the value of Origin.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) SetOrigin(val OptString) {
+ s.Origin = val
+}
+
+// SetStatus sets the value of Status.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) SetStatus(val OptFloat64) {
+ s.Status = val
+}
+
+// SetStatusText sets the value of StatusText.
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) SetStatusText(val OptString) {
+ s.StatusText = val
+}
+
+func (*ContentV2CardsUploadPostRequestEntityTooLarge) contentV2CardsUploadPostRes() {}
+
+type ContentV2DirectoryColorsGetOK struct {
+ Data jx.Raw `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2DirectoryColorsGetOK) GetData() jx.Raw {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2DirectoryColorsGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2DirectoryColorsGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2DirectoryColorsGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2DirectoryColorsGetOK) SetData(val jx.Raw) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2DirectoryColorsGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2DirectoryColorsGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2DirectoryColorsGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2DirectoryColorsGetOK) contentV2DirectoryColorsGetRes() {}
+
+type ContentV2DirectoryCountriesGetOK struct {
+ Data jx.Raw `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2DirectoryCountriesGetOK) GetData() jx.Raw {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2DirectoryCountriesGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2DirectoryCountriesGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2DirectoryCountriesGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2DirectoryCountriesGetOK) SetData(val jx.Raw) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2DirectoryCountriesGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2DirectoryCountriesGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2DirectoryCountriesGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2DirectoryCountriesGetOK) contentV2DirectoryCountriesGetRes() {}
+
+type ContentV2DirectoryKindsGetOK struct {
+ // ΠΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Ρ
Π°Ρ-ΠΊΠΈ ΠΠΎΠ».
+ Data []string `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2DirectoryKindsGetOK) GetData() []string {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2DirectoryKindsGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2DirectoryKindsGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2DirectoryKindsGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2DirectoryKindsGetOK) SetData(val []string) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2DirectoryKindsGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2DirectoryKindsGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2DirectoryKindsGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2DirectoryKindsGetOK) contentV2DirectoryKindsGetRes() {}
+
+type ContentV2DirectorySeasonsGetOK struct {
+ // ΠΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Ρ
Π°Ρ-ΠΊΠΈ Π‘Π΅Π·ΠΎΠ½.
+ Data []string `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2DirectorySeasonsGetOK) GetData() []string {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2DirectorySeasonsGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2DirectorySeasonsGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2DirectorySeasonsGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2DirectorySeasonsGetOK) SetData(val []string) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2DirectorySeasonsGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2DirectorySeasonsGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2DirectorySeasonsGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2DirectorySeasonsGetOK) contentV2DirectorySeasonsGetRes() {}
+
+type ContentV2DirectoryTnvedGetOK struct {
+ // ΠΠ°Π½Π½ΡΠ΅.
+ Data []ContentV2DirectoryTnvedGetOKDataItem `json:"data"`
+ // Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2DirectoryTnvedGetOK) GetData() []ContentV2DirectoryTnvedGetOKDataItem {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2DirectoryTnvedGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2DirectoryTnvedGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2DirectoryTnvedGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2DirectoryTnvedGetOK) SetData(val []ContentV2DirectoryTnvedGetOKDataItem) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2DirectoryTnvedGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2DirectoryTnvedGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2DirectoryTnvedGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2DirectoryTnvedGetOK) contentV2DirectoryTnvedGetRes() {}
+
+type ContentV2DirectoryTnvedGetOKDataItem struct {
+ // Π’ΠΠΠΠ-ΠΊΠΎΠ΄.
+ Tnved OptString `json:"tnved"`
+ // - `true` - ΠΊΠΎΠ΄ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
+ // - `false` - ΠΊΠΎΠ΄ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
+ IsKiz OptBool `json:"isKiz"`
+}
+
+// GetTnved returns the value of Tnved.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) GetTnved() OptString {
+ return s.Tnved
+}
+
+// GetIsKiz returns the value of IsKiz.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) GetIsKiz() OptBool {
+ return s.IsKiz
+}
+
+// SetTnved sets the value of Tnved.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) SetTnved(val OptString) {
+ s.Tnved = val
+}
+
+// SetIsKiz sets the value of IsKiz.
+func (s *ContentV2DirectoryTnvedGetOKDataItem) SetIsKiz(val OptBool) {
+ s.IsKiz = val
+}
+
+type ContentV2DirectoryVatGetOK struct {
+ Data []string `json:"data"`
+ // Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2DirectoryVatGetOK) GetData() []string {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2DirectoryVatGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2DirectoryVatGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2DirectoryVatGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2DirectoryVatGetOK) SetData(val []string) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2DirectoryVatGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2DirectoryVatGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2DirectoryVatGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2DirectoryVatGetOK) contentV2DirectoryVatGetRes() {}
+
+type ContentV2GetCardsListPostBadRequestPlainText struct {
+ Data io.Reader
+}
+
+// Read reads data from the Data reader.
+//
+// Kept to satisfy the io.Reader interface.
+func (s ContentV2GetCardsListPostBadRequestPlainText) Read(p []byte) (n int, err error) {
+ if s.Data == nil {
+ return 0, io.EOF
+ }
+ return s.Data.Read(p)
+}
+
+func (*ContentV2GetCardsListPostBadRequestPlainText) contentV2GetCardsListPostRes() {}
+
+type ContentV2GetCardsListPostOK struct {
+ // Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ Cards []ContentV2GetCardsListPostOKCardsItem `json:"cards"`
+ // ΠΠ°Π³ΠΈΠ½Π°ΡΠΎΡ.
+ Cursor OptContentV2GetCardsListPostOKCursor `json:"cursor"`
+}
+
+// GetCards returns the value of Cards.
+func (s *ContentV2GetCardsListPostOK) GetCards() []ContentV2GetCardsListPostOKCardsItem {
+ return s.Cards
+}
+
+// GetCursor returns the value of Cursor.
+func (s *ContentV2GetCardsListPostOK) GetCursor() OptContentV2GetCardsListPostOKCursor {
+ return s.Cursor
+}
+
+// SetCards sets the value of Cards.
+func (s *ContentV2GetCardsListPostOK) SetCards(val []ContentV2GetCardsListPostOKCardsItem) {
+ s.Cards = val
+}
+
+// SetCursor sets the value of Cursor.
+func (s *ContentV2GetCardsListPostOK) SetCursor(val OptContentV2GetCardsListPostOKCursor) {
+ s.Cursor = val
+}
+
+type ContentV2GetCardsListPostOKCardsItem struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ID ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
ΠΠ΄ΠΈΠ½ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // Π°ΡΡΠΈΠΊΡΠ»ΠΎΠ² WB ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ
+ // ΡΠΎΠ²Π°ΡΠ°
ΠΡΡΡ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅
+ // ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΎΠΉ.
+ ImtID OptInt `json:"imtID"`
+ // ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ID ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ NmUUID OptUUID `json:"nmUUID"`
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectID OptInt `json:"subjectID"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectName OptString `json:"subjectName"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode OptString `json:"vendorCode"`
+ // ΠΡΠ΅Π½Π΄.
+ Brand OptString `json:"brand"`
+ // ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ Title OptString `json:"title"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ Description OptString `json:"description"`
+ // Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈ [ΠΊΠΎΠ΄ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ](https://ΡΠ΅ΡΡΠ½ΡΠΉΠ·Π½Π°ΠΊ.ΡΡ/) Π΄Π»Ρ
+ // ΡΡΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°
+ //
+ // * `false` β Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
+ //
+ // * `true` β ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
+ NeedKiz OptBool `json:"needKiz"`
+ // ΠΠ°ΡΡΠΈΠ² ΡΠΎΡΠΎ.
+ Photos []ContentV2GetCardsListPostOKCardsItemPhotosItem `json:"photos"`
+ // URL Π²ΠΈΠ΄Π΅ΠΎ.
+ Video OptString `json:"video"`
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ, ΡΠΌ ΠΈ ΠΊΠ³.
+ Dimensions OptContentV2GetCardsListPostOKCardsItemDimensions `json:"dimensions"`
+ // Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Characteristics []ContentV2GetCardsListPostOKCardsItemCharacteristicsItem `json:"characteristics"`
+ // Π Π°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ°.
+ Sizes []ContentV2GetCardsListPostOKCardsItemSizesItem `json:"sizes"`
+ // Π―ΡΠ»ΡΠΊΠΈ.
+ Tags []ContentV2GetCardsListPostOKCardsItemTagsItem `json:"tags"`
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.
+ CreatedAt OptString `json:"createdAt"`
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
+ UpdatedAt OptString `json:"updatedAt"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetImtID returns the value of ImtID.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetImtID() OptInt {
+ return s.ImtID
+}
+
+// GetNmUUID returns the value of NmUUID.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetNmUUID() OptUUID {
+ return s.NmUUID
+}
+
+// GetSubjectID returns the value of SubjectID.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetSubjectID() OptInt {
+ return s.SubjectID
+}
+
+// GetSubjectName returns the value of SubjectName.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetSubjectName() OptString {
+ return s.SubjectName
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetVendorCode() OptString {
+ return s.VendorCode
+}
+
+// GetBrand returns the value of Brand.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetBrand() OptString {
+ return s.Brand
+}
+
+// GetTitle returns the value of Title.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDescription returns the value of Description.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetDescription() OptString {
+ return s.Description
+}
+
+// GetNeedKiz returns the value of NeedKiz.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetNeedKiz() OptBool {
+ return s.NeedKiz
+}
+
+// GetPhotos returns the value of Photos.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetPhotos() []ContentV2GetCardsListPostOKCardsItemPhotosItem {
+ return s.Photos
+}
+
+// GetVideo returns the value of Video.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetVideo() OptString {
+ return s.Video
+}
+
+// GetDimensions returns the value of Dimensions.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetDimensions() OptContentV2GetCardsListPostOKCardsItemDimensions {
+ return s.Dimensions
+}
+
+// GetCharacteristics returns the value of Characteristics.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetCharacteristics() []ContentV2GetCardsListPostOKCardsItemCharacteristicsItem {
+ return s.Characteristics
+}
+
+// GetSizes returns the value of Sizes.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetSizes() []ContentV2GetCardsListPostOKCardsItemSizesItem {
+ return s.Sizes
+}
+
+// GetTags returns the value of Tags.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetTags() []ContentV2GetCardsListPostOKCardsItemTagsItem {
+ return s.Tags
+}
+
+// GetCreatedAt returns the value of CreatedAt.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetCreatedAt() OptString {
+ return s.CreatedAt
+}
+
+// GetUpdatedAt returns the value of UpdatedAt.
+func (s *ContentV2GetCardsListPostOKCardsItem) GetUpdatedAt() OptString {
+ return s.UpdatedAt
+}
+
+// SetNmID sets the value of NmID.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetImtID sets the value of ImtID.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetImtID(val OptInt) {
+ s.ImtID = val
+}
+
+// SetNmUUID sets the value of NmUUID.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetNmUUID(val OptUUID) {
+ s.NmUUID = val
+}
+
+// SetSubjectID sets the value of SubjectID.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetSubjectID(val OptInt) {
+ s.SubjectID = val
+}
+
+// SetSubjectName sets the value of SubjectName.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetSubjectName(val OptString) {
+ s.SubjectName = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetVendorCode(val OptString) {
+ s.VendorCode = val
+}
+
+// SetBrand sets the value of Brand.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetBrand(val OptString) {
+ s.Brand = val
+}
+
+// SetTitle sets the value of Title.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDescription sets the value of Description.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetDescription(val OptString) {
+ s.Description = val
+}
+
+// SetNeedKiz sets the value of NeedKiz.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetNeedKiz(val OptBool) {
+ s.NeedKiz = val
+}
+
+// SetPhotos sets the value of Photos.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetPhotos(val []ContentV2GetCardsListPostOKCardsItemPhotosItem) {
+ s.Photos = val
+}
+
+// SetVideo sets the value of Video.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetVideo(val OptString) {
+ s.Video = val
+}
+
+// SetDimensions sets the value of Dimensions.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetDimensions(val OptContentV2GetCardsListPostOKCardsItemDimensions) {
+ s.Dimensions = val
+}
+
+// SetCharacteristics sets the value of Characteristics.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetCharacteristics(val []ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) {
+ s.Characteristics = val
+}
+
+// SetSizes sets the value of Sizes.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetSizes(val []ContentV2GetCardsListPostOKCardsItemSizesItem) {
+ s.Sizes = val
+}
+
+// SetTags sets the value of Tags.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetTags(val []ContentV2GetCardsListPostOKCardsItemTagsItem) {
+ s.Tags = val
+}
+
+// SetCreatedAt sets the value of CreatedAt.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetCreatedAt(val OptString) {
+ s.CreatedAt = val
+}
+
+// SetUpdatedAt sets the value of UpdatedAt.
+func (s *ContentV2GetCardsListPostOKCardsItem) SetUpdatedAt(val OptString) {
+ s.UpdatedAt = val
+}
+
+type ContentV2GetCardsListPostOKCardsItemCharacteristicsItem struct {
+ // ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ ID OptInt `json:"id"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Name OptString `json:"name"`
+ // ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Value jx.Raw `json:"value"`
+}
+
+// GetID returns the value of ID.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) GetID() OptInt {
+ return s.ID
+}
+
+// GetName returns the value of Name.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) GetName() OptString {
+ return s.Name
+}
+
+// GetValue returns the value of Value.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) GetValue() jx.Raw {
+ return s.Value
+}
+
+// SetID sets the value of ID.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) SetID(val OptInt) {
+ s.ID = val
+}
+
+// SetName sets the value of Name.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) SetName(val OptString) {
+ s.Name = val
+}
+
+// SetValue sets the value of Value.
+func (s *ContentV2GetCardsListPostOKCardsItemCharacteristicsItem) SetValue(val jx.Raw) {
+ s.Value = val
+}
+
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ, ΡΠΌ ΠΈ ΠΊΠ³.
+type ContentV2GetCardsListPostOKCardsItemDimensions struct {
+ // ΠΠ»ΠΈΠ½Π°, ΡΠΌ.
+ Length OptInt `json:"length"`
+ // Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ.
+ Width OptInt `json:"width"`
+ // ΠΡΡΠΎΡΠ°, ΡΠΌ.
+ Height OptInt `json:"height"`
+ // ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3.
+ WeightBrutto OptFloat64 `json:"weightBrutto"`
+ // ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π³Π°Π±Π°ΡΠΈΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°:
+ // - `true` β Π½Π΅ Π²ΡΡΠ²Π»Π΅Π½Π°. `"isValid":true` Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ
+ // ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
+ // (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²)
+ // `"isValid":true` Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
,
+ // ΠΊΡΠΎΠΌΠ΅ Π½ΡΠ»Π΅Π²ΡΡ
.
+ // - `false` β ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π³Π°Π±Π°ΡΠΈΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ
+ // ΡΡΠ΅Π΄Π½ΠΈΡ
ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ (ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ
+ // ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ° Π²
+ // ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ **Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
**. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ
+ // ΡΠΎΠ²Π°ΡΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ,
+ // ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎΠ³ΠΈΡΡΠΈΠΊΠ° ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅
+ // ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π½Π°ΡΠΈΡΠ»ΡΡΡΡΡ β ΠΏΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ Π³Π°Π±Π°ΡΠΈΡΠ°ΠΌ. Π’Π°ΠΊΠΆΠ΅
+ // `"isValid":false` Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ
+ // Π½ΡΠ»Π΅Π²ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
+ IsValid OptBool `json:"isValid"`
+}
+
+// GetLength returns the value of Length.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) GetLength() OptInt {
+ return s.Length
+}
+
+// GetWidth returns the value of Width.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) GetWidth() OptInt {
+ return s.Width
+}
+
+// GetHeight returns the value of Height.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) GetHeight() OptInt {
+ return s.Height
+}
+
+// GetWeightBrutto returns the value of WeightBrutto.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) GetWeightBrutto() OptFloat64 {
+ return s.WeightBrutto
+}
+
+// GetIsValid returns the value of IsValid.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) GetIsValid() OptBool {
+ return s.IsValid
+}
+
+// SetLength sets the value of Length.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) SetLength(val OptInt) {
+ s.Length = val
+}
+
+// SetWidth sets the value of Width.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) SetWidth(val OptInt) {
+ s.Width = val
+}
+
+// SetHeight sets the value of Height.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) SetHeight(val OptInt) {
+ s.Height = val
+}
+
+// SetWeightBrutto sets the value of WeightBrutto.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) SetWeightBrutto(val OptFloat64) {
+ s.WeightBrutto = val
+}
+
+// SetIsValid sets the value of IsValid.
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) SetIsValid(val OptBool) {
+ s.IsValid = val
+}
+
+type ContentV2GetCardsListPostOKCardsItemPhotosItem struct {
+ // URL ΡΠΎΡΠΎ `900Ρ
1200`.
+ Big OptString `json:"big"`
+ // URL ΡΠΎΡΠΎ `248Ρ
328`.
+ C246x328 OptString `json:"c246x328"`
+ // URL ΡΠΎΡΠΎ `516Ρ
688`.
+ C516x688 OptString `json:"c516x688"`
+ // URL ΡΠΎΡΠΎ `600Ρ
600`.
+ Square OptString `json:"square"`
+ // URL ΡΠΎΡΠΎ `75Ρ
100`.
+ Tm OptString `json:"tm"`
+}
+
+// GetBig returns the value of Big.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) GetBig() OptString {
+ return s.Big
+}
+
+// GetC246x328 returns the value of C246x328.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) GetC246x328() OptString {
+ return s.C246x328
+}
+
+// GetC516x688 returns the value of C516x688.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) GetC516x688() OptString {
+ return s.C516x688
+}
+
+// GetSquare returns the value of Square.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) GetSquare() OptString {
+ return s.Square
+}
+
+// GetTm returns the value of Tm.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) GetTm() OptString {
+ return s.Tm
+}
+
+// SetBig sets the value of Big.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) SetBig(val OptString) {
+ s.Big = val
+}
+
+// SetC246x328 sets the value of C246x328.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) SetC246x328(val OptString) {
+ s.C246x328 = val
+}
+
+// SetC516x688 sets the value of C516x688.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) SetC516x688(val OptString) {
+ s.C516x688 = val
+}
+
+// SetSquare sets the value of Square.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) SetSquare(val OptString) {
+ s.Square = val
+}
+
+// SetTm sets the value of Tm.
+func (s *ContentV2GetCardsListPostOKCardsItemPhotosItem) SetTm(val OptString) {
+ s.Tm = val
+}
+
+type ContentV2GetCardsListPostOKCardsItemSizesItem struct {
+ // Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ID ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠΊΡΠ»Π° WB.
+ ChrtID OptInt `json:"chrtID"`
+ // Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ° (Π, XXL, 57 ΠΈ Π΄Ρ.).
+ TechSize OptString `json:"techSize"`
+ // Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ WbSize OptString `json:"wbSize"`
+ // ΠΠ°ΡΠΊΠΎΠ΄ ΡΠΎΠ²Π°ΡΠ°.
+ Skus []string `json:"skus"`
+}
+
+// GetChrtID returns the value of ChrtID.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) GetChrtID() OptInt {
+ return s.ChrtID
+}
+
+// GetTechSize returns the value of TechSize.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) GetTechSize() OptString {
+ return s.TechSize
+}
+
+// GetWbSize returns the value of WbSize.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) GetWbSize() OptString {
+ return s.WbSize
+}
+
+// GetSkus returns the value of Skus.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) GetSkus() []string {
+ return s.Skus
+}
+
+// SetChrtID sets the value of ChrtID.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) SetChrtID(val OptInt) {
+ s.ChrtID = val
+}
+
+// SetTechSize sets the value of TechSize.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) SetTechSize(val OptString) {
+ s.TechSize = val
+}
+
+// SetWbSize sets the value of WbSize.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) SetWbSize(val OptString) {
+ s.WbSize = val
+}
+
+// SetSkus sets the value of Skus.
+func (s *ContentV2GetCardsListPostOKCardsItemSizesItem) SetSkus(val []string) {
+ s.Skus = val
+}
+
+type ContentV2GetCardsListPostOKCardsItemTagsItem struct {
+ // ID ΡΡΠ»ΡΠΊΠ°.
+ ID OptInt `json:"id"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠ°.
+ Name OptString `json:"name"`
+ // Π¦Π²Π΅Ρ ΡΡΠ»ΡΠΊΠ°
+ //
+ // - ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ²Π΅ΡΠ°:
+ // D1CFD7 - ΡΠ΅ΡΡΠΉ
+ // FEE0E0 - ΠΊΡΠ°ΡΠ½ΡΠΉ
+ // ECDAFF - ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΡΠΉ
+ // E4EAFF - ΡΠΈΠ½ΠΈΠΉ
+ // DEF1DD - Π·Π΅Π»Π΅Π½ΡΠΉ
+ // FFECC7 - ΠΆΠ΅Π»ΡΡΠΉ
+ //
.
+ Color OptString `json:"color"`
+}
+
+// GetID returns the value of ID.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) GetID() OptInt {
+ return s.ID
+}
+
+// GetName returns the value of Name.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) GetName() OptString {
+ return s.Name
+}
+
+// GetColor returns the value of Color.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) GetColor() OptString {
+ return s.Color
+}
+
+// SetID sets the value of ID.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) SetID(val OptInt) {
+ s.ID = val
+}
+
+// SetName sets the value of Name.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) SetName(val OptString) {
+ s.Name = val
+}
+
+// SetColor sets the value of Color.
+func (s *ContentV2GetCardsListPostOKCardsItemTagsItem) SetColor(val OptString) {
+ s.Color = val
+}
+
+// ΠΠ°Π³ΠΈΠ½Π°ΡΠΎΡ.
+type ContentV2GetCardsListPostOKCursor struct {
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ
+ // ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ UpdatedAt OptString `json:"updatedAt"`
+ // ΠΡΡΠΈΠΊΡΠ» WB, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ
+ // ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ NmID OptInt `json:"nmID"`
+ // ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ Total OptInt `json:"total"`
+}
+
+// GetUpdatedAt returns the value of UpdatedAt.
+func (s *ContentV2GetCardsListPostOKCursor) GetUpdatedAt() OptString {
+ return s.UpdatedAt
+}
+
+// GetNmID returns the value of NmID.
+func (s *ContentV2GetCardsListPostOKCursor) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetTotal returns the value of Total.
+func (s *ContentV2GetCardsListPostOKCursor) GetTotal() OptInt {
+ return s.Total
+}
+
+// SetUpdatedAt sets the value of UpdatedAt.
+func (s *ContentV2GetCardsListPostOKCursor) SetUpdatedAt(val OptString) {
+ s.UpdatedAt = val
+}
+
+// SetNmID sets the value of NmID.
+func (s *ContentV2GetCardsListPostOKCursor) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetTotal sets the value of Total.
+func (s *ContentV2GetCardsListPostOKCursor) SetTotal(val OptInt) {
+ s.Total = val
+}
+
+// ContentV2GetCardsListPostOKHeaders wraps ContentV2GetCardsListPostOK with response headers.
+type ContentV2GetCardsListPostOKHeaders struct {
+ XRatelimitRemaining OptInt
+ Response ContentV2GetCardsListPostOK
+}
+
+// GetXRatelimitRemaining returns the value of XRatelimitRemaining.
+func (s *ContentV2GetCardsListPostOKHeaders) GetXRatelimitRemaining() OptInt {
+ return s.XRatelimitRemaining
+}
+
+// GetResponse returns the value of Response.
+func (s *ContentV2GetCardsListPostOKHeaders) GetResponse() ContentV2GetCardsListPostOK {
+ return s.Response
+}
+
+// SetXRatelimitRemaining sets the value of XRatelimitRemaining.
+func (s *ContentV2GetCardsListPostOKHeaders) SetXRatelimitRemaining(val OptInt) {
+ s.XRatelimitRemaining = val
+}
+
+// SetResponse sets the value of Response.
+func (s *ContentV2GetCardsListPostOKHeaders) SetResponse(val ContentV2GetCardsListPostOK) {
+ s.Response = val
+}
+
+func (*ContentV2GetCardsListPostOKHeaders) contentV2GetCardsListPostRes() {}
+
+type ContentV2GetCardsListPostReq struct {
+ // ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ.
+ Settings OptContentV2GetCardsListPostReqSettings `json:"settings"`
+}
+
+// GetSettings returns the value of Settings.
+func (s *ContentV2GetCardsListPostReq) GetSettings() OptContentV2GetCardsListPostReqSettings {
+ return s.Settings
+}
+
+// SetSettings sets the value of Settings.
+func (s *ContentV2GetCardsListPostReq) SetSettings(val OptContentV2GetCardsListPostReqSettings) {
+ s.Settings = val
+}
+
+// ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ.
+type ContentV2GetCardsListPostReqSettings struct {
+ // ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
+ Sort OptContentV2GetCardsListPostReqSettingsSort `json:"sort"`
+ // ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ.
+ Filter OptContentV2GetCardsListPostReqSettingsFilter `json:"filter"`
+ // ΠΡΡΡΠΎΡ.
+ Cursor OptContentV2GetCardsListPostReqSettingsCursor `json:"cursor"`
+}
+
+// GetSort returns the value of Sort.
+func (s *ContentV2GetCardsListPostReqSettings) GetSort() OptContentV2GetCardsListPostReqSettingsSort {
+ return s.Sort
+}
+
+// GetFilter returns the value of Filter.
+func (s *ContentV2GetCardsListPostReqSettings) GetFilter() OptContentV2GetCardsListPostReqSettingsFilter {
+ return s.Filter
+}
+
+// GetCursor returns the value of Cursor.
+func (s *ContentV2GetCardsListPostReqSettings) GetCursor() OptContentV2GetCardsListPostReqSettingsCursor {
+ return s.Cursor
+}
+
+// SetSort sets the value of Sort.
+func (s *ContentV2GetCardsListPostReqSettings) SetSort(val OptContentV2GetCardsListPostReqSettingsSort) {
+ s.Sort = val
+}
+
+// SetFilter sets the value of Filter.
+func (s *ContentV2GetCardsListPostReqSettings) SetFilter(val OptContentV2GetCardsListPostReqSettingsFilter) {
+ s.Filter = val
+}
+
+// SetCursor sets the value of Cursor.
+func (s *ContentV2GetCardsListPostReqSettings) SetCursor(val OptContentV2GetCardsListPostReqSettingsCursor) {
+ s.Cursor = val
+}
+
+// ΠΡΡΡΠΎΡ.
+type ContentV2GetCardsListPostReqSettingsCursor struct {
+ // Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²ΡΠ΄Π°ΡΡ Π² ΠΎΡΠ²Π΅ΡΠ΅.
+ Limit OptInt `json:"limit"`
+ UpdatedAt OptString `json:"updatedAt"`
+ // ΠΡΡΠΈΠΊΡΠ» WB ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΠ°.
+ // ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠΈ.
+ NmID OptInt `json:"nmID"`
+}
+
+// GetLimit returns the value of Limit.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) GetLimit() OptInt {
+ return s.Limit
+}
+
+// GetUpdatedAt returns the value of UpdatedAt.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) GetUpdatedAt() OptString {
+ return s.UpdatedAt
+}
+
+// GetNmID returns the value of NmID.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) GetNmID() OptInt {
+ return s.NmID
+}
+
+// SetLimit sets the value of Limit.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) SetLimit(val OptInt) {
+ s.Limit = val
+}
+
+// SetUpdatedAt sets the value of UpdatedAt.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) SetUpdatedAt(val OptString) {
+ s.UpdatedAt = val
+}
+
+// SetNmID sets the value of NmID.
+func (s *ContentV2GetCardsListPostReqSettingsCursor) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ.
+type ContentV2GetCardsListPostReqSettingsFilter struct {
+ // Π€ΠΈΠ»ΡΡΡ ΠΏΠΎΒ ΡΠΎΡΠΎ:
+ // * `0`Β β ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π±Π΅Π· ΡΠΎΡΠΎ
+ // * `1`Β β ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΒ ΡΠΎΡΠΎ
+ // * `-1`Β β Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ WithPhoto OptInt `json:"withPhoto"`
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π°ΡΡΠΈΠΊΡΠ»Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, Π°ΡΡΠΈΠΊΡΠ»Ρ WB, Π±Π°ΡΠΊΠΎΠ΄Ρ.
+ TextSearch OptString `json:"textSearch"`
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ ID ΡΡΠ»ΡΠΊΠΎΠ².
+ TagIDs []int `json:"tagIDs"`
+ // Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ. `true` - ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠ΅, `false` -
+ // Π²ΡΠ΅. ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
+ AllowedCategoriesOnly OptBool `json:"allowedCategoriesOnly"`
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ id ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ².
+ ObjectIDs []int `json:"objectIDs"`
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π±ΡΠ΅Π½Π΄Π°ΠΌ.
+ Brands []string `json:"brands"`
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ ID ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ ImtID OptInt `json:"imtID"`
+}
+
+// GetWithPhoto returns the value of WithPhoto.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) GetWithPhoto() OptInt {
+ return s.WithPhoto
+}
+
+// GetTextSearch returns the value of TextSearch.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) GetTextSearch() OptString {
+ return s.TextSearch
+}
+
+// GetTagIDs returns the value of TagIDs.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) GetTagIDs() []int {
+ return s.TagIDs
+}
+
+// GetAllowedCategoriesOnly returns the value of AllowedCategoriesOnly.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) GetAllowedCategoriesOnly() OptBool {
+ return s.AllowedCategoriesOnly
+}
+
+// GetObjectIDs returns the value of ObjectIDs.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) GetObjectIDs() []int {
+ return s.ObjectIDs
+}
+
+// GetBrands returns the value of Brands.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) GetBrands() []string {
+ return s.Brands
+}
+
+// GetImtID returns the value of ImtID.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) GetImtID() OptInt {
+ return s.ImtID
+}
+
+// SetWithPhoto sets the value of WithPhoto.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) SetWithPhoto(val OptInt) {
+ s.WithPhoto = val
+}
+
+// SetTextSearch sets the value of TextSearch.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) SetTextSearch(val OptString) {
+ s.TextSearch = val
+}
+
+// SetTagIDs sets the value of TagIDs.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) SetTagIDs(val []int) {
+ s.TagIDs = val
+}
+
+// SetAllowedCategoriesOnly sets the value of AllowedCategoriesOnly.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) SetAllowedCategoriesOnly(val OptBool) {
+ s.AllowedCategoriesOnly = val
+}
+
+// SetObjectIDs sets the value of ObjectIDs.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) SetObjectIDs(val []int) {
+ s.ObjectIDs = val
+}
+
+// SetBrands sets the value of Brands.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) SetBrands(val []string) {
+ s.Brands = val
+}
+
+// SetImtID sets the value of ImtID.
+func (s *ContentV2GetCardsListPostReqSettingsFilter) SetImtID(val OptInt) {
+ s.ImtID = val
+}
+
+// ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
+type ContentV2GetCardsListPostReqSettingsSort struct {
+ // Π‘ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ **updatedAt** (`false` - ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ, `true` - ΠΏΠΎ
+ // Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ).
+ Ascending OptBool `json:"ascending"`
+}
+
+// GetAscending returns the value of Ascending.
+func (s *ContentV2GetCardsListPostReqSettingsSort) GetAscending() OptBool {
+ return s.Ascending
+}
+
+// SetAscending sets the value of Ascending.
+func (s *ContentV2GetCardsListPostReqSettingsSort) SetAscending(val OptBool) {
+ s.Ascending = val
+}
+
+type ContentV2GetCardsTrashPostBadRequestPlainText struct {
+ Data io.Reader
+}
+
+// Read reads data from the Data reader.
+//
+// Kept to satisfy the io.Reader interface.
+func (s ContentV2GetCardsTrashPostBadRequestPlainText) Read(p []byte) (n int, err error) {
+ if s.Data == nil {
+ return 0, io.EOF
+ }
+ return s.Data.Read(p)
+}
+
+func (*ContentV2GetCardsTrashPostBadRequestPlainText) contentV2GetCardsTrashPostRes() {}
+
+type ContentV2GetCardsTrashPostLocale string
+
+const (
+ ContentV2GetCardsTrashPostLocaleRu ContentV2GetCardsTrashPostLocale = "ru"
+ ContentV2GetCardsTrashPostLocaleEn ContentV2GetCardsTrashPostLocale = "en"
+ ContentV2GetCardsTrashPostLocaleZh ContentV2GetCardsTrashPostLocale = "zh"
+)
+
+// AllValues returns all ContentV2GetCardsTrashPostLocale values.
+func (ContentV2GetCardsTrashPostLocale) AllValues() []ContentV2GetCardsTrashPostLocale {
+ return []ContentV2GetCardsTrashPostLocale{
+ ContentV2GetCardsTrashPostLocaleRu,
+ ContentV2GetCardsTrashPostLocaleEn,
+ ContentV2GetCardsTrashPostLocaleZh,
+ }
+}
+
+// MarshalText implements encoding.TextMarshaler.
+func (s ContentV2GetCardsTrashPostLocale) MarshalText() ([]byte, error) {
+ switch s {
+ case ContentV2GetCardsTrashPostLocaleRu:
+ return []byte(s), nil
+ case ContentV2GetCardsTrashPostLocaleEn:
+ return []byte(s), nil
+ case ContentV2GetCardsTrashPostLocaleZh:
+ return []byte(s), nil
+ default:
+ return nil, errors.Errorf("invalid value: %q", s)
+ }
+}
+
+// UnmarshalText implements encoding.TextUnmarshaler.
+func (s *ContentV2GetCardsTrashPostLocale) UnmarshalText(data []byte) error {
+ switch ContentV2GetCardsTrashPostLocale(data) {
+ case ContentV2GetCardsTrashPostLocaleRu:
+ *s = ContentV2GetCardsTrashPostLocaleRu
+ return nil
+ case ContentV2GetCardsTrashPostLocaleEn:
+ *s = ContentV2GetCardsTrashPostLocaleEn
+ return nil
+ case ContentV2GetCardsTrashPostLocaleZh:
+ *s = ContentV2GetCardsTrashPostLocaleZh
+ return nil
+ default:
+ return errors.Errorf("invalid value: %q", data)
+ }
+}
+
+type ContentV2GetCardsTrashPostOK struct {
+ // ΠΠ°ΡΡΠΈΠ² ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ Cards []ContentV2GetCardsTrashPostOKCardsItem `json:"cards"`
+ // ΠΠ°Π³ΠΈΠ½Π°ΡΠΎΡ.
+ Cursor OptContentV2GetCardsTrashPostOKCursor `json:"cursor"`
+}
+
+// GetCards returns the value of Cards.
+func (s *ContentV2GetCardsTrashPostOK) GetCards() []ContentV2GetCardsTrashPostOKCardsItem {
+ return s.Cards
+}
+
+// GetCursor returns the value of Cursor.
+func (s *ContentV2GetCardsTrashPostOK) GetCursor() OptContentV2GetCardsTrashPostOKCursor {
+ return s.Cursor
+}
+
+// SetCards sets the value of Cards.
+func (s *ContentV2GetCardsTrashPostOK) SetCards(val []ContentV2GetCardsTrashPostOKCardsItem) {
+ s.Cards = val
+}
+
+// SetCursor sets the value of Cursor.
+func (s *ContentV2GetCardsTrashPostOK) SetCursor(val OptContentV2GetCardsTrashPostOKCursor) {
+ s.Cursor = val
+}
+
+func (*ContentV2GetCardsTrashPostOK) contentV2GetCardsTrashPostRes() {}
+
+type ContentV2GetCardsTrashPostOKCardsItem struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode OptString `json:"vendorCode"`
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectID OptInt `json:"subjectID"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectName OptString `json:"subjectName"`
+ // ΠΠ°ΡΡΠΈΠ² ΡΠΎΡΠΎ.
+ Photos []ContentV2GetCardsTrashPostOKCardsItemPhotosItem `json:"photos"`
+ // URL Π²ΠΈΠ΄Π΅ΠΎ.
+ Video OptString `json:"video"`
+ // ΠΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
+ Sizes []ContentV2GetCardsTrashPostOKCardsItemSizesItem `json:"sizes"`
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ, ΡΠΌ ΠΈ ΠΊΠ³.
+ Dimensions OptContentV2GetCardsTrashPostOKCardsItemDimensions `json:"dimensions"`
+ // Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Characteristics []ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem `json:"characteristics"`
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.
+ CreatedAt OptString `json:"createdAt"`
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ.
+ TrashedAt OptString `json:"trashedAt"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetVendorCode() OptString {
+ return s.VendorCode
+}
+
+// GetSubjectID returns the value of SubjectID.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetSubjectID() OptInt {
+ return s.SubjectID
+}
+
+// GetSubjectName returns the value of SubjectName.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetSubjectName() OptString {
+ return s.SubjectName
+}
+
+// GetPhotos returns the value of Photos.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetPhotos() []ContentV2GetCardsTrashPostOKCardsItemPhotosItem {
+ return s.Photos
+}
+
+// GetVideo returns the value of Video.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetVideo() OptString {
+ return s.Video
+}
+
+// GetSizes returns the value of Sizes.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetSizes() []ContentV2GetCardsTrashPostOKCardsItemSizesItem {
+ return s.Sizes
+}
+
+// GetDimensions returns the value of Dimensions.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetDimensions() OptContentV2GetCardsTrashPostOKCardsItemDimensions {
+ return s.Dimensions
+}
+
+// GetCharacteristics returns the value of Characteristics.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetCharacteristics() []ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem {
+ return s.Characteristics
+}
+
+// GetCreatedAt returns the value of CreatedAt.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetCreatedAt() OptString {
+ return s.CreatedAt
+}
+
+// GetTrashedAt returns the value of TrashedAt.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) GetTrashedAt() OptString {
+ return s.TrashedAt
+}
+
+// SetNmID sets the value of NmID.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetVendorCode(val OptString) {
+ s.VendorCode = val
+}
+
+// SetSubjectID sets the value of SubjectID.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetSubjectID(val OptInt) {
+ s.SubjectID = val
+}
+
+// SetSubjectName sets the value of SubjectName.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetSubjectName(val OptString) {
+ s.SubjectName = val
+}
+
+// SetPhotos sets the value of Photos.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetPhotos(val []ContentV2GetCardsTrashPostOKCardsItemPhotosItem) {
+ s.Photos = val
+}
+
+// SetVideo sets the value of Video.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetVideo(val OptString) {
+ s.Video = val
+}
+
+// SetSizes sets the value of Sizes.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetSizes(val []ContentV2GetCardsTrashPostOKCardsItemSizesItem) {
+ s.Sizes = val
+}
+
+// SetDimensions sets the value of Dimensions.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetDimensions(val OptContentV2GetCardsTrashPostOKCardsItemDimensions) {
+ s.Dimensions = val
+}
+
+// SetCharacteristics sets the value of Characteristics.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetCharacteristics(val []ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) {
+ s.Characteristics = val
+}
+
+// SetCreatedAt sets the value of CreatedAt.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetCreatedAt(val OptString) {
+ s.CreatedAt = val
+}
+
+// SetTrashedAt sets the value of TrashedAt.
+func (s *ContentV2GetCardsTrashPostOKCardsItem) SetTrashedAt(val OptString) {
+ s.TrashedAt = val
+}
+
+type ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem struct {
+ // ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ ID OptInt `json:"id"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Name OptString `json:"name"`
+ // ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ
+ // ΡΠΈΠΏΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Value jx.Raw `json:"value"`
+}
+
+// GetID returns the value of ID.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) GetID() OptInt {
+ return s.ID
+}
+
+// GetName returns the value of Name.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) GetName() OptString {
+ return s.Name
+}
+
+// GetValue returns the value of Value.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) GetValue() jx.Raw {
+ return s.Value
+}
+
+// SetID sets the value of ID.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) SetID(val OptInt) {
+ s.ID = val
+}
+
+// SetName sets the value of Name.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) SetName(val OptString) {
+ s.Name = val
+}
+
+// SetValue sets the value of Value.
+func (s *ContentV2GetCardsTrashPostOKCardsItemCharacteristicsItem) SetValue(val jx.Raw) {
+ s.Value = val
+}
+
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΠΈ Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° c ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ, ΡΠΌ ΠΈ ΠΊΠ³.
+type ContentV2GetCardsTrashPostOKCardsItemDimensions struct {
+ // ΠΠ»ΠΈΠ½Π°, ΡΠΌ.
+ Length OptInt `json:"length"`
+ // Π¨ΠΈΡΠΈΠ½Π°, ΡΠΌ.
+ Width OptInt `json:"width"`
+ // ΠΡΡΠΎΡΠ°, ΡΠΌ.
+ Height OptInt `json:"height"`
+ // ΠΠ΅Ρ, ΠΊΠ³
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ <=3.
+ WeightBrutto OptFloat64 `json:"weightBrutto"`
+ // ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π³Π°Π±Π°ΡΠΈΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°:
+ // - `true` β Π½Π΅ Π²ΡΡΠ²Π»Π΅Π½Π°. `"isValid":true` Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ
+ // ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
+ // (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²)
+ // `"isValid":true` Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
,
+ // ΠΊΡΠΎΠΌΠ΅ Π½ΡΠ»Π΅Π²ΡΡ
.
+ // - `false` β ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π³Π°Π±Π°ΡΠΈΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ
+ // ΡΡΠ΅Π΄Π½ΠΈΡ
ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ (ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ
+ // ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ° Π²
+ // ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ **Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
**. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ
+ // ΡΠΎΠ²Π°ΡΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ,
+ // ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎΠ³ΠΈΡΡΠΈΠΊΠ° ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅
+ // ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π½Π°ΡΠΈΡΠ»ΡΡΡΡΡ β ΠΏΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ Π³Π°Π±Π°ΡΠΈΡΠ°ΠΌ. Π’Π°ΠΊΠΆΠ΅
+ // `"isValid":false` Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ
+ // Π½ΡΠ»Π΅Π²ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
+ IsValid OptBool `json:"isValid"`
+}
+
+// GetLength returns the value of Length.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) GetLength() OptInt {
+ return s.Length
+}
+
+// GetWidth returns the value of Width.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) GetWidth() OptInt {
+ return s.Width
+}
+
+// GetHeight returns the value of Height.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) GetHeight() OptInt {
+ return s.Height
+}
+
+// GetWeightBrutto returns the value of WeightBrutto.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) GetWeightBrutto() OptFloat64 {
+ return s.WeightBrutto
+}
+
+// GetIsValid returns the value of IsValid.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) GetIsValid() OptBool {
+ return s.IsValid
+}
+
+// SetLength sets the value of Length.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) SetLength(val OptInt) {
+ s.Length = val
+}
+
+// SetWidth sets the value of Width.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) SetWidth(val OptInt) {
+ s.Width = val
+}
+
+// SetHeight sets the value of Height.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) SetHeight(val OptInt) {
+ s.Height = val
+}
+
+// SetWeightBrutto sets the value of WeightBrutto.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) SetWeightBrutto(val OptFloat64) {
+ s.WeightBrutto = val
+}
+
+// SetIsValid sets the value of IsValid.
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) SetIsValid(val OptBool) {
+ s.IsValid = val
+}
+
+type ContentV2GetCardsTrashPostOKCardsItemPhotosItem struct {
+ // URL ΡΠΎΡΠΎ `900Ρ
1200`.
+ Big OptString `json:"big"`
+ // URL ΡΠΎΡΠΎ `248Ρ
328`.
+ C246x328 OptString `json:"c246x328"`
+ // URL ΡΠΎΡΠΎ `516Ρ
688`.
+ C516x688 OptString `json:"c516x688"`
+ // URL ΡΠΎΡΠΎ `600Ρ
600`.
+ Square OptString `json:"square"`
+ // URL ΡΠΎΡΠΎ `75Ρ
100`.
+ Tm OptString `json:"tm"`
+}
+
+// GetBig returns the value of Big.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) GetBig() OptString {
+ return s.Big
+}
+
+// GetC246x328 returns the value of C246x328.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) GetC246x328() OptString {
+ return s.C246x328
+}
+
+// GetC516x688 returns the value of C516x688.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) GetC516x688() OptString {
+ return s.C516x688
+}
+
+// GetSquare returns the value of Square.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) GetSquare() OptString {
+ return s.Square
+}
+
+// GetTm returns the value of Tm.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) GetTm() OptString {
+ return s.Tm
+}
+
+// SetBig sets the value of Big.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) SetBig(val OptString) {
+ s.Big = val
+}
+
+// SetC246x328 sets the value of C246x328.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) SetC246x328(val OptString) {
+ s.C246x328 = val
+}
+
+// SetC516x688 sets the value of C516x688.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) SetC516x688(val OptString) {
+ s.C516x688 = val
+}
+
+// SetSquare sets the value of Square.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) SetSquare(val OptString) {
+ s.Square = val
+}
+
+// SetTm sets the value of Tm.
+func (s *ContentV2GetCardsTrashPostOKCardsItemPhotosItem) SetTm(val OptString) {
+ s.Tm = val
+}
+
+type ContentV2GetCardsTrashPostOKCardsItemSizesItem struct {
+ // ID ΡΠ°Π·ΠΌΠ΅ΡΠ°.
+ ChrtID OptInt `json:"chrtID"`
+ // Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ TechSize OptString `json:"techSize"`
+ // Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ WbSize OptString `json:"wbSize"`
+ // ΠΠ°ΡΡΠΈΠ² Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+ Skus []string `json:"skus"`
+}
+
+// GetChrtID returns the value of ChrtID.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) GetChrtID() OptInt {
+ return s.ChrtID
+}
+
+// GetTechSize returns the value of TechSize.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) GetTechSize() OptString {
+ return s.TechSize
+}
+
+// GetWbSize returns the value of WbSize.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) GetWbSize() OptString {
+ return s.WbSize
+}
+
+// GetSkus returns the value of Skus.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) GetSkus() []string {
+ return s.Skus
+}
+
+// SetChrtID sets the value of ChrtID.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) SetChrtID(val OptInt) {
+ s.ChrtID = val
+}
+
+// SetTechSize sets the value of TechSize.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) SetTechSize(val OptString) {
+ s.TechSize = val
+}
+
+// SetWbSize sets the value of WbSize.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) SetWbSize(val OptString) {
+ s.WbSize = val
+}
+
+// SetSkus sets the value of Skus.
+func (s *ContentV2GetCardsTrashPostOKCardsItemSizesItem) SetSkus(val []string) {
+ s.Skus = val
+}
+
+// ΠΠ°Π³ΠΈΠ½Π°ΡΠΎΡ.
+type ContentV2GetCardsTrashPostOKCursor struct {
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ
+ // ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ TrashedAt OptString `json:"trashedAt"`
+ // ΠΡΡΠΈΠΊΡΠ» WB, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ
+ // ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ NmID OptInt `json:"nmID"`
+ // ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ Total OptInt `json:"total"`
+}
+
+// GetTrashedAt returns the value of TrashedAt.
+func (s *ContentV2GetCardsTrashPostOKCursor) GetTrashedAt() OptString {
+ return s.TrashedAt
+}
+
+// GetNmID returns the value of NmID.
+func (s *ContentV2GetCardsTrashPostOKCursor) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetTotal returns the value of Total.
+func (s *ContentV2GetCardsTrashPostOKCursor) GetTotal() OptInt {
+ return s.Total
+}
+
+// SetTrashedAt sets the value of TrashedAt.
+func (s *ContentV2GetCardsTrashPostOKCursor) SetTrashedAt(val OptString) {
+ s.TrashedAt = val
+}
+
+// SetNmID sets the value of NmID.
+func (s *ContentV2GetCardsTrashPostOKCursor) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetTotal sets the value of Total.
+func (s *ContentV2GetCardsTrashPostOKCursor) SetTotal(val OptInt) {
+ s.Total = val
+}
+
+type ContentV2GetCardsTrashPostReq struct {
+ // ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ.
+ Settings OptContentV2GetCardsTrashPostReqSettings `json:"settings"`
+}
+
+// GetSettings returns the value of Settings.
+func (s *ContentV2GetCardsTrashPostReq) GetSettings() OptContentV2GetCardsTrashPostReqSettings {
+ return s.Settings
+}
+
+// SetSettings sets the value of Settings.
+func (s *ContentV2GetCardsTrashPostReq) SetSettings(val OptContentV2GetCardsTrashPostReqSettings) {
+ s.Settings = val
+}
+
+// ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ.
+type ContentV2GetCardsTrashPostReqSettings struct {
+ // ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
+ Sort OptContentV2GetCardsTrashPostReqSettingsSort `json:"sort"`
+ // ΠΡΡΡΠΎΡ.
+ Cursor OptContentV2GetCardsTrashPostReqSettingsCursor `json:"cursor"`
+ // ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ.
+ Filter OptContentV2GetCardsTrashPostReqSettingsFilter `json:"filter"`
+}
+
+// GetSort returns the value of Sort.
+func (s *ContentV2GetCardsTrashPostReqSettings) GetSort() OptContentV2GetCardsTrashPostReqSettingsSort {
+ return s.Sort
+}
+
+// GetCursor returns the value of Cursor.
+func (s *ContentV2GetCardsTrashPostReqSettings) GetCursor() OptContentV2GetCardsTrashPostReqSettingsCursor {
+ return s.Cursor
+}
+
+// GetFilter returns the value of Filter.
+func (s *ContentV2GetCardsTrashPostReqSettings) GetFilter() OptContentV2GetCardsTrashPostReqSettingsFilter {
+ return s.Filter
+}
+
+// SetSort sets the value of Sort.
+func (s *ContentV2GetCardsTrashPostReqSettings) SetSort(val OptContentV2GetCardsTrashPostReqSettingsSort) {
+ s.Sort = val
+}
+
+// SetCursor sets the value of Cursor.
+func (s *ContentV2GetCardsTrashPostReqSettings) SetCursor(val OptContentV2GetCardsTrashPostReqSettingsCursor) {
+ s.Cursor = val
+}
+
+// SetFilter sets the value of Filter.
+func (s *ContentV2GetCardsTrashPostReqSettings) SetFilter(val OptContentV2GetCardsTrashPostReqSettingsFilter) {
+ s.Filter = val
+}
+
+// ΠΡΡΡΠΎΡ.
+type ContentV2GetCardsTrashPostReqSettingsCursor struct {
+ // Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²ΡΠ΄Π°ΡΡ Π² ΠΎΡΠ²Π΅ΡΠ΅.
+ Limit OptInt `json:"limit"`
+}
+
+// GetLimit returns the value of Limit.
+func (s *ContentV2GetCardsTrashPostReqSettingsCursor) GetLimit() OptInt {
+ return s.Limit
+}
+
+// SetLimit sets the value of Limit.
+func (s *ContentV2GetCardsTrashPostReqSettingsCursor) SetLimit(val OptInt) {
+ s.Limit = val
+}
+
+// ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ.
+type ContentV2GetCardsTrashPostReqSettingsFilter struct {
+ // ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π°ΡΡΠΈΠΊΡΠ»Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, Π°ΡΡΠΈΠΊΡΠ»Ρ WB, Π±Π°ΡΠΊΠΎΠ΄Ρ.
+ TextSearch OptString `json:"textSearch"`
+}
+
+// GetTextSearch returns the value of TextSearch.
+func (s *ContentV2GetCardsTrashPostReqSettingsFilter) GetTextSearch() OptString {
+ return s.TextSearch
+}
+
+// SetTextSearch sets the value of TextSearch.
+func (s *ContentV2GetCardsTrashPostReqSettingsFilter) SetTextSearch(val OptString) {
+ s.TextSearch = val
+}
+
+// ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
+type ContentV2GetCardsTrashPostReqSettingsSort struct {
+ // Π‘ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ `trashedAt` (`false` - ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ, `true` - ΠΏΠΎ
+ // Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ).
+ Ascending OptBool `json:"ascending"`
+}
+
+// GetAscending returns the value of Ascending.
+func (s *ContentV2GetCardsTrashPostReqSettingsSort) GetAscending() OptBool {
+ return s.Ascending
+}
+
+// SetAscending sets the value of Ascending.
+func (s *ContentV2GetCardsTrashPostReqSettingsSort) SetAscending(val OptBool) {
+ s.Ascending = val
+}
+
+type ContentV2ObjectAllGetOK struct {
+ // ΠΡΠ΅Π΄ΠΌΠ΅ΡΡ.
+ Data []ContentV2ObjectAllGetOKDataItem `json:"data"`
+ // Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2ObjectAllGetOK) GetData() []ContentV2ObjectAllGetOKDataItem {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2ObjectAllGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2ObjectAllGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2ObjectAllGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2ObjectAllGetOK) SetData(val []ContentV2ObjectAllGetOKDataItem) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2ObjectAllGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2ObjectAllGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2ObjectAllGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2ObjectAllGetOK) contentV2ObjectAllGetRes() {}
+
+type ContentV2ObjectAllGetOKDataItem struct {
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectID OptInt `json:"subjectID"`
+ // ID ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ.
+ ParentID OptInt `json:"parentID"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectName OptString `json:"subjectName"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ.
+ ParentName OptString `json:"parentName"`
+}
+
+// GetSubjectID returns the value of SubjectID.
+func (s *ContentV2ObjectAllGetOKDataItem) GetSubjectID() OptInt {
+ return s.SubjectID
+}
+
+// GetParentID returns the value of ParentID.
+func (s *ContentV2ObjectAllGetOKDataItem) GetParentID() OptInt {
+ return s.ParentID
+}
+
+// GetSubjectName returns the value of SubjectName.
+func (s *ContentV2ObjectAllGetOKDataItem) GetSubjectName() OptString {
+ return s.SubjectName
+}
+
+// GetParentName returns the value of ParentName.
+func (s *ContentV2ObjectAllGetOKDataItem) GetParentName() OptString {
+ return s.ParentName
+}
+
+// SetSubjectID sets the value of SubjectID.
+func (s *ContentV2ObjectAllGetOKDataItem) SetSubjectID(val OptInt) {
+ s.SubjectID = val
+}
+
+// SetParentID sets the value of ParentID.
+func (s *ContentV2ObjectAllGetOKDataItem) SetParentID(val OptInt) {
+ s.ParentID = val
+}
+
+// SetSubjectName sets the value of SubjectName.
+func (s *ContentV2ObjectAllGetOKDataItem) SetSubjectName(val OptString) {
+ s.SubjectName = val
+}
+
+// SetParentName sets the value of ParentName.
+func (s *ContentV2ObjectAllGetOKDataItem) SetParentName(val OptString) {
+ s.ParentName = val
+}
+
+type ContentV2ObjectCharcsSubjectIdGetOK struct {
+ // ΠΠ°Π½Π½ΡΠ΅.
+ Data []ContentV2ObjectCharcsSubjectIdGetOKDataItem `json:"data"`
+ // Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) GetData() []ContentV2ObjectCharcsSubjectIdGetOKDataItem {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) SetData(val []ContentV2ObjectCharcsSubjectIdGetOKDataItem) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2ObjectCharcsSubjectIdGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2ObjectCharcsSubjectIdGetOK) contentV2ObjectCharcsSubjectIdGetRes() {}
+
+type ContentV2ObjectCharcsSubjectIdGetOKDataItem struct {
+ // ID Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ CharcID OptInt `json:"charcID"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectName OptString `json:"subjectName"`
+ // ID ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°.
+ SubjectID OptInt `json:"subjectID"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
+ Name OptString `json:"name"`
+ // True - Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²
+ // ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°. false - Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ
+ // ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ.
+ Required OptBool `json:"required"`
+ // ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
+ UnitName OptString `json:"unitName"`
+ // ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
+ // ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΄Π°Π½Π½ΠΎΠΉ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅.
+ // ΠΡΠ»ΠΈ 0, ΡΠΎ Π½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
+ MaxCount OptInt `json:"maxCount"`
+ // Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (true - Π΄Π°, false
+ // - Π½Π΅Ρ).
+ Popular OptBool `json:"popular"`
+ // Π’ΠΈΠΏ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ (1 ΠΈ 0 - ΡΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ; 4 -
+ // ΡΠΈΡΠ»ΠΎ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π»).
+ CharcType OptInt `json:"charcType"`
+}
+
+// GetCharcID returns the value of CharcID.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetCharcID() OptInt {
+ return s.CharcID
+}
+
+// GetSubjectName returns the value of SubjectName.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetSubjectName() OptString {
+ return s.SubjectName
+}
+
+// GetSubjectID returns the value of SubjectID.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetSubjectID() OptInt {
+ return s.SubjectID
+}
+
+// GetName returns the value of Name.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetName() OptString {
+ return s.Name
+}
+
+// GetRequired returns the value of Required.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetRequired() OptBool {
+ return s.Required
+}
+
+// GetUnitName returns the value of UnitName.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetUnitName() OptString {
+ return s.UnitName
+}
+
+// GetMaxCount returns the value of MaxCount.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetMaxCount() OptInt {
+ return s.MaxCount
+}
+
+// GetPopular returns the value of Popular.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetPopular() OptBool {
+ return s.Popular
+}
+
+// GetCharcType returns the value of CharcType.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) GetCharcType() OptInt {
+ return s.CharcType
+}
+
+// SetCharcID sets the value of CharcID.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetCharcID(val OptInt) {
+ s.CharcID = val
+}
+
+// SetSubjectName sets the value of SubjectName.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetSubjectName(val OptString) {
+ s.SubjectName = val
+}
+
+// SetSubjectID sets the value of SubjectID.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetSubjectID(val OptInt) {
+ s.SubjectID = val
+}
+
+// SetName sets the value of Name.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetName(val OptString) {
+ s.Name = val
+}
+
+// SetRequired sets the value of Required.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetRequired(val OptBool) {
+ s.Required = val
+}
+
+// SetUnitName sets the value of UnitName.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetUnitName(val OptString) {
+ s.UnitName = val
+}
+
+// SetMaxCount sets the value of MaxCount.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetMaxCount(val OptInt) {
+ s.MaxCount = val
+}
+
+// SetPopular sets the value of Popular.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetPopular(val OptBool) {
+ s.Popular = val
+}
+
+// SetCharcType sets the value of CharcType.
+func (s *ContentV2ObjectCharcsSubjectIdGetOKDataItem) SetCharcType(val OptInt) {
+ s.CharcType = val
+}
+
+type ContentV2ObjectParentAllGetOK struct {
+ Data jx.Raw `json:"data"`
+ // Π€Π»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2ObjectParentAllGetOK) GetData() jx.Raw {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2ObjectParentAllGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2ObjectParentAllGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2ObjectParentAllGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2ObjectParentAllGetOK) SetData(val jx.Raw) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2ObjectParentAllGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2ObjectParentAllGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2ObjectParentAllGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2ObjectParentAllGetOK) contentV2ObjectParentAllGetRes() {}
+
+type ContentV2TagNomenclatureLinkPostReq struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ΠΠ°ΡΡΠΈΠ² ΡΠΈΡΠ»ΠΎΠ²ΡΡ
ID ΡΡΠ»ΡΠΊΠΎΠ².
+ // Π§ΡΠΎ Π±Ρ ΡΠ½ΡΡΡ ΡΡΠ»ΡΠΊΠΈ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ
+ // ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ².
+ // Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ»ΡΠΊΠΈ ΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅
+ // ΡΠΎΠ²Π°ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ»ΡΠΊΠΈ ΠΈ
+ // ΡΡΠ»ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ Π² ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ TagsIDs []int `json:"tagsIDs"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *ContentV2TagNomenclatureLinkPostReq) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetTagsIDs returns the value of TagsIDs.
+func (s *ContentV2TagNomenclatureLinkPostReq) GetTagsIDs() []int {
+ return s.TagsIDs
+}
+
+// SetNmID sets the value of NmID.
+func (s *ContentV2TagNomenclatureLinkPostReq) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetTagsIDs sets the value of TagsIDs.
+func (s *ContentV2TagNomenclatureLinkPostReq) SetTagsIDs(val []int) {
+ s.TagsIDs = val
+}
+
+type ContentV2TagsGetOK struct {
+ Data jx.Raw `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV2TagsGetOK) GetData() jx.Raw {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV2TagsGetOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV2TagsGetOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV2TagsGetOK) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV2TagsGetOK) SetData(val jx.Raw) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV2TagsGetOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV2TagsGetOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV2TagsGetOK) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV2TagsGetOK) contentV2TagsGetRes() {}
+
+type ContentV3MediaFilePostApplicationJSONBadRequest MediaErrors
+
+func (*ContentV3MediaFilePostApplicationJSONBadRequest) contentV3MediaFilePostRes() {}
+
+type ContentV3MediaFilePostBadRequestPlainText struct {
+ Data io.Reader
+}
+
+// Read reads data from the Data reader.
+//
+// Kept to satisfy the io.Reader interface.
+func (s ContentV3MediaFilePostBadRequestPlainText) Read(p []byte) (n int, err error) {
+ if s.Data == nil {
+ return 0, io.EOF
+ }
+ return s.Data.Read(p)
+}
+
+func (*ContentV3MediaFilePostBadRequestPlainText) contentV3MediaFilePostRes() {}
+
+type ContentV3MediaFilePostForbidden MediaErrors
+
+func (*ContentV3MediaFilePostForbidden) contentV3MediaFilePostRes() {}
+
+type ContentV3MediaFilePostOK struct {
+ Data *ContentV3MediaFilePostOKData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptContentV3MediaFilePostOKAdditionalErrors `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV3MediaFilePostOK) GetData() *ContentV3MediaFilePostOKData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV3MediaFilePostOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV3MediaFilePostOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV3MediaFilePostOK) GetAdditionalErrors() OptContentV3MediaFilePostOKAdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV3MediaFilePostOK) SetData(val *ContentV3MediaFilePostOKData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV3MediaFilePostOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV3MediaFilePostOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV3MediaFilePostOK) SetAdditionalErrors(val OptContentV3MediaFilePostOKAdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV3MediaFilePostOK) contentV3MediaFilePostRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+type ContentV3MediaFilePostOKAdditionalErrors struct{}
+
+type ContentV3MediaFilePostOKData struct{}
+
+type ContentV3MediaFilePostReq struct {
+ Uploadfile OptMultipartFile `json:"uploadfile"`
+}
+
+// GetUploadfile returns the value of Uploadfile.
+func (s *ContentV3MediaFilePostReq) GetUploadfile() OptMultipartFile {
+ return s.Uploadfile
+}
+
+// SetUploadfile sets the value of Uploadfile.
+func (s *ContentV3MediaFilePostReq) SetUploadfile(val OptMultipartFile) {
+ s.Uploadfile = val
+}
+
+type ContentV3MediaSavePostBadRequest MediaErrors
+
+func (*ContentV3MediaSavePostBadRequest) contentV3MediaSavePostRes() {}
+
+type ContentV3MediaSavePostConflict MediaErrors
+
+func (*ContentV3MediaSavePostConflict) contentV3MediaSavePostRes() {}
+
+type ContentV3MediaSavePostForbidden MediaErrors
+
+func (*ContentV3MediaSavePostForbidden) contentV3MediaSavePostRes() {}
+
+type ContentV3MediaSavePostOK struct {
+ Data *ContentV3MediaSavePostOKData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptContentV3MediaSavePostOKAdditionalErrors `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ContentV3MediaSavePostOK) GetData() *ContentV3MediaSavePostOKData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ContentV3MediaSavePostOK) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ContentV3MediaSavePostOK) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ContentV3MediaSavePostOK) GetAdditionalErrors() OptContentV3MediaSavePostOKAdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ContentV3MediaSavePostOK) SetData(val *ContentV3MediaSavePostOKData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ContentV3MediaSavePostOK) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ContentV3MediaSavePostOK) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ContentV3MediaSavePostOK) SetAdditionalErrors(val OptContentV3MediaSavePostOKAdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+func (*ContentV3MediaSavePostOK) contentV3MediaSavePostRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+type ContentV3MediaSavePostOKAdditionalErrors struct{}
+
+type ContentV3MediaSavePostOKData struct{}
+
+type ContentV3MediaSavePostReq struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmId OptInt `json:"nmId"`
+ // Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ
+ // Π±ΡΠ΄ΡΡ Π²Β ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°, ΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ
+ // ΠΌΠ°ΡΡΠΈΠ²Π°.
+ Data []string `json:"data"`
+}
+
+// GetNmId returns the value of NmId.
+func (s *ContentV3MediaSavePostReq) GetNmId() OptInt {
+ return s.NmId
+}
+
+// GetData returns the value of Data.
+func (s *ContentV3MediaSavePostReq) GetData() []string {
+ return s.Data
+}
+
+// SetNmId sets the value of NmId.
+func (s *ContentV3MediaSavePostReq) SetNmId(val OptInt) {
+ s.NmId = val
+}
+
+// SetData sets the value of Data.
+func (s *ContentV3MediaSavePostReq) SetData(val []string) {
+ s.Data = val
+}
+
+type ContentV3MediaSavePostUnprocessableEntity MediaErrors
+
+func (*ContentV3MediaSavePostUnprocessableEntity) contentV3MediaSavePostRes() {}
+
+// Ref: #/components/schemas/Error
+type Error struct {
+ // ΠΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Code OptString `json:"code"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Message OptString `json:"message"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΠΎΠ³Π°ΡΠ°ΡΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΡ.
+ Data OptErrorData `json:"data"`
+}
+
+// GetCode returns the value of Code.
+func (s *Error) GetCode() OptString {
+ return s.Code
+}
+
+// GetMessage returns the value of Message.
+func (s *Error) GetMessage() OptString {
+ return s.Message
+}
+
+// GetData returns the value of Data.
+func (s *Error) GetData() OptErrorData {
+ return s.Data
+}
+
+// SetCode sets the value of Code.
+func (s *Error) SetCode(val OptString) {
+ s.Code = val
+}
+
+// SetMessage sets the value of Message.
+func (s *Error) SetMessage(val OptString) {
+ s.Message = val
+}
+
+// SetData sets the value of Data.
+func (s *Error) SetData(val OptErrorData) {
+ s.Data = val
+}
+
+func (*Error) aPIV3OfficesGetRes() {}
+func (*Error) aPIV3WarehousesGetRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΠΎΠ³Π°ΡΠ°ΡΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΡ.
+type ErrorData struct{}
+
+// Ref: #/components/schemas/Good
+type Good struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID int `json:"nmID"`
+ // Π¦Π΅Π½Π°. ΠΠ°Π»ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°
+ // [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎΒ Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](.
+ // /work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅
+ // `currencyIsoCode4217`.
+ Price OptInt `json:"price"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ°,Β %.
+ Discount OptInt `json:"discount"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *Good) GetNmID() int {
+ return s.NmID
+}
+
+// GetPrice returns the value of Price.
+func (s *Good) GetPrice() OptInt {
+ return s.Price
+}
+
+// GetDiscount returns the value of Discount.
+func (s *Good) GetDiscount() OptInt {
+ return s.Discount
+}
+
+// SetNmID sets the value of NmID.
+func (s *Good) SetNmID(val int) {
+ s.NmID = val
+}
+
+// SetPrice sets the value of Price.
+func (s *Good) SetPrice(val OptInt) {
+ s.Price = val
+}
+
+// SetDiscount sets the value of Discount.
+func (s *Good) SetDiscount(val OptInt) {
+ s.Discount = val
+}
+
+// Ref: #/components/schemas/GoodBufferHistory
+type GoodBufferHistory struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode OptString `json:"vendorCode"`
+ // ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`.
+ SizeID OptInt `json:"sizeID"`
+ // Π Π°Π·ΠΌΠ΅Ρ.
+ TechSizeName OptString `json:"techSizeName"`
+ // Π¦Π΅Π½Π°.
+ Price OptInt `json:"price"`
+ // ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217.
+ CurrencyIsoCode4217 OptString `json:"currencyIsoCode4217"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ°,Β %.
+ Discount OptInt `json:"discount"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,Β %.
+ ClubDiscount OptInt `json:"clubDiscount"`
+ Status OptGoodStatusBuffer `json:"status"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *GoodBufferHistory) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *GoodBufferHistory) GetVendorCode() OptString {
+ return s.VendorCode
+}
+
+// GetSizeID returns the value of SizeID.
+func (s *GoodBufferHistory) GetSizeID() OptInt {
+ return s.SizeID
+}
+
+// GetTechSizeName returns the value of TechSizeName.
+func (s *GoodBufferHistory) GetTechSizeName() OptString {
+ return s.TechSizeName
+}
+
+// GetPrice returns the value of Price.
+func (s *GoodBufferHistory) GetPrice() OptInt {
+ return s.Price
+}
+
+// GetCurrencyIsoCode4217 returns the value of CurrencyIsoCode4217.
+func (s *GoodBufferHistory) GetCurrencyIsoCode4217() OptString {
+ return s.CurrencyIsoCode4217
+}
+
+// GetDiscount returns the value of Discount.
+func (s *GoodBufferHistory) GetDiscount() OptInt {
+ return s.Discount
+}
+
+// GetClubDiscount returns the value of ClubDiscount.
+func (s *GoodBufferHistory) GetClubDiscount() OptInt {
+ return s.ClubDiscount
+}
+
+// GetStatus returns the value of Status.
+func (s *GoodBufferHistory) GetStatus() OptGoodStatusBuffer {
+ return s.Status
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *GoodBufferHistory) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetNmID sets the value of NmID.
+func (s *GoodBufferHistory) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *GoodBufferHistory) SetVendorCode(val OptString) {
+ s.VendorCode = val
+}
+
+// SetSizeID sets the value of SizeID.
+func (s *GoodBufferHistory) SetSizeID(val OptInt) {
+ s.SizeID = val
+}
+
+// SetTechSizeName sets the value of TechSizeName.
+func (s *GoodBufferHistory) SetTechSizeName(val OptString) {
+ s.TechSizeName = val
+}
+
+// SetPrice sets the value of Price.
+func (s *GoodBufferHistory) SetPrice(val OptInt) {
+ s.Price = val
+}
+
+// SetCurrencyIsoCode4217 sets the value of CurrencyIsoCode4217.
+func (s *GoodBufferHistory) SetCurrencyIsoCode4217(val OptString) {
+ s.CurrencyIsoCode4217 = val
+}
+
+// SetDiscount sets the value of Discount.
+func (s *GoodBufferHistory) SetDiscount(val OptInt) {
+ s.Discount = val
+}
+
+// SetClubDiscount sets the value of ClubDiscount.
+func (s *GoodBufferHistory) SetClubDiscount(val OptInt) {
+ s.ClubDiscount = val
+}
+
+// SetStatus sets the value of Status.
+func (s *GoodBufferHistory) SetStatus(val OptGoodStatusBuffer) {
+ s.Status = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *GoodBufferHistory) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// Ref: #/components/schemas/GoodHistory
+type GoodHistory struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode OptString `json:"vendorCode"`
+ // ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`.
+ SizeID OptInt `json:"sizeID"`
+ // Π Π°Π·ΠΌΠ΅Ρ.
+ TechSizeName OptString `json:"techSizeName"`
+ // Π¦Π΅Π½Π°.
+ Price OptInt `json:"price"`
+ // ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217.
+ CurrencyIsoCode4217 OptString `json:"currencyIsoCode4217"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ°,Β %.
+ Discount OptInt `json:"discount"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,Β %.
+ ClubDiscount OptNilInt `json:"clubDiscount"`
+ Status OptGoodStatus `json:"status"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ //
+ // ΠΡΠΈΠ±ΠΊΠ°
The new price is several times lower than the current price. Item has been
+ // moved to Price Quarantine Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎ
+ // ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Ρ
ΠΎΡΡ Π±Ρ Π²Β 3 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅
+ // ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ
+ // ΡΠΎΠ²Π°Ρ ΠΈΠ·Β ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°
Π²Β Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅
+ //
.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *GoodHistory) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *GoodHistory) GetVendorCode() OptString {
+ return s.VendorCode
+}
+
+// GetSizeID returns the value of SizeID.
+func (s *GoodHistory) GetSizeID() OptInt {
+ return s.SizeID
+}
+
+// GetTechSizeName returns the value of TechSizeName.
+func (s *GoodHistory) GetTechSizeName() OptString {
+ return s.TechSizeName
+}
+
+// GetPrice returns the value of Price.
+func (s *GoodHistory) GetPrice() OptInt {
+ return s.Price
+}
+
+// GetCurrencyIsoCode4217 returns the value of CurrencyIsoCode4217.
+func (s *GoodHistory) GetCurrencyIsoCode4217() OptString {
+ return s.CurrencyIsoCode4217
+}
+
+// GetDiscount returns the value of Discount.
+func (s *GoodHistory) GetDiscount() OptInt {
+ return s.Discount
+}
+
+// GetClubDiscount returns the value of ClubDiscount.
+func (s *GoodHistory) GetClubDiscount() OptNilInt {
+ return s.ClubDiscount
+}
+
+// GetStatus returns the value of Status.
+func (s *GoodHistory) GetStatus() OptGoodStatus {
+ return s.Status
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *GoodHistory) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetNmID sets the value of NmID.
+func (s *GoodHistory) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *GoodHistory) SetVendorCode(val OptString) {
+ s.VendorCode = val
+}
+
+// SetSizeID sets the value of SizeID.
+func (s *GoodHistory) SetSizeID(val OptInt) {
+ s.SizeID = val
+}
+
+// SetTechSizeName sets the value of TechSizeName.
+func (s *GoodHistory) SetTechSizeName(val OptString) {
+ s.TechSizeName = val
+}
+
+// SetPrice sets the value of Price.
+func (s *GoodHistory) SetPrice(val OptInt) {
+ s.Price = val
+}
+
+// SetCurrencyIsoCode4217 sets the value of CurrencyIsoCode4217.
+func (s *GoodHistory) SetCurrencyIsoCode4217(val OptString) {
+ s.CurrencyIsoCode4217 = val
+}
+
+// SetDiscount sets the value of Discount.
+func (s *GoodHistory) SetDiscount(val OptInt) {
+ s.Discount = val
+}
+
+// SetClubDiscount sets the value of ClubDiscount.
+func (s *GoodHistory) SetClubDiscount(val OptNilInt) {
+ s.ClubDiscount = val
+}
+
+// SetStatus sets the value of Status.
+func (s *GoodHistory) SetStatus(val OptGoodStatus) {
+ s.Status = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *GoodHistory) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+type GoodStatus int
+
+type GoodStatusBuffer int
+
+type Goods []Good
+
+// Π Π°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ°.
+// Ref: #/components/schemas/GoodsList
+type GoodsList struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode OptString `json:"vendorCode"`
+ // Π Π°Π·ΠΌΠ΅Ρ.
+ Sizes []GoodsListSizesItem `json:"sizes"`
+ // ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217.
+ CurrencyIsoCode4217 OptString `json:"currencyIsoCode4217"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ°,Β %.
+ Discount OptInt `json:"discount"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,Β %.
+ ClubDiscount OptInt `json:"clubDiscount"`
+ // ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
+ // ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²: `true`Β β ΠΌΠΎΠΆΠ½ΠΎ, `false`Β β Π½Π΅Π»ΡΠ·Ρ. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ
+ // Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ EditableSizePrice OptBool `json:"editableSizePrice"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *GoodsList) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *GoodsList) GetVendorCode() OptString {
+ return s.VendorCode
+}
+
+// GetSizes returns the value of Sizes.
+func (s *GoodsList) GetSizes() []GoodsListSizesItem {
+ return s.Sizes
+}
+
+// GetCurrencyIsoCode4217 returns the value of CurrencyIsoCode4217.
+func (s *GoodsList) GetCurrencyIsoCode4217() OptString {
+ return s.CurrencyIsoCode4217
+}
+
+// GetDiscount returns the value of Discount.
+func (s *GoodsList) GetDiscount() OptInt {
+ return s.Discount
+}
+
+// GetClubDiscount returns the value of ClubDiscount.
+func (s *GoodsList) GetClubDiscount() OptInt {
+ return s.ClubDiscount
+}
+
+// GetEditableSizePrice returns the value of EditableSizePrice.
+func (s *GoodsList) GetEditableSizePrice() OptBool {
+ return s.EditableSizePrice
+}
+
+// SetNmID sets the value of NmID.
+func (s *GoodsList) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *GoodsList) SetVendorCode(val OptString) {
+ s.VendorCode = val
+}
+
+// SetSizes sets the value of Sizes.
+func (s *GoodsList) SetSizes(val []GoodsListSizesItem) {
+ s.Sizes = val
+}
+
+// SetCurrencyIsoCode4217 sets the value of CurrencyIsoCode4217.
+func (s *GoodsList) SetCurrencyIsoCode4217(val OptString) {
+ s.CurrencyIsoCode4217 = val
+}
+
+// SetDiscount sets the value of Discount.
+func (s *GoodsList) SetDiscount(val OptInt) {
+ s.Discount = val
+}
+
+// SetClubDiscount sets the value of ClubDiscount.
+func (s *GoodsList) SetClubDiscount(val OptInt) {
+ s.ClubDiscount = val
+}
+
+// SetEditableSizePrice sets the value of EditableSizePrice.
+func (s *GoodsList) SetEditableSizePrice(val OptBool) {
+ s.EditableSizePrice = val
+}
+
+type GoodsListSizesItem struct {
+ // ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`.
+ SizeID OptInt64 `json:"sizeID"`
+ // Π¦Π΅Π½Π°.
+ Price OptInt `json:"price"`
+ // Π¦Π΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ.
+ DiscountedPrice OptFloat64 `json:"discountedPrice"`
+ // Π¦Π΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΊΠΈΠ΄ΠΊΡ WB ΠΠ»ΡΠ±Π°.
+ ClubDiscountedPrice OptFloat64 `json:"clubDiscountedPrice"`
+ // Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ TechSizeName OptString `json:"techSizeName"`
+}
+
+// GetSizeID returns the value of SizeID.
+func (s *GoodsListSizesItem) GetSizeID() OptInt64 {
+ return s.SizeID
+}
+
+// GetPrice returns the value of Price.
+func (s *GoodsListSizesItem) GetPrice() OptInt {
+ return s.Price
+}
+
+// GetDiscountedPrice returns the value of DiscountedPrice.
+func (s *GoodsListSizesItem) GetDiscountedPrice() OptFloat64 {
+ return s.DiscountedPrice
+}
+
+// GetClubDiscountedPrice returns the value of ClubDiscountedPrice.
+func (s *GoodsListSizesItem) GetClubDiscountedPrice() OptFloat64 {
+ return s.ClubDiscountedPrice
+}
+
+// GetTechSizeName returns the value of TechSizeName.
+func (s *GoodsListSizesItem) GetTechSizeName() OptString {
+ return s.TechSizeName
+}
+
+// SetSizeID sets the value of SizeID.
+func (s *GoodsListSizesItem) SetSizeID(val OptInt64) {
+ s.SizeID = val
+}
+
+// SetPrice sets the value of Price.
+func (s *GoodsListSizesItem) SetPrice(val OptInt) {
+ s.Price = val
+}
+
+// SetDiscountedPrice sets the value of DiscountedPrice.
+func (s *GoodsListSizesItem) SetDiscountedPrice(val OptFloat64) {
+ s.DiscountedPrice = val
+}
+
+// SetClubDiscountedPrice sets the value of ClubDiscountedPrice.
+func (s *GoodsListSizesItem) SetClubDiscountedPrice(val OptFloat64) {
+ s.ClubDiscountedPrice = val
+}
+
+// SetTechSizeName sets the value of TechSizeName.
+func (s *GoodsListSizesItem) SetTechSizeName(val OptString) {
+ s.TechSizeName = val
+}
+
+type HeaderApiKey struct {
+ APIKey string
+ Roles []string
+}
+
+// GetAPIKey returns the value of APIKey.
+func (s *HeaderApiKey) GetAPIKey() string {
+ return s.APIKey
+}
+
+// GetRoles returns the value of Roles.
+func (s *HeaderApiKey) GetRoles() []string {
+ return s.Roles
+}
+
+// SetAPIKey sets the value of APIKey.
+func (s *HeaderApiKey) SetAPIKey(val string) {
+ s.APIKey = val
+}
+
+// SetRoles sets the value of Roles.
+func (s *HeaderApiKey) SetRoles(val []string) {
+ s.Roles = val
+}
+
+// Ref: #/components/schemas/mediaErrors
+type MediaErrors struct {
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptMediaErrorsAdditionalErrors `json:"additionalErrors"`
+ Data *MediaErrorsData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *MediaErrors) GetAdditionalErrors() OptMediaErrorsAdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// GetData returns the value of Data.
+func (s *MediaErrors) GetData() *MediaErrorsData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *MediaErrors) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *MediaErrors) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *MediaErrors) SetAdditionalErrors(val OptMediaErrorsAdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+// SetData sets the value of Data.
+func (s *MediaErrors) SetData(val *MediaErrorsData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *MediaErrors) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *MediaErrors) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+type MediaErrorsAdditionalErrors struct{}
+
+type MediaErrorsData struct{}
+
+// ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΡΠΊΠ»Π°Π΄Π΅ WB.
+// Ref: #/components/schemas/Office
+type Office struct {
+ // ΠΠ΄ΡΠ΅Ρ.
+ Address OptString `json:"address"`
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅.
+ Name OptString `json:"name"`
+ // ΠΠΎΡΠΎΠ΄.
+ City OptString `json:"city"`
+ // ID.
+ ID OptInt64 `json:"id"`
+ // ΠΠΎΠ»Π³ΠΎΡΠ°.
+ Longitude OptFloat64 `json:"longitude"`
+ // Π¨ΠΈΡΠΎΡΠ°.
+ Latitude OptFloat64 `json:"latitude"`
+ // - Π’ΠΈΠΏ ΡΠΎΠ²Π°ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
- 1 - ΠΠΠ’
+ // (ΠΌΠ°Π»ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 2 - Π‘ΠΠ’
+ // (Π‘Π²Π΅ΡΡ
Π³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 3 - ΠΠΠ’+ (ΠΡΡΠΏΠ½ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ
+ // ΡΠΎΠ²Π°Ρ)
.
+ CargoType OptOfficeCargoType `json:"cargoType"`
+ // Π’ΠΈΠΏ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
+ // - `1` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΠΊΠ»Π°Π΄ WB (FBS)
+ // - `2` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (DBS)
+ // - `3` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΊΡΡΡΠ΅ΡΠΎΠΌ WB (DBW)
+ // - `5` β ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ· (C&C)
+ // - `6` β ΡΠΊΡΠΏΡΠ΅ΡΡ-Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (ΠDBS).
+ DeliveryType OptOfficeDeliveryType `json:"deliveryType"`
+ // ΠΡΠΈΠ·Π½Π°ΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΊΠ»Π°Π΄ ΡΠΆΠ΅ Π²ΡΠ±ΡΠ°Π½ ΠΏΡΠΎΠ΄Π°Π²ΡΠΎΠΌ.
+ Selected OptBool `json:"selected"`
+}
+
+// GetAddress returns the value of Address.
+func (s *Office) GetAddress() OptString {
+ return s.Address
+}
+
+// GetName returns the value of Name.
+func (s *Office) GetName() OptString {
+ return s.Name
+}
+
+// GetCity returns the value of City.
+func (s *Office) GetCity() OptString {
+ return s.City
+}
+
+// GetID returns the value of ID.
+func (s *Office) GetID() OptInt64 {
+ return s.ID
+}
+
+// GetLongitude returns the value of Longitude.
+func (s *Office) GetLongitude() OptFloat64 {
+ return s.Longitude
+}
+
+// GetLatitude returns the value of Latitude.
+func (s *Office) GetLatitude() OptFloat64 {
+ return s.Latitude
+}
+
+// GetCargoType returns the value of CargoType.
+func (s *Office) GetCargoType() OptOfficeCargoType {
+ return s.CargoType
+}
+
+// GetDeliveryType returns the value of DeliveryType.
+func (s *Office) GetDeliveryType() OptOfficeDeliveryType {
+ return s.DeliveryType
+}
+
+// GetSelected returns the value of Selected.
+func (s *Office) GetSelected() OptBool {
+ return s.Selected
+}
+
+// SetAddress sets the value of Address.
+func (s *Office) SetAddress(val OptString) {
+ s.Address = val
+}
+
+// SetName sets the value of Name.
+func (s *Office) SetName(val OptString) {
+ s.Name = val
+}
+
+// SetCity sets the value of City.
+func (s *Office) SetCity(val OptString) {
+ s.City = val
+}
+
+// SetID sets the value of ID.
+func (s *Office) SetID(val OptInt64) {
+ s.ID = val
+}
+
+// SetLongitude sets the value of Longitude.
+func (s *Office) SetLongitude(val OptFloat64) {
+ s.Longitude = val
+}
+
+// SetLatitude sets the value of Latitude.
+func (s *Office) SetLatitude(val OptFloat64) {
+ s.Latitude = val
+}
+
+// SetCargoType sets the value of CargoType.
+func (s *Office) SetCargoType(val OptOfficeCargoType) {
+ s.CargoType = val
+}
+
+// SetDeliveryType sets the value of DeliveryType.
+func (s *Office) SetDeliveryType(val OptOfficeDeliveryType) {
+ s.DeliveryType = val
+}
+
+// SetSelected sets the value of Selected.
+func (s *Office) SetSelected(val OptBool) {
+ s.Selected = val
+}
+
+// - Π’ΠΈΠΏ ΡΠΎΠ²Π°ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
- 1 - ΠΠΠ’
+// (ΠΌΠ°Π»ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 2 - Π‘ΠΠ’
+// (Π‘Π²Π΅ΡΡ
Π³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 3 - ΠΠΠ’+ (ΠΡΡΠΏΠ½ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ
+// ΡΠΎΠ²Π°Ρ)
.
+type OfficeCargoType int
+
+const (
+ OfficeCargoType1 OfficeCargoType = 1
+ OfficeCargoType2 OfficeCargoType = 2
+ OfficeCargoType3 OfficeCargoType = 3
+)
+
+// AllValues returns all OfficeCargoType values.
+func (OfficeCargoType) AllValues() []OfficeCargoType {
+ return []OfficeCargoType{
+ OfficeCargoType1,
+ OfficeCargoType2,
+ OfficeCargoType3,
+ }
+}
+
+// Π’ΠΈΠΏ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
+// - `1` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΠΊΠ»Π°Π΄ WB (FBS)
+// - `2` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (DBS)
+// - `3` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΊΡΡΡΠ΅ΡΠΎΠΌ WB (DBW)
+// - `5` β ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ· (C&C)
+// - `6` β ΡΠΊΡΠΏΡΠ΅ΡΡ-Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (ΠDBS).
+type OfficeDeliveryType int
+
+const (
+ OfficeDeliveryType1 OfficeDeliveryType = 1
+ OfficeDeliveryType2 OfficeDeliveryType = 2
+ OfficeDeliveryType3 OfficeDeliveryType = 3
+ OfficeDeliveryType5 OfficeDeliveryType = 5
+ OfficeDeliveryType6 OfficeDeliveryType = 6
+)
+
+// AllValues returns all OfficeDeliveryType values.
+func (OfficeDeliveryType) AllValues() []OfficeDeliveryType {
+ return []OfficeDeliveryType{
+ OfficeDeliveryType1,
+ OfficeDeliveryType2,
+ OfficeDeliveryType3,
+ OfficeDeliveryType5,
+ OfficeDeliveryType6,
+ }
+}
+
+// NewOptAPIV2BufferGoodsTaskGetBadRequestData returns new OptAPIV2BufferGoodsTaskGetBadRequestData with value set to v.
+func NewOptAPIV2BufferGoodsTaskGetBadRequestData(v *APIV2BufferGoodsTaskGetBadRequestData) OptAPIV2BufferGoodsTaskGetBadRequestData {
+ return OptAPIV2BufferGoodsTaskGetBadRequestData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptAPIV2BufferGoodsTaskGetBadRequestData is optional *APIV2BufferGoodsTaskGetBadRequestData.
+type OptAPIV2BufferGoodsTaskGetBadRequestData struct {
+ Value *APIV2BufferGoodsTaskGetBadRequestData
+ Set bool
+}
+
+// IsSet returns true if OptAPIV2BufferGoodsTaskGetBadRequestData was set.
+func (o OptAPIV2BufferGoodsTaskGetBadRequestData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptAPIV2BufferGoodsTaskGetBadRequestData) Reset() {
+ var v *APIV2BufferGoodsTaskGetBadRequestData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptAPIV2BufferGoodsTaskGetBadRequestData) SetTo(v *APIV2BufferGoodsTaskGetBadRequestData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptAPIV2BufferGoodsTaskGetBadRequestData) Get() (v *APIV2BufferGoodsTaskGetBadRequestData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptAPIV2BufferGoodsTaskGetBadRequestData) Or(d *APIV2BufferGoodsTaskGetBadRequestData) *APIV2BufferGoodsTaskGetBadRequestData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptAPIV2BufferTasksGetBadRequestData returns new OptAPIV2BufferTasksGetBadRequestData with value set to v.
+func NewOptAPIV2BufferTasksGetBadRequestData(v *APIV2BufferTasksGetBadRequestData) OptAPIV2BufferTasksGetBadRequestData {
+ return OptAPIV2BufferTasksGetBadRequestData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptAPIV2BufferTasksGetBadRequestData is optional *APIV2BufferTasksGetBadRequestData.
+type OptAPIV2BufferTasksGetBadRequestData struct {
+ Value *APIV2BufferTasksGetBadRequestData
+ Set bool
+}
+
+// IsSet returns true if OptAPIV2BufferTasksGetBadRequestData was set.
+func (o OptAPIV2BufferTasksGetBadRequestData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptAPIV2BufferTasksGetBadRequestData) Reset() {
+ var v *APIV2BufferTasksGetBadRequestData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptAPIV2BufferTasksGetBadRequestData) SetTo(v *APIV2BufferTasksGetBadRequestData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptAPIV2BufferTasksGetBadRequestData) Get() (v *APIV2BufferTasksGetBadRequestData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptAPIV2BufferTasksGetBadRequestData) Or(d *APIV2BufferTasksGetBadRequestData) *APIV2BufferTasksGetBadRequestData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptAPIV2HistoryGoodsTaskGetBadRequestData returns new OptAPIV2HistoryGoodsTaskGetBadRequestData with value set to v.
+func NewOptAPIV2HistoryGoodsTaskGetBadRequestData(v *APIV2HistoryGoodsTaskGetBadRequestData) OptAPIV2HistoryGoodsTaskGetBadRequestData {
+ return OptAPIV2HistoryGoodsTaskGetBadRequestData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptAPIV2HistoryGoodsTaskGetBadRequestData is optional *APIV2HistoryGoodsTaskGetBadRequestData.
+type OptAPIV2HistoryGoodsTaskGetBadRequestData struct {
+ Value *APIV2HistoryGoodsTaskGetBadRequestData
+ Set bool
+}
+
+// IsSet returns true if OptAPIV2HistoryGoodsTaskGetBadRequestData was set.
+func (o OptAPIV2HistoryGoodsTaskGetBadRequestData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptAPIV2HistoryGoodsTaskGetBadRequestData) Reset() {
+ var v *APIV2HistoryGoodsTaskGetBadRequestData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptAPIV2HistoryGoodsTaskGetBadRequestData) SetTo(v *APIV2HistoryGoodsTaskGetBadRequestData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptAPIV2HistoryGoodsTaskGetBadRequestData) Get() (v *APIV2HistoryGoodsTaskGetBadRequestData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptAPIV2HistoryGoodsTaskGetBadRequestData) Or(d *APIV2HistoryGoodsTaskGetBadRequestData) *APIV2HistoryGoodsTaskGetBadRequestData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptAPIV2HistoryTasksGetBadRequestData returns new OptAPIV2HistoryTasksGetBadRequestData with value set to v.
+func NewOptAPIV2HistoryTasksGetBadRequestData(v *APIV2HistoryTasksGetBadRequestData) OptAPIV2HistoryTasksGetBadRequestData {
+ return OptAPIV2HistoryTasksGetBadRequestData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptAPIV2HistoryTasksGetBadRequestData is optional *APIV2HistoryTasksGetBadRequestData.
+type OptAPIV2HistoryTasksGetBadRequestData struct {
+ Value *APIV2HistoryTasksGetBadRequestData
+ Set bool
+}
+
+// IsSet returns true if OptAPIV2HistoryTasksGetBadRequestData was set.
+func (o OptAPIV2HistoryTasksGetBadRequestData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptAPIV2HistoryTasksGetBadRequestData) Reset() {
+ var v *APIV2HistoryTasksGetBadRequestData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptAPIV2HistoryTasksGetBadRequestData) SetTo(v *APIV2HistoryTasksGetBadRequestData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptAPIV2HistoryTasksGetBadRequestData) Get() (v *APIV2HistoryTasksGetBadRequestData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptAPIV2HistoryTasksGetBadRequestData) Or(d *APIV2HistoryTasksGetBadRequestData) *APIV2HistoryTasksGetBadRequestData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptAPIV3StocksWarehouseIdPutReq returns new OptAPIV3StocksWarehouseIdPutReq with value set to v.
+func NewOptAPIV3StocksWarehouseIdPutReq(v APIV3StocksWarehouseIdPutReq) OptAPIV3StocksWarehouseIdPutReq {
+ return OptAPIV3StocksWarehouseIdPutReq{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptAPIV3StocksWarehouseIdPutReq is optional APIV3StocksWarehouseIdPutReq.
+type OptAPIV3StocksWarehouseIdPutReq struct {
+ Value APIV3StocksWarehouseIdPutReq
+ Set bool
+}
+
+// IsSet returns true if OptAPIV3StocksWarehouseIdPutReq was set.
+func (o OptAPIV3StocksWarehouseIdPutReq) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptAPIV3StocksWarehouseIdPutReq) Reset() {
+ var v APIV3StocksWarehouseIdPutReq
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptAPIV3StocksWarehouseIdPutReq) SetTo(v APIV3StocksWarehouseIdPutReq) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptAPIV3StocksWarehouseIdPutReq) Get() (v APIV3StocksWarehouseIdPutReq, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptAPIV3StocksWarehouseIdPutReq) Or(d APIV3StocksWarehouseIdPutReq) APIV3StocksWarehouseIdPutReq {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptBool returns new OptBool with value set to v.
+func NewOptBool(v bool) OptBool {
+ return OptBool{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptBool is optional bool.
+type OptBool struct {
+ Value bool
+ Set bool
+}
+
+// IsSet returns true if OptBool was set.
+func (o OptBool) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptBool) Reset() {
+ var v bool
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptBool) SetTo(v bool) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptBool) Get() (v bool, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptBool) Or(d bool) bool {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsDeleteTrashPostOKAdditionalErrors returns new OptContentV2CardsDeleteTrashPostOKAdditionalErrors with value set to v.
+func NewOptContentV2CardsDeleteTrashPostOKAdditionalErrors(v *ContentV2CardsDeleteTrashPostOKAdditionalErrors) OptContentV2CardsDeleteTrashPostOKAdditionalErrors {
+ return OptContentV2CardsDeleteTrashPostOKAdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsDeleteTrashPostOKAdditionalErrors is optional *ContentV2CardsDeleteTrashPostOKAdditionalErrors.
+type OptContentV2CardsDeleteTrashPostOKAdditionalErrors struct {
+ Value *ContentV2CardsDeleteTrashPostOKAdditionalErrors
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsDeleteTrashPostOKAdditionalErrors was set.
+func (o OptContentV2CardsDeleteTrashPostOKAdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsDeleteTrashPostOKAdditionalErrors) Reset() {
+ var v *ContentV2CardsDeleteTrashPostOKAdditionalErrors
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsDeleteTrashPostOKAdditionalErrors) SetTo(v *ContentV2CardsDeleteTrashPostOKAdditionalErrors) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsDeleteTrashPostOKAdditionalErrors) Get() (v *ContentV2CardsDeleteTrashPostOKAdditionalErrors, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsDeleteTrashPostOKAdditionalErrors) Or(d *ContentV2CardsDeleteTrashPostOKAdditionalErrors) *ContentV2CardsDeleteTrashPostOKAdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsDeleteTrashPostOKData returns new OptContentV2CardsDeleteTrashPostOKData with value set to v.
+func NewOptContentV2CardsDeleteTrashPostOKData(v *ContentV2CardsDeleteTrashPostOKData) OptContentV2CardsDeleteTrashPostOKData {
+ return OptContentV2CardsDeleteTrashPostOKData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsDeleteTrashPostOKData is optional *ContentV2CardsDeleteTrashPostOKData.
+type OptContentV2CardsDeleteTrashPostOKData struct {
+ Value *ContentV2CardsDeleteTrashPostOKData
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsDeleteTrashPostOKData was set.
+func (o OptContentV2CardsDeleteTrashPostOKData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsDeleteTrashPostOKData) Reset() {
+ var v *ContentV2CardsDeleteTrashPostOKData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsDeleteTrashPostOKData) SetTo(v *ContentV2CardsDeleteTrashPostOKData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsDeleteTrashPostOKData) Get() (v *ContentV2CardsDeleteTrashPostOKData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsDeleteTrashPostOKData) Or(d *ContentV2CardsDeleteTrashPostOKData) *ContentV2CardsDeleteTrashPostOKData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsLimitsGetOKData returns new OptContentV2CardsLimitsGetOKData with value set to v.
+func NewOptContentV2CardsLimitsGetOKData(v ContentV2CardsLimitsGetOKData) OptContentV2CardsLimitsGetOKData {
+ return OptContentV2CardsLimitsGetOKData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsLimitsGetOKData is optional ContentV2CardsLimitsGetOKData.
+type OptContentV2CardsLimitsGetOKData struct {
+ Value ContentV2CardsLimitsGetOKData
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsLimitsGetOKData was set.
+func (o OptContentV2CardsLimitsGetOKData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsLimitsGetOKData) Reset() {
+ var v ContentV2CardsLimitsGetOKData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsLimitsGetOKData) SetTo(v ContentV2CardsLimitsGetOKData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsLimitsGetOKData) Get() (v ContentV2CardsLimitsGetOKData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsLimitsGetOKData) Or(d ContentV2CardsLimitsGetOKData) ContentV2CardsLimitsGetOKData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsRecoverPostOKAdditionalErrors returns new OptContentV2CardsRecoverPostOKAdditionalErrors with value set to v.
+func NewOptContentV2CardsRecoverPostOKAdditionalErrors(v *ContentV2CardsRecoverPostOKAdditionalErrors) OptContentV2CardsRecoverPostOKAdditionalErrors {
+ return OptContentV2CardsRecoverPostOKAdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsRecoverPostOKAdditionalErrors is optional *ContentV2CardsRecoverPostOKAdditionalErrors.
+type OptContentV2CardsRecoverPostOKAdditionalErrors struct {
+ Value *ContentV2CardsRecoverPostOKAdditionalErrors
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsRecoverPostOKAdditionalErrors was set.
+func (o OptContentV2CardsRecoverPostOKAdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsRecoverPostOKAdditionalErrors) Reset() {
+ var v *ContentV2CardsRecoverPostOKAdditionalErrors
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsRecoverPostOKAdditionalErrors) SetTo(v *ContentV2CardsRecoverPostOKAdditionalErrors) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsRecoverPostOKAdditionalErrors) Get() (v *ContentV2CardsRecoverPostOKAdditionalErrors, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsRecoverPostOKAdditionalErrors) Or(d *ContentV2CardsRecoverPostOKAdditionalErrors) *ContentV2CardsRecoverPostOKAdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsRecoverPostOKData returns new OptContentV2CardsRecoverPostOKData with value set to v.
+func NewOptContentV2CardsRecoverPostOKData(v *ContentV2CardsRecoverPostOKData) OptContentV2CardsRecoverPostOKData {
+ return OptContentV2CardsRecoverPostOKData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsRecoverPostOKData is optional *ContentV2CardsRecoverPostOKData.
+type OptContentV2CardsRecoverPostOKData struct {
+ Value *ContentV2CardsRecoverPostOKData
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsRecoverPostOKData was set.
+func (o OptContentV2CardsRecoverPostOKData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsRecoverPostOKData) Reset() {
+ var v *ContentV2CardsRecoverPostOKData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsRecoverPostOKData) SetTo(v *ContentV2CardsRecoverPostOKData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsRecoverPostOKData) Get() (v *ContentV2CardsRecoverPostOKData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsRecoverPostOKData) Or(d *ContentV2CardsRecoverPostOKData) *ContentV2CardsRecoverPostOKData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsUpdatePostReqItemDimensions returns new OptContentV2CardsUpdatePostReqItemDimensions with value set to v.
+func NewOptContentV2CardsUpdatePostReqItemDimensions(v ContentV2CardsUpdatePostReqItemDimensions) OptContentV2CardsUpdatePostReqItemDimensions {
+ return OptContentV2CardsUpdatePostReqItemDimensions{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsUpdatePostReqItemDimensions is optional ContentV2CardsUpdatePostReqItemDimensions.
+type OptContentV2CardsUpdatePostReqItemDimensions struct {
+ Value ContentV2CardsUpdatePostReqItemDimensions
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsUpdatePostReqItemDimensions was set.
+func (o OptContentV2CardsUpdatePostReqItemDimensions) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsUpdatePostReqItemDimensions) Reset() {
+ var v ContentV2CardsUpdatePostReqItemDimensions
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsUpdatePostReqItemDimensions) SetTo(v ContentV2CardsUpdatePostReqItemDimensions) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsUpdatePostReqItemDimensions) Get() (v ContentV2CardsUpdatePostReqItemDimensions, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsUpdatePostReqItemDimensions) Or(d ContentV2CardsUpdatePostReqItemDimensions) ContentV2CardsUpdatePostReqItemDimensions {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsUploadAddPostReq returns new OptContentV2CardsUploadAddPostReq with value set to v.
+func NewOptContentV2CardsUploadAddPostReq(v ContentV2CardsUploadAddPostReq) OptContentV2CardsUploadAddPostReq {
+ return OptContentV2CardsUploadAddPostReq{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsUploadAddPostReq is optional ContentV2CardsUploadAddPostReq.
+type OptContentV2CardsUploadAddPostReq struct {
+ Value ContentV2CardsUploadAddPostReq
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsUploadAddPostReq was set.
+func (o OptContentV2CardsUploadAddPostReq) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsUploadAddPostReq) Reset() {
+ var v ContentV2CardsUploadAddPostReq
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsUploadAddPostReq) SetTo(v ContentV2CardsUploadAddPostReq) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsUploadAddPostReq) Get() (v ContentV2CardsUploadAddPostReq, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsUploadAddPostReq) Or(d ContentV2CardsUploadAddPostReq) ContentV2CardsUploadAddPostReq {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsUploadAddPostReqCardsToAddItemDimensions returns new OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions with value set to v.
+func NewOptContentV2CardsUploadAddPostReqCardsToAddItemDimensions(v ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions {
+ return OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions is optional ContentV2CardsUploadAddPostReqCardsToAddItemDimensions.
+type OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions struct {
+ Value ContentV2CardsUploadAddPostReqCardsToAddItemDimensions
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions was set.
+func (o OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Reset() {
+ var v ContentV2CardsUploadAddPostReqCardsToAddItemDimensions
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) SetTo(v ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Get() (v ContentV2CardsUploadAddPostReqCardsToAddItemDimensions, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Or(d ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) ContentV2CardsUploadAddPostReqCardsToAddItemDimensions {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2CardsUploadPostReqItemVariantsItemDimensions returns new OptContentV2CardsUploadPostReqItemVariantsItemDimensions with value set to v.
+func NewOptContentV2CardsUploadPostReqItemVariantsItemDimensions(v ContentV2CardsUploadPostReqItemVariantsItemDimensions) OptContentV2CardsUploadPostReqItemVariantsItemDimensions {
+ return OptContentV2CardsUploadPostReqItemVariantsItemDimensions{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2CardsUploadPostReqItemVariantsItemDimensions is optional ContentV2CardsUploadPostReqItemVariantsItemDimensions.
+type OptContentV2CardsUploadPostReqItemVariantsItemDimensions struct {
+ Value ContentV2CardsUploadPostReqItemVariantsItemDimensions
+ Set bool
+}
+
+// IsSet returns true if OptContentV2CardsUploadPostReqItemVariantsItemDimensions was set.
+func (o OptContentV2CardsUploadPostReqItemVariantsItemDimensions) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2CardsUploadPostReqItemVariantsItemDimensions) Reset() {
+ var v ContentV2CardsUploadPostReqItemVariantsItemDimensions
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2CardsUploadPostReqItemVariantsItemDimensions) SetTo(v ContentV2CardsUploadPostReqItemVariantsItemDimensions) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2CardsUploadPostReqItemVariantsItemDimensions) Get() (v ContentV2CardsUploadPostReqItemVariantsItemDimensions, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2CardsUploadPostReqItemVariantsItemDimensions) Or(d ContentV2CardsUploadPostReqItemVariantsItemDimensions) ContentV2CardsUploadPostReqItemVariantsItemDimensions {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsListPostOKCardsItemDimensions returns new OptContentV2GetCardsListPostOKCardsItemDimensions with value set to v.
+func NewOptContentV2GetCardsListPostOKCardsItemDimensions(v ContentV2GetCardsListPostOKCardsItemDimensions) OptContentV2GetCardsListPostOKCardsItemDimensions {
+ return OptContentV2GetCardsListPostOKCardsItemDimensions{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsListPostOKCardsItemDimensions is optional ContentV2GetCardsListPostOKCardsItemDimensions.
+type OptContentV2GetCardsListPostOKCardsItemDimensions struct {
+ Value ContentV2GetCardsListPostOKCardsItemDimensions
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsListPostOKCardsItemDimensions was set.
+func (o OptContentV2GetCardsListPostOKCardsItemDimensions) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsListPostOKCardsItemDimensions) Reset() {
+ var v ContentV2GetCardsListPostOKCardsItemDimensions
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsListPostOKCardsItemDimensions) SetTo(v ContentV2GetCardsListPostOKCardsItemDimensions) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsListPostOKCardsItemDimensions) Get() (v ContentV2GetCardsListPostOKCardsItemDimensions, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsListPostOKCardsItemDimensions) Or(d ContentV2GetCardsListPostOKCardsItemDimensions) ContentV2GetCardsListPostOKCardsItemDimensions {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsListPostOKCursor returns new OptContentV2GetCardsListPostOKCursor with value set to v.
+func NewOptContentV2GetCardsListPostOKCursor(v ContentV2GetCardsListPostOKCursor) OptContentV2GetCardsListPostOKCursor {
+ return OptContentV2GetCardsListPostOKCursor{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsListPostOKCursor is optional ContentV2GetCardsListPostOKCursor.
+type OptContentV2GetCardsListPostOKCursor struct {
+ Value ContentV2GetCardsListPostOKCursor
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsListPostOKCursor was set.
+func (o OptContentV2GetCardsListPostOKCursor) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsListPostOKCursor) Reset() {
+ var v ContentV2GetCardsListPostOKCursor
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsListPostOKCursor) SetTo(v ContentV2GetCardsListPostOKCursor) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsListPostOKCursor) Get() (v ContentV2GetCardsListPostOKCursor, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsListPostOKCursor) Or(d ContentV2GetCardsListPostOKCursor) ContentV2GetCardsListPostOKCursor {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsListPostReqSettings returns new OptContentV2GetCardsListPostReqSettings with value set to v.
+func NewOptContentV2GetCardsListPostReqSettings(v ContentV2GetCardsListPostReqSettings) OptContentV2GetCardsListPostReqSettings {
+ return OptContentV2GetCardsListPostReqSettings{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsListPostReqSettings is optional ContentV2GetCardsListPostReqSettings.
+type OptContentV2GetCardsListPostReqSettings struct {
+ Value ContentV2GetCardsListPostReqSettings
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsListPostReqSettings was set.
+func (o OptContentV2GetCardsListPostReqSettings) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsListPostReqSettings) Reset() {
+ var v ContentV2GetCardsListPostReqSettings
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsListPostReqSettings) SetTo(v ContentV2GetCardsListPostReqSettings) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsListPostReqSettings) Get() (v ContentV2GetCardsListPostReqSettings, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsListPostReqSettings) Or(d ContentV2GetCardsListPostReqSettings) ContentV2GetCardsListPostReqSettings {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsListPostReqSettingsCursor returns new OptContentV2GetCardsListPostReqSettingsCursor with value set to v.
+func NewOptContentV2GetCardsListPostReqSettingsCursor(v ContentV2GetCardsListPostReqSettingsCursor) OptContentV2GetCardsListPostReqSettingsCursor {
+ return OptContentV2GetCardsListPostReqSettingsCursor{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsListPostReqSettingsCursor is optional ContentV2GetCardsListPostReqSettingsCursor.
+type OptContentV2GetCardsListPostReqSettingsCursor struct {
+ Value ContentV2GetCardsListPostReqSettingsCursor
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsListPostReqSettingsCursor was set.
+func (o OptContentV2GetCardsListPostReqSettingsCursor) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsListPostReqSettingsCursor) Reset() {
+ var v ContentV2GetCardsListPostReqSettingsCursor
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsListPostReqSettingsCursor) SetTo(v ContentV2GetCardsListPostReqSettingsCursor) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsListPostReqSettingsCursor) Get() (v ContentV2GetCardsListPostReqSettingsCursor, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsListPostReqSettingsCursor) Or(d ContentV2GetCardsListPostReqSettingsCursor) ContentV2GetCardsListPostReqSettingsCursor {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsListPostReqSettingsFilter returns new OptContentV2GetCardsListPostReqSettingsFilter with value set to v.
+func NewOptContentV2GetCardsListPostReqSettingsFilter(v ContentV2GetCardsListPostReqSettingsFilter) OptContentV2GetCardsListPostReqSettingsFilter {
+ return OptContentV2GetCardsListPostReqSettingsFilter{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsListPostReqSettingsFilter is optional ContentV2GetCardsListPostReqSettingsFilter.
+type OptContentV2GetCardsListPostReqSettingsFilter struct {
+ Value ContentV2GetCardsListPostReqSettingsFilter
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsListPostReqSettingsFilter was set.
+func (o OptContentV2GetCardsListPostReqSettingsFilter) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsListPostReqSettingsFilter) Reset() {
+ var v ContentV2GetCardsListPostReqSettingsFilter
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsListPostReqSettingsFilter) SetTo(v ContentV2GetCardsListPostReqSettingsFilter) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsListPostReqSettingsFilter) Get() (v ContentV2GetCardsListPostReqSettingsFilter, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsListPostReqSettingsFilter) Or(d ContentV2GetCardsListPostReqSettingsFilter) ContentV2GetCardsListPostReqSettingsFilter {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsListPostReqSettingsSort returns new OptContentV2GetCardsListPostReqSettingsSort with value set to v.
+func NewOptContentV2GetCardsListPostReqSettingsSort(v ContentV2GetCardsListPostReqSettingsSort) OptContentV2GetCardsListPostReqSettingsSort {
+ return OptContentV2GetCardsListPostReqSettingsSort{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsListPostReqSettingsSort is optional ContentV2GetCardsListPostReqSettingsSort.
+type OptContentV2GetCardsListPostReqSettingsSort struct {
+ Value ContentV2GetCardsListPostReqSettingsSort
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsListPostReqSettingsSort was set.
+func (o OptContentV2GetCardsListPostReqSettingsSort) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsListPostReqSettingsSort) Reset() {
+ var v ContentV2GetCardsListPostReqSettingsSort
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsListPostReqSettingsSort) SetTo(v ContentV2GetCardsListPostReqSettingsSort) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsListPostReqSettingsSort) Get() (v ContentV2GetCardsListPostReqSettingsSort, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsListPostReqSettingsSort) Or(d ContentV2GetCardsListPostReqSettingsSort) ContentV2GetCardsListPostReqSettingsSort {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsTrashPostLocale returns new OptContentV2GetCardsTrashPostLocale with value set to v.
+func NewOptContentV2GetCardsTrashPostLocale(v ContentV2GetCardsTrashPostLocale) OptContentV2GetCardsTrashPostLocale {
+ return OptContentV2GetCardsTrashPostLocale{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsTrashPostLocale is optional ContentV2GetCardsTrashPostLocale.
+type OptContentV2GetCardsTrashPostLocale struct {
+ Value ContentV2GetCardsTrashPostLocale
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsTrashPostLocale was set.
+func (o OptContentV2GetCardsTrashPostLocale) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsTrashPostLocale) Reset() {
+ var v ContentV2GetCardsTrashPostLocale
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsTrashPostLocale) SetTo(v ContentV2GetCardsTrashPostLocale) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsTrashPostLocale) Get() (v ContentV2GetCardsTrashPostLocale, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsTrashPostLocale) Or(d ContentV2GetCardsTrashPostLocale) ContentV2GetCardsTrashPostLocale {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsTrashPostOKCardsItemDimensions returns new OptContentV2GetCardsTrashPostOKCardsItemDimensions with value set to v.
+func NewOptContentV2GetCardsTrashPostOKCardsItemDimensions(v ContentV2GetCardsTrashPostOKCardsItemDimensions) OptContentV2GetCardsTrashPostOKCardsItemDimensions {
+ return OptContentV2GetCardsTrashPostOKCardsItemDimensions{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsTrashPostOKCardsItemDimensions is optional ContentV2GetCardsTrashPostOKCardsItemDimensions.
+type OptContentV2GetCardsTrashPostOKCardsItemDimensions struct {
+ Value ContentV2GetCardsTrashPostOKCardsItemDimensions
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsTrashPostOKCardsItemDimensions was set.
+func (o OptContentV2GetCardsTrashPostOKCardsItemDimensions) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsTrashPostOKCardsItemDimensions) Reset() {
+ var v ContentV2GetCardsTrashPostOKCardsItemDimensions
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsTrashPostOKCardsItemDimensions) SetTo(v ContentV2GetCardsTrashPostOKCardsItemDimensions) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsTrashPostOKCardsItemDimensions) Get() (v ContentV2GetCardsTrashPostOKCardsItemDimensions, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsTrashPostOKCardsItemDimensions) Or(d ContentV2GetCardsTrashPostOKCardsItemDimensions) ContentV2GetCardsTrashPostOKCardsItemDimensions {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsTrashPostOKCursor returns new OptContentV2GetCardsTrashPostOKCursor with value set to v.
+func NewOptContentV2GetCardsTrashPostOKCursor(v ContentV2GetCardsTrashPostOKCursor) OptContentV2GetCardsTrashPostOKCursor {
+ return OptContentV2GetCardsTrashPostOKCursor{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsTrashPostOKCursor is optional ContentV2GetCardsTrashPostOKCursor.
+type OptContentV2GetCardsTrashPostOKCursor struct {
+ Value ContentV2GetCardsTrashPostOKCursor
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsTrashPostOKCursor was set.
+func (o OptContentV2GetCardsTrashPostOKCursor) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsTrashPostOKCursor) Reset() {
+ var v ContentV2GetCardsTrashPostOKCursor
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsTrashPostOKCursor) SetTo(v ContentV2GetCardsTrashPostOKCursor) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsTrashPostOKCursor) Get() (v ContentV2GetCardsTrashPostOKCursor, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsTrashPostOKCursor) Or(d ContentV2GetCardsTrashPostOKCursor) ContentV2GetCardsTrashPostOKCursor {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsTrashPostReqSettings returns new OptContentV2GetCardsTrashPostReqSettings with value set to v.
+func NewOptContentV2GetCardsTrashPostReqSettings(v ContentV2GetCardsTrashPostReqSettings) OptContentV2GetCardsTrashPostReqSettings {
+ return OptContentV2GetCardsTrashPostReqSettings{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsTrashPostReqSettings is optional ContentV2GetCardsTrashPostReqSettings.
+type OptContentV2GetCardsTrashPostReqSettings struct {
+ Value ContentV2GetCardsTrashPostReqSettings
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsTrashPostReqSettings was set.
+func (o OptContentV2GetCardsTrashPostReqSettings) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsTrashPostReqSettings) Reset() {
+ var v ContentV2GetCardsTrashPostReqSettings
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsTrashPostReqSettings) SetTo(v ContentV2GetCardsTrashPostReqSettings) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsTrashPostReqSettings) Get() (v ContentV2GetCardsTrashPostReqSettings, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsTrashPostReqSettings) Or(d ContentV2GetCardsTrashPostReqSettings) ContentV2GetCardsTrashPostReqSettings {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsTrashPostReqSettingsCursor returns new OptContentV2GetCardsTrashPostReqSettingsCursor with value set to v.
+func NewOptContentV2GetCardsTrashPostReqSettingsCursor(v ContentV2GetCardsTrashPostReqSettingsCursor) OptContentV2GetCardsTrashPostReqSettingsCursor {
+ return OptContentV2GetCardsTrashPostReqSettingsCursor{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsTrashPostReqSettingsCursor is optional ContentV2GetCardsTrashPostReqSettingsCursor.
+type OptContentV2GetCardsTrashPostReqSettingsCursor struct {
+ Value ContentV2GetCardsTrashPostReqSettingsCursor
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsTrashPostReqSettingsCursor was set.
+func (o OptContentV2GetCardsTrashPostReqSettingsCursor) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsTrashPostReqSettingsCursor) Reset() {
+ var v ContentV2GetCardsTrashPostReqSettingsCursor
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsTrashPostReqSettingsCursor) SetTo(v ContentV2GetCardsTrashPostReqSettingsCursor) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsTrashPostReqSettingsCursor) Get() (v ContentV2GetCardsTrashPostReqSettingsCursor, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsTrashPostReqSettingsCursor) Or(d ContentV2GetCardsTrashPostReqSettingsCursor) ContentV2GetCardsTrashPostReqSettingsCursor {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsTrashPostReqSettingsFilter returns new OptContentV2GetCardsTrashPostReqSettingsFilter with value set to v.
+func NewOptContentV2GetCardsTrashPostReqSettingsFilter(v ContentV2GetCardsTrashPostReqSettingsFilter) OptContentV2GetCardsTrashPostReqSettingsFilter {
+ return OptContentV2GetCardsTrashPostReqSettingsFilter{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsTrashPostReqSettingsFilter is optional ContentV2GetCardsTrashPostReqSettingsFilter.
+type OptContentV2GetCardsTrashPostReqSettingsFilter struct {
+ Value ContentV2GetCardsTrashPostReqSettingsFilter
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsTrashPostReqSettingsFilter was set.
+func (o OptContentV2GetCardsTrashPostReqSettingsFilter) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsTrashPostReqSettingsFilter) Reset() {
+ var v ContentV2GetCardsTrashPostReqSettingsFilter
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsTrashPostReqSettingsFilter) SetTo(v ContentV2GetCardsTrashPostReqSettingsFilter) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsTrashPostReqSettingsFilter) Get() (v ContentV2GetCardsTrashPostReqSettingsFilter, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsTrashPostReqSettingsFilter) Or(d ContentV2GetCardsTrashPostReqSettingsFilter) ContentV2GetCardsTrashPostReqSettingsFilter {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV2GetCardsTrashPostReqSettingsSort returns new OptContentV2GetCardsTrashPostReqSettingsSort with value set to v.
+func NewOptContentV2GetCardsTrashPostReqSettingsSort(v ContentV2GetCardsTrashPostReqSettingsSort) OptContentV2GetCardsTrashPostReqSettingsSort {
+ return OptContentV2GetCardsTrashPostReqSettingsSort{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV2GetCardsTrashPostReqSettingsSort is optional ContentV2GetCardsTrashPostReqSettingsSort.
+type OptContentV2GetCardsTrashPostReqSettingsSort struct {
+ Value ContentV2GetCardsTrashPostReqSettingsSort
+ Set bool
+}
+
+// IsSet returns true if OptContentV2GetCardsTrashPostReqSettingsSort was set.
+func (o OptContentV2GetCardsTrashPostReqSettingsSort) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV2GetCardsTrashPostReqSettingsSort) Reset() {
+ var v ContentV2GetCardsTrashPostReqSettingsSort
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV2GetCardsTrashPostReqSettingsSort) SetTo(v ContentV2GetCardsTrashPostReqSettingsSort) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV2GetCardsTrashPostReqSettingsSort) Get() (v ContentV2GetCardsTrashPostReqSettingsSort, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV2GetCardsTrashPostReqSettingsSort) Or(d ContentV2GetCardsTrashPostReqSettingsSort) ContentV2GetCardsTrashPostReqSettingsSort {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV3MediaFilePostOKAdditionalErrors returns new OptContentV3MediaFilePostOKAdditionalErrors with value set to v.
+func NewOptContentV3MediaFilePostOKAdditionalErrors(v *ContentV3MediaFilePostOKAdditionalErrors) OptContentV3MediaFilePostOKAdditionalErrors {
+ return OptContentV3MediaFilePostOKAdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV3MediaFilePostOKAdditionalErrors is optional *ContentV3MediaFilePostOKAdditionalErrors.
+type OptContentV3MediaFilePostOKAdditionalErrors struct {
+ Value *ContentV3MediaFilePostOKAdditionalErrors
+ Set bool
+}
+
+// IsSet returns true if OptContentV3MediaFilePostOKAdditionalErrors was set.
+func (o OptContentV3MediaFilePostOKAdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV3MediaFilePostOKAdditionalErrors) Reset() {
+ var v *ContentV3MediaFilePostOKAdditionalErrors
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV3MediaFilePostOKAdditionalErrors) SetTo(v *ContentV3MediaFilePostOKAdditionalErrors) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV3MediaFilePostOKAdditionalErrors) Get() (v *ContentV3MediaFilePostOKAdditionalErrors, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV3MediaFilePostOKAdditionalErrors) Or(d *ContentV3MediaFilePostOKAdditionalErrors) *ContentV3MediaFilePostOKAdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptContentV3MediaSavePostOKAdditionalErrors returns new OptContentV3MediaSavePostOKAdditionalErrors with value set to v.
+func NewOptContentV3MediaSavePostOKAdditionalErrors(v *ContentV3MediaSavePostOKAdditionalErrors) OptContentV3MediaSavePostOKAdditionalErrors {
+ return OptContentV3MediaSavePostOKAdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptContentV3MediaSavePostOKAdditionalErrors is optional *ContentV3MediaSavePostOKAdditionalErrors.
+type OptContentV3MediaSavePostOKAdditionalErrors struct {
+ Value *ContentV3MediaSavePostOKAdditionalErrors
+ Set bool
+}
+
+// IsSet returns true if OptContentV3MediaSavePostOKAdditionalErrors was set.
+func (o OptContentV3MediaSavePostOKAdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptContentV3MediaSavePostOKAdditionalErrors) Reset() {
+ var v *ContentV3MediaSavePostOKAdditionalErrors
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptContentV3MediaSavePostOKAdditionalErrors) SetTo(v *ContentV3MediaSavePostOKAdditionalErrors) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptContentV3MediaSavePostOKAdditionalErrors) Get() (v *ContentV3MediaSavePostOKAdditionalErrors, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptContentV3MediaSavePostOKAdditionalErrors) Or(d *ContentV3MediaSavePostOKAdditionalErrors) *ContentV3MediaSavePostOKAdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptDateTime returns new OptDateTime with value set to v.
+func NewOptDateTime(v time.Time) OptDateTime {
+ return OptDateTime{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptDateTime is optional time.Time.
+type OptDateTime struct {
+ Value time.Time
+ Set bool
+}
+
+// IsSet returns true if OptDateTime was set.
+func (o OptDateTime) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptDateTime) Reset() {
+ var v time.Time
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptDateTime) SetTo(v time.Time) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptDateTime) Get() (v time.Time, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptDateTime) Or(d time.Time) time.Time {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptErrorData returns new OptErrorData with value set to v.
+func NewOptErrorData(v *ErrorData) OptErrorData {
+ return OptErrorData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptErrorData is optional *ErrorData.
+type OptErrorData struct {
+ Value *ErrorData
+ Set bool
+}
+
+// IsSet returns true if OptErrorData was set.
+func (o OptErrorData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptErrorData) Reset() {
+ var v *ErrorData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptErrorData) SetTo(v *ErrorData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptErrorData) Get() (v *ErrorData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptErrorData) Or(d *ErrorData) *ErrorData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptFloat32 returns new OptFloat32 with value set to v.
+func NewOptFloat32(v float32) OptFloat32 {
+ return OptFloat32{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptFloat32 is optional float32.
+type OptFloat32 struct {
+ Value float32
+ Set bool
+}
+
+// IsSet returns true if OptFloat32 was set.
+func (o OptFloat32) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptFloat32) Reset() {
+ var v float32
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptFloat32) SetTo(v float32) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptFloat32) Get() (v float32, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptFloat32) Or(d float32) float32 {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptFloat64 returns new OptFloat64 with value set to v.
+func NewOptFloat64(v float64) OptFloat64 {
+ return OptFloat64{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptFloat64 is optional float64.
+type OptFloat64 struct {
+ Value float64
+ Set bool
+}
+
+// IsSet returns true if OptFloat64 was set.
+func (o OptFloat64) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptFloat64) Reset() {
+ var v float64
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptFloat64) SetTo(v float64) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptFloat64) Get() (v float64, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptFloat64) Or(d float64) float64 {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptGoodStatus returns new OptGoodStatus with value set to v.
+func NewOptGoodStatus(v GoodStatus) OptGoodStatus {
+ return OptGoodStatus{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptGoodStatus is optional GoodStatus.
+type OptGoodStatus struct {
+ Value GoodStatus
+ Set bool
+}
+
+// IsSet returns true if OptGoodStatus was set.
+func (o OptGoodStatus) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptGoodStatus) Reset() {
+ var v GoodStatus
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptGoodStatus) SetTo(v GoodStatus) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptGoodStatus) Get() (v GoodStatus, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptGoodStatus) Or(d GoodStatus) GoodStatus {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptGoodStatusBuffer returns new OptGoodStatusBuffer with value set to v.
+func NewOptGoodStatusBuffer(v GoodStatusBuffer) OptGoodStatusBuffer {
+ return OptGoodStatusBuffer{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptGoodStatusBuffer is optional GoodStatusBuffer.
+type OptGoodStatusBuffer struct {
+ Value GoodStatusBuffer
+ Set bool
+}
+
+// IsSet returns true if OptGoodStatusBuffer was set.
+func (o OptGoodStatusBuffer) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptGoodStatusBuffer) Reset() {
+ var v GoodStatusBuffer
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptGoodStatusBuffer) SetTo(v GoodStatusBuffer) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptGoodStatusBuffer) Get() (v GoodStatusBuffer, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptGoodStatusBuffer) Or(d GoodStatusBuffer) GoodStatusBuffer {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptInt returns new OptInt with value set to v.
+func NewOptInt(v int) OptInt {
+ return OptInt{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptInt is optional int.
+type OptInt struct {
+ Value int
+ Set bool
+}
+
+// IsSet returns true if OptInt was set.
+func (o OptInt) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptInt) Reset() {
+ var v int
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptInt) SetTo(v int) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptInt) Get() (v int, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptInt) Or(d int) int {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptInt64 returns new OptInt64 with value set to v.
+func NewOptInt64(v int64) OptInt64 {
+ return OptInt64{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptInt64 is optional int64.
+type OptInt64 struct {
+ Value int64
+ Set bool
+}
+
+// IsSet returns true if OptInt64 was set.
+func (o OptInt64) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptInt64) Reset() {
+ var v int64
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptInt64) SetTo(v int64) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptInt64) Get() (v int64, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptInt64) Or(d int64) int64 {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptMediaErrorsAdditionalErrors returns new OptMediaErrorsAdditionalErrors with value set to v.
+func NewOptMediaErrorsAdditionalErrors(v *MediaErrorsAdditionalErrors) OptMediaErrorsAdditionalErrors {
+ return OptMediaErrorsAdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptMediaErrorsAdditionalErrors is optional *MediaErrorsAdditionalErrors.
+type OptMediaErrorsAdditionalErrors struct {
+ Value *MediaErrorsAdditionalErrors
+ Set bool
+}
+
+// IsSet returns true if OptMediaErrorsAdditionalErrors was set.
+func (o OptMediaErrorsAdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptMediaErrorsAdditionalErrors) Reset() {
+ var v *MediaErrorsAdditionalErrors
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptMediaErrorsAdditionalErrors) SetTo(v *MediaErrorsAdditionalErrors) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptMediaErrorsAdditionalErrors) Get() (v *MediaErrorsAdditionalErrors, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptMediaErrorsAdditionalErrors) Or(d *MediaErrorsAdditionalErrors) *MediaErrorsAdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptMultipartFile returns new OptMultipartFile with value set to v.
+func NewOptMultipartFile(v ht.MultipartFile) OptMultipartFile {
+ return OptMultipartFile{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptMultipartFile is optional ht.MultipartFile.
+type OptMultipartFile struct {
+ Value ht.MultipartFile
+ Set bool
+}
+
+// IsSet returns true if OptMultipartFile was set.
+func (o OptMultipartFile) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptMultipartFile) Reset() {
+ var v ht.MultipartFile
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptMultipartFile) SetTo(v ht.MultipartFile) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptMultipartFile) Get() (v ht.MultipartFile, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptMultipartFile) Or(d ht.MultipartFile) ht.MultipartFile {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptNilInt returns new OptNilInt with value set to v.
+func NewOptNilInt(v int) OptNilInt {
+ return OptNilInt{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptNilInt is optional nullable int.
+type OptNilInt struct {
+ Value int
+ Set bool
+ Null bool
+}
+
+// IsSet returns true if OptNilInt was set.
+func (o OptNilInt) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptNilInt) Reset() {
+ var v int
+ o.Value = v
+ o.Set = false
+ o.Null = false
+}
+
+// SetTo sets value to v.
+func (o *OptNilInt) SetTo(v int) {
+ o.Set = true
+ o.Null = false
+ o.Value = v
+}
+
+// IsNull returns true if value is Null.
+func (o OptNilInt) IsNull() bool { return o.Null }
+
+// SetToNull sets value to null.
+func (o *OptNilInt) SetToNull() {
+ o.Set = true
+ o.Null = true
+ var v int
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptNilInt) Get() (v int, ok bool) {
+ if o.Null {
+ return v, false
+ }
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptNilInt) Or(d int) int {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptNilResponseBodyContentError400AdditionalErrors returns new OptNilResponseBodyContentError400AdditionalErrors with value set to v.
+func NewOptNilResponseBodyContentError400AdditionalErrors(v ResponseBodyContentError400AdditionalErrors) OptNilResponseBodyContentError400AdditionalErrors {
+ return OptNilResponseBodyContentError400AdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptNilResponseBodyContentError400AdditionalErrors is optional nullable ResponseBodyContentError400AdditionalErrors.
+type OptNilResponseBodyContentError400AdditionalErrors struct {
+ Value ResponseBodyContentError400AdditionalErrors
+ Set bool
+ Null bool
+}
+
+// IsSet returns true if OptNilResponseBodyContentError400AdditionalErrors was set.
+func (o OptNilResponseBodyContentError400AdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptNilResponseBodyContentError400AdditionalErrors) Reset() {
+ var v ResponseBodyContentError400AdditionalErrors
+ o.Value = v
+ o.Set = false
+ o.Null = false
+}
+
+// SetTo sets value to v.
+func (o *OptNilResponseBodyContentError400AdditionalErrors) SetTo(v ResponseBodyContentError400AdditionalErrors) {
+ o.Set = true
+ o.Null = false
+ o.Value = v
+}
+
+// IsNull returns true if value is Null.
+func (o OptNilResponseBodyContentError400AdditionalErrors) IsNull() bool { return o.Null }
+
+// SetToNull sets value to null.
+func (o *OptNilResponseBodyContentError400AdditionalErrors) SetToNull() {
+ o.Set = true
+ o.Null = true
+ var v ResponseBodyContentError400AdditionalErrors
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptNilResponseBodyContentError400AdditionalErrors) Get() (v ResponseBodyContentError400AdditionalErrors, ok bool) {
+ if o.Null {
+ return v, false
+ }
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptNilResponseBodyContentError400AdditionalErrors) Or(d ResponseBodyContentError400AdditionalErrors) ResponseBodyContentError400AdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptNilResponseContentError4AdditionalErrors returns new OptNilResponseContentError4AdditionalErrors with value set to v.
+func NewOptNilResponseContentError4AdditionalErrors(v ResponseContentError4AdditionalErrors) OptNilResponseContentError4AdditionalErrors {
+ return OptNilResponseContentError4AdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptNilResponseContentError4AdditionalErrors is optional nullable ResponseContentError4AdditionalErrors.
+type OptNilResponseContentError4AdditionalErrors struct {
+ Value ResponseContentError4AdditionalErrors
+ Set bool
+ Null bool
+}
+
+// IsSet returns true if OptNilResponseContentError4AdditionalErrors was set.
+func (o OptNilResponseContentError4AdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptNilResponseContentError4AdditionalErrors) Reset() {
+ var v ResponseContentError4AdditionalErrors
+ o.Value = v
+ o.Set = false
+ o.Null = false
+}
+
+// SetTo sets value to v.
+func (o *OptNilResponseContentError4AdditionalErrors) SetTo(v ResponseContentError4AdditionalErrors) {
+ o.Set = true
+ o.Null = false
+ o.Value = v
+}
+
+// IsNull returns true if value is Null.
+func (o OptNilResponseContentError4AdditionalErrors) IsNull() bool { return o.Null }
+
+// SetToNull sets value to null.
+func (o *OptNilResponseContentError4AdditionalErrors) SetToNull() {
+ o.Set = true
+ o.Null = true
+ var v ResponseContentError4AdditionalErrors
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptNilResponseContentError4AdditionalErrors) Get() (v ResponseContentError4AdditionalErrors, ok bool) {
+ if o.Null {
+ return v, false
+ }
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptNilResponseContentError4AdditionalErrors) Or(d ResponseContentError4AdditionalErrors) ResponseContentError4AdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptNilResponseQuarantineGoodsData returns new OptNilResponseQuarantineGoodsData with value set to v.
+func NewOptNilResponseQuarantineGoodsData(v ResponseQuarantineGoodsData) OptNilResponseQuarantineGoodsData {
+ return OptNilResponseQuarantineGoodsData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptNilResponseQuarantineGoodsData is optional nullable ResponseQuarantineGoodsData.
+type OptNilResponseQuarantineGoodsData struct {
+ Value ResponseQuarantineGoodsData
+ Set bool
+ Null bool
+}
+
+// IsSet returns true if OptNilResponseQuarantineGoodsData was set.
+func (o OptNilResponseQuarantineGoodsData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptNilResponseQuarantineGoodsData) Reset() {
+ var v ResponseQuarantineGoodsData
+ o.Value = v
+ o.Set = false
+ o.Null = false
+}
+
+// SetTo sets value to v.
+func (o *OptNilResponseQuarantineGoodsData) SetTo(v ResponseQuarantineGoodsData) {
+ o.Set = true
+ o.Null = false
+ o.Value = v
+}
+
+// IsNull returns true if value is Null.
+func (o OptNilResponseQuarantineGoodsData) IsNull() bool { return o.Null }
+
+// SetToNull sets value to null.
+func (o *OptNilResponseQuarantineGoodsData) SetToNull() {
+ o.Set = true
+ o.Null = true
+ var v ResponseQuarantineGoodsData
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptNilResponseQuarantineGoodsData) Get() (v ResponseQuarantineGoodsData, ok bool) {
+ if o.Null {
+ return v, false
+ }
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptNilResponseQuarantineGoodsData) Or(d ResponseQuarantineGoodsData) ResponseQuarantineGoodsData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptNilString returns new OptNilString with value set to v.
+func NewOptNilString(v string) OptNilString {
+ return OptNilString{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptNilString is optional nullable string.
+type OptNilString struct {
+ Value string
+ Set bool
+ Null bool
+}
+
+// IsSet returns true if OptNilString was set.
+func (o OptNilString) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptNilString) Reset() {
+ var v string
+ o.Value = v
+ o.Set = false
+ o.Null = false
+}
+
+// SetTo sets value to v.
+func (o *OptNilString) SetTo(v string) {
+ o.Set = true
+ o.Null = false
+ o.Value = v
+}
+
+// IsNull returns true if value is Null.
+func (o OptNilString) IsNull() bool { return o.Null }
+
+// SetToNull sets value to null.
+func (o *OptNilString) SetToNull() {
+ o.Set = true
+ o.Null = true
+ var v string
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptNilString) Get() (v string, ok bool) {
+ if o.Null {
+ return v, false
+ }
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptNilString) Or(d string) string {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptOfficeCargoType returns new OptOfficeCargoType with value set to v.
+func NewOptOfficeCargoType(v OfficeCargoType) OptOfficeCargoType {
+ return OptOfficeCargoType{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptOfficeCargoType is optional OfficeCargoType.
+type OptOfficeCargoType struct {
+ Value OfficeCargoType
+ Set bool
+}
+
+// IsSet returns true if OptOfficeCargoType was set.
+func (o OptOfficeCargoType) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptOfficeCargoType) Reset() {
+ var v OfficeCargoType
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptOfficeCargoType) SetTo(v OfficeCargoType) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptOfficeCargoType) Get() (v OfficeCargoType, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptOfficeCargoType) Or(d OfficeCargoType) OfficeCargoType {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptOfficeDeliveryType returns new OptOfficeDeliveryType with value set to v.
+func NewOptOfficeDeliveryType(v OfficeDeliveryType) OptOfficeDeliveryType {
+ return OptOfficeDeliveryType{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptOfficeDeliveryType is optional OfficeDeliveryType.
+type OptOfficeDeliveryType struct {
+ Value OfficeDeliveryType
+ Set bool
+}
+
+// IsSet returns true if OptOfficeDeliveryType was set.
+func (o OptOfficeDeliveryType) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptOfficeDeliveryType) Reset() {
+ var v OfficeDeliveryType
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptOfficeDeliveryType) SetTo(v OfficeDeliveryType) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptOfficeDeliveryType) Get() (v OfficeDeliveryType, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptOfficeDeliveryType) Or(d OfficeDeliveryType) OfficeDeliveryType {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptRequestAlreadyExistsErrorData returns new OptRequestAlreadyExistsErrorData with value set to v.
+func NewOptRequestAlreadyExistsErrorData(v RequestAlreadyExistsErrorData) OptRequestAlreadyExistsErrorData {
+ return OptRequestAlreadyExistsErrorData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptRequestAlreadyExistsErrorData is optional RequestAlreadyExistsErrorData.
+type OptRequestAlreadyExistsErrorData struct {
+ Value RequestAlreadyExistsErrorData
+ Set bool
+}
+
+// IsSet returns true if OptRequestAlreadyExistsErrorData was set.
+func (o OptRequestAlreadyExistsErrorData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptRequestAlreadyExistsErrorData) Reset() {
+ var v RequestAlreadyExistsErrorData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptRequestAlreadyExistsErrorData) SetTo(v RequestAlreadyExistsErrorData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptRequestAlreadyExistsErrorData) Get() (v RequestAlreadyExistsErrorData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptRequestAlreadyExistsErrorData) Or(d RequestAlreadyExistsErrorData) RequestAlreadyExistsErrorData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseBodyContentError400Data returns new OptResponseBodyContentError400Data with value set to v.
+func NewOptResponseBodyContentError400Data(v *ResponseBodyContentError400Data) OptResponseBodyContentError400Data {
+ return OptResponseBodyContentError400Data{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseBodyContentError400Data is optional *ResponseBodyContentError400Data.
+type OptResponseBodyContentError400Data struct {
+ Value *ResponseBodyContentError400Data
+ Set bool
+}
+
+// IsSet returns true if OptResponseBodyContentError400Data was set.
+func (o OptResponseBodyContentError400Data) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseBodyContentError400Data) Reset() {
+ var v *ResponseBodyContentError400Data
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseBodyContentError400Data) SetTo(v *ResponseBodyContentError400Data) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseBodyContentError400Data) Get() (v *ResponseBodyContentError400Data, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseBodyContentError400Data) Or(d *ResponseBodyContentError400Data) *ResponseBodyContentError400Data {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseBodyContentError403Data returns new OptResponseBodyContentError403Data with value set to v.
+func NewOptResponseBodyContentError403Data(v *ResponseBodyContentError403Data) OptResponseBodyContentError403Data {
+ return OptResponseBodyContentError403Data{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseBodyContentError403Data is optional *ResponseBodyContentError403Data.
+type OptResponseBodyContentError403Data struct {
+ Value *ResponseBodyContentError403Data
+ Set bool
+}
+
+// IsSet returns true if OptResponseBodyContentError403Data was set.
+func (o OptResponseBodyContentError403Data) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseBodyContentError403Data) Reset() {
+ var v *ResponseBodyContentError403Data
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseBodyContentError403Data) SetTo(v *ResponseBodyContentError403Data) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseBodyContentError403Data) Get() (v *ResponseBodyContentError403Data, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseBodyContentError403Data) Or(d *ResponseBodyContentError403Data) *ResponseBodyContentError403Data {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseCardCreateAdditionalErrors returns new OptResponseCardCreateAdditionalErrors with value set to v.
+func NewOptResponseCardCreateAdditionalErrors(v ResponseCardCreateAdditionalErrors) OptResponseCardCreateAdditionalErrors {
+ return OptResponseCardCreateAdditionalErrors{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseCardCreateAdditionalErrors is optional ResponseCardCreateAdditionalErrors.
+type OptResponseCardCreateAdditionalErrors struct {
+ Value ResponseCardCreateAdditionalErrors
+ Set bool
+}
+
+// IsSet returns true if OptResponseCardCreateAdditionalErrors was set.
+func (o OptResponseCardCreateAdditionalErrors) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseCardCreateAdditionalErrors) Reset() {
+ var v ResponseCardCreateAdditionalErrors
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseCardCreateAdditionalErrors) SetTo(v ResponseCardCreateAdditionalErrors) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseCardCreateAdditionalErrors) Get() (v ResponseCardCreateAdditionalErrors, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseCardCreateAdditionalErrors) Or(d ResponseCardCreateAdditionalErrors) ResponseCardCreateAdditionalErrors {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseCardCreateData returns new OptResponseCardCreateData with value set to v.
+func NewOptResponseCardCreateData(v *ResponseCardCreateData) OptResponseCardCreateData {
+ return OptResponseCardCreateData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseCardCreateData is optional *ResponseCardCreateData.
+type OptResponseCardCreateData struct {
+ Value *ResponseCardCreateData
+ Set bool
+}
+
+// IsSet returns true if OptResponseCardCreateData was set.
+func (o OptResponseCardCreateData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseCardCreateData) Reset() {
+ var v *ResponseCardCreateData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseCardCreateData) SetTo(v *ResponseCardCreateData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseCardCreateData) Get() (v *ResponseCardCreateData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseCardCreateData) Or(d *ResponseCardCreateData) *ResponseCardCreateData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseContentError4Data returns new OptResponseContentError4Data with value set to v.
+func NewOptResponseContentError4Data(v *ResponseContentError4Data) OptResponseContentError4Data {
+ return OptResponseContentError4Data{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseContentError4Data is optional *ResponseContentError4Data.
+type OptResponseContentError4Data struct {
+ Value *ResponseContentError4Data
+ Set bool
+}
+
+// IsSet returns true if OptResponseContentError4Data was set.
+func (o OptResponseContentError4Data) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseContentError4Data) Reset() {
+ var v *ResponseContentError4Data
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseContentError4Data) SetTo(v *ResponseContentError4Data) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseContentError4Data) Get() (v *ResponseContentError4Data, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseContentError4Data) Or(d *ResponseContentError4Data) *ResponseContentError4Data {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseContentError6Data returns new OptResponseContentError6Data with value set to v.
+func NewOptResponseContentError6Data(v *ResponseContentError6Data) OptResponseContentError6Data {
+ return OptResponseContentError6Data{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseContentError6Data is optional *ResponseContentError6Data.
+type OptResponseContentError6Data struct {
+ Value *ResponseContentError6Data
+ Set bool
+}
+
+// IsSet returns true if OptResponseContentError6Data was set.
+func (o OptResponseContentError6Data) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseContentError6Data) Reset() {
+ var v *ResponseContentError6Data
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseContentError6Data) SetTo(v *ResponseContentError6Data) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseContentError6Data) Get() (v *ResponseContentError6Data, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseContentError6Data) Or(d *ResponseContentError6Data) *ResponseContentError6Data {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseErrorData returns new OptResponseErrorData with value set to v.
+func NewOptResponseErrorData(v *ResponseErrorData) OptResponseErrorData {
+ return OptResponseErrorData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseErrorData is optional *ResponseErrorData.
+type OptResponseErrorData struct {
+ Value *ResponseErrorData
+ Set bool
+}
+
+// IsSet returns true if OptResponseErrorData was set.
+func (o OptResponseErrorData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseErrorData) Reset() {
+ var v *ResponseErrorData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseErrorData) SetTo(v *ResponseErrorData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseErrorData) Get() (v *ResponseErrorData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseErrorData) Or(d *ResponseErrorData) *ResponseErrorData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseGoodBufferHistoriesData returns new OptResponseGoodBufferHistoriesData with value set to v.
+func NewOptResponseGoodBufferHistoriesData(v ResponseGoodBufferHistoriesData) OptResponseGoodBufferHistoriesData {
+ return OptResponseGoodBufferHistoriesData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseGoodBufferHistoriesData is optional ResponseGoodBufferHistoriesData.
+type OptResponseGoodBufferHistoriesData struct {
+ Value ResponseGoodBufferHistoriesData
+ Set bool
+}
+
+// IsSet returns true if OptResponseGoodBufferHistoriesData was set.
+func (o OptResponseGoodBufferHistoriesData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseGoodBufferHistoriesData) Reset() {
+ var v ResponseGoodBufferHistoriesData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseGoodBufferHistoriesData) SetTo(v ResponseGoodBufferHistoriesData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseGoodBufferHistoriesData) Get() (v ResponseGoodBufferHistoriesData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseGoodBufferHistoriesData) Or(d ResponseGoodBufferHistoriesData) ResponseGoodBufferHistoriesData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseGoodHistoriesData returns new OptResponseGoodHistoriesData with value set to v.
+func NewOptResponseGoodHistoriesData(v ResponseGoodHistoriesData) OptResponseGoodHistoriesData {
+ return OptResponseGoodHistoriesData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseGoodHistoriesData is optional ResponseGoodHistoriesData.
+type OptResponseGoodHistoriesData struct {
+ Value ResponseGoodHistoriesData
+ Set bool
+}
+
+// IsSet returns true if OptResponseGoodHistoriesData was set.
+func (o OptResponseGoodHistoriesData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseGoodHistoriesData) Reset() {
+ var v ResponseGoodHistoriesData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseGoodHistoriesData) SetTo(v ResponseGoodHistoriesData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseGoodHistoriesData) Get() (v ResponseGoodHistoriesData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseGoodHistoriesData) Or(d ResponseGoodHistoriesData) ResponseGoodHistoriesData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseGoodsListsData returns new OptResponseGoodsListsData with value set to v.
+func NewOptResponseGoodsListsData(v ResponseGoodsListsData) OptResponseGoodsListsData {
+ return OptResponseGoodsListsData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseGoodsListsData is optional ResponseGoodsListsData.
+type OptResponseGoodsListsData struct {
+ Value ResponseGoodsListsData
+ Set bool
+}
+
+// IsSet returns true if OptResponseGoodsListsData was set.
+func (o OptResponseGoodsListsData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseGoodsListsData) Reset() {
+ var v ResponseGoodsListsData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseGoodsListsData) SetTo(v ResponseGoodsListsData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseGoodsListsData) Get() (v ResponseGoodsListsData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseGoodsListsData) Or(d ResponseGoodsListsData) ResponseGoodsListsData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptResponseSizeListsData returns new OptResponseSizeListsData with value set to v.
+func NewOptResponseSizeListsData(v ResponseSizeListsData) OptResponseSizeListsData {
+ return OptResponseSizeListsData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptResponseSizeListsData is optional ResponseSizeListsData.
+type OptResponseSizeListsData struct {
+ Value ResponseSizeListsData
+ Set bool
+}
+
+// IsSet returns true if OptResponseSizeListsData was set.
+func (o OptResponseSizeListsData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptResponseSizeListsData) Reset() {
+ var v ResponseSizeListsData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptResponseSizeListsData) SetTo(v ResponseSizeListsData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptResponseSizeListsData) Get() (v ResponseSizeListsData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptResponseSizeListsData) Or(d ResponseSizeListsData) ResponseSizeListsData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptStocksWarehouseErrorItemData returns new OptStocksWarehouseErrorItemData with value set to v.
+func NewOptStocksWarehouseErrorItemData(v *StocksWarehouseErrorItemData) OptStocksWarehouseErrorItemData {
+ return OptStocksWarehouseErrorItemData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptStocksWarehouseErrorItemData is optional *StocksWarehouseErrorItemData.
+type OptStocksWarehouseErrorItemData struct {
+ Value *StocksWarehouseErrorItemData
+ Set bool
+}
+
+// IsSet returns true if OptStocksWarehouseErrorItemData was set.
+func (o OptStocksWarehouseErrorItemData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptStocksWarehouseErrorItemData) Reset() {
+ var v *StocksWarehouseErrorItemData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptStocksWarehouseErrorItemData) SetTo(v *StocksWarehouseErrorItemData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptStocksWarehouseErrorItemData) Get() (v *StocksWarehouseErrorItemData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptStocksWarehouseErrorItemData) Or(d *StocksWarehouseErrorItemData) *StocksWarehouseErrorItemData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptString returns new OptString with value set to v.
+func NewOptString(v string) OptString {
+ return OptString{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptString is optional string.
+type OptString struct {
+ Value string
+ Set bool
+}
+
+// IsSet returns true if OptString was set.
+func (o OptString) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptString) Reset() {
+ var v string
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptString) SetTo(v string) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptString) Get() (v string, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptString) Or(d string) string {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptTaskCreatedData returns new OptTaskCreatedData with value set to v.
+func NewOptTaskCreatedData(v TaskCreatedData) OptTaskCreatedData {
+ return OptTaskCreatedData{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptTaskCreatedData is optional TaskCreatedData.
+type OptTaskCreatedData struct {
+ Value TaskCreatedData
+ Set bool
+}
+
+// IsSet returns true if OptTaskCreatedData was set.
+func (o OptTaskCreatedData) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptTaskCreatedData) Reset() {
+ var v TaskCreatedData
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptTaskCreatedData) SetTo(v TaskCreatedData) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptTaskCreatedData) Get() (v TaskCreatedData, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptTaskCreatedData) Or(d TaskCreatedData) TaskCreatedData {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptUUID returns new OptUUID with value set to v.
+func NewOptUUID(v uuid.UUID) OptUUID {
+ return OptUUID{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptUUID is optional uuid.UUID.
+type OptUUID struct {
+ Value uuid.UUID
+ Set bool
+}
+
+// IsSet returns true if OptUUID was set.
+func (o OptUUID) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptUUID) Reset() {
+ var v uuid.UUID
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptUUID) SetTo(v uuid.UUID) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptUUID) Get() (v uuid.UUID, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptUUID) Or(d uuid.UUID) uuid.UUID {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptUint returns new OptUint with value set to v.
+func NewOptUint(v uint) OptUint {
+ return OptUint{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptUint is optional uint.
+type OptUint struct {
+ Value uint
+ Set bool
+}
+
+// IsSet returns true if OptUint was set.
+func (o OptUint) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptUint) Reset() {
+ var v uint
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptUint) SetTo(v uint) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptUint) Get() (v uint, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptUint) Or(d uint) uint {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptWarehouseCargoType returns new OptWarehouseCargoType with value set to v.
+func NewOptWarehouseCargoType(v WarehouseCargoType) OptWarehouseCargoType {
+ return OptWarehouseCargoType{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptWarehouseCargoType is optional WarehouseCargoType.
+type OptWarehouseCargoType struct {
+ Value WarehouseCargoType
+ Set bool
+}
+
+// IsSet returns true if OptWarehouseCargoType was set.
+func (o OptWarehouseCargoType) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptWarehouseCargoType) Reset() {
+ var v WarehouseCargoType
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptWarehouseCargoType) SetTo(v WarehouseCargoType) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptWarehouseCargoType) Get() (v WarehouseCargoType, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptWarehouseCargoType) Or(d WarehouseCargoType) WarehouseCargoType {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// NewOptWarehouseDeliveryType returns new OptWarehouseDeliveryType with value set to v.
+func NewOptWarehouseDeliveryType(v WarehouseDeliveryType) OptWarehouseDeliveryType {
+ return OptWarehouseDeliveryType{
+ Value: v,
+ Set: true,
+ }
+}
+
+// OptWarehouseDeliveryType is optional WarehouseDeliveryType.
+type OptWarehouseDeliveryType struct {
+ Value WarehouseDeliveryType
+ Set bool
+}
+
+// IsSet returns true if OptWarehouseDeliveryType was set.
+func (o OptWarehouseDeliveryType) IsSet() bool { return o.Set }
+
+// Reset unsets value.
+func (o *OptWarehouseDeliveryType) Reset() {
+ var v WarehouseDeliveryType
+ o.Value = v
+ o.Set = false
+}
+
+// SetTo sets value to v.
+func (o *OptWarehouseDeliveryType) SetTo(v WarehouseDeliveryType) {
+ o.Set = true
+ o.Value = v
+}
+
+// Get returns value and boolean that denotes whether value was set.
+func (o OptWarehouseDeliveryType) Get() (v WarehouseDeliveryType, ok bool) {
+ if !o.Set {
+ return v, false
+ }
+ return o.Value, true
+}
+
+// Or returns value if set, or given parameter if does not.
+func (o OptWarehouseDeliveryType) Or(d WarehouseDeliveryType) WarehouseDeliveryType {
+ if v, ok := o.Get(); ok {
+ return v
+ }
+ return d
+}
+
+// Ref: #/components/schemas/QuarantineGoods
+type QuarantineGoods struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
+ SizeID OptInt `json:"sizeID"`
+ // ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
+ TechSizeName OptString `json:"techSizeName"`
+ // ΠΠ°Π»ΡΡΠ° ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217.
+ CurrencyIsoCode4217 OptString `json:"currencyIsoCode4217"`
+ // ΠΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄ΠΎ ΡΠΊΠΈΠ΄ΠΊΠΈ.
+ NewPrice OptFloat32 `json:"newPrice"`
+ // Π’Π΅ΠΊΡΡΠ°Ρ ΡΠ΅Π½Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄ΠΎ ΡΠΊΠΈΠ΄ΠΊΠΈ.
+ OldPrice OptFloat32 `json:"oldPrice"`
+ // ΠΠΎΠ²Π°Ρ ΡΠΊΠΈΠ΄ΠΊΠ° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, %.
+ NewDiscount OptInt `json:"newDiscount"`
+ // Π’Π΅ΠΊΡΡΠ°Ρ ΡΠΊΠΈΠ΄ΠΊΠ° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, %.
+ OldDiscount OptInt `json:"oldDiscount"`
+ // Π Π°Π·Π½ΠΈΡΠ°: `newPrice` * (1 - `newDiscount` / 100) - `oldPrice` * (1 - `oldDiscount` / 100).
+ PriceDiff OptFloat32 `json:"priceDiff"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *QuarantineGoods) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetSizeID returns the value of SizeID.
+func (s *QuarantineGoods) GetSizeID() OptInt {
+ return s.SizeID
+}
+
+// GetTechSizeName returns the value of TechSizeName.
+func (s *QuarantineGoods) GetTechSizeName() OptString {
+ return s.TechSizeName
+}
+
+// GetCurrencyIsoCode4217 returns the value of CurrencyIsoCode4217.
+func (s *QuarantineGoods) GetCurrencyIsoCode4217() OptString {
+ return s.CurrencyIsoCode4217
+}
+
+// GetNewPrice returns the value of NewPrice.
+func (s *QuarantineGoods) GetNewPrice() OptFloat32 {
+ return s.NewPrice
+}
+
+// GetOldPrice returns the value of OldPrice.
+func (s *QuarantineGoods) GetOldPrice() OptFloat32 {
+ return s.OldPrice
+}
+
+// GetNewDiscount returns the value of NewDiscount.
+func (s *QuarantineGoods) GetNewDiscount() OptInt {
+ return s.NewDiscount
+}
+
+// GetOldDiscount returns the value of OldDiscount.
+func (s *QuarantineGoods) GetOldDiscount() OptInt {
+ return s.OldDiscount
+}
+
+// GetPriceDiff returns the value of PriceDiff.
+func (s *QuarantineGoods) GetPriceDiff() OptFloat32 {
+ return s.PriceDiff
+}
+
+// SetNmID sets the value of NmID.
+func (s *QuarantineGoods) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetSizeID sets the value of SizeID.
+func (s *QuarantineGoods) SetSizeID(val OptInt) {
+ s.SizeID = val
+}
+
+// SetTechSizeName sets the value of TechSizeName.
+func (s *QuarantineGoods) SetTechSizeName(val OptString) {
+ s.TechSizeName = val
+}
+
+// SetCurrencyIsoCode4217 sets the value of CurrencyIsoCode4217.
+func (s *QuarantineGoods) SetCurrencyIsoCode4217(val OptString) {
+ s.CurrencyIsoCode4217 = val
+}
+
+// SetNewPrice sets the value of NewPrice.
+func (s *QuarantineGoods) SetNewPrice(val OptFloat32) {
+ s.NewPrice = val
+}
+
+// SetOldPrice sets the value of OldPrice.
+func (s *QuarantineGoods) SetOldPrice(val OptFloat32) {
+ s.OldPrice = val
+}
+
+// SetNewDiscount sets the value of NewDiscount.
+func (s *QuarantineGoods) SetNewDiscount(val OptInt) {
+ s.NewDiscount = val
+}
+
+// SetOldDiscount sets the value of OldDiscount.
+func (s *QuarantineGoods) SetOldDiscount(val OptInt) {
+ s.OldDiscount = val
+}
+
+// SetPriceDiff sets the value of PriceDiff.
+func (s *QuarantineGoods) SetPriceDiff(val OptFloat32) {
+ s.PriceDiff = val
+}
+
+type R401 struct {
+ // ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Title OptString `json:"title"`
+ // ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Detail OptString `json:"detail"`
+ // ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Code OptString `json:"code"`
+ // Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°.
+ RequestId OptString `json:"requestId"`
+ // ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB.
+ Origin OptString `json:"origin"`
+ // HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄.
+ Status OptFloat64 `json:"status"`
+ // Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°.
+ StatusText OptString `json:"statusText"`
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°.
+ Timestamp OptDateTime `json:"timestamp"`
+}
+
+// GetTitle returns the value of Title.
+func (s *R401) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDetail returns the value of Detail.
+func (s *R401) GetDetail() OptString {
+ return s.Detail
+}
+
+// GetCode returns the value of Code.
+func (s *R401) GetCode() OptString {
+ return s.Code
+}
+
+// GetRequestId returns the value of RequestId.
+func (s *R401) GetRequestId() OptString {
+ return s.RequestId
+}
+
+// GetOrigin returns the value of Origin.
+func (s *R401) GetOrigin() OptString {
+ return s.Origin
+}
+
+// GetStatus returns the value of Status.
+func (s *R401) GetStatus() OptFloat64 {
+ return s.Status
+}
+
+// GetStatusText returns the value of StatusText.
+func (s *R401) GetStatusText() OptString {
+ return s.StatusText
+}
+
+// GetTimestamp returns the value of Timestamp.
+func (s *R401) GetTimestamp() OptDateTime {
+ return s.Timestamp
+}
+
+// SetTitle sets the value of Title.
+func (s *R401) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDetail sets the value of Detail.
+func (s *R401) SetDetail(val OptString) {
+ s.Detail = val
+}
+
+// SetCode sets the value of Code.
+func (s *R401) SetCode(val OptString) {
+ s.Code = val
+}
+
+// SetRequestId sets the value of RequestId.
+func (s *R401) SetRequestId(val OptString) {
+ s.RequestId = val
+}
+
+// SetOrigin sets the value of Origin.
+func (s *R401) SetOrigin(val OptString) {
+ s.Origin = val
+}
+
+// SetStatus sets the value of Status.
+func (s *R401) SetStatus(val OptFloat64) {
+ s.Status = val
+}
+
+// SetStatusText sets the value of StatusText.
+func (s *R401) SetStatusText(val OptString) {
+ s.StatusText = val
+}
+
+// SetTimestamp sets the value of Timestamp.
+func (s *R401) SetTimestamp(val OptDateTime) {
+ s.Timestamp = val
+}
+
+func (*R401) aPIV2BufferGoodsTaskGetRes() {}
+func (*R401) aPIV2BufferTasksGetRes() {}
+func (*R401) aPIV2HistoryGoodsTaskGetRes() {}
+func (*R401) aPIV2HistoryTasksGetRes() {}
+func (*R401) aPIV2ListGoodsFilterGetRes() {}
+func (*R401) aPIV2ListGoodsSizeNmGetRes() {}
+func (*R401) aPIV2QuarantineGoodsGetRes() {}
+func (*R401) aPIV2UploadTaskClubDiscountPostRes() {}
+func (*R401) aPIV2UploadTaskPostRes() {}
+func (*R401) aPIV2UploadTaskSizePostRes() {}
+func (*R401) aPIV3OfficesGetRes() {}
+func (*R401) aPIV3StocksWarehouseIdDeleteRes() {}
+func (*R401) aPIV3StocksWarehouseIdPostRes() {}
+func (*R401) aPIV3StocksWarehouseIdPutRes() {}
+func (*R401) aPIV3WarehousesGetRes() {}
+func (*R401) aPIV3WarehousesPostRes() {}
+func (*R401) aPIV3WarehousesWarehouseIdDeleteRes() {}
+func (*R401) aPIV3WarehousesWarehouseIdPutRes() {}
+func (*R401) contentV2BarcodesPostRes() {}
+func (*R401) contentV2CardsDeleteTrashPostRes() {}
+func (*R401) contentV2CardsErrorListGetRes() {}
+func (*R401) contentV2CardsLimitsGetRes() {}
+func (*R401) contentV2CardsRecoverPostRes() {}
+func (*R401) contentV2CardsUpdatePostRes() {}
+func (*R401) contentV2CardsUploadAddPostRes() {}
+func (*R401) contentV2CardsUploadPostRes() {}
+func (*R401) contentV2DirectoryColorsGetRes() {}
+func (*R401) contentV2DirectoryCountriesGetRes() {}
+func (*R401) contentV2DirectoryKindsGetRes() {}
+func (*R401) contentV2DirectorySeasonsGetRes() {}
+func (*R401) contentV2DirectoryTnvedGetRes() {}
+func (*R401) contentV2DirectoryVatGetRes() {}
+func (*R401) contentV2GetCardsListPostRes() {}
+func (*R401) contentV2GetCardsTrashPostRes() {}
+func (*R401) contentV2ObjectAllGetRes() {}
+func (*R401) contentV2ObjectCharcsSubjectIdGetRes() {}
+func (*R401) contentV2ObjectParentAllGetRes() {}
+func (*R401) contentV2TagNomenclatureLinkPostRes() {}
+func (*R401) contentV2TagsGetRes() {}
+func (*R401) contentV3MediaFilePostRes() {}
+func (*R401) contentV3MediaSavePostRes() {}
+
+type R429 struct {
+ // ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Title OptString `json:"title"`
+ // ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Detail OptString `json:"detail"`
+ // ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Code OptString `json:"code"`
+ // Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ID Π·Π°ΠΏΡΠΎΡΠ°.
+ RequestId OptString `json:"requestId"`
+ // ID Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° WB.
+ Origin OptString `json:"origin"`
+ // HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄.
+ Status OptFloat64 `json:"status"`
+ // Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° HTTP ΡΡΠ°ΡΡΡ-ΠΊΠΎΠ΄Π°.
+ StatusText OptString `json:"statusText"`
+ // ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°.
+ Timestamp OptDateTime `json:"timestamp"`
+}
+
+// GetTitle returns the value of Title.
+func (s *R429) GetTitle() OptString {
+ return s.Title
+}
+
+// GetDetail returns the value of Detail.
+func (s *R429) GetDetail() OptString {
+ return s.Detail
+}
+
+// GetCode returns the value of Code.
+func (s *R429) GetCode() OptString {
+ return s.Code
+}
+
+// GetRequestId returns the value of RequestId.
+func (s *R429) GetRequestId() OptString {
+ return s.RequestId
+}
+
+// GetOrigin returns the value of Origin.
+func (s *R429) GetOrigin() OptString {
+ return s.Origin
+}
+
+// GetStatus returns the value of Status.
+func (s *R429) GetStatus() OptFloat64 {
+ return s.Status
+}
+
+// GetStatusText returns the value of StatusText.
+func (s *R429) GetStatusText() OptString {
+ return s.StatusText
+}
+
+// GetTimestamp returns the value of Timestamp.
+func (s *R429) GetTimestamp() OptDateTime {
+ return s.Timestamp
+}
+
+// SetTitle sets the value of Title.
+func (s *R429) SetTitle(val OptString) {
+ s.Title = val
+}
+
+// SetDetail sets the value of Detail.
+func (s *R429) SetDetail(val OptString) {
+ s.Detail = val
+}
+
+// SetCode sets the value of Code.
+func (s *R429) SetCode(val OptString) {
+ s.Code = val
+}
+
+// SetRequestId sets the value of RequestId.
+func (s *R429) SetRequestId(val OptString) {
+ s.RequestId = val
+}
+
+// SetOrigin sets the value of Origin.
+func (s *R429) SetOrigin(val OptString) {
+ s.Origin = val
+}
+
+// SetStatus sets the value of Status.
+func (s *R429) SetStatus(val OptFloat64) {
+ s.Status = val
+}
+
+// SetStatusText sets the value of StatusText.
+func (s *R429) SetStatusText(val OptString) {
+ s.StatusText = val
+}
+
+// SetTimestamp sets the value of Timestamp.
+func (s *R429) SetTimestamp(val OptDateTime) {
+ s.Timestamp = val
+}
+
+// R429Headers wraps R429 with response headers.
+type R429Headers struct {
+ XRatelimitLimit OptInt
+ XRatelimitReset OptInt
+ XRatelimitRetry OptInt
+ Response R429
+}
+
+// GetXRatelimitLimit returns the value of XRatelimitLimit.
+func (s *R429Headers) GetXRatelimitLimit() OptInt {
+ return s.XRatelimitLimit
+}
+
+// GetXRatelimitReset returns the value of XRatelimitReset.
+func (s *R429Headers) GetXRatelimitReset() OptInt {
+ return s.XRatelimitReset
+}
+
+// GetXRatelimitRetry returns the value of XRatelimitRetry.
+func (s *R429Headers) GetXRatelimitRetry() OptInt {
+ return s.XRatelimitRetry
+}
+
+// GetResponse returns the value of Response.
+func (s *R429Headers) GetResponse() R429 {
+ return s.Response
+}
+
+// SetXRatelimitLimit sets the value of XRatelimitLimit.
+func (s *R429Headers) SetXRatelimitLimit(val OptInt) {
+ s.XRatelimitLimit = val
+}
+
+// SetXRatelimitReset sets the value of XRatelimitReset.
+func (s *R429Headers) SetXRatelimitReset(val OptInt) {
+ s.XRatelimitReset = val
+}
+
+// SetXRatelimitRetry sets the value of XRatelimitRetry.
+func (s *R429Headers) SetXRatelimitRetry(val OptInt) {
+ s.XRatelimitRetry = val
+}
+
+// SetResponse sets the value of Response.
+func (s *R429Headers) SetResponse(val R429) {
+ s.Response = val
+}
+
+func (*R429Headers) aPIV2BufferGoodsTaskGetRes() {}
+func (*R429Headers) aPIV2BufferTasksGetRes() {}
+func (*R429Headers) aPIV2HistoryGoodsTaskGetRes() {}
+func (*R429Headers) aPIV2HistoryTasksGetRes() {}
+func (*R429Headers) aPIV2ListGoodsFilterGetRes() {}
+func (*R429Headers) aPIV2ListGoodsSizeNmGetRes() {}
+func (*R429Headers) aPIV2QuarantineGoodsGetRes() {}
+func (*R429Headers) aPIV2UploadTaskClubDiscountPostRes() {}
+func (*R429Headers) aPIV2UploadTaskPostRes() {}
+func (*R429Headers) aPIV2UploadTaskSizePostRes() {}
+func (*R429Headers) aPIV3OfficesGetRes() {}
+func (*R429Headers) aPIV3StocksWarehouseIdDeleteRes() {}
+func (*R429Headers) aPIV3StocksWarehouseIdPostRes() {}
+func (*R429Headers) aPIV3StocksWarehouseIdPutRes() {}
+func (*R429Headers) aPIV3WarehousesGetRes() {}
+func (*R429Headers) aPIV3WarehousesPostRes() {}
+func (*R429Headers) aPIV3WarehousesWarehouseIdDeleteRes() {}
+func (*R429Headers) aPIV3WarehousesWarehouseIdPutRes() {}
+func (*R429Headers) contentV2BarcodesPostRes() {}
+func (*R429Headers) contentV2CardsDeleteTrashPostRes() {}
+func (*R429Headers) contentV2CardsErrorListGetRes() {}
+func (*R429Headers) contentV2CardsLimitsGetRes() {}
+func (*R429Headers) contentV2CardsRecoverPostRes() {}
+func (*R429Headers) contentV2CardsUpdatePostRes() {}
+func (*R429Headers) contentV2CardsUploadAddPostRes() {}
+func (*R429Headers) contentV2CardsUploadPostRes() {}
+func (*R429Headers) contentV2DirectoryColorsGetRes() {}
+func (*R429Headers) contentV2DirectoryCountriesGetRes() {}
+func (*R429Headers) contentV2DirectoryKindsGetRes() {}
+func (*R429Headers) contentV2DirectorySeasonsGetRes() {}
+func (*R429Headers) contentV2DirectoryTnvedGetRes() {}
+func (*R429Headers) contentV2DirectoryVatGetRes() {}
+func (*R429Headers) contentV2GetCardsListPostRes() {}
+func (*R429Headers) contentV2GetCardsTrashPostRes() {}
+func (*R429Headers) contentV2ObjectAllGetRes() {}
+func (*R429Headers) contentV2ObjectCharcsSubjectIdGetRes() {}
+func (*R429Headers) contentV2ObjectParentAllGetRes() {}
+func (*R429Headers) contentV2TagNomenclatureLinkPostRes() {}
+func (*R429Headers) contentV2TagsGetRes() {}
+func (*R429Headers) contentV3MediaFilePostRes() {}
+func (*R429Headers) contentV3MediaSavePostRes() {}
+
+// Ref: #/components/schemas/RequestAlreadyExistsError
+type RequestAlreadyExistsError struct {
+ Data OptRequestAlreadyExistsErrorData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *RequestAlreadyExistsError) GetData() OptRequestAlreadyExistsErrorData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *RequestAlreadyExistsError) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *RequestAlreadyExistsError) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *RequestAlreadyExistsError) SetData(val OptRequestAlreadyExistsErrorData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *RequestAlreadyExistsError) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *RequestAlreadyExistsError) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*RequestAlreadyExistsError) aPIV2UploadTaskClubDiscountPostRes() {}
+func (*RequestAlreadyExistsError) aPIV2UploadTaskPostRes() {}
+func (*RequestAlreadyExistsError) aPIV2UploadTaskSizePostRes() {}
+
+type RequestAlreadyExistsErrorData struct {
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ ID OptInt `json:"id"`
+ // Π€Π»Π°Π³ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ: `true`Β β ΡΠ°ΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΆΠ΅
+ // Π΅ΡΡΡ.
+ AlreadyExists OptBool `json:"alreadyExists"`
+}
+
+// GetID returns the value of ID.
+func (s *RequestAlreadyExistsErrorData) GetID() OptInt {
+ return s.ID
+}
+
+// GetAlreadyExists returns the value of AlreadyExists.
+func (s *RequestAlreadyExistsErrorData) GetAlreadyExists() OptBool {
+ return s.AlreadyExists
+}
+
+// SetID sets the value of ID.
+func (s *RequestAlreadyExistsErrorData) SetID(val OptInt) {
+ s.ID = val
+}
+
+// SetAlreadyExists sets the value of AlreadyExists.
+func (s *RequestAlreadyExistsErrorData) SetAlreadyExists(val OptBool) {
+ s.AlreadyExists = val
+}
+
+// Ref: #/components/schemas/responseBodyContentError400
+type ResponseBodyContentError400 struct {
+ Data OptResponseBodyContentError400Data `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilResponseBodyContentError400AdditionalErrors `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseBodyContentError400) GetData() OptResponseBodyContentError400Data {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseBodyContentError400) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseBodyContentError400) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ResponseBodyContentError400) GetAdditionalErrors() OptNilResponseBodyContentError400AdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ResponseBodyContentError400) SetData(val OptResponseBodyContentError400Data) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseBodyContentError400) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseBodyContentError400) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ResponseBodyContentError400) SetAdditionalErrors(val OptNilResponseBodyContentError400AdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+func (*ResponseBodyContentError400) contentV2CardsDeleteTrashPostRes() {}
+func (*ResponseBodyContentError400) contentV2CardsErrorListGetRes() {}
+func (*ResponseBodyContentError400) contentV2CardsRecoverPostRes() {}
+func (*ResponseBodyContentError400) contentV2CardsUpdatePostRes() {}
+func (*ResponseBodyContentError400) contentV2CardsUploadAddPostRes() {}
+func (*ResponseBodyContentError400) contentV2CardsUploadPostRes() {}
+func (*ResponseBodyContentError400) contentV2DirectoryColorsGetRes() {}
+func (*ResponseBodyContentError400) contentV2DirectoryCountriesGetRes() {}
+func (*ResponseBodyContentError400) contentV2DirectoryKindsGetRes() {}
+func (*ResponseBodyContentError400) contentV2DirectorySeasonsGetRes() {}
+func (*ResponseBodyContentError400) contentV2DirectoryTnvedGetRes() {}
+func (*ResponseBodyContentError400) contentV2DirectoryVatGetRes() {}
+func (*ResponseBodyContentError400) contentV2GetCardsListPostRes() {}
+func (*ResponseBodyContentError400) contentV2GetCardsTrashPostRes() {}
+func (*ResponseBodyContentError400) contentV2ObjectCharcsSubjectIdGetRes() {}
+func (*ResponseBodyContentError400) contentV2ObjectParentAllGetRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+type ResponseBodyContentError400AdditionalErrors struct {
+ MoveNmsToTrash OptString `json:"MoveNmsToTrash"`
+}
+
+// GetMoveNmsToTrash returns the value of MoveNmsToTrash.
+func (s *ResponseBodyContentError400AdditionalErrors) GetMoveNmsToTrash() OptString {
+ return s.MoveNmsToTrash
+}
+
+// SetMoveNmsToTrash sets the value of MoveNmsToTrash.
+func (s *ResponseBodyContentError400AdditionalErrors) SetMoveNmsToTrash(val OptString) {
+ s.MoveNmsToTrash = val
+}
+
+type ResponseBodyContentError400Data struct{}
+
+// Ref: #/components/schemas/responseBodyContentError403
+type ResponseBodyContentError403 struct {
+ Data OptResponseBodyContentError403Data `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseBodyContentError403) GetData() OptResponseBodyContentError403Data {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseBodyContentError403) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseBodyContentError403) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ResponseBodyContentError403) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ResponseBodyContentError403) SetData(val OptResponseBodyContentError403Data) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseBodyContentError403) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseBodyContentError403) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ResponseBodyContentError403) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ResponseBodyContentError403) contentV2BarcodesPostRes() {}
+func (*ResponseBodyContentError403) contentV2CardsDeleteTrashPostRes() {}
+func (*ResponseBodyContentError403) contentV2CardsErrorListGetRes() {}
+func (*ResponseBodyContentError403) contentV2CardsLimitsGetRes() {}
+func (*ResponseBodyContentError403) contentV2CardsRecoverPostRes() {}
+func (*ResponseBodyContentError403) contentV2CardsUpdatePostRes() {}
+func (*ResponseBodyContentError403) contentV2DirectoryColorsGetRes() {}
+func (*ResponseBodyContentError403) contentV2DirectoryCountriesGetRes() {}
+func (*ResponseBodyContentError403) contentV2DirectoryKindsGetRes() {}
+func (*ResponseBodyContentError403) contentV2DirectorySeasonsGetRes() {}
+func (*ResponseBodyContentError403) contentV2DirectoryTnvedGetRes() {}
+func (*ResponseBodyContentError403) contentV2DirectoryVatGetRes() {}
+func (*ResponseBodyContentError403) contentV2GetCardsListPostRes() {}
+func (*ResponseBodyContentError403) contentV2GetCardsTrashPostRes() {}
+func (*ResponseBodyContentError403) contentV2ObjectCharcsSubjectIdGetRes() {}
+func (*ResponseBodyContentError403) contentV2ObjectParentAllGetRes() {}
+func (*ResponseBodyContentError403) contentV2TagNomenclatureLinkPostRes() {}
+func (*ResponseBodyContentError403) contentV2TagsGetRes() {}
+
+type ResponseBodyContentError403Data struct{}
+
+// Ref: #/components/schemas/responseCardCreate
+type ResponseCardCreate struct {
+ Data OptResponseCardCreateData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptResponseCardCreateAdditionalErrors `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseCardCreate) GetData() OptResponseCardCreateData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseCardCreate) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseCardCreate) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ResponseCardCreate) GetAdditionalErrors() OptResponseCardCreateAdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ResponseCardCreate) SetData(val OptResponseCardCreateData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseCardCreate) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseCardCreate) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ResponseCardCreate) SetAdditionalErrors(val OptResponseCardCreateAdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+func (*ResponseCardCreate) contentV2CardsUpdatePostRes() {}
+func (*ResponseCardCreate) contentV2CardsUploadAddPostRes() {}
+func (*ResponseCardCreate) contentV2CardsUploadPostRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+// ResponseCardCreateAdditionalErrors represents sum type.
+type ResponseCardCreateAdditionalErrors struct {
+ Type ResponseCardCreateAdditionalErrorsType // switch on this field
+ Null struct{}
+ ResponseCardCreateAdditionalErrors0 ResponseCardCreateAdditionalErrors0
+ String string
+}
+
+// ResponseCardCreateAdditionalErrorsType is oneOf type of ResponseCardCreateAdditionalErrors.
+type ResponseCardCreateAdditionalErrorsType string
+
+// Possible values for ResponseCardCreateAdditionalErrorsType.
+const (
+ NullResponseCardCreateAdditionalErrors ResponseCardCreateAdditionalErrorsType = "struct{}"
+ ResponseCardCreateAdditionalErrors0ResponseCardCreateAdditionalErrors ResponseCardCreateAdditionalErrorsType = "ResponseCardCreateAdditionalErrors0"
+ StringResponseCardCreateAdditionalErrors ResponseCardCreateAdditionalErrorsType = "string"
+)
+
+// IsNull reports whether ResponseCardCreateAdditionalErrors is struct{}.
+func (s ResponseCardCreateAdditionalErrors) IsNull() bool {
+ return s.Type == NullResponseCardCreateAdditionalErrors
+}
+
+// IsResponseCardCreateAdditionalErrors0 reports whether ResponseCardCreateAdditionalErrors is ResponseCardCreateAdditionalErrors0.
+func (s ResponseCardCreateAdditionalErrors) IsResponseCardCreateAdditionalErrors0() bool {
+ return s.Type == ResponseCardCreateAdditionalErrors0ResponseCardCreateAdditionalErrors
+}
+
+// IsString reports whether ResponseCardCreateAdditionalErrors is string.
+func (s ResponseCardCreateAdditionalErrors) IsString() bool {
+ return s.Type == StringResponseCardCreateAdditionalErrors
+}
+
+// SetNull sets ResponseCardCreateAdditionalErrors to struct{}.
+func (s *ResponseCardCreateAdditionalErrors) SetNull(v struct{}) {
+ s.Type = NullResponseCardCreateAdditionalErrors
+ s.Null = v
+}
+
+// GetNull returns struct{} and true boolean if ResponseCardCreateAdditionalErrors is struct{}.
+func (s ResponseCardCreateAdditionalErrors) GetNull() (v struct{}, ok bool) {
+ if !s.IsNull() {
+ return v, false
+ }
+ return s.Null, true
+}
+
+// NewNullResponseCardCreateAdditionalErrors returns new ResponseCardCreateAdditionalErrors from struct{}.
+func NewNullResponseCardCreateAdditionalErrors(v struct{}) ResponseCardCreateAdditionalErrors {
+ var s ResponseCardCreateAdditionalErrors
+ s.SetNull(v)
+ return s
+}
+
+// SetResponseCardCreateAdditionalErrors0 sets ResponseCardCreateAdditionalErrors to ResponseCardCreateAdditionalErrors0.
+func (s *ResponseCardCreateAdditionalErrors) SetResponseCardCreateAdditionalErrors0(v ResponseCardCreateAdditionalErrors0) {
+ s.Type = ResponseCardCreateAdditionalErrors0ResponseCardCreateAdditionalErrors
+ s.ResponseCardCreateAdditionalErrors0 = v
+}
+
+// GetResponseCardCreateAdditionalErrors0 returns ResponseCardCreateAdditionalErrors0 and true boolean if ResponseCardCreateAdditionalErrors is ResponseCardCreateAdditionalErrors0.
+func (s ResponseCardCreateAdditionalErrors) GetResponseCardCreateAdditionalErrors0() (v ResponseCardCreateAdditionalErrors0, ok bool) {
+ if !s.IsResponseCardCreateAdditionalErrors0() {
+ return v, false
+ }
+ return s.ResponseCardCreateAdditionalErrors0, true
+}
+
+// NewResponseCardCreateAdditionalErrors0ResponseCardCreateAdditionalErrors returns new ResponseCardCreateAdditionalErrors from ResponseCardCreateAdditionalErrors0.
+func NewResponseCardCreateAdditionalErrors0ResponseCardCreateAdditionalErrors(v ResponseCardCreateAdditionalErrors0) ResponseCardCreateAdditionalErrors {
+ var s ResponseCardCreateAdditionalErrors
+ s.SetResponseCardCreateAdditionalErrors0(v)
+ return s
+}
+
+// SetString sets ResponseCardCreateAdditionalErrors to string.
+func (s *ResponseCardCreateAdditionalErrors) SetString(v string) {
+ s.Type = StringResponseCardCreateAdditionalErrors
+ s.String = v
+}
+
+// GetString returns string and true boolean if ResponseCardCreateAdditionalErrors is string.
+func (s ResponseCardCreateAdditionalErrors) GetString() (v string, ok bool) {
+ if !s.IsString() {
+ return v, false
+ }
+ return s.String, true
+}
+
+// NewStringResponseCardCreateAdditionalErrors returns new ResponseCardCreateAdditionalErrors from string.
+func NewStringResponseCardCreateAdditionalErrors(v string) ResponseCardCreateAdditionalErrors {
+ var s ResponseCardCreateAdditionalErrors
+ s.SetString(v)
+ return s
+}
+
+type ResponseCardCreateAdditionalErrors0 struct {
+ String OptString `json:"string"`
+}
+
+// GetString returns the value of String.
+func (s *ResponseCardCreateAdditionalErrors0) GetString() OptString {
+ return s.String
+}
+
+// SetString sets the value of String.
+func (s *ResponseCardCreateAdditionalErrors0) SetString(val OptString) {
+ s.String = val
+}
+
+type ResponseCardCreateData struct{}
+
+// Ref: #/components/schemas/responseContentError4
+type ResponseContentError4 struct {
+ Data OptResponseContentError4Data `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilResponseContentError4AdditionalErrors `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseContentError4) GetData() OptResponseContentError4Data {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseContentError4) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseContentError4) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ResponseContentError4) GetAdditionalErrors() OptNilResponseContentError4AdditionalErrors {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ResponseContentError4) SetData(val OptResponseContentError4Data) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseContentError4) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseContentError4) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ResponseContentError4) SetAdditionalErrors(val OptNilResponseContentError4AdditionalErrors) {
+ s.AdditionalErrors = val
+}
+
+func (*ResponseContentError4) contentV2TagNomenclatureLinkPostRes() {}
+
+// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+type ResponseContentError4AdditionalErrors struct {
+ Description OptString `json:"description"`
+}
+
+// GetDescription returns the value of Description.
+func (s *ResponseContentError4AdditionalErrors) GetDescription() OptString {
+ return s.Description
+}
+
+// SetDescription sets the value of Description.
+func (s *ResponseContentError4AdditionalErrors) SetDescription(val OptString) {
+ s.Description = val
+}
+
+type ResponseContentError4Data struct{}
+
+// Ref: #/components/schemas/responseContentError6
+type ResponseContentError6 struct {
+ Data OptResponseContentError6Data `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+ // ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ AdditionalErrors OptNilString `json:"additionalErrors"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseContentError6) GetData() OptResponseContentError6Data {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseContentError6) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseContentError6) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// GetAdditionalErrors returns the value of AdditionalErrors.
+func (s *ResponseContentError6) GetAdditionalErrors() OptNilString {
+ return s.AdditionalErrors
+}
+
+// SetData sets the value of Data.
+func (s *ResponseContentError6) SetData(val OptResponseContentError6Data) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseContentError6) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseContentError6) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+// SetAdditionalErrors sets the value of AdditionalErrors.
+func (s *ResponseContentError6) SetAdditionalErrors(val OptNilString) {
+ s.AdditionalErrors = val
+}
+
+func (*ResponseContentError6) contentV2TagNomenclatureLinkPostRes() {}
+
+type ResponseContentError6Data struct{}
+
+// Ref: #/components/schemas/ResponseError
+type ResponseError struct {
+ Data OptResponseErrorData `json:"data"`
+ Error OptBool `json:"error"`
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseError) GetData() OptResponseErrorData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseError) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseError) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *ResponseError) SetData(val OptResponseErrorData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseError) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseError) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*ResponseError) aPIV2ListGoodsFilterGetRes() {}
+func (*ResponseError) aPIV2ListGoodsSizeNmGetRes() {}
+
+type ResponseErrorData struct{}
+
+type ResponseGoodBufferHistories struct {
+ Data OptResponseGoodBufferHistoriesData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseGoodBufferHistories) GetData() OptResponseGoodBufferHistoriesData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseGoodBufferHistories) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseGoodBufferHistories) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *ResponseGoodBufferHistories) SetData(val OptResponseGoodBufferHistoriesData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseGoodBufferHistories) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseGoodBufferHistories) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*ResponseGoodBufferHistories) aPIV2BufferGoodsTaskGetRes() {}
+
+type ResponseGoodBufferHistoriesData struct {
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ UploadID OptInt `json:"uploadID"`
+ // ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
+ BufferGoods []GoodBufferHistory `json:"bufferGoods"`
+}
+
+// GetUploadID returns the value of UploadID.
+func (s *ResponseGoodBufferHistoriesData) GetUploadID() OptInt {
+ return s.UploadID
+}
+
+// GetBufferGoods returns the value of BufferGoods.
+func (s *ResponseGoodBufferHistoriesData) GetBufferGoods() []GoodBufferHistory {
+ return s.BufferGoods
+}
+
+// SetUploadID sets the value of UploadID.
+func (s *ResponseGoodBufferHistoriesData) SetUploadID(val OptInt) {
+ s.UploadID = val
+}
+
+// SetBufferGoods sets the value of BufferGoods.
+func (s *ResponseGoodBufferHistoriesData) SetBufferGoods(val []GoodBufferHistory) {
+ s.BufferGoods = val
+}
+
+type ResponseGoodHistories struct {
+ Data OptResponseGoodHistoriesData `json:"data"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseGoodHistories) GetData() OptResponseGoodHistoriesData {
+ return s.Data
+}
+
+// SetData sets the value of Data.
+func (s *ResponseGoodHistories) SetData(val OptResponseGoodHistoriesData) {
+ s.Data = val
+}
+
+func (*ResponseGoodHistories) aPIV2HistoryGoodsTaskGetRes() {}
+
+type ResponseGoodHistoriesData struct {
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ UploadID OptNilInt `json:"uploadID"`
+ // ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
+ HistoryGoods []GoodHistory `json:"historyGoods"`
+}
+
+// GetUploadID returns the value of UploadID.
+func (s *ResponseGoodHistoriesData) GetUploadID() OptNilInt {
+ return s.UploadID
+}
+
+// GetHistoryGoods returns the value of HistoryGoods.
+func (s *ResponseGoodHistoriesData) GetHistoryGoods() []GoodHistory {
+ return s.HistoryGoods
+}
+
+// SetUploadID sets the value of UploadID.
+func (s *ResponseGoodHistoriesData) SetUploadID(val OptNilInt) {
+ s.UploadID = val
+}
+
+// SetHistoryGoods sets the value of HistoryGoods.
+func (s *ResponseGoodHistoriesData) SetHistoryGoods(val []GoodHistory) {
+ s.HistoryGoods = val
+}
+
+type ResponseGoodsLists struct {
+ Data OptResponseGoodsListsData `json:"data"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseGoodsLists) GetData() OptResponseGoodsListsData {
+ return s.Data
+}
+
+// SetData sets the value of Data.
+func (s *ResponseGoodsLists) SetData(val OptResponseGoodsListsData) {
+ s.Data = val
+}
+
+func (*ResponseGoodsLists) aPIV2ListGoodsFilterGetRes() {}
+
+type ResponseGoodsListsData struct {
+ // ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
.
+ ListGoods []GoodsList `json:"listGoods"`
+}
+
+// GetListGoods returns the value of ListGoods.
+func (s *ResponseGoodsListsData) GetListGoods() []GoodsList {
+ return s.ListGoods
+}
+
+// SetListGoods sets the value of ListGoods.
+func (s *ResponseGoodsListsData) SetListGoods(val []GoodsList) {
+ s.ListGoods = val
+}
+
+type ResponseQuarantineGoods struct {
+ Data OptNilResponseQuarantineGoodsData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseQuarantineGoods) GetData() OptNilResponseQuarantineGoodsData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseQuarantineGoods) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseQuarantineGoods) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *ResponseQuarantineGoods) SetData(val OptNilResponseQuarantineGoodsData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseQuarantineGoods) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseQuarantineGoods) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*ResponseQuarantineGoods) aPIV2QuarantineGoodsGetRes() {}
+
+type ResponseQuarantineGoodsData struct {
+ // ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅.
+ QuarantineGoods []QuarantineGoods `json:"quarantineGoods"`
+}
+
+// GetQuarantineGoods returns the value of QuarantineGoods.
+func (s *ResponseQuarantineGoodsData) GetQuarantineGoods() []QuarantineGoods {
+ return s.QuarantineGoods
+}
+
+// SetQuarantineGoods sets the value of QuarantineGoods.
+func (s *ResponseQuarantineGoodsData) SetQuarantineGoods(val []QuarantineGoods) {
+ s.QuarantineGoods = val
+}
+
+type ResponseSizeLists struct {
+ Data OptResponseSizeListsData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseSizeLists) GetData() OptResponseSizeListsData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseSizeLists) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseSizeLists) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *ResponseSizeLists) SetData(val OptResponseSizeListsData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseSizeLists) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseSizeLists) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*ResponseSizeLists) aPIV2ListGoodsSizeNmGetRes() {}
+
+type ResponseSizeListsData struct {
+ // Π Π°Π·ΠΌΠ΅ΡΡ ΡΠΎΠ²Π°ΡΠ°.
+ ListGoods []SizeGood `json:"listGoods"`
+}
+
+// GetListGoods returns the value of ListGoods.
+func (s *ResponseSizeListsData) GetListGoods() []SizeGood {
+ return s.ListGoods
+}
+
+// SetListGoods sets the value of ListGoods.
+func (s *ResponseSizeListsData) SetListGoods(val []SizeGood) {
+ s.ListGoods = val
+}
+
+type ResponseTaskBuffer struct {
+ Data SupplierTaskMetadataBuffer `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseTaskBuffer) GetData() SupplierTaskMetadataBuffer {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseTaskBuffer) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseTaskBuffer) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *ResponseTaskBuffer) SetData(val SupplierTaskMetadataBuffer) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseTaskBuffer) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseTaskBuffer) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*ResponseTaskBuffer) aPIV2BufferTasksGetRes() {}
+
+type ResponseTaskHistory struct {
+ Data SupplierTaskMetadata `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
+ //
+ // ΠΡΠΈΠ±ΠΊΠ°
The new price is several times lower than the current price. Item has been
+ // moved to Price Quarantine Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎ
+ // ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Ρ
ΠΎΡΡ Π±Ρ Π²Β 3 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅
+ // ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ
+ // ΡΠΎΠ²Π°Ρ ΠΈΠ·Β ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°
Π²Β Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅
+ //
.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *ResponseTaskHistory) GetData() SupplierTaskMetadata {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *ResponseTaskHistory) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *ResponseTaskHistory) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *ResponseTaskHistory) SetData(val SupplierTaskMetadata) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *ResponseTaskHistory) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *ResponseTaskHistory) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*ResponseTaskHistory) aPIV2HistoryTasksGetRes() {}
+
+// ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΒ ΡΠ°Π·ΠΌΠ΅ΡΠ΅.
+// Ref: #/components/schemas/SizeGood
+type SizeGood struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID OptInt `json:"nmID"`
+ // ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅
+ // ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎΒ Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](.
+ // /work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅ `sizeID`.
+ // Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`.
+ SizeID OptInt `json:"sizeID"`
+ // ΠΡΡΠΈΠΊΡΠ» ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ VendorCode OptString `json:"vendorCode"`
+ // Π¦Π΅Π½Π°.
+ Price OptInt `json:"price"`
+ // ΠΠ°Π»ΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ ISO 4217.
+ CurrencyIsoCode4217 OptString `json:"currencyIsoCode4217"`
+ // Π¦Π΅Π½Π° ΡΠΎΒ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ.
+ DiscountedPrice OptFloat64 `json:"discountedPrice"`
+ // Π¦Π΅Π½Π° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΊΠΈΠ΄ΠΊΡ WB ΠΠ»ΡΠ±Π°.
+ ClubDiscountedPrice OptFloat64 `json:"clubDiscountedPrice"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ°,Β %.
+ Discount OptInt `json:"discount"`
+ // Π‘ΠΊΠΈΠ΄ΠΊΠ° WB ΠΠ»ΡΠ±Π°,Β %.
+ ClubDiscount OptInt `json:"clubDiscount"`
+ // Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ²Π°ΡΠ°.
+ TechSizeName OptString `json:"techSizeName"`
+ // ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
+ // ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²: `true`Β β ΠΌΠΎΠΆΠ½ΠΎ, `false`Β β Π½Π΅Π»ΡΠ·Ρ. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ
+ // Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ EditableSizePrice OptBool `json:"editableSizePrice"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *SizeGood) GetNmID() OptInt {
+ return s.NmID
+}
+
+// GetSizeID returns the value of SizeID.
+func (s *SizeGood) GetSizeID() OptInt {
+ return s.SizeID
+}
+
+// GetVendorCode returns the value of VendorCode.
+func (s *SizeGood) GetVendorCode() OptString {
+ return s.VendorCode
+}
+
+// GetPrice returns the value of Price.
+func (s *SizeGood) GetPrice() OptInt {
+ return s.Price
+}
+
+// GetCurrencyIsoCode4217 returns the value of CurrencyIsoCode4217.
+func (s *SizeGood) GetCurrencyIsoCode4217() OptString {
+ return s.CurrencyIsoCode4217
+}
+
+// GetDiscountedPrice returns the value of DiscountedPrice.
+func (s *SizeGood) GetDiscountedPrice() OptFloat64 {
+ return s.DiscountedPrice
+}
+
+// GetClubDiscountedPrice returns the value of ClubDiscountedPrice.
+func (s *SizeGood) GetClubDiscountedPrice() OptFloat64 {
+ return s.ClubDiscountedPrice
+}
+
+// GetDiscount returns the value of Discount.
+func (s *SizeGood) GetDiscount() OptInt {
+ return s.Discount
+}
+
+// GetClubDiscount returns the value of ClubDiscount.
+func (s *SizeGood) GetClubDiscount() OptInt {
+ return s.ClubDiscount
+}
+
+// GetTechSizeName returns the value of TechSizeName.
+func (s *SizeGood) GetTechSizeName() OptString {
+ return s.TechSizeName
+}
+
+// GetEditableSizePrice returns the value of EditableSizePrice.
+func (s *SizeGood) GetEditableSizePrice() OptBool {
+ return s.EditableSizePrice
+}
+
+// SetNmID sets the value of NmID.
+func (s *SizeGood) SetNmID(val OptInt) {
+ s.NmID = val
+}
+
+// SetSizeID sets the value of SizeID.
+func (s *SizeGood) SetSizeID(val OptInt) {
+ s.SizeID = val
+}
+
+// SetVendorCode sets the value of VendorCode.
+func (s *SizeGood) SetVendorCode(val OptString) {
+ s.VendorCode = val
+}
+
+// SetPrice sets the value of Price.
+func (s *SizeGood) SetPrice(val OptInt) {
+ s.Price = val
+}
+
+// SetCurrencyIsoCode4217 sets the value of CurrencyIsoCode4217.
+func (s *SizeGood) SetCurrencyIsoCode4217(val OptString) {
+ s.CurrencyIsoCode4217 = val
+}
+
+// SetDiscountedPrice sets the value of DiscountedPrice.
+func (s *SizeGood) SetDiscountedPrice(val OptFloat64) {
+ s.DiscountedPrice = val
+}
+
+// SetClubDiscountedPrice sets the value of ClubDiscountedPrice.
+func (s *SizeGood) SetClubDiscountedPrice(val OptFloat64) {
+ s.ClubDiscountedPrice = val
+}
+
+// SetDiscount sets the value of Discount.
+func (s *SizeGood) SetDiscount(val OptInt) {
+ s.Discount = val
+}
+
+// SetClubDiscount sets the value of ClubDiscount.
+func (s *SizeGood) SetClubDiscount(val OptInt) {
+ s.ClubDiscount = val
+}
+
+// SetTechSizeName sets the value of TechSizeName.
+func (s *SizeGood) SetTechSizeName(val OptString) {
+ s.TechSizeName = val
+}
+
+// SetEditableSizePrice sets the value of EditableSizePrice.
+func (s *SizeGood) SetEditableSizePrice(val OptBool) {
+ s.EditableSizePrice = val
+}
+
+// Ref: #/components/schemas/SizeGoodReq
+type SizeGoodReq struct {
+ // ΠΡΡΠΈΠΊΡΠ» WB.
+ NmID int `json:"nmID"`
+ // ID ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅
+ // ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎΒ Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](.
+ // /work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅ `sizeID`.
+ // Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΡΠΎ ΠΏΠΎΠ»Π΅ `chrtID`.
+ SizeID int `json:"sizeID"`
+ // Π¦Π΅Π½Π°. ΠΠ°Π»ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°
+ // [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΠΎΒ Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ](.
+ // /work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get), ΠΏΠΎΠ»Π΅
+ // `currencyIsoCode4217`.
+ Price int `json:"price"`
+}
+
+// GetNmID returns the value of NmID.
+func (s *SizeGoodReq) GetNmID() int {
+ return s.NmID
+}
+
+// GetSizeID returns the value of SizeID.
+func (s *SizeGoodReq) GetSizeID() int {
+ return s.SizeID
+}
+
+// GetPrice returns the value of Price.
+func (s *SizeGoodReq) GetPrice() int {
+ return s.Price
+}
+
+// SetNmID sets the value of NmID.
+func (s *SizeGoodReq) SetNmID(val int) {
+ s.NmID = val
+}
+
+// SetSizeID sets the value of SizeID.
+func (s *SizeGoodReq) SetSizeID(val int) {
+ s.SizeID = val
+}
+
+// SetPrice sets the value of Price.
+func (s *SizeGoodReq) SetPrice(val int) {
+ s.Price = val
+}
+
+type SizeGoodsBody []SizeGoodReq
+
+type StocksWarehouseError []StocksWarehouseErrorItem
+
+func (*StocksWarehouseError) aPIV3StocksWarehouseIdPutRes() {}
+
+type StocksWarehouseErrorItem struct {
+ // Error code.
+ Code OptString `json:"code"`
+ // Additional data enriching the error.
+ Data OptStocksWarehouseErrorItemData `json:"data"`
+ // Error description.
+ Message OptString `json:"message"`
+}
+
+// GetCode returns the value of Code.
+func (s *StocksWarehouseErrorItem) GetCode() OptString {
+ return s.Code
+}
+
+// GetData returns the value of Data.
+func (s *StocksWarehouseErrorItem) GetData() OptStocksWarehouseErrorItemData {
+ return s.Data
+}
+
+// GetMessage returns the value of Message.
+func (s *StocksWarehouseErrorItem) GetMessage() OptString {
+ return s.Message
+}
+
+// SetCode sets the value of Code.
+func (s *StocksWarehouseErrorItem) SetCode(val OptString) {
+ s.Code = val
+}
+
+// SetData sets the value of Data.
+func (s *StocksWarehouseErrorItem) SetData(val OptStocksWarehouseErrorItemData) {
+ s.Data = val
+}
+
+// SetMessage sets the value of Message.
+func (s *StocksWarehouseErrorItem) SetMessage(val OptString) {
+ s.Message = val
+}
+
+// Additional data enriching the error.
+type StocksWarehouseErrorItemData struct{}
+
+type SupplierTaskMetadata jx.Raw
+
+type SupplierTaskMetadataBuffer jx.Raw
+
+// Ref: #/components/schemas/TaskCreated
+type TaskCreated struct {
+ Data OptTaskCreatedData `json:"data"`
+ // Π€Π»Π°Π³ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ Error OptBool `json:"error"`
+ // Π’Π΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
+ ErrorText OptString `json:"errorText"`
+}
+
+// GetData returns the value of Data.
+func (s *TaskCreated) GetData() OptTaskCreatedData {
+ return s.Data
+}
+
+// GetError returns the value of Error.
+func (s *TaskCreated) GetError() OptBool {
+ return s.Error
+}
+
+// GetErrorText returns the value of ErrorText.
+func (s *TaskCreated) GetErrorText() OptString {
+ return s.ErrorText
+}
+
+// SetData sets the value of Data.
+func (s *TaskCreated) SetData(val OptTaskCreatedData) {
+ s.Data = val
+}
+
+// SetError sets the value of Error.
+func (s *TaskCreated) SetError(val OptBool) {
+ s.Error = val
+}
+
+// SetErrorText sets the value of ErrorText.
+func (s *TaskCreated) SetErrorText(val OptString) {
+ s.ErrorText = val
+}
+
+func (*TaskCreated) aPIV2UploadTaskClubDiscountPostRes() {}
+func (*TaskCreated) aPIV2UploadTaskPostRes() {}
+func (*TaskCreated) aPIV2UploadTaskSizePostRes() {}
+
+type TaskCreatedData struct {
+ // ID Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ ID OptInt `json:"id"`
+ // Π€Π»Π°Π³ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ: `true`Β β ΡΠ°ΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΆΠ΅
+ // Π΅ΡΡΡ.
+ AlreadyExists OptBool `json:"alreadyExists"`
+}
+
+// GetID returns the value of ID.
+func (s *TaskCreatedData) GetID() OptInt {
+ return s.ID
+}
+
+// GetAlreadyExists returns the value of AlreadyExists.
+func (s *TaskCreatedData) GetAlreadyExists() OptBool {
+ return s.AlreadyExists
+}
+
+// SetID sets the value of ID.
+func (s *TaskCreatedData) SetID(val OptInt) {
+ s.ID = val
+}
+
+// SetAlreadyExists sets the value of AlreadyExists.
+func (s *TaskCreatedData) SetAlreadyExists(val OptBool) {
+ s.AlreadyExists = val
+}
+
+// ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΡΠΊΠ»Π°Π΄Π΅ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+// Ref: #/components/schemas/Warehouse
+type Warehouse struct {
+ // ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ Name OptString `json:"name"`
+ // ID ΡΠΊΠ»Π°Π΄Π° WB.
+ OfficeId OptInt64 `json:"officeId"`
+ // ID ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ ID OptInt64 `json:"id"`
+ // - Π’ΠΈΠΏ ΡΠΎΠ²Π°ΡΠ°:
- 1 - ΠΠΠ’ (ΠΌΠ°Π»ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ, ΡΠΎ Π΅ΡΡΡ
+ // ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 2 - Π‘ΠΠ’ (Π‘Π²Π΅ΡΡ
Π³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
+ // - 3 - ΠΠΠ’+ (ΠΡΡΠΏΠ½ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
.
+ CargoType OptWarehouseCargoType `json:"cargoType"`
+ // Π’ΠΈΠΏ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
+ // - `1` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΠΊΠ»Π°Π΄ WB (FBS)
+ // - `2` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (DBS)
+ // - `3` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΊΡΡΡΠ΅ΡΠΎΠΌ WB (DBW)
+ // - `5` β ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ· (C&C)
+ // - `6` β ΡΠΊΡΠΏΡΠ΅ΡΡ-Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (ΠDBS).
+ DeliveryType OptWarehouseDeliveryType `json:"deliveryType"`
+}
+
+// GetName returns the value of Name.
+func (s *Warehouse) GetName() OptString {
+ return s.Name
+}
+
+// GetOfficeId returns the value of OfficeId.
+func (s *Warehouse) GetOfficeId() OptInt64 {
+ return s.OfficeId
+}
+
+// GetID returns the value of ID.
+func (s *Warehouse) GetID() OptInt64 {
+ return s.ID
+}
+
+// GetCargoType returns the value of CargoType.
+func (s *Warehouse) GetCargoType() OptWarehouseCargoType {
+ return s.CargoType
+}
+
+// GetDeliveryType returns the value of DeliveryType.
+func (s *Warehouse) GetDeliveryType() OptWarehouseDeliveryType {
+ return s.DeliveryType
+}
+
+// SetName sets the value of Name.
+func (s *Warehouse) SetName(val OptString) {
+ s.Name = val
+}
+
+// SetOfficeId sets the value of OfficeId.
+func (s *Warehouse) SetOfficeId(val OptInt64) {
+ s.OfficeId = val
+}
+
+// SetID sets the value of ID.
+func (s *Warehouse) SetID(val OptInt64) {
+ s.ID = val
+}
+
+// SetCargoType sets the value of CargoType.
+func (s *Warehouse) SetCargoType(val OptWarehouseCargoType) {
+ s.CargoType = val
+}
+
+// SetDeliveryType sets the value of DeliveryType.
+func (s *Warehouse) SetDeliveryType(val OptWarehouseDeliveryType) {
+ s.DeliveryType = val
+}
+
+// - Π’ΠΈΠΏ ΡΠΎΠ²Π°ΡΠ°:
- 1 - ΠΠΠ’ (ΠΌΠ°Π»ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ, ΡΠΎ Π΅ΡΡΡ
+// ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
- 2 - Π‘ΠΠ’ (Π‘Π²Π΅ΡΡ
Π³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
+// - 3 - ΠΠΠ’+ (ΠΡΡΠΏΠ½ΠΎΠ³Π°Π±Π°ΡΠΈΡΠ½ΡΠΉ ΡΠΎΠ²Π°Ρ)
.
+type WarehouseCargoType int
+
+const (
+ WarehouseCargoType1 WarehouseCargoType = 1
+ WarehouseCargoType2 WarehouseCargoType = 2
+ WarehouseCargoType3 WarehouseCargoType = 3
+)
+
+// AllValues returns all WarehouseCargoType values.
+func (WarehouseCargoType) AllValues() []WarehouseCargoType {
+ return []WarehouseCargoType{
+ WarehouseCargoType1,
+ WarehouseCargoType2,
+ WarehouseCargoType3,
+ }
+}
+
+// Π’ΠΈΠΏ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄:
+// - `1` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΠΊΠ»Π°Π΄ WB (FBS)
+// - `2` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (DBS)
+// - `3` β Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΊΡΡΡΠ΅ΡΠΎΠΌ WB (DBW)
+// - `5` β ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ· (C&C)
+// - `6` β ΡΠΊΡΠΏΡΠ΅ΡΡ-Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° (ΠDBS).
+type WarehouseDeliveryType int
+
+const (
+ WarehouseDeliveryType1 WarehouseDeliveryType = 1
+ WarehouseDeliveryType2 WarehouseDeliveryType = 2
+ WarehouseDeliveryType3 WarehouseDeliveryType = 3
+ WarehouseDeliveryType5 WarehouseDeliveryType = 5
+ WarehouseDeliveryType6 WarehouseDeliveryType = 6
+)
+
+// AllValues returns all WarehouseDeliveryType values.
+func (WarehouseDeliveryType) AllValues() []WarehouseDeliveryType {
+ return []WarehouseDeliveryType{
+ WarehouseDeliveryType1,
+ WarehouseDeliveryType2,
+ WarehouseDeliveryType3,
+ WarehouseDeliveryType5,
+ WarehouseDeliveryType6,
+ }
+}
diff --git a/pkg/api/wb/client/oas_security_gen.go b/pkg/api/wb/client/oas_security_gen.go
new file mode 100644
index 0000000..c6bd4d7
--- /dev/null
+++ b/pkg/api/wb/client/oas_security_gen.go
@@ -0,0 +1,111 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "context"
+ "net/http"
+ "strings"
+
+ "github.com/go-faster/errors"
+
+ "github.com/ogen-go/ogen/ogenerrors"
+)
+
+// SecurityHandler is handler for security parameters.
+type SecurityHandler interface {
+ // HandleHeaderApiKey handles HeaderApiKey security.
+ HandleHeaderApiKey(ctx context.Context, operationName OperationName, t HeaderApiKey) (context.Context, error)
+}
+
+func findAuthorization(h http.Header, prefix string) (string, bool) {
+ v, ok := h["Authorization"]
+ if !ok {
+ return "", false
+ }
+ for _, vv := range v {
+ scheme, value, ok := strings.Cut(vv, " ")
+ if !ok || !strings.EqualFold(scheme, prefix) {
+ continue
+ }
+ return value, true
+ }
+ return "", false
+}
+
+var operationRolesHeaderApiKey = map[string][]string{
+ APIV2BufferGoodsTaskGetOperation: []string{},
+ APIV2BufferTasksGetOperation: []string{},
+ APIV2HistoryGoodsTaskGetOperation: []string{},
+ APIV2HistoryTasksGetOperation: []string{},
+ APIV2ListGoodsFilterGetOperation: []string{},
+ APIV2ListGoodsSizeNmGetOperation: []string{},
+ APIV2QuarantineGoodsGetOperation: []string{},
+ APIV2UploadTaskClubDiscountPostOperation: []string{},
+ APIV2UploadTaskPostOperation: []string{},
+ APIV2UploadTaskSizePostOperation: []string{},
+ APIV3OfficesGetOperation: []string{},
+ APIV3StocksWarehouseIdDeleteOperation: []string{},
+ APIV3StocksWarehouseIdPostOperation: []string{},
+ APIV3StocksWarehouseIdPutOperation: []string{},
+ APIV3WarehousesGetOperation: []string{},
+ APIV3WarehousesPostOperation: []string{},
+ APIV3WarehousesWarehouseIdDeleteOperation: []string{},
+ APIV3WarehousesWarehouseIdPutOperation: []string{},
+ ContentV2BarcodesPostOperation: []string{},
+ ContentV2CardsDeleteTrashPostOperation: []string{},
+ ContentV2CardsErrorListGetOperation: []string{},
+ ContentV2CardsLimitsGetOperation: []string{},
+ ContentV2CardsRecoverPostOperation: []string{},
+ ContentV2CardsUpdatePostOperation: []string{},
+ ContentV2CardsUploadAddPostOperation: []string{},
+ ContentV2CardsUploadPostOperation: []string{},
+ ContentV2DirectoryColorsGetOperation: []string{},
+ ContentV2DirectoryCountriesGetOperation: []string{},
+ ContentV2DirectoryKindsGetOperation: []string{},
+ ContentV2DirectorySeasonsGetOperation: []string{},
+ ContentV2DirectoryTnvedGetOperation: []string{},
+ ContentV2DirectoryVatGetOperation: []string{},
+ ContentV2GetCardsListPostOperation: []string{},
+ ContentV2GetCardsTrashPostOperation: []string{},
+ ContentV2ObjectAllGetOperation: []string{},
+ ContentV2ObjectCharcsSubjectIdGetOperation: []string{},
+ ContentV2ObjectParentAllGetOperation: []string{},
+ ContentV2TagNomenclatureLinkPostOperation: []string{},
+ ContentV2TagsGetOperation: []string{},
+ ContentV3MediaFilePostOperation: []string{},
+ ContentV3MediaSavePostOperation: []string{},
+}
+
+func (s *Server) securityHeaderApiKey(ctx context.Context, operationName OperationName, req *http.Request) (context.Context, bool, error) {
+ var t HeaderApiKey
+ const parameterName = "Authorization"
+ value := req.Header.Get(parameterName)
+ if value == "" {
+ return ctx, false, nil
+ }
+ t.APIKey = value
+ t.Roles = operationRolesHeaderApiKey[operationName]
+ rctx, err := s.sec.HandleHeaderApiKey(ctx, operationName, t)
+ if errors.Is(err, ogenerrors.ErrSkipServerSecurity) {
+ return nil, false, nil
+ } else if err != nil {
+ return nil, false, err
+ }
+ return rctx, true, err
+}
+
+// SecuritySource is provider of security values (tokens, passwords, etc.).
+type SecuritySource interface {
+ // HeaderApiKey provides HeaderApiKey security value.
+ HeaderApiKey(ctx context.Context, operationName OperationName, client *Client) (HeaderApiKey, error)
+}
+
+func (s *Client) securityHeaderApiKey(ctx context.Context, operationName OperationName, req *http.Request) error {
+ t, err := s.sec.HeaderApiKey(ctx, operationName, s)
+ if err != nil {
+ return errors.Wrap(err, "security source \"HeaderApiKey\"")
+ }
+ req.Header.Set("Authorization", t.APIKey)
+ return nil
+}
diff --git a/pkg/api/wb/client/oas_server_gen.go b/pkg/api/wb/client/oas_server_gen.go
new file mode 100644
index 0000000..e62cfa5
--- /dev/null
+++ b/pkg/api/wb/client/oas_server_gen.go
@@ -0,0 +1,951 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "context"
+)
+
+// Handler handles operations described by OpenAPI v3 specification.
+type Handler interface {
+ // APIV2BufferGoodsTaskGet implements GET /api/v2/buffer/goods/task operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π²
+ // ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈΠ· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+ //
+ // ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+ // ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+ // Π°ΠΊΡΠΈΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/buffer/goods/task
+ APIV2BufferGoodsTaskGet(ctx context.Context, params APIV2BufferGoodsTaskGetParams) (APIV2BufferGoodsTaskGetRes, error)
+ // APIV2BufferTasksGet implements GET /api/v2/buffer/tasks operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΈΠ΄ΠΎΠΊ Π²
+ // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+ //
+ // ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+ // ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+ // Π°ΠΊΡΠΈΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/buffer/tasks
+ APIV2BufferTasksGet(ctx context.Context, params APIV2BufferTasksGetParams) (APIV2BufferTasksGetRes, error)
+ // APIV2HistoryGoodsTaskGet implements GET /api/v2/history/goods/task operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΠ±
+ // ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/history/goods/task
+ APIV2HistoryGoodsTaskGet(ctx context.Context, params APIV2HistoryGoodsTaskGetParams) (APIV2HistoryGoodsTaskGetRes, error)
+ // APIV2HistoryTasksGet implements GET /api/v2/history/tasks operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ
+ // Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/history/tasks
+ APIV2HistoryTasksGet(ctx context.Context, params APIV2HistoryTasksGetParams) (APIV2HistoryTasksGetRes, error)
+ // APIV2ListGoodsFilterGet implements GET /api/v2/list/goods/filter operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΠΎ ΠΈΡ
+ // Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ [WB
+ // ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+ //
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°,
+ // ΠΎΡΡΠ°Π²ΡΡΠ΅ Π°ΡΡΠΈΠΊΡΠ» ΠΏΡΡΡΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `limit=1000`, Π²
+ // ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ `offset` ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ
+ // Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅: `offset`
+ // ΠΏΠ»ΡΡ `limit` ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ,
+ // ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ²Π΅Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ
+ // ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΡΠΎΠ²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
+ // [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/list/goods/filter
+ APIV2ListGoodsFilterGet(ctx context.Context, params APIV2ListGoodsFilterGetParams) (APIV2ListGoodsFilterGetRes, error)
+ // APIV2ListGoodsSizeNmGet implements GET /api/v2/list/goods/size/nm operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
+ // ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π΄Π»Ρ [WB
+ // ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+ //
+ // Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+ // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+ // ΡΠ°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² `editableSizePrice: true`.
+ //
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΠΎΠ²Π°ΡΠ΅,
+ // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/list/goods/size/nm
+ APIV2ListGoodsSizeNmGet(ctx context.Context, params APIV2ListGoodsSizeNmGetParams) (APIV2ListGoodsSizeNmGetRes, error)
+ // APIV2QuarantineGoodsGet implements GET /api/v2/quarantine/goods operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅.
+ //
+ // ΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Β 3
+ // ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ, ΡΠΎΠ²Π°Ρ ΠΏΠΎΠΏΠ°Π΄ΡΡ [Π²
+ // ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½](https://seller.wildberries.ru/discount-and-prices/quarantine) ΠΈ Π±ΡΠ΄Π΅Ρ
+ // ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎΒ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π½Π΅. ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Β ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²
+ // ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² [ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
+ // Π·Π°Π³ΡΡΠ·ΠΎΠΊ](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1tasks/get).
+ //
+ // ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ
+ // Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·Β ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° [Π²Β Π»ΠΈΡΠ½ΠΎΠΌ
+ // ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/discount-and-prices/quarantine).
+ //
+ // ΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ [ΠΏΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ
+ // ΡΠ΅Π½](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post)
+ // ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // GET /api/v2/quarantine/goods
+ APIV2QuarantineGoodsGet(ctx context.Context, params APIV2QuarantineGoodsGetParams) (APIV2QuarantineGoodsGetRes, error)
+ // APIV2UploadTaskClubDiscountPost implements POST /api/v2/upload/task/club-discount operation.
+ //
+ // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ [WB
+ // ΠΠ»ΡΠ±](https://seller.wildberries.ru/help-center/article/A-337).
+ //
+ // ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+ // ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /api/v2/upload/task/club-discount
+ APIV2UploadTaskClubDiscountPost(ctx context.Context, req *APIV2UploadTaskClubDiscountPostReq) (APIV2UploadTaskClubDiscountPostRes, error)
+ // APIV2UploadTaskPost implements POST /api/v2/upload/task operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°,
+ // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post).
+ //
+ // ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+ // ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /api/v2/upload/task
+ APIV2UploadTaskPost(ctx context.Context, req *APIV2UploadTaskPostReq) (APIV2UploadTaskPostRes, error)
+ // APIV2UploadTaskSizePost implements POST /api/v2/upload/task/size operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+ // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+ // [ΡΠ°ΠΊΠΈΡ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get) `editableSizePrice: true`.
+ // Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ²,
+ // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task/post).
+ //
+ // ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+ // ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+ // Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /api/v2/upload/task/size
+ APIV2UploadTaskSizePost(ctx context.Context, req *APIV2UploadTaskSizePostReq) (APIV2UploadTaskSizePostRes, error)
+ // APIV3OfficesGet implements GET /api/v3/offices operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² WB Π΄Π»Ρ
+ // ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠΊΠ»Π°Π΄Π°ΠΌ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ
+ // ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ
+ // ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // GET /api/v3/offices
+ APIV3OfficesGet(ctx context.Context) (APIV3OfficesGetRes, error)
+ // APIV3StocksWarehouseIdDelete implements DELETE /api/v3/stocks/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ·
+ // [ΡΠΏΠΈΡΠΊΠ°
+ // ΠΎΡΡΠ°ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+ //
+ // ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎ. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ
+ // Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ
+ // Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // DELETE /api/v3/stocks/{warehouseId}
+ APIV3StocksWarehouseIdDelete(ctx context.Context, req *APIV3StocksWarehouseIdDeleteReq, params APIV3StocksWarehouseIdDeleteParams) (APIV3StocksWarehouseIdDeleteRes, error)
+ // APIV3StocksWarehouseIdPost implements POST /api/v3/stocks/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π°
+ // [ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°](/openapi/work-with-products#tag/Sklady-prodavca).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // POST /api/v3/stocks/{warehouseId}
+ APIV3StocksWarehouseIdPost(ctx context.Context, req *APIV3StocksWarehouseIdPostReq, params APIV3StocksWarehouseIdPostParams) (APIV3StocksWarehouseIdPostRes, error)
+ // APIV3StocksWarehouseIdPut implements PUT /api/v3/stocks/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ²
+ // ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [Π²
+ // ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+ //
+ // ΠΠ°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΡΡΡΡ. ΠΡΠΈ
+ // ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ
+ // ΠΎΡΠ²Π΅Ρ (204), Π½ΠΎ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡΡΡ.
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // PUT /api/v3/stocks/{warehouseId}
+ APIV3StocksWarehouseIdPut(ctx context.Context, req OptAPIV3StocksWarehouseIdPutReq, params APIV3StocksWarehouseIdPutParams) (APIV3StocksWarehouseIdPutRes, error)
+ // APIV3WarehousesGet implements GET /api/v3/warehouses operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ // ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ [ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // GET /api/v3/warehouses
+ APIV3WarehousesGet(ctx context.Context) (APIV3WarehousesGetRes, error)
+ // APIV3WarehousesPost implements POST /api/v3/warehouses operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ [ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post). ΠΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [ΡΠΊΠ»Π°Π΄ WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+ //
+ // ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // POST /api/v3/warehouses
+ APIV3WarehousesPost(ctx context.Context, req *APIV3WarehousesPostReq) (APIV3WarehousesPostRes, error)
+ // APIV3WarehousesWarehouseIdDelete implements DELETE /api/v3/warehouses/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+ // ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // DELETE /api/v3/warehouses/{warehouseId}
+ APIV3WarehousesWarehouseIdDelete(ctx context.Context, params APIV3WarehousesWarehouseIdDeleteParams) (APIV3WarehousesWarehouseIdDeleteRes, error)
+ // APIV3WarehousesWarehouseIdPut implements PUT /api/v3/warehouses/{warehouseId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π² [ΡΠΏΠΈΡΠΊΠ΅
+ // ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+ // ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ [ΡΠΊΠ»Π°Π΄Π΅
+ // WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) ΠΌΠΎΠΆΠ½ΠΎ
+ // ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΡΡΠΊΠΈ.
+ //
+ // ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+ //
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+ // ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ //
+ // ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+ // Π·Π°ΠΏΡΠΎΡΠΎΠ²
+ //
.
+ //
+ // PUT /api/v3/warehouses/{warehouseId}
+ APIV3WarehousesWarehouseIdPut(ctx context.Context, req *APIV3WarehousesWarehouseIdPutReq, params APIV3WarehousesWarehouseIdPutParams) (APIV3WarehousesWarehouseIdPutRes, error)
+ // ContentV2BarcodesPost implements POST /content/v2/barcodes operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ
+ // ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² [ΠΊΠ°ΡΡΠΎΡΠΊΠ΅
+ // ΡΠΎΠ²Π°ΡΠ°](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post). ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+ // .
+ //
+ // POST /content/v2/barcodes
+ ContentV2BarcodesPost(ctx context.Context, req *ContentV2BarcodesPostReq) (ContentV2BarcodesPostRes, error)
+ // ContentV2CardsDeleteTrashPost implements POST /content/v2/cards/delete/trash operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+ // ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ [Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1recover/post).
+ //
+ // ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°
+ // ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ imtID.
+ //
+ // ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π°Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π»Π΅ΠΆΠ°Ρ
+ // Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 Π΄Π½Π΅ΠΉ. ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ
+ // ΠΊΠ°ΠΆΠ΄ΡΡ Π½ΠΎΡΡ ΠΏΠΎ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
+ // ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²
+ // [Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/new-goods/basket-cards).
+ // .
+ //
+ // POST /content/v2/cards/delete/trash
+ ContentV2CardsDeleteTrashPost(ctx context.Context, req *ContentV2CardsDeleteTrashPostReq) (ContentV2CardsDeleteTrashPostRes, error)
+ // ContentV2CardsErrorListGet implements GET /content/v2/cards/error/list operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈ
+ // ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ
+ // ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
+ //
+ // Π§ΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ
+ // ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
+ //
+ // .
+ //
+ // GET /content/v2/cards/error/list
+ ContentV2CardsErrorListGet(ctx context.Context, params ContentV2CardsErrorListGetParams) (ContentV2CardsErrorListGetRes, error)
+ // ContentV2CardsLimitsGet implements GET /content/v2/cards/limits operation.
+ //
+ // ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π½Π°
+ // [ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post).
+ // Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅
+ // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ:
+ // > (`freeLimits` + `paidLimits`) - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
+ // ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+ // .
+ //
+ // GET /content/v2/cards/limits
+ ContentV2CardsLimitsGet(ctx context.Context) (ContentV2CardsLimitsGetRes, error)
+ // ContentV2CardsRecoverPost implements POST /content/v2/cards/recover operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ·
+ // ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+ //
+ // .
+ //
+ // POST /content/v2/cards/recover
+ ContentV2CardsRecoverPost(ctx context.Context, req *ContentV2CardsRecoverPostReq) (ContentV2CardsRecoverPostRes, error)
+ // ContentV2CardsUpdatePost implements POST /content/v2/cards/update operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ². ΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ
+ // ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+ //
+ // ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
+ // ΠΠΎΡΡΠΎΠΌΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠ΅
+ // ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅
+ // ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ.
+ //
+ // ΠΠ΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π±Π°ΡΠΊΠΎΠ΄Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ
+ // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°ΡΠΊΠΎΠ΄ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ // ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ `photos`, `video` ΠΈ `tags` ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ
+ // ΡΠ΅ΡΠ΅Π· Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ.
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+ // Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+ //
+ // Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 3000
+ // ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² (`nmID`). ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10
+ // ΠΠ±.
+ // ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+ // ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+ // Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /content/v2/cards/update
+ ContentV2CardsUpdatePost(ctx context.Context, req []ContentV2CardsUpdatePostReqItem) (ContentV2CardsUpdatePostRes, error)
+ // ContentV2CardsUploadAddPost implements POST /content/v2/cards/upload/add operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΠΈΡ
+ // ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌ.
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+ // Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+ //
+ // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+ // ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+ // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+ // ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+ // ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+ // Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /content/v2/cards/upload/add
+ ContentV2CardsUploadAddPost(ctx context.Context, req OptContentV2CardsUploadAddPostReq) (ContentV2CardsUploadAddPostRes, error)
+ // ContentV2CardsUploadPost implements POST /content/v2/cards/upload operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² c ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΈ
+ // Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // ΠΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°: Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΈ
+ // ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+ // Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+ //
+ // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+ // ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+ // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
+ // Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 100
+ // ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊΒ ΡΠΎΠ²Π°ΡΠΎΠ² (`imtID`), ΠΏΠΎΒ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ² Π²Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+ // ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+ // ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+ //
+ // ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+ // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+ // Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+ // Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+ //
.
+ //
+ // POST /content/v2/cards/upload
+ ContentV2CardsUploadPost(ctx context.Context, req []ContentV2CardsUploadPostReqItem) (ContentV2CardsUploadPostRes, error)
+ // ContentV2DirectoryColorsGet implements GET /content/v2/directory/colors operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π¦Π²Π΅Ρ`.
+ // .
+ //
+ // GET /content/v2/directory/colors
+ ContentV2DirectoryColorsGet(ctx context.Context, params ContentV2DirectoryColorsGetParams) (ContentV2DirectoryColorsGetRes, error)
+ // ContentV2DirectoryCountriesGet implements GET /content/v2/directory/countries operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°`.
+ // .
+ //
+ // GET /content/v2/directory/countries
+ ContentV2DirectoryCountriesGet(ctx context.Context, params ContentV2DirectoryCountriesGetParams) (ContentV2DirectoryCountriesGetRes, error)
+ // ContentV2DirectoryKindsGet implements GET /content/v2/directory/kinds operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `ΠΠΎΠ»`.
+ // .
+ //
+ // GET /content/v2/directory/kinds
+ ContentV2DirectoryKindsGet(ctx context.Context, params ContentV2DirectoryKindsGetParams) (ContentV2DirectoryKindsGetRes, error)
+ // ContentV2DirectorySeasonsGet implements GET /content/v2/directory/seasons operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘Π΅Π·ΠΎΠ½`.
+ // .
+ //
+ // GET /content/v2/directory/seasons
+ ContentV2DirectorySeasonsGet(ctx context.Context, params ContentV2DirectorySeasonsGetParams) (ContentV2DirectorySeasonsGetRes, error)
+ // ContentV2DirectoryTnvedGet implements GET /content/v2/directory/tnved operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π’ΠΠΠΠ-ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎ ID
+ // [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get) ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Π°.
+ // .
+ //
+ // GET /content/v2/directory/tnved
+ ContentV2DirectoryTnvedGet(ctx context.Context, params ContentV2DirectoryTnvedGetParams) (ContentV2DirectoryTnvedGetRes, error)
+ // ContentV2DirectoryVatGet implements GET /content/v2/directory/vat operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+ // [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘`.
+ // .
+ //
+ // GET /content/v2/directory/vat
+ ContentV2DirectoryVatGet(ctx context.Context, params ContentV2DirectoryVatGetParams) (ContentV2DirectoryVatGetRes, error)
+ // ContentV2GetCardsListPost implements POST /content/v2/get/cards/list operation.
+ //
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ //
+ // Π ΠΎΡΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΡ Π²
+ // ΠΊΠΎΡΠ·ΠΈΠ½Π΅. ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π·
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
+ //
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+ // Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+ //
+ // - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+ //
+ // {
+ // "settings": {
+ // "cursor": {
+ // "limit": 100
+ // },
+ // "filter": {
+ // "withPhoto": -1
+ // }
+ // }
+ // }
+ //
+ // - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+ //
+ // "updatedAt": "***"
+ // "nmID": ***
+ //
+ // - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+ //
cursor.
+ // - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+ // - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+ //
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+ // limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+ // ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+ //
+ // .
+ //
+ // POST /content/v2/get/cards/list
+ ContentV2GetCardsListPost(ctx context.Context, req *ContentV2GetCardsListPostReq, params ContentV2GetCardsListPostParams) (ContentV2GetCardsListPostRes, error)
+ // ContentV2GetCardsTrashPost implements POST /content/v2/get/cards/trash operation.
+ //
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+ // ΠΊΠΎΡΠ·ΠΈΠ½Π΅.
+ // Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+ // Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+ //
+ // - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+ //
+ // {
+ // "settings": {
+ // "cursor": {
+ // "limit": 100
+ // },
+ // "filter": {
+ // "withPhoto": -1
+ // }
+ // }
+ // }
+ //
+ // - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+ //
+ // "trashedAt": "***"
+ // "nmID": ***
+ //
+ // - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+ //
cursor.
+ // - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+ // - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+ //
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+ // limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+ // ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+ //
+ // .
+ //
+ // POST /content/v2/get/cards/trash
+ ContentV2GetCardsTrashPost(ctx context.Context, req *ContentV2GetCardsTrashPostReq, params ContentV2GetCardsTrashPostParams) (ContentV2GetCardsTrashPostRes, error)
+ // ContentV2ObjectAllGet implements GET /content/v2/object/all operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ [ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ
+ // ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1parent~1all/get) ΠΈ ΠΈΡ
ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² Ρ ID. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ `ΠΠ³ΡΡΡΠΊΠΈ` Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ `ΠΠ°Π»Π΅ΠΉΠ΄ΠΎΡΠΊΠΎΠΏΡ`, `ΠΡΠΊΠ»Ρ`, `ΠΡΡΠΈΠΊΠΈ`.
+ // .
+ //
+ // GET /content/v2/object/all
+ ContentV2ObjectAllGet(ctx context.Context, params ContentV2ObjectAllGetParams) (ContentV2ObjectAllGetRes, error)
+ // ContentV2ObjectCharcsSubjectIdGet implements GET /content/v2/object/charcs/{subjectId} operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ
+ // ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ
+ // ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ID
+ // [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get).
+ //
+ // .
+ //
+ // GET /content/v2/object/charcs/{subjectId}
+ ContentV2ObjectCharcsSubjectIdGet(ctx context.Context, params ContentV2ObjectCharcsSubjectIdGetParams) (ContentV2ObjectCharcsSubjectIdGetRes, error)
+ // ContentV2ObjectParentAllGet implements GET /content/v2/object/parent/all operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ID Π²ΡΠ΅Ρ
ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+ // ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ [ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+ // ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
+ // `ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°`, `ΠΡΡΠΎΠ²Π°Ρ Ρ
ΠΈΠΌΠΈΡ`, `Π ΡΠΊΠΎΠ΄Π΅Π»ΠΈΠ΅`.
+ // .
+ //
+ // GET /content/v2/object/parent/all
+ ContentV2ObjectParentAllGet(ctx context.Context, params ContentV2ObjectParentAllGetParams) (ContentV2ObjectParentAllGetRes, error)
+ // ContentV2TagNomenclatureLinkPost implements POST /content/v2/tag/nomenclature/link operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ»ΡΠΊ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+ // Π ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 15 ΡΡΠ»ΡΠΊΠΎΠ².
+ // ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ»ΡΠΊΠ° ΠΈΠ· ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΎΠ½ Π½Π΅
+ // ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+ // ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get)
+ // ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+ // .
+ //
+ // POST /content/v2/tag/nomenclature/link
+ ContentV2TagNomenclatureLinkPost(ctx context.Context, req *ContentV2TagNomenclatureLinkPostReq) (ContentV2TagNomenclatureLinkPostRes, error)
+ // ContentV2TagsGet implements GET /content/v2/tags operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ
+ // ΡΡΠ»ΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
+ // ΡΠΎΠ²Π°ΡΠΎΠ².
+ // .
+ //
+ // GET /content/v2/tags
+ ContentV2TagsGet(ctx context.Context) (ContentV2TagsGetRes, error)
+ // ContentV3MediaFilePost implements POST /content/v3/media/file operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ» ΠΊ
+ // ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700x900 px
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+ // .
+ //
+ // POST /content/v3/media/file
+ ContentV3MediaFilePost(ctx context.Context, req *ContentV3MediaFilePostReq, params ContentV3MediaFilePostParams) (ContentV3MediaFilePostRes, error)
+ // ContentV3MediaSavePost implements POST /content/v3/media/save operation.
+ //
+ // ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ°
+ // ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
+ //
+ // ΠΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΡΡΠ΅. Π§ΡΠΎΠ±Ρ
+ // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
+ // ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ.
+ //
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700Γ900 px
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+ // * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+ // Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+ // * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+ // * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+ // ΠΡΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅
+ // ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ
+ // ΠΎΡΠ²Π΅ΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅/Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ.
+ // .
+ //
+ // POST /content/v3/media/save
+ ContentV3MediaSavePost(ctx context.Context, req *ContentV3MediaSavePostReq) (ContentV3MediaSavePostRes, error)
+}
+
+// Server implements http server based on OpenAPI v3 specification and
+// calls Handler to handle requests.
+type Server struct {
+ h Handler
+ sec SecurityHandler
+ baseServer
+}
+
+// NewServer creates new Server.
+func NewServer(h Handler, sec SecurityHandler, opts ...ServerOption) (*Server, error) {
+ s, err := newServerConfig(opts...).baseServer()
+ if err != nil {
+ return nil, err
+ }
+ return &Server{
+ h: h,
+ sec: sec,
+ baseServer: s,
+ }, nil
+}
diff --git a/pkg/api/wb/client/oas_unimplemented_gen.go b/pkg/api/wb/client/oas_unimplemented_gen.go
new file mode 100644
index 0000000..e090ac5
--- /dev/null
+++ b/pkg/api/wb/client/oas_unimplemented_gen.go
@@ -0,0 +1,1062 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "context"
+
+ ht "github.com/ogen-go/ogen/http"
+)
+
+// UnimplementedHandler is no-op Handler which returns http.ErrNotImplemented.
+type UnimplementedHandler struct{}
+
+var _ Handler = UnimplementedHandler{}
+
+// APIV2BufferGoodsTaskGet implements GET /api/v2/buffer/goods/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π²
+// ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈΠ· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+//
+// ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+// ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+// Π°ΠΊΡΠΈΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/buffer/goods/task
+func (UnimplementedHandler) APIV2BufferGoodsTaskGet(ctx context.Context, params APIV2BufferGoodsTaskGetParams) (r APIV2BufferGoodsTaskGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2BufferTasksGet implements GET /api/v2/buffer/tasks operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΈΠ΄ΠΎΠΊ Π²
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
+//
+// ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠΈΠ΄ΠΎΠΊ Π΄Π»Ρ
ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π°ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅
+// ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊ ΡΠΎΠ²Π°ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π°
+// Π°ΠΊΡΠΈΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/buffer/tasks
+func (UnimplementedHandler) APIV2BufferTasksGet(ctx context.Context, params APIV2BufferTasksGetParams) (r APIV2BufferTasksGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2HistoryGoodsTaskGet implements GET /api/v2/history/goods/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΈ ΠΎΠ±
+// ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/history/goods/task
+func (UnimplementedHandler) APIV2HistoryGoodsTaskGet(ctx context.Context, params APIV2HistoryGoodsTaskGetParams) (r APIV2HistoryGoodsTaskGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2HistoryTasksGet implements GET /api/v2/history/tasks operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ
+// Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅Π½ ΠΈ ΡΠΊΠΈΠ΄ΠΎΠΊ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/history/tasks
+func (UnimplementedHandler) APIV2HistoryTasksGet(ctx context.Context, params APIV2HistoryTasksGetParams) (r APIV2HistoryTasksGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2ListGoodsFilterGet implements GET /api/v2/list/goods/filter operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΠΎ ΠΈΡ
+// Π°ΡΡΠΈΠΊΡΠ»Π°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ [WB
+// ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²Π°ΡΠ°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°,
+// ΠΎΡΡΠ°Π²ΡΡΠ΅ Π°ΡΡΠΈΠΊΡΠ» ΠΏΡΡΡΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `limit=1000`, Π²
+// ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ `offset` ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ
+// Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅: `offset`
+// ΠΏΠ»ΡΡ `limit` ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ,
+// ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ²Π΅Ρ Ρ ΠΏΡΡΡΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΡΠΎΠ²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
+// [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/list/goods/filter
+func (UnimplementedHandler) APIV2ListGoodsFilterGet(ctx context.Context, params APIV2ListGoodsFilterGetParams) (r APIV2ListGoodsFilterGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2ListGoodsSizeNmGet implements GET /api/v2/list/goods/size/nm operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
+// ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°ΠΌ: ΡΠ΅Π½Ρ, Π²Π°Π»ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π΄Π»Ρ [WB
+// ΠΠ»ΡΠ±Π°](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
+//
+// Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+// ΡΠ°ΠΊΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ² `editableSizePrice: true`.
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΠΎΠ²Π°ΡΠ΅,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/list/goods/size/nm
+func (UnimplementedHandler) APIV2ListGoodsSizeNmGet(ctx context.Context, params APIV2ListGoodsSizeNmGetParams) (r APIV2ListGoodsSizeNmGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2QuarantineGoodsGet implements GET /api/v2/quarantine/goods operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ
Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π΅.
+//
+// ΠΡΠ»ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ° ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Β 3
+// ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠΉ, ΡΠΎΠ²Π°Ρ ΠΏΠΎΠΏΠ°Π΄ΡΡ [Π²
+// ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½](https://seller.wildberries.ru/discount-and-prices/quarantine) ΠΈ Π±ΡΠ΄Π΅Ρ
+// ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎΒ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π½Π΅. ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Β ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²
+// ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² [ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
+// Π·Π°Π³ΡΡΠ·ΠΎΠΊ](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1tasks/get).
+//
+// ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Π»ΠΈΠ±ΠΎ
+// Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·Β ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° [Π²Β Π»ΠΈΡΠ½ΠΎΠΌ
+// ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/discount-and-prices/quarantine).
+//
+// ΠΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Ρ [ΠΏΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ
+// ΡΠ΅Π½](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post)
+// ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// GET /api/v2/quarantine/goods
+func (UnimplementedHandler) APIV2QuarantineGoodsGet(ctx context.Context, params APIV2QuarantineGoodsGetParams) (r APIV2QuarantineGoodsGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2UploadTaskClubDiscountPost implements POST /api/v2/upload/task/club-discount operation.
+//
+// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ [WB
+// ΠΠ»ΡΠ±](https://seller.wildberries.ru/help-center/article/A-337).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task/club-discount
+func (UnimplementedHandler) APIV2UploadTaskClubDiscountPost(ctx context.Context, req *APIV2UploadTaskClubDiscountPostReq) (r APIV2UploadTaskClubDiscountPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2UploadTaskPost implements POST /api/v2/upload/task operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ²Π°ΡΠ°,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task
+func (UnimplementedHandler) APIV2UploadTaskPost(ctx context.Context, req *APIV2UploadTaskPostReq) (r APIV2UploadTaskPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV2UploadTaskSizePost implements POST /api/v2/upload/task/size operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ
+// [ΡΠ°ΠΊΠΈΡ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get) `editableSizePrice: true`.
+// Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ²,
+// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// ΠΌΠ΅ΡΠΎΠ΄](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task/post).
+//
+// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ ΠΈ
+// ΡΠΊΠΈΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ
Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌΒ 10Β Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°Β 6Β
ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
Π¦Π΅Π½Ρ ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ
+// Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /api/v2/upload/task/size
+func (UnimplementedHandler) APIV2UploadTaskSizePost(ctx context.Context, req *APIV2UploadTaskSizePostReq) (r APIV2UploadTaskSizePostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3OfficesGet implements GET /api/v3/offices operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² WB Π΄Π»Ρ
+// ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠΊΠ»Π°Π΄Π°ΠΌ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ
+// ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠ»Π°Π΄ΠΎΠ² WB, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°ΠΊΠ°Π·Ρ
+// ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// GET /api/v3/offices
+func (UnimplementedHandler) APIV3OfficesGet(ctx context.Context) (r APIV3OfficesGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3StocksWarehouseIdDelete implements DELETE /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ·
+// [ΡΠΏΠΈΡΠΊΠ°
+// ΠΎΡΡΠ°ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎ. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ
+// Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ
+// Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// DELETE /api/v3/stocks/{warehouseId}
+func (UnimplementedHandler) APIV3StocksWarehouseIdDelete(ctx context.Context, req *APIV3StocksWarehouseIdDeleteReq, params APIV3StocksWarehouseIdDeleteParams) (r APIV3StocksWarehouseIdDeleteRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3StocksWarehouseIdPost implements POST /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΡΡΠ°ΡΠΊΠ°Ρ
ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π°
+// [ΡΠΊΠ»Π°Π΄Π°Ρ
ΠΏΡΠΎΠ΄Π°Π²ΡΠ°](/openapi/work-with-products#tag/Sklady-prodavca).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// POST /api/v3/stocks/{warehouseId}
+func (UnimplementedHandler) APIV3StocksWarehouseIdPost(ctx context.Context, req *APIV3StocksWarehouseIdPostReq, params APIV3StocksWarehouseIdPostParams) (r APIV3StocksWarehouseIdPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3StocksWarehouseIdPut implements PUT /api/v3/stocks/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠ²Π°ΡΠΎΠ²
+// ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [Π²
+// ΡΠΏΠΈΡΠΊΠ΅](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΡΡΡΡ. ΠΡΠΈ
+// ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ
+// ΠΎΡΠ²Π΅Ρ (204), Π½ΠΎ ΠΎΡΡΠ°ΡΠΊΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡΡΡ.
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// PUT /api/v3/stocks/{warehouseId}
+func (UnimplementedHandler) APIV3StocksWarehouseIdPut(ctx context.Context, req OptAPIV3StocksWarehouseIdPutReq, params APIV3StocksWarehouseIdPutParams) (r APIV3StocksWarehouseIdPutRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3WarehousesGet implements GET /api/v3/warehouses operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+// ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ [ΠΎΡΡΠ°ΡΠΊΠΎΠ²
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// GET /api/v3/warehouses
+func (UnimplementedHandler) APIV3WarehousesGet(ctx context.Context) (r APIV3WarehousesGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3WarehousesPost implements POST /api/v3/warehouses operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ [ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post). ΠΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠΊΠ»Π°Π΄Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° [ΡΠΊΠ»Π°Π΄ WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// POST /api/v3/warehouses
+func (UnimplementedHandler) APIV3WarehousesPost(ctx context.Context, req *APIV3WarehousesPostReq) (r APIV3WarehousesPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3WarehousesWarehouseIdDelete implements DELETE /api/v3/warehouses/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+// ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// DELETE /api/v3/warehouses/{warehouseId}
+func (UnimplementedHandler) APIV3WarehousesWarehouseIdDelete(ctx context.Context, params APIV3WarehousesWarehouseIdDeleteParams) (r APIV3WarehousesWarehouseIdDeleteRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// APIV3WarehousesWarehouseIdPut implements PUT /api/v3/warehouses/{warehouseId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ»Π°Π΄Π° ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π² [ΡΠΏΠΈΡΠΊΠ΅
+// ΡΠΊΠ»Π°Π΄ΠΎΠ²](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
+// ΠΠ°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ [ΡΠΊΠ»Π°Π΄Π΅
+// WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) ΠΌΠΎΠΆΠ½ΠΎ
+// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΡΡΠΊΠΈ.
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΠ»Π°Π΄ WB, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
+//
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 300 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ Π½Π°
+// ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+//
+// ΠΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ°
409 ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 5
+// Π·Π°ΠΏΡΠΎΡΠΎΠ²
+//
.
+//
+// PUT /api/v3/warehouses/{warehouseId}
+func (UnimplementedHandler) APIV3WarehousesWarehouseIdPut(ctx context.Context, req *APIV3WarehousesWarehouseIdPutReq, params APIV3WarehousesWarehouseIdPutParams) (r APIV3WarehousesWarehouseIdPutRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2BarcodesPost implements POST /content/v2/barcodes operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ
+// ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² [ΠΊΠ°ΡΡΠΎΡΠΊΠ΅
+// ΡΠΎΠ²Π°ΡΠ°](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post). ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π±Π°ΡΠΊΠΎΠ΄ΠΎΠ².
+// .
+//
+// POST /content/v2/barcodes
+func (UnimplementedHandler) ContentV2BarcodesPost(ctx context.Context, req *ContentV2BarcodesPostReq) (r ContentV2BarcodesPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2CardsDeleteTrashPost implements POST /content/v2/cards/delete/trash operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ [Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1recover/post).
+//
+// ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°
+// ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ imtID.
+//
+// ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠ΄Π°Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π»Π΅ΠΆΠ°Ρ
+// Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 30 Π΄Π½Π΅ΠΉ. ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ
+// ΠΊΠ°ΠΆΠ΄ΡΡ Π½ΠΎΡΡ ΠΏΠΎ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
+// ΠΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²
+// [Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅](https://seller.wildberries.ru/new-goods/basket-cards).
+// .
+//
+// POST /content/v2/cards/delete/trash
+func (UnimplementedHandler) ContentV2CardsDeleteTrashPost(ctx context.Context, req *ContentV2CardsDeleteTrashPostReq) (r ContentV2CardsDeleteTrashPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2CardsErrorListGet implements GET /content/v2/cards/error/list operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈ
+// ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ
+// ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
+//
+// Π§ΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ
+// ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
+//
+// .
+//
+// GET /content/v2/cards/error/list
+func (UnimplementedHandler) ContentV2CardsErrorListGet(ctx context.Context, params ContentV2CardsErrorListGetParams) (r ContentV2CardsErrorListGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2CardsLimitsGet implements GET /content/v2/cards/limits operation.
+//
+// ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π½Π°
+// [ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post).
+// Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅
+// ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ:
+// > (`freeLimits` + `paidLimits`) - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
+// ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+// .
+//
+// GET /content/v2/cards/limits
+func (UnimplementedHandler) ContentV2CardsLimitsGet(ctx context.Context) (r ContentV2CardsLimitsGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2CardsRecoverPost implements POST /content/v2/cards/recover operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ [ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ·
+// ΠΊΠΎΡΠ·ΠΈΠ½Ρ](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+//
+// .
+//
+// POST /content/v2/cards/recover
+func (UnimplementedHandler) ContentV2CardsRecoverPost(ctx context.Context, req *ContentV2CardsRecoverPostReq) (r ContentV2CardsRecoverPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2CardsUpdatePost implements POST /content/v2/cards/update operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ². ΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ
+// ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) ΠΈ [ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
+//
+// ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
+// ΠΠΎΡΡΠΎΠΌΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠ΅
+// ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅
+// ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ.
+//
+// ΠΠ΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π±Π°ΡΠΊΠΎΠ΄Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ
+// Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°ΡΠΊΠΎΠ΄ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+// ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ `photos`, `video` ΠΈ `tags` ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ
+// ΡΠ΅ΡΠ΅Π· Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ.
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 3000
+// ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² (`nmID`). ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10
+// ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/update
+func (UnimplementedHandler) ContentV2CardsUpdatePost(ctx context.Context, req []ContentV2CardsUpdatePostReqItem) (r ContentV2CardsUpdatePostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2CardsUploadAddPost implements POST /content/v2/cards/upload/add operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΠΈΡ
+// ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌ.
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+// ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/upload/add
+func (UnimplementedHandler) ContentV2CardsUploadAddPost(ctx context.Context, req OptContentV2CardsUploadAddPostReq) (r ContentV2CardsUploadAddPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2CardsUploadPost implements POST /content/v2/cards/upload operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² c ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΈ
+// Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// ΠΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°: Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΈ
+// ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// ΠΠ°Π±Π°ΡΠΈΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² `ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ
`,
+//
+// Π²Π΅Ρ ΡΠΎΠ²Π°ΡΠ° Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ β Π² `ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
`.
+//
+//
+// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ.
+// ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°
+// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
+// Π ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 100
+// ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊΒ ΡΠΎΠ²Π°ΡΠΎΠ² (`imtID`), ΠΏΠΎΒ 30 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ² Π²Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 10 ΠΠ±.
+// ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ `Π£ΡΠΏΠ΅ΡΠ½ΠΎ` (`200`), Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π΅
+// ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ [ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
+//
+// ΠΠ°ΠΊΡΠΈΠΌΡΠΌ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²
ΠΌΠΈΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
+// ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΠΎΠ΄ΠΈΠ½
+// Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π‘ 5 ΠΈΡΠ½Ρ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ
+// Π»ΠΈΠΌΠΈΡ β 10 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°
+//
.
+//
+// POST /content/v2/cards/upload
+func (UnimplementedHandler) ContentV2CardsUploadPost(ctx context.Context, req []ContentV2CardsUploadPostReqItem) (r ContentV2CardsUploadPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2DirectoryColorsGet implements GET /content/v2/directory/colors operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π¦Π²Π΅Ρ`.
+// .
+//
+// GET /content/v2/directory/colors
+func (UnimplementedHandler) ContentV2DirectoryColorsGet(ctx context.Context, params ContentV2DirectoryColorsGetParams) (r ContentV2DirectoryColorsGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2DirectoryCountriesGet implements GET /content/v2/directory/countries operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°`.
+// .
+//
+// GET /content/v2/directory/countries
+func (UnimplementedHandler) ContentV2DirectoryCountriesGet(ctx context.Context, params ContentV2DirectoryCountriesGetParams) (r ContentV2DirectoryCountriesGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2DirectoryKindsGet implements GET /content/v2/directory/kinds operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `ΠΠΎΠ»`.
+// .
+//
+// GET /content/v2/directory/kinds
+func (UnimplementedHandler) ContentV2DirectoryKindsGet(ctx context.Context, params ContentV2DirectoryKindsGetParams) (r ContentV2DirectoryKindsGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2DirectorySeasonsGet implements GET /content/v2/directory/seasons operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘Π΅Π·ΠΎΠ½`.
+// .
+//
+// GET /content/v2/directory/seasons
+func (UnimplementedHandler) ContentV2DirectorySeasonsGet(ctx context.Context, params ContentV2DirectorySeasonsGetParams) (r ContentV2DirectorySeasonsGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2DirectoryTnvedGet implements GET /content/v2/directory/tnved operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π’ΠΠΠΠ-ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎ ID
+// [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get) ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π’ΠΠΠΠ-ΠΊΠΎΠ΄Π°.
+// .
+//
+// GET /content/v2/directory/tnved
+func (UnimplementedHandler) ContentV2DirectoryTnvedGet(ctx context.Context, params ContentV2DirectoryTnvedGetParams) (r ContentV2DirectoryTnvedGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2DirectoryVatGet implements GET /content/v2/directory/vat operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
+// [Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° `Π‘ΡΠ°Π²ΠΊΠ° ΠΠΠ‘`.
+// .
+//
+// GET /content/v2/directory/vat
+func (UnimplementedHandler) ContentV2DirectoryVatGet(ctx context.Context, params ContentV2DirectoryVatGetParams) (r ContentV2DirectoryVatGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2GetCardsListPost implements POST /content/v2/get/cards/list operation.
+//
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+//
+// Π ΠΎΡΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΡ Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Π΅. ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π·
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
+//
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+// Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+//
+// - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+//
+// {
+// "settings": {
+// "cursor": {
+// "limit": 100
+// },
+// "filter": {
+// "withPhoto": -1
+// }
+// }
+// }
+//
+// - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+//
+// "updatedAt": "***"
+// "nmID": ***
+//
+// - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+//
cursor.
+// - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+// - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+//
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+// limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+//
+// .
+//
+// POST /content/v2/get/cards/list
+func (UnimplementedHandler) ContentV2GetCardsListPost(ctx context.Context, req *ContentV2GetCardsListPostReq, params ContentV2GetCardsListPostParams) (r ContentV2GetCardsListPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2GetCardsTrashPost implements POST /content/v2/get/cards/trash operation.
+//
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ
ΡΠΎΠΊΠ΅Π½Ρ Ρ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ
ΠΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ
ΠΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² Π²
+// ΠΊΠΎΡΠ·ΠΈΠ½Π΅.
+// Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ **Π±ΠΎΠ»ΡΡΠ΅ 100** ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ²,
+// Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ:
+//
+// - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
+//
+// {
+// "settings": {
+// "cursor": {
+// "limit": 100
+// },
+// "filter": {
+// "withPhoto": -1
+// }
+// }
+// }
+//
+// - ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΠ·
cursor Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
+//
+// "trashedAt": "***"
+// "nmID": ***
+//
+// - ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°
+//
cursor.
+// - ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
+// - ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΡΠΎ 2 ΠΏΠΎ 5, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅
+//
total Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
+// limit Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ
+// ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ.
+//
+// .
+//
+// POST /content/v2/get/cards/trash
+func (UnimplementedHandler) ContentV2GetCardsTrashPost(ctx context.Context, req *ContentV2GetCardsTrashPostReq, params ContentV2GetCardsTrashPostParams) (r ContentV2GetCardsTrashPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2ObjectAllGet implements GET /content/v2/object/all operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ [ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ
+// ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1parent~1all/get) ΠΈ ΠΈΡ
ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² Ρ ID. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ `ΠΠ³ΡΡΡΠΊΠΈ` Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ `ΠΠ°Π»Π΅ΠΉΠ΄ΠΎΡΠΊΠΎΠΏΡ`, `ΠΡΠΊΠ»Ρ`, `ΠΡΡΠΈΠΊΠΈ`.
+// .
+//
+// GET /content/v2/object/all
+func (UnimplementedHandler) ContentV2ObjectAllGet(ctx context.Context, params ContentV2ObjectAllGetParams) (r ContentV2ObjectAllGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2ObjectCharcsSubjectIdGet implements GET /content/v2/object/charcs/{subjectId} operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ
+// ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ
+// ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ID
+// [ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get).
+//
+// .
+//
+// GET /content/v2/object/charcs/{subjectId}
+func (UnimplementedHandler) ContentV2ObjectCharcsSubjectIdGet(ctx context.Context, params ContentV2ObjectCharcsSubjectIdGetParams) (r ContentV2ObjectCharcsSubjectIdGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2ObjectParentAllGet implements GET /content/v2/object/parent/all operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ID Π²ΡΠ΅Ρ
ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
+// ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ [ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
+// ΡΠΎΠ²Π°ΡΠΎΠ²](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
+// `ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°`, `ΠΡΡΠΎΠ²Π°Ρ Ρ
ΠΈΠΌΠΈΡ`, `Π ΡΠΊΠΎΠ΄Π΅Π»ΠΈΠ΅`.
+// .
+//
+// GET /content/v2/object/parent/all
+func (UnimplementedHandler) ContentV2ObjectParentAllGet(ctx context.Context, params ContentV2ObjectParentAllGetParams) (r ContentV2ObjectParentAllGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2TagNomenclatureLinkPost implements POST /content/v2/tag/nomenclature/link operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ»ΡΠΊ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°.
+// Π ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 15 ΡΡΠ»ΡΠΊΠΎΠ².
+// ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ»ΡΠΊΠ° ΠΈΠ· ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ° ΠΎΠ½ Π½Π΅
+// ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°
+// ΡΡΠ»ΡΠΊΠΎΠ²](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get)
+// ΠΏΡΠΎΠ΄Π°Π²ΡΠ°.
+// .
+//
+// POST /content/v2/tag/nomenclature/link
+func (UnimplementedHandler) ContentV2TagNomenclatureLinkPost(ctx context.Context, req *ContentV2TagNomenclatureLinkPostReq) (r ContentV2TagNomenclatureLinkPostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV2TagsGet implements GET /content/v2/tags operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ
+// ΡΡΠ»ΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
+// ΡΠΎΠ²Π°ΡΠΎΠ².
+// .
+//
+// GET /content/v2/tags
+func (UnimplementedHandler) ContentV2TagsGet(ctx context.Context) (r ContentV2TagsGetRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV3MediaFilePost implements POST /content/v3/media/file operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ» ΠΊ
+// ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΡΠΎΠ²Π°ΡΠ°.
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700x900 px
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+// .
+//
+// POST /content/v3/media/file
+func (UnimplementedHandler) ContentV3MediaFilePost(ctx context.Context, req *ContentV3MediaFilePostReq, params ContentV3MediaFilePostParams) (r ContentV3MediaFilePostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
+
+// ContentV3MediaSavePost implements POST /content/v3/media/save operation.
+//
+// ΠΠ΅ΡΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΡΠΎΡΠΊΡ ΡΠΎΠ²Π°ΡΠ°
+// ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
+//
+// ΠΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΡΡΠ΅. Π§ΡΠΎΠ±Ρ
+// Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
+// ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ.
+//
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°Β β 30
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 700Γ900 px
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 32Β ΠΠ±
+// * ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΒ β 65%
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β JPG, PNG, BMP, GIF (ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅), WebP
+// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ:
+// * ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΒ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°
+// * ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ β 50Β ΠΠ±
+// * ΡΠΎΡΠΌΠ°ΡΡΒ β MOV, MP4
+// ΠΡΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅
+// ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ
+// ΠΎΡΠ²Π΅ΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅/Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ.
+// .
+//
+// POST /content/v3/media/save
+func (UnimplementedHandler) ContentV3MediaSavePost(ctx context.Context, req *ContentV3MediaSavePostReq) (r ContentV3MediaSavePostRes, _ error) {
+ return r, ht.ErrNotImplemented
+}
diff --git a/pkg/api/wb/client/oas_validators_gen.go b/pkg/api/wb/client/oas_validators_gen.go
new file mode 100644
index 0000000..f12d229
--- /dev/null
+++ b/pkg/api/wb/client/oas_validators_gen.go
@@ -0,0 +1,1661 @@
+// Code generated by ogen, DO NOT EDIT.
+
+package api
+
+import (
+ "fmt"
+
+ "github.com/go-faster/errors"
+
+ "github.com/ogen-go/ogen/validate"
+)
+
+func (s APIV3OfficesGetOKApplicationJSON) Validate() error {
+ alias := ([]Office)(s)
+ if alias == nil {
+ return errors.New("nil is invalid value")
+ }
+ var failures []validate.FieldError
+ for i, elem := range alias {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *APIV3StocksWarehouseIdDeleteReq) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if s.Skus == nil {
+ return nil // optional
+ }
+ if err := (validate.Array{
+ MinLength: 1,
+ MinLengthSet: true,
+ MaxLength: 1000,
+ MaxLengthSet: true,
+ }).ValidateLength(len(s.Skus)); err != nil {
+ return errors.Wrap(err, "array")
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "skus",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *APIV3StocksWarehouseIdPostReq) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if s.Skus == nil {
+ return errors.New("nil is invalid value")
+ }
+ if err := (validate.Array{
+ MinLength: 1,
+ MinLengthSet: true,
+ MaxLength: 1000,
+ MaxLengthSet: true,
+ }).ValidateLength(len(s.Skus)); err != nil {
+ return errors.Wrap(err, "array")
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "skus",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *APIV3StocksWarehouseIdPutReq) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if s.Stocks == nil {
+ return errors.New("nil is invalid value")
+ }
+ if err := (validate.Array{
+ MinLength: 1,
+ MinLengthSet: true,
+ MaxLength: 1000,
+ MaxLengthSet: true,
+ }).ValidateLength(len(s.Stocks)); err != nil {
+ return errors.Wrap(err, "array")
+ }
+ var failures []validate.FieldError
+ for i, elem := range s.Stocks {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "stocks",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *APIV3StocksWarehouseIdPutReqStocksItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Amount.Get(); ok {
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: false,
+ Min: 0,
+ MaxSet: true,
+ Max: 100000,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(value)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "amount",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s APIV3WarehousesGetOKApplicationJSON) Validate() error {
+ alias := ([]Warehouse)(s)
+ if alias == nil {
+ return errors.New("nil is invalid value")
+ }
+ var failures []validate.FieldError
+ for i, elem := range alias {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *APIV3WarehousesPostReq) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if err := (validate.String{
+ MinLength: 1,
+ MinLengthSet: true,
+ MaxLength: 200,
+ MaxLengthSet: true,
+ Email: false,
+ Hostname: false,
+ Regex: nil,
+ }).Validate(string(s.Name)); err != nil {
+ return errors.Wrap(err, "string")
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "name",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: true,
+ Min: 1,
+ MaxSet: false,
+ Max: 0,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(s.OfficeId)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "officeId",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *APIV3WarehousesWarehouseIdPutReq) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if err := (validate.String{
+ MinLength: 1,
+ MinLengthSet: true,
+ MaxLength: 200,
+ MaxLengthSet: true,
+ Email: false,
+ Hostname: false,
+ Regex: nil,
+ }).Validate(string(s.Name)); err != nil {
+ return errors.Wrap(err, "string")
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "name",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if err := (validate.Int{
+ MinSet: true,
+ Min: 1,
+ MaxSet: false,
+ Max: 0,
+ MinExclusive: false,
+ MaxExclusive: false,
+ MultipleOfSet: false,
+ MultipleOf: 0,
+ }).Validate(int64(s.OfficeId)); err != nil {
+ return errors.Wrap(err, "int")
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "officeId",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUpdatePostReqItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Title.Get(); ok {
+ if err := func() error {
+ if err := (validate.String{
+ MinLength: 0,
+ MinLengthSet: false,
+ MaxLength: 60,
+ MaxLengthSet: true,
+ Email: false,
+ Hostname: false,
+ Regex: nil,
+ }).Validate(string(value)); err != nil {
+ return errors.Wrap(err, "string")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "title",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.Dimensions.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "dimensions",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if s.Sizes == nil {
+ return errors.New("nil is invalid value")
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "sizes",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUpdatePostReqItemDimensions) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.WeightBrutto.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "weightBrutto",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUpdatePostRequestEntityTooLarge) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Status.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "status",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadAddPostReq) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range s.CardsToAdd {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "cardsToAdd",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Title.Get(); ok {
+ if err := func() error {
+ if err := (validate.String{
+ MinLength: 0,
+ MinLengthSet: false,
+ MaxLength: 60,
+ MaxLengthSet: true,
+ Email: false,
+ Hostname: false,
+ Regex: nil,
+ }).Validate(string(value)); err != nil {
+ return errors.Wrap(err, "string")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "title",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.Dimensions.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "dimensions",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadAddPostReqCardsToAddItemDimensions) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.WeightBrutto.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "weightBrutto",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadAddPostRequestEntityTooLarge) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Status.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "status",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadPostReqItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if s.Variants == nil {
+ return errors.New("nil is invalid value")
+ }
+ var failures []validate.FieldError
+ for i, elem := range s.Variants {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "variants",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadPostReqItemVariantsItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Title.Get(); ok {
+ if err := func() error {
+ if err := (validate.String{
+ MinLength: 0,
+ MinLengthSet: false,
+ MaxLength: 60,
+ MaxLengthSet: true,
+ Email: false,
+ Hostname: false,
+ Regex: nil,
+ }).Validate(string(value)); err != nil {
+ return errors.Wrap(err, "string")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "title",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.Dimensions.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "dimensions",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadPostReqItemVariantsItemDimensions) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.WeightBrutto.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "weightBrutto",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2CardsUploadPostRequestEntityTooLarge) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Status.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "status",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2GetCardsListPostOK) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range s.Cards {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "cards",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2GetCardsListPostOKCardsItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Dimensions.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "dimensions",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2GetCardsListPostOKCardsItemDimensions) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.WeightBrutto.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "weightBrutto",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2GetCardsListPostOKHeaders) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if err := s.Response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "Response",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s ContentV2GetCardsTrashPostLocale) Validate() error {
+ switch s {
+ case "ru":
+ return nil
+ case "en":
+ return nil
+ case "zh":
+ return nil
+ default:
+ return errors.Errorf("invalid value: %v", s)
+ }
+}
+
+func (s *ContentV2GetCardsTrashPostOK) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range s.Cards {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "cards",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2GetCardsTrashPostOKCardsItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Dimensions.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "dimensions",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ContentV2GetCardsTrashPostOKCardsItemDimensions) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.WeightBrutto.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "weightBrutto",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *GoodsList) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range s.Sizes {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "sizes",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *GoodsListSizesItem) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.DiscountedPrice.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "discountedPrice",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.ClubDiscountedPrice.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "clubDiscountedPrice",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *Office) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Longitude.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "longitude",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.Latitude.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "latitude",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.CargoType.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "cargoType",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.DeliveryType.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "deliveryType",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s OfficeCargoType) Validate() error {
+ switch s {
+ case 1:
+ return nil
+ case 2:
+ return nil
+ case 3:
+ return nil
+ default:
+ return errors.Errorf("invalid value: %v", s)
+ }
+}
+
+func (s OfficeDeliveryType) Validate() error {
+ switch s {
+ case 1:
+ return nil
+ case 2:
+ return nil
+ case 3:
+ return nil
+ case 5:
+ return nil
+ case 6:
+ return nil
+ default:
+ return errors.Errorf("invalid value: %v", s)
+ }
+}
+
+func (s *QuarantineGoods) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.NewPrice.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "newPrice",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.OldPrice.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "oldPrice",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.PriceDiff.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "priceDiff",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *R401) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Status.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "status",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *R429) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Status.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "status",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *R429Headers) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if err := s.Response.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "Response",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ResponseGoodsLists) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Data.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "data",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ResponseGoodsListsData) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range s.ListGoods {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "listGoods",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ResponseQuarantineGoods) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Data.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "data",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ResponseQuarantineGoodsData) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range s.QuarantineGoods {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "quarantineGoods",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ResponseSizeLists) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.Data.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "data",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *ResponseSizeListsData) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ var failures []validate.FieldError
+ for i, elem := range s.ListGoods {
+ if err := func() error {
+ if err := elem.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: fmt.Sprintf("[%d]", i),
+ Error: err,
+ })
+ }
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "listGoods",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s *SizeGood) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.DiscountedPrice.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "discountedPrice",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.ClubDiscountedPrice.Get(); ok {
+ if err := func() error {
+ if err := (validate.Float{}).Validate(float64(value)); err != nil {
+ return errors.Wrap(err, "float")
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "clubDiscountedPrice",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s StocksWarehouseError) Validate() error {
+ alias := ([]StocksWarehouseErrorItem)(s)
+ if alias == nil {
+ return errors.New("nil is invalid value")
+ }
+ return nil
+}
+
+func (s *Warehouse) Validate() error {
+ if s == nil {
+ return validate.ErrNilPointer
+ }
+
+ var failures []validate.FieldError
+ if err := func() error {
+ if value, ok := s.CargoType.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "cargoType",
+ Error: err,
+ })
+ }
+ if err := func() error {
+ if value, ok := s.DeliveryType.Get(); ok {
+ if err := func() error {
+ if err := value.Validate(); err != nil {
+ return err
+ }
+ return nil
+ }(); err != nil {
+ return err
+ }
+ }
+ return nil
+ }(); err != nil {
+ failures = append(failures, validate.FieldError{
+ Name: "deliveryType",
+ Error: err,
+ })
+ }
+ if len(failures) > 0 {
+ return &validate.Error{Fields: failures}
+ }
+ return nil
+}
+
+func (s WarehouseCargoType) Validate() error {
+ switch s {
+ case 1:
+ return nil
+ case 2:
+ return nil
+ case 3:
+ return nil
+ default:
+ return errors.Errorf("invalid value: %v", s)
+ }
+}
+
+func (s WarehouseDeliveryType) Validate() error {
+ switch s {
+ case 1:
+ return nil
+ case 2:
+ return nil
+ case 3:
+ return nil
+ case 5:
+ return nil
+ case 6:
+ return nil
+ default:
+ return errors.Errorf("invalid value: %v", s)
+ }
+}
diff --git a/pkg/api/wb/generate.go b/pkg/api/wb/generate.go
new file mode 100644
index 0000000..621c548
--- /dev/null
+++ b/pkg/api/wb/generate.go
@@ -0,0 +1,3 @@
+package wb
+
+//go:generate go run github.com/ogen-go/ogen/cmd/ogen@latest --target client --clean 02-products.yaml
diff --git a/pkg/api/wb/ogen.yml b/pkg/api/wb/ogen.yml
new file mode 100644
index 0000000..4c41ba7
--- /dev/null
+++ b/pkg/api/wb/ogen.yml
@@ -0,0 +1,7 @@
+generator:
+ ignore_not_implemented: [ "all" ]
+ content_type_aliases:
+ "application/problem+json": "application/json"
+ features:
+ enable:
+ - 'client/security/reentrant'
\ No newline at end of file