4 Commits

Author SHA1 Message Date
89aeba12d4 fixed misspelling
Some checks failed
tests / unit (push) Has been cancelled
tests / coverage (push) Has been cancelled
2025-07-23 05:38:00 +03:00
1e2c591a70 fixed misspelling
Some checks are pending
tests / unit (push) Waiting to run
tests / coverage (push) Waiting to run
2025-07-23 04:32:47 +03:00
3e6c8fbc05 fixed misspelling
Some checks are pending
tests / unit (push) Waiting to run
tests / coverage (push) Waiting to run
2025-07-23 04:23:08 +03:00
c6c3030925 Refactor ProductDetails struct for improved clarity and organization
Some checks failed
tests / unit (push) Has been cancelled
tests / coverage (push) Has been cancelled
2025-05-26 03:37:54 +03:00

View File

@@ -106,157 +106,41 @@ func (c Products) GetStocksInfo(ctx context.Context, params *GetStocksInfoParams
}
type ProductDetails struct {
// All product barcodes
Barcodes []string `json:"barcodes"`
// Main offer price on Ozon.
//
// The field is deprecated. Returns an empty string ""
BuyboxPrice string `json:"buybox_price"`
// Category identifier
DescriptionCategoryId int64 `json:"description_category_id"`
// Markdown product stocks at the Ozon warehouse
DiscountedFBOStocks int32 `json:"discounted_fbo_stocks"`
// Details on errors when creating or validating a product
Errors []ProductDetailsError `json:"errors"`
// Indication that the product has similar markdown products at the Ozon warehouse
HasDiscountedFBOItem bool `json:"has_discounted_fbo_item"`
// Product type identifier
TypeId int64 `json:"type_id"`
// Marketing color
ColorImage []string `json:"color_image"`
// Commission fees details
Commissions []ProductDetailCommission `json:"commissions"`
// Date and time when the product was created
CreatedAt time.Time `json:"created_at"`
// Product SKU
SKU int64 `json:"sku"`
// SKU of the product that is sold from the Ozon warehouse (FBO)
FBOSKU int64 `json:"fbo_sku,omitempty"`
// SKU of the product that is sold from the seller's warehouse (FBS and rFBS)
FBSSKU int64 `json:"fbs_sku,omitempty"`
// Product identifier
Id int64 `json:"id"`
// An array of links to images. The images in the array are arranged in the order of their arrangement on the site. If the `primary_image` parameter is not specified, the first image in the list is the main one for the product
Images []string `json:"images"`
// Main product image
PrimaryImage []string `json:"primary_image"`
// Array of 360 images
Images360 []string `json:"images360"`
// true if the product has markdown equivalents at the Ozon warehouse
HasDiscountedItem bool `json:"has_discounted_item"`
// Indication of a markdown product:
//
// * true if the product was created by the seller as a markdown
//
// * false if the product is not markdown or was marked down by Ozon
IsDiscounted bool `json:"is_discounted"`
// Markdown products stocks
DiscountedStocks ProductDiscountedStocks `json:"discounted_stocks"`
// Indication of a bulky product
IsKGT bool `json:"is_kgt"`
// Indication of mandatory prepayment for the product:
//
// * true — to buy a product, you need to make a prepayment.
//
// * false—prepayment is not required
IsPrepayment bool `json:"is_prepayment"`
// If prepayment is possible, the value is true
IsPrepaymentAllowed bool `json:"is_prepayment_allowed"`
// Currency of your prices. It matches the currency set in the personal account settings
CurrencyCode string `json:"currency_code"`
// The price of the product including all promotion discounts. This value will be shown on the Ozon storefront
MarketingPrice string `json:"marketing_price"`
// Minimum price for similar products on Ozon.
//
// The field is deprecated. Returns an empty string ""
MinOzonPrice string `json:"min_ozon_price"`
// Minimum product price with all promotions applied
MinPrice string `json:"min_price"`
// Name
Name string `json:"name"`
// Product identifier in the seller's system
OfferId string `json:"offer_id"`
// Price before discounts. Displayed strikethrough on the product description page
OldPrice string `json:"old_price"`
// Product price including discounts. This value is shown on the product description page
Price string `json:"price"`
// Product price indexes
PriceIndexes ProductDetailPriceIndex `json:"price_indexes"`
// Deprecated: Price index. Learn more in Help Center
//
// Use PriceIndexes instead
PriceIndex string `json:"price_index"`
// Product state description
Status ProductDetailStatus `json:"status"`
// Details about the sources of similar offers. Learn more in Help Сenter
Sources []ProductDetailSource `json:"sources"`
// Details about product stocks
Stocks ProductDetailStock `json:"stocks"`
// Date of the last product update
UpdatedAt time.Time `json:"updated_at"`
// Product VAT rate
VAT string `json:"vat"`
// Product visibility settings
VisibilityDetails ProductDetailVisibilityDetails `json:"visibility_details"`
// If the product is on sale, the value is true
Visible bool `json:"visible"`
// Product volume weight
VolumeWeight float64 `json:"volume_weight"`
// 'true' if the item is archived manually.
DescriptionCategoryId int64 `json:"description_category_id"`
DiscountedFBOStocks int32 `json:"discounted_fbo_stocks"`
Errors []ProductDetailsError `json:"errors"`
HasDiscountedFBOItem bool `json:"has_discounted_fbo_item"`
Id int64 `json:"id"`
Images []string `json:"images"`
Images360 []string `json:"images360"`
IsArchived bool `json:"is_archived"`
// 'true' if the item is archived automatically.
IsArchivedAuto bool `json:"is_autoarchived"`
// Product status details
Statuses ProductDetailsStatus `json:"statuses"`
// Product model details
ModelInfo ProductDetailsModelInfo `json:"model_info"`
// Indication of a super product
IsAutoarchived bool `json:"is_autoarchived"`
IsDiscounted bool `json:"is_discounted"`
IsKGT bool `json:"is_kgt"`
IsPrepaymentAllowed bool `json:"is_prepayment_allowed"`
IsSuper bool `json:"is_super"`
MarketingPrice string `json:"marketing_price"`
MinPrice string `json:"min_price"`
ModelInfo *ProductDetailsModelInfo `json:"model_info"`
Name string `json:"name"`
OfferId string `json:"offer_id"`
OldPrice string `json:"old_price"`
Price string `json:"price"`
PriceIndexes ProductDetailPriceIndex `json:"price_indexes"`
PrimaryImage []string `json:"primary_image"`
Sources []ProductDetailSource `json:"sources"`
Statuses ProductDetailsStatus `json:"statuses"`
Stocks ProductDetailStock `json:"stocks"`
TypeId int64 `json:"type_id"`
UpdatedAt time.Time `json:"updated_at"`
VAT string `json:"vat"`
VisibilityDetails ProductDetailVisibilityDetails `json:"visibility_details"`
VolumeWeight float64 `json:"volume_weight"`
}
type ProductDetailsError struct {
@@ -306,31 +190,14 @@ type NameValue struct {
}
type ProductDetailsStatus struct {
// true, if the product is created correctly
IsCreated bool `json:"is_created"`
// Moderation status
ModerateStatus string `json:"moderate_status"`
// Product status
Status string `json:"status"`
// Product status description
Description string `json:"status_description"`
// Status of the product where the error occurred
Failed string `json:"status_failed"`
// Product status name
Name string `json:"status_name"`
// Status description
Tooltip string `json:"status_tooltip"`
// Time of the last status change
UpdatedAt time.Time `json:"status_updated_at"`
// Validation status
StatusDescription string `json:"status_description"`
StatusFailed string `json:"status_failed"`
StatusName string `json:"status_name"`
StatusTooltip string `json:"status_tooltip"`
StatusUpdatedAt time.Time `json:"status_updated_at"`
ValidationStatus string `json:"validation_status"`
}
@@ -445,58 +312,28 @@ type ProductDetailStatus struct {
}
type ProductDetailSource struct {
// Product creation date
CreatedAt time.Time `json:"created_at"`
// Product identifier in the Ozon system, SKU
SKU int64 `json:"sku"`
// Link to the source
Source string `json:"source"`
// Package type
ShipmentType string `json:"shipment_type"`
// List of MOQs with products
QuantCode string `json:"quant_code"`
ShipmentType string `json:"shipment_type"`
SKU int64 `json:"sku"`
Source string `json:"source"`
}
type ProductDetailStock struct {
// true, if there are stocks at the warehouses
HasStock bool `json:"has_stock"`
// Status of product stocks
Stocks []ProductDetailStockStock `json:"stocks"`
}
type ProductDetailStockStock struct {
// Product identifier in the Ozon system, SKU
SKU int64 `json:"sku"`
// Currently at the warehouse
Present int32 `json:"present"`
// Reserved
Reserved int32 `json:"reserved"`
// Sales scheme
SKU int64 `json:"sku"`
Source string `json:"source"`
}
type ProductDetailVisibilityDetails struct {
// If the product is active, the value is true
//
// Deprecated: Use `visible` parameter of `ProductDetails`
ActiveProduct bool `json:"active_product"`
// If the price is set, the value is true
HasPrice bool `json:"has_price"`
// If there is stock at the warehouses, the value is true
HasStock bool `json:"has_stock"`
// Reason why the product is hidden
Reasons map[string]interface{} `json:"reasons"`
}
type ProductDiscountedStocks struct {
@@ -869,7 +706,7 @@ type CreateOrUpdateProductItem struct {
DescriptionCategoryId int64 `json:"description_category_id"`
// New category identifier. Specify it if you want to change the current product category
NewDescriptinoCategoryId int64 `json:"new_description_category_id"`
NewDescriptionCategoryId int64 `json:"new_description_category_id"`
// Marketing color.
//
@@ -999,7 +836,7 @@ type CreateOrUpdateProductPDF struct {
Name string `json:"name"`
// File address
URL string `json:"url"`
SrcUrl string `json:"src_url"`
}
type CreateOrUpdateProductResponse struct {
@@ -1759,7 +1596,6 @@ type GetDescriptionOfProductsResult struct {
ModelInfo *ModelInfo `json:"model_info,omitempty"`
Images []string `json:"images"`
PDFList []string `json:"pdf_list"`
Attributes []GetDescriptionOfProductsAttribute `json:"attributes"`
ComplexAttributes []GetDescriptionOfProductsComplexAttribute `json:"complex_attributes"`