@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Catalog API
@base https://apiexamples.vtexcommercestable.com.br
@version 1.0
@auth ApiKey X-VTEX-API-AppKey in header | ApiKey X-VTEX-API-AppToken in header | ApiKey VtexIdclientAutCookie in header
@common_fields {Content-Type: str=application/json, Accept: str=application/json}
@endpoints 208
@hint download_for_search
@toc api(208)

@endpoint GET /api/catalog_system/pvt/products/GetProductAndSkuIds
@optional {categoryId: int(int32), _from: int(int32), _to: int(int32)}
@returns(200) {data: map{Product ID: [int]}, range: map{total: int, from: int, to: int}}

@endpoint GET /api/catalog/pvt/product/{productId}
@required {productId: str}
@returns(200) {Id: int, Name: str, DepartmentId: int, CategoryId: int, BrandId: int, LinkId: str, RefId: str, IsVisible: bool, Description: str, DescriptionShort: str, ReleaseDate: str, KeyWords: str, Title: str, IsActive: bool, TaxCode: str, MetaTagDescription: str, SupplierId: int?, ShowWithoutStock: bool, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int}

@endpoint PUT /api/catalog/pvt/product/{productId}
@required {productId: int, Name: str, CategoryId: int, BrandId: int}
@optional {DepartmentId: int, LinkId: str, RefId: str, IsVisible: bool, Description: str, DescriptionShort: str, ReleaseDate: str, KeyWords: str, Title: str, IsActive: bool, TaxCode: str, MetaTagDescription: str, SupplierId: int, ShowWithoutStock: bool, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int}
@returns(200) {Id: int, Name: str, DepartmentId: int, CategoryId: int, BrandId: int, LinkId: str, RefId: str, IsVisible: bool, Description: str, DescriptionShort: str, ReleaseDate: str, KeyWords: str, Title: str, IsActive: bool, TaxCode: str, MetaTagDescription: str, SupplierId: int?, ShowWithoutStock: bool, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int}

@endpoint GET /api/catalog_system/pvt/products/productget/{productId}
@required {productId: int}
@returns(200) {Id: int, Name: str, DepartmentId: int, CategoryId: int, BrandId: int, LinkId: str, RefId: str, IsVisible: bool, Description: str, DescriptionShort: str, ReleaseDate: str, KeyWords: str, Title: str, IsActive: bool, TaxCode: str, MetaTagDescription: str, SupplierId: int, ShowWithoutStock: bool, ListStoreId: [int], AdWordsRemarketingCode: str, LomadeeCampaignCode: str}

@endpoint GET /api/catalog_system/pvt/products/productgetbyrefid/{refId}
@required {refId: str}
@returns(200) {Id: int, Name: str, DepartmentId: int, CategoryId: int, BrandId: int, LinkId: str, RefId: str, IsVisible: bool, Description: str, DescriptionShort: str, ReleaseDate: str, KeyWords: str, Title: str, IsActive: bool, TaxCode: str, MetaTagDescription: str, SupplierId: int, ShowWithoutStock: bool, ListStoreId: [int], AdWordsRemarketingCode: str, LomadeeCampaignCode: str}

@endpoint GET /api/catalog_system/pub/products/variations/{productId}
@required {productId: int}
@returns(200) {productId: int, name: str, salesChannel: str, available: bool, displayMode: str, dimensions: [str], dimensionsInputType: map, dimensionsMap: map, skus: [map]}

@endpoint GET /api/addon/pvt/review/GetProductRate/{productId}
@required {productId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/product
@returns(200) {Id: int, Name: str, DepartmentId: int, CategoryId: int, BrandId: int, LinkId: str, RefId: str, IsVisible: bool, Description: str, DescriptionShort: str, ReleaseDate: str, KeyWords: str, Title: str, IsActive: bool, TaxCode: str, MetaTagDescription: str, SupplierId: int?, ShowWithoutStock: bool, AdWordsRemarketingCode: str?, LomadeeCampaignCode: str?, Score: int}

@endpoint GET /api/catalog_system/pvt/products/{productId}/specification
@required {productId: int}
@returns(200)

@endpoint POST /api/catalog_system/pvt/products/{productId}/specification
@required {productId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/product/{productId}/specification
@required {productId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/product/{productId}/specification
@required {productId: int, FieldId: int}
@optional {FieldValueId: int, Text: str}
@returns(200) {Id: int, ProductId: int, FieldId: int, FieldValueId: int, Text: str}

@endpoint DELETE /api/catalog/pvt/product/{productId}/specification
@required {productId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/product/{productId}/specification/{specificationId}
@required {productId: int, specificationId: int}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/product/{productId}/specificationvalue
@required {productId: int, FieldName: str, GroupName: str, RootLevelSpecification: bool, FieldValues: [str]}
@returns(200)

@endpoint GET /api/catalog_system/pvt/sku/stockkeepingunitids
@required {page: int, pagesize: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/sku/stockkeepingunitbyid/{skuId}
@required {skuId: int}
@optional {sc: int}
@returns(200) {Id: int(int32), ProductId: int(int32), NameComplete: str, ComplementName: str, ProductName: str, ProductDescription: str, ProductRefId: str, TaxCode: str, SkuName: str, IsActive: bool, IsTransported: bool?, IsInventoried: bool?, IsGiftCardRecharge: bool, ImageUrl: str, DetailUrl: str, CSCIdentification: str?, BrandId: str, BrandName: str, Dimension: map{cubicweight: num, height: num, length: num, weight: num, width: num}, RealDimension: map{realCubicWeight: num, realHeight: num, realLength: num, realWeight: num, realWidth: num}, ManufacturerCode: str, IsKit: bool, KitItems: [str], Services: [str], Categories: [str], Attachments: [map], Collections: [str], SkuSellers: [map], SalesChannels: [int], Images: [map], SkuSpecifications: [map], ProductSpecifications: [map], ProductClustersIds: str, ProductCategoryIds: str, ProductGlobalCategoryId: int?, ProductCategories: map, CommercialConditionId: int(int32), RewardValue: num, AlternateIds: map{Ean: str, RefId: str}, AlternateIdValues: [str], EstimatedDateArrival: str?, MeasurementUnit: str, UnitMultiplier: num, InformationSource: str?, ModalType: str?, KeyWords: str?, ReleaseDate: str?, ProductIsVisible: bool, ShowIfNotAvailable: bool, IsProductActive: bool, ProductFinalScore: int}

@endpoint GET /api/catalog/pvt/stockkeepingunit
@required {RefId: str}
@returns(200) {Id: int, ProductId: int, IsActive: bool, ActivateIfPossible: bool, Name: str, RefId: str, Ean: str, PackagedHeight: num, PackagedLength: num, PackagedWidth: num, PackagedWeightKg: int, Height: num, Length: num, Width: num, WeightKg: num, CubicWeight: num, IsKit: bool, CreationDate: str, RewardValue: num, EstimatedDateArrival: str?, ManufacturerCode: str, CommercialConditionId: int, MeasurementUnit: str, UnitMultiplier: num, ModalType: str?, KitItensSellApart: bool, Videos: [str]}

@endpoint POST /api/catalog/pvt/stockkeepingunit
@required {ProductId: int, Name: str, PackagedHeight: num, PackagedLength: num, PackagedWidth: num, PackagedWeightKg: int}
@optional {Id: int, IsActive: bool, ActivateIfPossible: bool, RefId: str, Height: num, Length: num, Width: num, WeightKg: num, CubicWeight: num, IsKit: bool, CreationDate: str, RewardValue: num, EstimatedDateArrival: str, ManufacturerCode: str, CommercialConditionId: int, MeasurementUnit: str(un/kg/g/mg/m/m²/m³/cm/cm²/cm³/mm/mm²/mm³/oz/lb/ft/ft²/ft³/in/in²/in³), UnitMultiplier: num, ModalType: str, KitItensSellApart: bool, Videos: [str]}
@returns(200) {Id: int, ProductId: int, IsActive: bool, ActivateIfPossible: bool, Name: str, RefId: str, PackagedHeight: num, PackagedLength: num, PackagedWidth: num, PackagedWeightKg: int, Height: num, Length: num, Width: num, WeightKg: num, CubicWeight: num, IsKit: bool, CreationDate: str, RewardValue: num, EstimatedDateArrival: str?, ManufacturerCode: str, CommercialConditionId: int, MeasurementUnit: str, UnitMultiplier: num, ModalType: str?, KitItensSellApart: bool, Videos: [str]}

@endpoint GET /api/catalog_system/pvt/sku/stockkeepingunitidbyrefid/{refId}
@required {refId: str}
@returns(200)

@endpoint GET /api/catalog_system/pvt/sku/stockkeepingunitbyalternateId/{alternateId}
@required {alternateId: int}
@returns(200) {Id: int, ProductId: int, NameComplete: str, ComplementName: str, ProductName: str, ProductDescription: str, ProductRefId: str, TaxCode: str, SkuName: str, IsActive: bool, IsTransported: bool, IsInventoried: bool, IsGiftCardRecharge: bool, ImageUrl: str, DetailUrl: str, CSCIdentification: str?, BrandId: str, BrandName: str, Dimension: map{cubicweight: num, height: num, length: num, weight: num, width: num}, RealDimension: map{realCubicWeight: num, realHeight: num, realLength: num, realWeight: num, realWidth: num}, ManufacturerCode: str, IsKit: bool, KitItems: [str], Services: [str], Categories: [str], CategoriesFullPath: [str], Attachments: [map], Collections: [str], SkuSellers: [map], SalesChannels: [int], Images: [map], SkuSpecifications: [map], ProductSpecifications: [map], ProductClustersIds: str, PositionsInClusters: map, ProductClusterNames: map, ProductClusterHighlights: map, ProductCategoryIds: str, IsDirectCategoryActive: bool, ProductGlobalCategoryId: int?, ProductCategories: map, CommercialConditionId: int(int32), RewardValue: num, AlternateIds: map{Ean: str, RefId: str}, AlternateIdValues: [str], EstimatedDateArrival: str?, MeasurementUnit: str, UnitMultiplier: num, InformationSource: str?, ModalType: str?, KeyWords: str?, ReleaseDate: str?, ProductIsVisible: bool, ShowIfNotAvailable: bool, IsProductActive: bool, ProductFinalScore: int}

@endpoint GET /api/catalog_system/pvt/sku/stockkeepingunitByProductId/{productId}
@required {productId: int}
@returns(200)

@endpoint POST /api/catalog_system/pub/sku/stockkeepingunitidsbyrefids
@returns(200)
@errors {500}

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}
@required {skuId: int}
@returns(200) {Id: int, ProductId: int, IsActive: bool, ActivateIfPossible: bool, Name: str, RefId: str, PackagedHeight: num, PackagedLength: num, PackagedWidth: num, PackagedWeightKg: int, Height: num, Length: num, Width: num, WeightKg: num, CubicWeight: num, IsKit: bool, CreationDate: str, RewardValue: num, EstimatedDateArrival: str?, ManufacturerCode: str, CommercialConditionId: int, MeasurementUnit: str, UnitMultiplier: num, ModalType: str?, KitItensSellApart: bool, Videos: [str]}

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}
@required {skuId: int, ProductId: int, IsActive: bool, Name: str, PackagedHeight: num, PackagedLength: num, PackagedWidth: num, PackagedWeightKg: int}
@optional {ActivateIfPossible: bool, RefId: str, Height: num, Length: num, Width: num, WeightKg: num, CubicWeight: num, IsKit: bool, CreationDate: str, RewardValue: num, EstimatedDateArrival: str, ManufacturerCode: str, CommercialConditionId: int, MeasurementUnit: str(un/kg/g/mg/m/m²/m³/cm/cm²/cm³/mm/mm²/mm³/oz/lb/ft/ft²/ft³/in/in²/in³), UnitMultiplier: num, ModalType: str, KitItensSellApart: bool, Videos: [str]}
@returns(200) {Id: int, ProductId: int, IsActive: bool, ActivateIfPossible: bool, Name: str, RefId: str, PackagedHeight: num, PackagedLength: num, PackagedWidth: num, PackagedWeightKg: int, Height: num, Length: num, Width: num, WeightKg: num, CubicWeight: num, IsKit: bool, CreationDate: str, RewardValue: num, EstimatedDateArrival: str?, ManufacturerCode: str, CommercialConditionId: int, MeasurementUnit: str, UnitMultiplier: num, ModalType: str?, KitItensSellApart: bool, Videos: [str]}

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/complement
@required {skuId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/complement/{complementTypeId}
@required {skuId: int, complementTypeId: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/sku/complements/{parentSkuId}/{type}
@required {parentSkuId: int, type: int}
@returns(200) {ParentSkuId: int, ComplementSkuIds: [int], Type: str}

@endpoint POST /api/catalog/pvt/skucomplement
@required {ParentSkuId: int, SkuId: int, ComplementTypeId: int(1/2/3/5)}
@returns(200)

@endpoint GET /api/catalog/pvt/skucomplement/{skuComplementId}
@required {skuComplementId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/skucomplement/{skuComplementId}
@required {skuComplementId: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/sku/stockkeepingunitbyean/{ean}
@required {ean: str}
@returns(200) {Id: int, ProductId: int, NameComplete: str, ComplementName: str, ProductName: str, ProductDescription: str, ProductRefId: str, TaxCode: str, SkuName: str, IsActive: bool, IsTransported: bool, IsInventoried: bool, IsGiftCardRecharge: bool, ImageUrl: str, DetailUrl: str, CSCIdentification: str?, BrandId: str, BrandName: str, Dimension: map{cubicweight: num, height: num, length: num, weight: num, width: num}, RealDimension: map{realCubicWeight: num, realHeight: num, realLength: num, realWeight: num, realWidth: num}, ManufacturerCode: str, IsKit: bool, KitItems: [str], Services: [str], Categories: [str], CategoriesFullPath: [str], Attachments: [map], Collections: [str], SkuSellers: [map], SalesChannels: [int], Images: [map], SkuSpecifications: [map], ProductSpecifications: [map], ProductClustersIds: str, PositionsInClusters: map, ProductClusterNames: map, ProductClusterHighlights: map, ProductCategoryIds: str, IsDirectCategoryActive: bool, ProductGlobalCategoryId: int?, ProductCategories: map, CommercialConditionId: int(int32), RewardValue: num, AlternateIds: map{Ean: str, RefId: str}, AlternateIdValues: [str], EstimatedDateArrival: str?, MeasurementUnit: str, UnitMultiplier: num, InformationSource: str?, ModalType: str?, KeyWords: str?, ReleaseDate: str?, ProductIsVisible: bool, ShowIfNotAvailable: bool, IsProductActive: bool, ProductFinalScore: int}

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/ean
@required {skuId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/ean
@required {skuId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/stockkeepingunit/{skuId}/ean/{ean}
@required {skuId: int, ean: str}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/ean/{ean}
@required {skuId: int, ean: str}
@returns(200)

@endpoint POST /api/catalog/pvt/skuattachment
@required {AttachmentId: int, SkuId: int}
@returns(200) {Id: int, AttachmentId: int, SkuId: int}

@endpoint DELETE /api/catalog/pvt/skuattachment
@optional {skuId: int(int32), attachmentId: int(int32)}
@returns(200)

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/attachment
@required {skuId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/skuattachment/{skuAttachmentAssociationId}
@required {skuAttachmentAssociationId: int}
@returns(200)

@endpoint POST /api/catalog_system/pvt/sku/associateattachments
@required {SkuId: int, AttachmentNames: [str]}
@returns(200)

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/file
@required {skuId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/stockkeepingunit/{skuId}/file
@required {skuId: int, Name: str, Url: str}
@optional {IsMain: bool, Label: str, Text: str, Position: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/file
@required {skuId: int}
@returns(200)

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/file/{skuFileId}
@required {skuId: int, skuFileId: int, Name: str, Url: str}
@optional {IsMain: bool, Label: str, Text: str, Position: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/file/{skuFileId}
@required {skuId: int, skuFileId: int}
@returns(200)

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/file/reorder
@required {skuId: int}
@returns(200)
@errors {400}

@endpoint PUT /api/catalog/pvt/stockkeepingunit/copy/{skuIdfrom}/{skuIdto}/file
@required {skuIdfrom: int, skuIdto: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/disassociate/{skuId}/file/{skuFileId}
@required {skuId: int, skuFileId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/stockkeepingunitkit
@optional {skuId: int(int32), parentSkuId: int(int32)}
@returns(200) {Id: int, StockKeepingUnitParent: int, StockKeepingUnitId: int, Quantity: int, UnitPrice: int}

@endpoint POST /api/catalog/pvt/stockkeepingunitkit
@required {StockKeepingUnitParent: int, StockKeepingUnitId: int, Quantity: int, UnitPrice: num}
@returns(200) {Id: int, StockKeepingUnitParent: int, StockKeepingUnitId: int, Quantity: int, UnitPrice: int}

@endpoint DELETE /api/catalog/pvt/stockkeepingunitkit
@optional {skuId: int(int32), parentSkuId: int(int32)}
@returns(200)

@endpoint GET /api/catalog/pvt/stockkeepingunitkit/{kitId}
@required {kitId: int}
@returns(200) {Id: int, StockKeepingUnitParent: int, StockKeepingUnitId: int, Quantity: int, UnitPrice: int}

@endpoint DELETE /api/catalog/pvt/stockkeepingunitkit/{kitId}
@required {kitId: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/skuseller/{sellerId}/{sellerSkuId}
@required {sellerId: str, sellerSkuId: str}
@returns(200) {IsPersisted: bool, IsRemoved: bool, SkuSellerId: int(int32), SellerId: str, StockKeepingUnitId: int(int32), SellerStockKeepingUnitId: str, IsActive: bool, UpdateDate: str, RequestedUpdateDate: str?}

@endpoint POST /api/catalog_system/pvt/skuseller/remove/{sellerId}/{sellerSkuId}
@required {sellerId: str, sellerSkuId: str}
@returns(200)

@endpoint POST /api/catalog_system/pvt/skuseller/changenotification/{sellerId}/{sellerSkuId}
@required {sellerId: str, sellerSkuId: str}
@returns(204)

@endpoint POST /api/catalog_system/pvt/skuseller/changenotification/{skuId}
@required {skuId: str}
@returns(200)
@errors {403, 404, 429}

@endpoint POST /api/catalog/pvt/stockkeepingunit/{skuId}/attribute
@required {skuId: int, SpecificationName: str, SpecificationValue: str}
@optional {IsVisible: bool}
@returns(200) {Id: int, SkuId: int, SpecificationName: str, SpecificationValue: str, IsVisible: bool}
@errors {400}

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/attribute
@required {skuId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/attribute
@required {skuId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/attribute/{skuAttributeId}
@required {skuId: int, skuAttributeId: int}
@returns(200) {Id: int, SkuId: int, SpecificationName: str, SpecificationValue: str, IsVisible: bool}

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/attribute/{skuAttributeId}
@required {skuId: int, skuAttributeId: int, SpecificationName: str, SpecificationValue: str}
@optional {IsVisible: bool}
@returns(200) {Id: int, SkuId: int, SpecificationName: str, SpecificationValue: str, IsVisible: bool}
@errors {400}

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/attribute/{skuAttributeId}
@required {skuId: int, skuAttributeId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/skuservice/{skuServiceId}
@required {skuServiceId: int}
@returns(200) {Id: int, SkuServiceTypeId: int, SkuServiceValueId: int, SkuId: int, Name: str, Text: str, IsActive: bool}

@endpoint PUT /api/catalog/pvt/skuservice/{skuServiceId}
@required {skuServiceId: int, SkuServiceTypeId: int, SkuServiceValueId: int, SkuId: int, Name: str, Text: str, IsActive: bool}
@returns(200) {Id: int, SkuServiceTypeId: int, SkuServiceValueId: int, SkuId: int, Name: str, Text: str, IsActive: bool}

@endpoint DELETE /api/catalog/pvt/skuservice/{skuServiceId}
@required {skuServiceId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/skuservice
@required {SkuServiceTypeId: int, SkuServiceValueId: int, SkuId: int, Name: str, Text: str, IsActive: bool}
@returns(200) {Id: int, SkuServiceTypeId: int, SkuServiceValueId: int, SkuId: int, Name: str, Text: str, IsActive: bool}

@endpoint POST /api/catalog/pvt/skuservicetypeattachment
@required {AttachmentId: int, SkuServiceTypeId: int}
@returns(200) {Id: int, AttachmentId: int, SkuServiceTypeId: int}

@endpoint DELETE /api/catalog/pvt/skuservicetypeattachment
@optional {attachmentId: int, skuServiceTypeId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/skuservicetypeattachment/{skuServiceTypeAttachmentId}
@required {skuServiceTypeAttachmentId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/skuservicetype
@required {Name: str, IsActive: bool=true, ShowOnProductFront: bool, ShowOnCartFront: bool, ShowOnAttachmentFront: bool, ShowOnFileUpload: bool, IsGiftCard: bool, IsRequired: bool}
@returns(200) {Id: int, Name: str, IsActive: bool, ShowOnProductFront: bool, ShowOnCartFront: bool, ShowOnAttachmentFront: bool, ShowOnFileUpload: bool, IsGiftCard: bool, IsRequired: bool}

@endpoint GET /api/catalog/pvt/skuservicetype/{skuServiceTypeId}
@required {skuServiceTypeId: int}
@returns(200) {Id: int, Name: str, IsActive: bool, ShowOnProductFront: bool, ShowOnCartFront: bool, ShowOnAttachmentFront: bool, ShowOnFileUpload: bool, IsGiftCard: bool, IsRequired: bool}

@endpoint PUT /api/catalog/pvt/skuservicetype/{skuServiceTypeId}
@required {skuServiceTypeId: int, Name: str, IsActive: bool=true, ShowOnProductFront: bool, ShowOnCartFront: bool, ShowOnAttachmentFront: bool, ShowOnFileUpload: bool, IsGiftCard: bool, IsRequired: bool}
@returns(200) {Id: int, Name: str, IsActive: bool, ShowOnProductFront: bool, ShowOnCartFront: bool, ShowOnAttachmentFront: bool, ShowOnFileUpload: bool, IsGiftCard: bool, IsRequired: bool}

@endpoint DELETE /api/catalog/pvt/skuservicetype/{skuServiceTypeId}
@required {skuServiceTypeId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/skuservicevalue
@required {SkuServiceTypeId: int, Name: str, Value: num, Cost: num}
@returns(200) {Id: int, SkuServiceTypeId: int, Name: str, Value: num, Cost: num}

@endpoint GET /api/catalog/pvt/skuservicevalue/{skuServiceValueId}
@required {skuServiceValueId: int}
@returns(200) {Id: int, SkuServiceTypeId: int, Name: str, Value: num, Cost: num}

@endpoint PUT /api/catalog/pvt/skuservicevalue/{skuServiceValueId}
@required {skuServiceValueId: int, SkuServiceTypeId: int, Name: str, Value: num, Cost: num}
@returns(200) {Id: int, SkuServiceTypeId: int, Name: str, Value: num, Cost: num}

@endpoint DELETE /api/catalog/pvt/skuservicevalue/{skuServiceValueId}
@required {skuServiceValueId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/specification
@required {skuId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/stockkeepingunit/{skuId}/specification
@required {skuId: int, FieldId: int}
@optional {FieldValueId: int}
@returns(200) {Id: int, SkuId: int, FieldId: int, FieldValueId: int, Text: str}

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/specification
@required {skuId: int, Id: int, FieldId: int, FieldValueId: int}
@optional {SkuId: int, Text: str}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/specification
@required {skuId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/stockkeepingunit/{skuId}/specification/{specificationId}
@required {skuId: int, specificationId: int}
@returns(200)

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/specificationvalue
@required {skuId: int, FieldName: str, GroupName: str, RootLevelSpecification: bool, FieldValues: [str]}
@returns(200)

@endpoint POST /api/catalog/pvt/subcollection/{subCollectionId}/stockkeepingunit
@required {subCollectionId: int, SkuId: int}
@returns(200) {SubCollectionId: int, SkuId: int}

@endpoint DELETE /api/catalog/pvt/subcollection/{subCollectionId}/stockkeepingunit/{skuId}
@required {subCollectionId: int, skuId: int}
@returns(200)

@endpoint GET /api/catalog_system/pub/category/tree/{categoryLevels}
@required {categoryLevels: str}
@returns(200)

@endpoint GET /api/catalog/pvt/category/{categoryId}
@required {categoryId: int}
@optional {includeTreePath: bool}
@returns(200) {Id: int, Name: str, FatherCategoryId: int?, Title: str, Description: str, Keywords: str, IsActive: bool, LomadeeCampaignCode: str, AdWordsRemarketingCode: str, ShowInStoreFront: bool, ShowBrandFilter: bool, ActiveStoreFrontLink: bool, GlobalCategoryId: int, StockKeepingUnitSelectionMode: str, Score: int?, LinkId: str, HasChildren: bool, TreePath: [str]?, TreePathIds: [int]?, TreePathLinkIds: [str]?}

@endpoint PUT /api/catalog/pvt/category/{categoryId}
@required {categoryId: int, Name: str, Keywords: str, Title: str, Description: str, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, FatherCategoryId: int, GlobalCategoryId: int, ShowInStoreFront: bool, IsActive: bool, ActiveStoreFrontLink: bool, ShowBrandFilter: bool, Score: int, StockKeepingUnitSelectionMode: str}
@returns(200) {Id: int, Name: str, FatherCategoryId: int?, Title: str, Description: str, Keywords: str, IsActive: bool, LomadeeCampaignCode: str, AdWordsRemarketingCode: str, ShowInStoreFront: bool, ShowBrandFilter: bool, ActiveStoreFrontLink: bool, GlobalCategoryId: int, StockKeepingUnitSelectionMode: str, Score: int?, LinkId: str, HasChildren: bool, TreePath: [str]?, TreePathIds: [int]?, TreePathLinkIds: [str]?}

@endpoint POST /api/catalog/pvt/category
@required {Name: str, Keywords: str, Title: str, Description: str, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, FatherCategoryId: int, GlobalCategoryId: int, ShowInStoreFront: bool, IsActive: bool, ActiveStoreFrontLink: bool, ShowBrandFilter: bool, Score: int, StockKeepingUnitSelectionMode: str(SPECIFICATION/LIST)}
@optional {Id: int}
@returns(200) {Id: int, Name: str, FatherCategoryId: int?, Title: str, Description: str, Keywords: str, IsActive: bool, LomadeeCampaignCode: str, AdWordsRemarketingCode: str, ShowInStoreFront: bool, ShowBrandFilter: bool, ActiveStoreFrontLink: bool, GlobalCategoryId: int, StockKeepingUnitSelectionMode: str, Score: int?, LinkId: str, HasChildren: bool, TreePath: [str]?, TreePathIds: [int]?, TreePathLinkIds: [str]?}

@endpoint GET /api/catalog/pvt/product/{productId}/similarcategory
@required {productId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/product/{productId}/similarcategory/{categoryId}
@required {productId: int, categoryId: int}
@returns(200) {ProductId: int, StoreId: int}

@endpoint DELETE /api/catalog/pvt/product/{productId}/similarcategory/{categoryId}
@required {productId: int, categoryId: int}
@returns(200)

@endpoint GET /api/catalog_system/pub/specification/field/listByCategoryId/{categoryId}
@required {categoryId: int}
@returns(200)

@endpoint GET /api/catalog_system/pub/specification/field/listTreeByCategoryId/{categoryId}
@required {categoryId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/subcollection/{subCollectionId}/category
@required {subCollectionId: int, CategoryId: int}
@returns(200) {SubCollectionId: int, CategoryId: int}

@endpoint DELETE /api/catalog/pvt/subcollection/{subCollectionId}/category/{categoryId}
@required {subCollectionId: int, categoryId: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/brand/list
@returns(200)

@endpoint GET /api/catalog_system/pvt/brand/pagedlist
@required {pageSize: int, page: int}
@returns(200) {items: [map], paging: map{page: int, perPage: int, total: int, pages: int}}

@endpoint GET /api/catalog_system/pvt/brand/{brandId}
@required {brandId: str}
@returns(200) {id: int, name: str, isActive: bool, title: str, metaTagDescription: str, imageUrl: str?}

@endpoint POST /api/catalog/pvt/brand
@required {Id: int, Name: str}
@optional {Text: str, Keywords: str, SiteTitle: str, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int, MenuHome: bool, Active: bool, LinkId: str}
@returns(200) {Id: int, Name: str, Text: str, Keywords: str, SiteTitle: str, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int?, MenuHome: bool, Active: bool, LinkId: str?}

@endpoint GET /api/catalog/pvt/brand/{brandId}
@required {brandId: str}
@returns(200) {Id: int, Name: str, Text: str, Keywords: str, SiteTitle: str, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int?, MenuHome: bool, Active: bool, LinkId: str?}

@endpoint PUT /api/catalog/pvt/brand/{brandId}
@required {brandId: str, Id: int, Name: str}
@optional {Text: str, Keywords: str, SiteTitle: str, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int, MenuHome: bool, Active: bool, LinkId: str}
@returns(200) {Id: int, Name: str, Text: str, Keywords: str, SiteTitle: str, AdWordsRemarketingCode: str, LomadeeCampaignCode: str, Score: int?, MenuHome: bool, Active: bool, LinkId: str?}

@endpoint DELETE /api/catalog/pvt/brand/{brandId}
@required {brandId: str}
@returns(200)

@endpoint POST /api/catalog/pvt/subcollection/{subCollectionId}/brand
@required {subCollectionId: int, BrandId: int}
@returns(200) {SubCollectionId: int, BrandId: int}

@endpoint DELETE /api/catalog/pvt/subcollection/{subCollectionId}/brand/{brandId}
@required {subCollectionId: int, brandId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/attachment/{attachmentid}
@required {attachmentid: str}
@returns(200) {Id: int, Name: str, IsRequired: bool, IsActive: bool, Domains: [map]}

@endpoint PUT /api/catalog/pvt/attachment/{attachmentid}
@required {attachmentid: str, Name: str, IsRequired: bool, IsActive: bool, Domains: [map{FieldName: str, MaxCaracters: str, DomainValues: str}]}
@returns(200) {Id: int, Name: str, IsRequired: bool, IsActive: bool, Domains: [map]}

@endpoint DELETE /api/catalog/pvt/attachment/{attachmentid}
@required {attachmentid: str}
@returns(200)

@endpoint POST /api/catalog/pvt/attachment
@required {Name: str, IsRequired: bool, IsActive: bool, Domains: [map{FieldName: str, MaxCaracters: str, DomainValues: str}]}
@returns(200) {Id: int, Name: str, IsRequired: bool, IsActive: bool, Domains: [map]}

@endpoint GET /api/catalog/pvt/attachments
@returns(200) {Page: int, Size: int, TotalRows: int, TotalPage: int, Data: [map]}

@endpoint GET /api/catalog/pvt/collection/inactive
@returns(200)

@endpoint POST /api/catalog/pvt/collection
@required {Name: str, Description: str, Searchable: bool, Highlight: bool, DateFrom: str, DateTo: str}
@returns(200) {Id: int, Name: str, Description: str, Searchable: bool, Highlight: bool, DateFrom: str, DateTo: str, TotalProducts: int, Type: str}

@endpoint GET /api/catalog/pvt/collection/stockkeepingunit/importfileexample
@returns(200)

@endpoint POST /api/catalog/pvt/collection/{collectionId}/stockkeepingunit/importinsert
@required {collectionId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/collection/{collectionId}/stockkeepingunit/importexclude
@required {collectionId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/collection/{collectionId}/products
@required {collectionId: int}
@optional {page: int, pageSize: int, Filter: str, Active: bool, Visible: bool, CategoryId: int, BrandId: int, SupplierId: int, SalesChannelId: int, ReleaseFrom: str, ReleaseTo: str, SpecificationProduct: str, SpecificationFieldId: int}
@returns(200) {Page: int, Size: int, TotalRows: int, TotalPage: int, Data: [map]}

@endpoint GET /api/catalog/pvt/collection/{collectionId}
@required {collectionId: int}
@returns(200) {Id: int, Name: str, Description: str?, Searchable: bool, Highlight: bool, DateFrom: str, DateTo: str, TotalProducts: int, Type: str}

@endpoint PUT /api/catalog/pvt/collection/{collectionId}
@required {collectionId: int, Name: str, Searchable: bool, Highlight: bool, DateFrom: str, DateTo: str}
@returns(200) {Id: int, Name: str, Description: str?, Searchable: bool, Highlight: bool, DateFrom: str, DateTo: str, TotalProducts: int, Type: str}

@endpoint DELETE /api/catalog/pvt/collection/{collectionId}
@required {collectionId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/collection/{collectionId}/subcollection
@required {collectionId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/subcollection/{subCollectionId}
@required {subCollectionId: int}
@returns(200) {Id: int, CollectionId: int, Name: str, Type: str, PreSale: bool, Release: bool}

@endpoint PUT /api/catalog/pvt/subcollection/{subCollectionId}
@required {subCollectionId: int, CollectionId: int, Name: str, Type: str, PreSale: bool, Release: bool}
@returns(200) {Id: int, CollectionId: int, Name: str, Type: str, PreSale: bool, Release: bool}

@endpoint DELETE /api/catalog/pvt/subcollection/{subCollectionId}
@required {subCollectionId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/subcollection
@required {CollectionId: int, Name: str, Type: str, PreSale: bool, Release: bool}
@returns(200) {Id: int, CollectionId: int, Name: str, Type: str, PreSale: bool, Release: bool}

@endpoint POST /api/catalog/pvt/collection/{collectionId}/position
@required {collectionId: int, skuId: int, position: int, subCollectionId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/subcollection/{subCollectionId}/specificationvalue
@required {subCollectionId: int}
@returns(200) {Page: int, Size: int, TotalRows: int, TotalPage: int, Data: [map]}

@endpoint POST /api/catalog/pvt/subcollection/{subCollectionId}/specificationvalue
@required {subCollectionId: int, SubCollectionId: int, SpecificationValueId: int}
@returns(200) {SubCollectionId: int, SpecificationValueId: int}

@endpoint DELETE /api/catalog/pvt/subcollection/{subCollectionId}/specificationvalue
@required {subCollectionId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/specification/{specificationId}
@required {specificationId: int}
@returns(200) {Id: int, FieldTypeId: int, CategoryId: int, FieldGroupId: int, Name: str, Description: str, Position: int, IsFilter: bool, IsRequired: bool, IsOnProductDetails: bool, IsStockKeepingUnit: bool, IsWizard: bool, IsActive: bool, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str?}

@endpoint PUT /api/catalog/pvt/specification/{specificationId}
@required {specificationId: int, FieldTypeId: int(1/2/4/5/6/7/8/9), CategoryId: int, FieldGroupId: int, Name: str, Description: str, Position: int, IsFilter: bool, IsRequired: bool, IsOnProductDetails: bool, IsStockKeepingUnit: bool, IsWizard: bool, IsActive: bool, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str}
@returns(200) {Id: int, FieldTypeId: int, CategoryId: int, FieldGroupId: int, Name: str, Description: str?, Position: int, IsFilter: bool, IsRequired: bool, IsOnProductDetails: bool, IsStockKeepingUnit: bool, IsWizard: bool?, IsActive: bool, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str}

@endpoint POST /api/catalog/pvt/specification
@required {FieldTypeId: int(1/2/4/5/6/7/8/9), FieldGroupId: int, Name: str}
@optional {CategoryId: int, Description: str, Position: int, IsFilter: bool, IsRequired: bool, IsOnProductDetails: bool, IsStockKeepingUnit: bool, IsWizard: bool, IsActive: bool, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str}
@returns(200) {Id: int, FieldTypeId: int, CategoryId: int, FieldGroupId: int, Name: str, Description: str?, Position: int, IsFilter: bool, IsRequired: bool, IsOnProductDetails: bool, IsStockKeepingUnit: bool, IsWizard: bool?, IsActive: bool, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str}

@endpoint GET /api/catalog_system/pub/specification/fieldGet/{fieldId}
@required {fieldId: int}
@returns(200) {Name: str, FieldId: int, IsActive: bool, IsRequired: bool, FieldTypeId: int, FieldTypeName: str, FieldValueId: int?, Description: str?, IsStockKeepingUnit: bool, IsFilter: bool, IsOnProductDetails: bool, Position: int, IsWizard: bool?, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str?, FieldGroupId: int, FieldGroupName: str}

@endpoint POST /api/catalog_system/pvt/specification/field
@required {Name: str, CategoryId: int, FieldId: int, IsActive: bool, IsRequired: bool, FieldTypeId: int(int32), FieldValueId: int, Description: str, IsStockKeepingUnit: bool, IsFilter: bool, IsOnProductDetails: bool, Position: int(int32), IsWizard: bool, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str, FieldGroupId: int(int32), FieldGroupName: str}
@returns(200)

@endpoint PUT /api/catalog_system/pvt/specification/field
@required {Name: str, CategoryId: int, FieldId: int, IsActive: bool, IsRequired: bool, FieldTypeId: int, Description: str, IsStockKeepingUnit: bool, IsFilter: bool, IsOnProductDetails: bool, Position: int, IsWizard: bool, IsTopMenuLinkActive: bool, IsSideMenuLinkActive: bool, DefaultValue: str, FieldGroupId: int, FieldGroupName: str}
@optional {FieldValueId: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/specification/fieldValue/{fieldValueId}
@required {fieldValueId: str}
@returns(200) {FieldValueId: int(int32), FieldId: int, Name: str, Text: str, IsActive: bool, Position: int(int32)}

@endpoint GET /api/catalog_system/pub/specification/fieldvalue/{fieldId}
@required {fieldId: int}
@returns(200)

@endpoint POST /api/catalog_system/pvt/specification/fieldValue
@required {FieldId: int(int32), Name: str, Text: str, IsActive: bool, Position: int}
@returns(200) {FieldValueId: int(int32), FieldId: int, Name: str, Text: str, IsActive: bool, Position: int(int32)}

@endpoint PUT /api/catalog_system/pvt/specification/fieldValue
@required {FieldId: int, Name: str, Text: str, IsActive: bool, Position: int(int32)}
@returns(200)

@endpoint GET /api/catalog/pvt/specificationvalue/{specificationValueId}
@required {specificationValueId: int}
@returns(200) {FieldValueId: int(int32), FieldId: int, Name: str, Text: str, IsActive: bool, Position: int(int32)}

@endpoint PUT /api/catalog/pvt/specificationvalue/{specificationValueId}
@required {specificationValueId: int, FieldId: int, Name: str}
@optional {Text: str, IsActive: bool, Position: int}
@returns(200) {FieldValueId: int, FieldId: int, Name: str, Text: str?, IsActive: bool, Position: int}

@endpoint POST /api/catalog/pvt/specificationvalue
@required {FieldId: int, Name: str}
@optional {Text: str, IsActive: bool, Position: int}
@returns(200) {FieldValueId: int, FieldId: int, Name: str, Text: str?, IsActive: bool, Position: int}

@endpoint GET /api/catalog_system/pvt/specification/groupbycategory/{categoryId}
@required {categoryId: str}
@returns(200)

@endpoint GET /api/catalog_system/pub/specification/groupGet/{groupId}
@required {groupId: str}
@returns(200) {CategoryId: int?, Id: int, Name: str, Position: int?}

@endpoint POST /api/catalog/pvt/specificationgroup
@required {CategoryId: int(int32), Name: str}
@returns(200) {Id: int(int32), CategoryId: int(int32), Name: str, Position: int(int32)}

@endpoint PUT /api/catalog/pvt/specificationgroup/{groupId}
@required {groupId: int, CategoryId: int, Id: int(int32), Name: str, Position: int}
@returns(200) {CategoryId: int, Id: int(int32), Name: str, Position: int}

@endpoint GET /api/catalog/pvt/specification/nonstructured/{Id}
@required {Id: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/specification/nonstructured/{Id}
@required {Id: int}
@returns(200)

@endpoint GET /api/catalog/pvt/specification/nonstructured
@required {skuId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/specification/nonstructured
@required {skuId: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/saleschannel/list
@returns(200)

@endpoint GET /api/catalog_system/pub/saleschannel/{salesChannelId}
@required {salesChannelId: str}
@returns(200) {Id: int, Name: str, IsActive: bool, ProductClusterId: int?, CountryCode: str, CultureInfo: str, TimeZone: str, CurrencyCode: str?, CurrencySymbol: str, CurrencyLocale: int, CurrencyFormatInfo: map{CurrencyDecimalDigits: int, CurrencyDecimalSeparator: str, CurrencyGroupSeparator: str, CurrencyGroupSize: int, StartsWithCurrencySymbol: bool}, Origin: str?, Position: int?, ConditionRule: str?, CurrencyDecimalDigits: int}

@endpoint GET /api/catalog_system/pvt/seller/list
@optional {sc: int(int32), sellerType: int(int32), isBetterScope: bool}
@returns(200)

@endpoint GET /api/catalog_system/pvt/seller/{sellerId}
@required {sellerId: str}
@returns(200) {SellerId: str, Name: str, Email: str, Description: str, ExchangeReturnPolicy: str, DeliveryPolicy: str, UseHybridPaymentOptions: bool, UserName: str?, Password: str?, SecutityPrivacyPolicy: str, CNPJ: str, CSCIdentification: str, ArchiveId: int?, UrlLogo: str, ProductCommissionPercentage: num, FreightCommissionPercentage: num, CategoryCommissionPercentage: str, FulfillmentEndpoint: str?, CatalogSystemEndpoint: str, IsActive: bool, MerchantName: str, FulfillmentSellerId: int?, SellerType: int, IsBetterScope: bool, TrustPolicy: str}

@endpoint PUT /api/catalog_system/pvt/seller
@required {SellerId: str, Name: str, Email: str, Description: str, ExchangeReturnPolicy: str, DeliveryPolicy: str, UseHybridPaymentOptions: bool, UserName: str, Password: str, SecutityPrivacyPolicy: str, CNPJ: str, CSCIdentification: str, ArchiveId: int, UrlLogo: str, ProductCommissionPercentage: num, FreightCommissionPercentage: num, FulfillmentEndpoint: str, CatalogSystemEndpoint: str, IsActive: bool, FulfillmentSellerId: int, SellerType: int, IsBetterScope: bool}
@optional {CategoryCommissionPercentage: str, MerchantName: str, TrustPolicy: str}
@returns(200) {SellerId: str, Name: str, Email: str, Description: str, ExchangeReturnPolicy: str, DeliveryPolicy: str, UseHybridPaymentOptions: bool, UserName: str?, Password: str?, SecutityPrivacyPolicy: str, CNPJ: str, CSCIdentification: str, ArchiveId: int?, UrlLogo: str?, ProductCommissionPercentage: num, FreightCommissionPercentage: num, CategoryCommissionPercentage: str, FulfillmentEndpoint: str?, CatalogSystemEndpoint: str, IsActive: bool, MerchantName: str, FulfillmentSellerId: int?, SellerType: int, IsBetterScope: bool, TrustPolicy: str}

@endpoint POST /api/catalog_system/pvt/seller
@required {SellerId: str, Name: str, Email: str, Description: str, ExchangeReturnPolicy: str, DeliveryPolicy: str, UseHybridPaymentOptions: bool, UserName: str, Password: str, SecutityPrivacyPolicy: str, CNPJ: str, CSCIdentification: str, ArchiveId: int, UrlLogo: str, ProductCommissionPercentage: num, FreightCommissionPercentage: num, FulfillmentEndpoint: str, CatalogSystemEndpoint: str, IsActive: bool, FulfillmentSellerId: int, SellerType: int, IsBetterScope: bool}
@optional {CategoryCommissionPercentage: str, MerchantName: str, TrustPolicy: str}
@returns(200) {SellerId: str, Name: str, Email: str, Description: str, ExchangeReturnPolicy: str, DeliveryPolicy: str, UseHybridPaymentOptions: bool, UserName: str?, Password: str?, SecutityPrivacyPolicy: str, CNPJ: str, CSCIdentification: str, ArchiveId: int?, UrlLogo: str?, ProductCommissionPercentage: num, FreightCommissionPercentage: num, CategoryCommissionPercentage: str, FulfillmentEndpoint: str?, CatalogSystemEndpoint: str, IsActive: bool, MerchantName: str, FulfillmentSellerId: int?, SellerType: int, IsBetterScope: bool, TrustPolicy: str}

@endpoint GET /api/catalog_system/pvt/sellers/{sellerId}
@required {sellerId: str}
@returns(200) {SellerId: str, Name: str?, Email: str?, Description: str, ExchangeReturnPolicy: str, DeliveryPolicy: str, UseHybridPaymentOptions: bool, UserName: str?, Password: str?, SecutityPrivacyPolicy: str, CNPJ: str, CSCIdentification: str, ArchiveId: int?, UrlLogo: str, ProductCommissionPercentage: num, FreightCommissionPercentage: num, CategoryCommissionPercentage: str, FulfillmentEndpoint: str?, CatalogSystemEndpoint: str, IsActive: bool, MerchantName: str, FulfillmentSellerId: int?, SellerType: int, IsBetterScope: bool, TrustPolicy: str}

@endpoint POST /api/catalog/pvt/supplier
@required {Name: str, CorporateName: str, StateInscription: str, Cnpj: str, Phone: str, CellPhone: str, CorportePhone: str, Email: str, IsActive: bool}
@returns(200) {Id: int, Name: str, CorporateName: str, StateInscription: str, Cnpj: str, Phone: str, CellPhone: str, CorportePhone: str, Email: str, IsActive: bool}

@endpoint PUT /api/catalog/pvt/supplier/{supplierId}
@required {supplierId: int, Name: str, CorporateName: str, StateInscription: str, Cnpj: str, Phone: str, CellPhone: str, CorportePhone: str, Email: str, IsActive: bool}
@returns(200) {Id: int, Name: str, CorporateName: str, StateInscription: str, Cnpj: str, Phone: str, CellPhone: str, CorportePhone: str, Email: str, IsActive: bool}

@endpoint DELETE /api/catalog/pvt/supplier/{supplierId}
@required {supplierId: int}
@returns(200)

@endpoint GET /api/catalog/pvt/product/{productId}/salespolicy
@required {productId: int}
@returns(200)

@endpoint POST /api/catalog/pvt/product/{productId}/salespolicy/{tradepolicyId}
@required {productId: int, tradepolicyId: int}
@returns(200)

@endpoint DELETE /api/catalog/pvt/product/{productId}/salespolicy/{tradepolicyId}
@required {productId: int, tradepolicyId: int}
@returns(200)

@endpoint GET /api/catalog_system/pvt/sku/stockkeepingunitidsbysaleschannel
@required {sc: int}
@optional {page: int, pageSize: int, onlyAssigned: bool}
@returns(200)

@endpoint GET /api/catalog_system/pvt/products/GetIndexedInfo/{productId}
@required {productId: str}
@returns(200)

@endpoint GET /api/catalog_system/pvt/commercialcondition/list
@returns(200)

@endpoint GET /api/catalog_system/pvt/commercialcondition/{commercialConditionId}
@required {commercialConditionId: int}
@returns(200) {Id: int, Name: str, IsDefault: bool}

@endpoint GET /api/addon/pvt/giftlist/get/{listId}
@required {listId: int}
@returns(200) {giftListId: int, name: str, userId: str, fileId: int?, giftListTypeId: int, giftListTypeName: str, giftCardId: int, message: str, urlFolder: str, dateCreated: str, profileSystemUserAddressName: str, profileSystemUserId: str, eventDate: str, eventLocation: str, eventCity: str, eventState: str, telemarketingId: int?, telemarketingObservation: str?, IsPublic: bool, isActive: bool, shipsToOwner: bool, isAddressOk: bool, version: int, giftCardRechargeSkuId: int?, memberNames: str, giftListMembers: [map], giftListSkuIds: [str]?, address: str?, fileUrl: str?}

@endpoint GET /api/catalog/pvt/product/{productId}/language
@required {productId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/product/{productId}/language
@required {productId: int, Locale: str, Name: str, Title: str}
@optional {Description: str, MetaTagDescription: str, DescriptionShort: str, Keywords: str, LinkId: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/products/{productId}/specification/{specificationId}/language
@required {productId: int, specificationId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/products/{productId}/specification/{specificationId}/language
@required {productId: int, specificationId: int, ProductId: int, SpecificationId: int, Locale: str, Name: str, Value: str}
@optional {Values: [str]}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/language
@required {skuId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/language
@required {skuId: int, Locale: str, Name: str, MeasurementUnit: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/attribute/{skuAttributeId}/language
@required {skuId: int, skuAttributeId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/attribute/{skuAttributeId}/language
@required {skuId: int, skuAttributeId: int, Id: int, Locale: str, AttributeName: str, AttributeValue: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/stockkeepingunit/{skuId}/file/{skuFileId}/language
@required {skuId: int, skuFileId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/stockkeepingunit/{skuId}/file/{skuFileId}/language
@required {skuId: int, skuFileId: int, Locale: str, Label: str, Name: str, Text: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/specificationgroup/{specificationGroupId}/language
@required {specificationGroupId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/specificationgroup/{specificationGroupId}/language
@required {specificationGroupId: int, Locale: str, Name: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/specification/{specificationId}/language
@required {specificationId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/specification/{specificationId}/language
@required {specificationId: int, Locale: str, Name: str}
@optional {Description: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/specificationvalue/{valueId}/language
@required {valueId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/specificationvalue/{valueId}/language
@required {valueId: int, Locale: str, Name: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/category/{categoryId}/language
@required {categoryId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/category/{categoryId}/language
@required {categoryId: int, Locale: str, Name: str}
@optional {Title: str, Description: str, Keywords: str, LinkId: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/brand/{brandId}/language
@required {brandId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/brand/{brandId}/language
@required {brandId: int, Locale: str, Name: str}
@optional {Text: str, Keywords: str, SiteTitle: str, LinkId: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/attachment/{attachmentId}/language
@required {attachmentId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/attachment/{attachmentId}/language
@required {attachmentId: int, Locale: str, Name: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/skuservicetype/{skuServiceTypeId}/language
@required {skuServiceTypeId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/skuservicetype/{skuServiceTypeId}/language
@required {skuServiceTypeId: int, Locale: str, Name: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/skuservice/{skuserviceId}/language
@required {skuserviceId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/skuservice/{skuserviceId}/language
@required {skuserviceId: int, Locale: str, Name: str}
@optional {Text: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/skuservicevalue/{skuServiceValueId}/language
@required {skuServiceValueId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/skuservicevalue/{skuServiceValueId}/language
@required {skuServiceValueId: int, Locale: str, Name: str}
@returns(201)
@errors {400, 404, 409}

@endpoint GET /api/catalog/pvt/collection/{collectionId}/language
@required {collectionId: int}
@optional {locale: str}
@returns(200)
@errors {404}

@endpoint PUT /api/catalog/pvt/collection/{collectionId}/language
@required {collectionId: int, Locale: str, Name: str}
@optional {Description: str, LinkId: str}
@returns(201)
@errors {400, 404, 409}

@endpoint POST /api/catalog/pvt/assortment
@required {name: str}
@returns(201) {Id: int, Name: str, CreatedAt: str(date-time), UpdatedAt: str(date-time), IncludedCollections: [int], ExcludedCollections: [int]}
@errors {422}

@endpoint GET /api/catalog/pvt/assortment
@optional {name: str, after: int(int32), size: int(int32), collectionId: int(int32)}
@returns(200) {TotalRows: int, Data: [map], Size: int}

@endpoint GET /api/catalog/pvt/assortment/{productAssortmentID}
@required {productAssortmentID: int(int32)}
@returns(200) {Id: int, Name: str, CreatedAt: str(date-time), UpdatedAt: str(date-time), IncludedCollections: [int], ExcludedCollections: [int]}
@errors {404}

@endpoint PUT /api/catalog/pvt/assortment/{productAssortmentID}
@required {productAssortmentID: int(int32), name: str}
@returns(200) {Id: int, Name: str, CreatedAt: str(date-time), UpdatedAt: str(date-time), IncludedCollections: [int], ExcludedCollections: [int]}
@errors {404, 422}

@endpoint DELETE /api/catalog/pvt/assortment/{productAssortmentID}
@required {productAssortmentID: int(int32)}
@returns(200)
@errors {400, 404}

@endpoint POST /api/catalog/pvt/assortment/{productAssortmentID}/included-collections/{collectionID}
@required {productAssortmentID: int(int32), collectionID: int(int32)}
@returns(200) {assortmentId: int, collectionId: int}
@errors {409}

@endpoint DELETE /api/catalog/pvt/assortment/{productAssortmentID}/included-collections/{collectionID}
@required {productAssortmentID: int(int32), collectionID: int(int32)}
@returns(200)
@errors {404}

@endpoint POST /api/catalog/pvt/assortment/{productAssortmentID}/excluded-collections/{collectionID}
@required {productAssortmentID: int(int32), collectionID: int(int32)}
@returns(200) {assortmentId: int, collectionId: int}
@errors {409}

@endpoint DELETE /api/catalog/pvt/assortment/{productAssortmentID}/excluded-collections/{collectionID}
@required {productAssortmentID: int(int32), collectionID: int(int32)}
@returns(200)
@errors {404}

@end
