DataChecks Version 3.0
A data check is a constraint that validates the data. These data checks are applied during the data import process. When the constraint(s) are violated, the API will send a response based on the type of data checks that were violated. If the response only contains warnings, it means there are violations, but the data will not disrupt the system. If the response contains errors or a combination of errors and warnings, a '400' response is returned, and only the correct data is imported.
Products
Warning
-
PR_WAR_68This Region does NOT exist in the Region table. Are the Regions imported first?
-
PR_WAR_70This Product(s) is/are a duplicate.
-
PR_WAR_72ListPrice should not be zero.
-
PR_WAR_75TotalCost should not be zero.
-
PR_WAR_81EAN should contain 8, 12 or 13 characters.
-
PR_WAR_88This Product has a List Price that is outside the range between Lower and Upper Bound.
-
PR_WAR_94PurchaseCost, ShippingCost and OtherCost are invalid. Make sure they are either all present or none at all.
-
PR_WAR_97This is not possible because we can't have platform fees without VAT.
-
PR_WAR_98Provided ListPrice is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: ListPrice and VatPercentage.
-
PR_WAR_99Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: ListPrice and FeePercentage.
-
PR_WAR_100Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCost, ShippingCost and OtherCost.
-
PR_WAR_101This is not possible because we can't have platform fees without VAT.
-
PR_WAR_102Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCost, ShippingCost and OtherCost.
-
PR_WAR_103Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCost, ShippingCost, OtherCost, ListPrice, VatPercentage and FeePercentage.
Error
-
PR_ERR_69This Product does not exist in the database.
-
PR_ERR_71ListPrice cannot be null.
-
PR_ERR_72ListPrice cannot be smaller than zero.
-
PR_ERR_74TotalCost cannot be null.
-
PR_ERR_76TotalCost cannot be smaller than zero.
-
PR_ERR_77FeePercentage cannot be smaller than zero.
-
PR_ERR_78FeePercentage must be a percentage (smaller than 1).
-
PR_ERR_79VatPercentage cannot be smaller than zero.
-
PR_ERR_80VatPercentage must be a percentage (smaller than 1).
-
PR_ERR_82Stock must be positive.
-
PR_ERR_83RRP (Recommended Retail Price) cannot be negative.
-
PR_ERR_84RegionID must exist.
-
PR_ERR_85This Product has a negative Lower Bound.
-
PR_ERR_86This Product has a negative Upper Bound.
-
PR_ERR_87This Product has an Upper Bound lower than Lower Bound.
-
PR_ERR_89Cannot use FeePercentage if VatPercentage is not defined.
-
PR_ERR_91PurchaseCost must be positive.
-
PR_ERR_92ShippingCost must be positive.
-
PR_ERR_93OtherCost must be positive.
-
PR_ERR_106Product SupplierListPrice must be positive.
OrderLines
Warning
-
OR_WAR_73PricePerUnit should not be zero.
-
OR_WAR_74PricePerUnitVat can be null.
-
OR_WAR_75PricePerUnit must be TotalCostPerUnit plus MarginPerUnit.
-
OR_WAR_78TotalCostPerUnit can be zero, but is this indended?
-
OR_WAR_83MarginPerUnit can be zero, but is this intended?.
-
OR_WAR_84MarginPerUnit can be negative, but is this intended?.
-
OR_WAR_85CreatedDate cannot be zero.
-
OR_WAR_95PurchaseCostPerUnit, ShippingCostPerUnit and OtherCostPerUnit are invalid. Make sure they are either all present or none at all.
-
OR_WAR_98Provided PricePerUnitVat is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PricePerUnit and VatPercentage.
-
OR_WAR_99Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PricePerUnit and FeePercentage.
-
OR_WAR_100Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCostPerUnit, ShippingCostPerUnit and OtherCostPerUnit.
-
OR_WAR_102Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCostPerUnit, ShippingCostPerUnit and OtherCostPerUnit.
-
OR_WAR_103Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCostPerUnit, ShippingCostPerUnit, OtherCostPerUnit, PricePerUnit, VatPercentage and FeePercentage.
Error
-
OR_ERR_68ProductId does not exist in the Products table. Please import this product first.
-
OR_ERR_69InvoiceId does not exist in the Invoice table. Please import this invoice first.
-
OR_ERR_71PricePerUnit cannot be null.
-
OR_ERR_72PricePerUnit cannot be smaller than zero.
-
OR_ERR_77TotalCostPerUnit cannot be null.
-
OR_ERR_79TotalCostPerUnit cannot be smaller than zero.
-
OR_ERR_80Quantity cannot be null.
-
OR_ERR_81Quantity cannot be zero.
-
OR_ERR_82MarginPerUnit cannot be null.
-
OR_ERR_86Cannot use FeePercentage if VatPercentage is not defined.
-
OR_ERR_88PurchaseCostPerUnit must be positive.
-
OR_ERR_89ShippingCostPerUnit must be positive.
-
OR_ERR_90OtherCostPerUnit must be positive.
-
OR_ERR_91FeePercentage cannot be smaller than zero.
-
OR_ERR_92FeePercentage must be a percentage (smaller than 1).
-
OR_ERR_93VatPercentage cannot be smaller than zero.
-
OR_ERR_94VatPercentage must be a percentage (smaller than 1).
-
OR_ERR_97This is not possible because we can't have platform fees without VAT.
-
OR_ERR_101This is not possible because we can't have platform fees without VAT.
DataChecks Version 2.0
Products
Warning
-
PR_WAR_70The product is a duplicate.
-
PR_WAR_71ListPrice cannot be null.
-
PR_WAR_72ListPrice cannot be smaller or equal to zero.
-
PR_WAR_74TotalCost cannot be null.
-
PR_WAR_75TotalCost can be zero.
-
PR_WAR_76TotalCost cannot be smaller than zero.
-
PR_WAR_77FeePercentage cannot be smaller than zero.
-
PR_WAR_78FeePercentage must be a percentage (smaller than 1).
-
PR_WAR_79VatPercentage cannot be smaller than zero.
-
PR_WAR_80VatPercentage must be a percentage (smaller than 1).
-
PR_WAR_81EAN should contain 8, 12 or 13 characters.
-
PR_WAR_82Stock must be positive.
-
PR_WAR_83RRP (Recommended Retail Price) should be positive.
-
PR_WAR_84RegionID must exist.
-
PR_WAR_85This Product has a negative Lower Bound.
-
PR_WAR_86This Product has a negative Upper Bound.
-
PR_WAR_87This Product has an Upper Bound lower than Lower Bound.
-
PR_WAR_88This Product has a List Price that is outside the range between Lower and Upper Bound.
-
PR_WAR_89Cannot use FeePercentage if VatPercentage is not defined.
-
PR_WAR_90Cannot use FeePerfecntage if ListPrice is not defined.
-
PR_WAR_91PurchaseCost must be positive.
-
PR_WAR_92ShippingCost must be positive.
-
PR_WAR_93OtherCost must be positive.
-
PR_WAR_94PurchaseCost, ShippingCost and OtherCost are invalid. Make sure they are either all present or none at all.
-
PR_WAR_97This is not possible because we can't have platform fees without VAT.
-
PR_WAR_98Provided ListPrice is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: ListPrice and VatPercentage.
-
PR_WAR_99Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: ListPrice and FeePercentage.
-
PR_WAR_100Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCost, ShippingCost and OtherCost.
-
PR_WAR_101This is not possible because we can't have platform fees without VAT.
-
PR_WAR_102Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCost, ShippingCost and OtherCost.
-
PR_WAR_103Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCost, ShippingCost, OtherCost, ListPrice, VatPercentage and FeePercentage.
-
PR_WAR_106Product SupplierListPrice must be positive.
Error or Warning
-
PR_EOW_68This Region does not exist in the Region table. Are the Regions imported first?
Error
-
PR_ERR_69This Product does not exist in the database.
OrderLines
Warning
-
OR_WAR_71PricePerUnit cannot be null.
-
OR_WAR_72PricePerUnit cannot be smaller than zero.
-
OR_WAR_73PricePerUnit should not be zero.
-
OR_WAR_74PricePerUnitVat can be null.
-
OR_WAR_75MarginPerUnit must be PricePerUnit minus TotalCostPerUnit.
-
OR_WAR_76PricePerUnitVat should be higher than PricePerUnit.
-
OR_WAR_77TotalCostPerUnit cannot be null.
-
OR_WAR_78TotalCostPerUnit can be zero.
-
OR_WAR_79TotalCostPerUnit cannot be smaller than zero.
-
OR_WAR_80Quantity cannot be null.
-
OR_WAR_81Quantity can be zero.
-
OR_WAR_82MarginPerUnit cannot be null.
-
OR_WAR_83MarginPerUnit can be zero.
-
OR_WAR_84MarginPerUnit can be negative.
-
OR_WAR_85CreatedDate cannot be zero.
-
OR_WAR_86Cannot use FeePercentage if VatPercentage is not defined.
-
OR_WAR_87Cannot use FeePercentage if PricePerUnit is not defined.
-
OR_WAR_88PurchaseCostPerUnit must be positive.
-
OR_WAR_95PurchaseCostPerUnit, ShippingCostPerUnit and OtherCostPerUnit are invalid. Make sure they are either all present or none at all.
-
OR_WAR_98Provided PricePerUnitVat is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PricePerUnit and VatPercentage.
-
OR_WAR_99Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PricePerUnit and FeePercentage.
-
OR_WAR_100Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCostPerUnit, ShippingCostPerUnit and OtherCostPerUnit.
-
OR_WAR_102Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCostPerUnit, ShippingCostPerUnit and OtherCostPerUnit.
-
OR_WAR_103Provided TotalCost is not equal to ComputedTotalCost. Fields used to calculate the computed total cost: PurchaseCostPerUnit, ShippingCostPerUnit, OtherCostPerUnit, PricePerUnit, VatPercentage and FeePercentage.
Error or Warning
-
OR_EOW_68Product in OrderLines does not exist in the Product table. Are the Products imported first?
Error
-
OR_ERR_69This OrderLine does not exist in the database.
Changelog version 3.2
API
-
ChangedThe following datachecks from Products/OrderLines have been changed:
- RRP (Recommended Retail Price) cannot be negative (PR_WAR_83) has been changed to an error.
- MarginPerUnit must be PricePerUnit minus TotalCostPerUnit (PR_EOW_75) has been changed to a warning.
- Quantity cannot be zero (OR_WAR_81) has been changed to an error.
- Every Error or Warning has been changed a warning.
-
RemovedThe following datachecks from Products/OrderLines have been removed:
- Cannot use FeePercentage if ListPrice is not defined (PR_ERR_90) has been removed.
- PricePerUnitVat should be higher than PricePerUnit (OR_EOW_76) has been removed.
- Cannot use FeePercentage if PricePerUnit is not defined (OR_ERR_87) has been removed.
-
RemovedThe parameter called "allowInvalidData" in Product, OrderLine, Invoice and Customer endpoints has been removed.
Documentation
-
ChangedThe datachecks have been updated accordingly.
Changelog version 3.1
API
-
ChangedThe following datachecks from Products are now considered ErrorOrWarnings:
- ListPrice should not be zero (PR_EOW_72)
- Totalcost should not be zero (PR_EOW_75)
Documentation
-
ChangedAdjusted the datacheck codes in the Datacheck page.
Changelog version 3
API
-
NewAdded a new controller called Campaign Products. Read controller description for more info.
-
NewAdded 'Partial Acceptance' to the PUT endpoints of controllers. This means that if some data do not comply with the datachecks, those will get filtered out from the payload.
-
NewAdded a limitsize of 10000 items to the PUT endpoints of every controller.
-
ImprovedThese PATCH endpoints have now a parameter called 'allowInvalidData':
- Products
- OrderLines
Documentation
-
NewThese new fields have been added to the SymsonPrices:
- SymsonPrice
- SymsonPriceVAT
- ProductSupplierBasePrice
- BasePriceVat
- PreviousBasePrice
- AdjustedPriceVat
- PreviousAdjustedPrice
- CampaignPriceVat
- PreviousCampaignPrice
- LowestPriceInLast30DaysVat
- NotificationDifferentSupplierPrice
- NotificationPriceAdjustedByMinMarginPercent
- NotificationPriceAdjustedByCap
- AnchorBasePrice
- AnchorAdjustedPrice
- AnchorCampaignPrice
- AnchorOn
- AnchorTotalCost
- AnchorPurchaseCost
- AnchorShippingCost
- AnchorOtherCost
- BasePrice
- LowestPriceInLast30Days
- isCampaign
-
ImprovedThese fields have been renamed in the SymsonPrices:
- "UiCustomPrice" -> "UiCustomAdjustedPrice"
- "ListPrice" -> "AdjustedPrice"
- "SalesPrice" -> "CampaignPrice"
- "ProductSupplierListPrice" -> "ProductSupplierBasePrice"
- "PreviousListPrice" -> "PreviousAdjustedPrice"
- "PreviousSalesPrice" -> "PreviousCampaignPrice"
- "NotificationDifferentSupplierList" -> "NotificationDifferentSupplierPrice"
- "NotificationListAdjustedByMinMarginPercent" -> "NotificationPriceAdjustedByMinMarginPercent"
- "NotificationListBelowMinMarginPercent" -> "NotificationPriceBelowMinMarginPercent"
- "NotificationListAdjustedByCap" -> "NotificationPriceAdjustedByCap"
-
RemovedThese fields have been removed from the SymsonPrices:
- IsListPrice
- HasVat
Changelog version 2
API
-
NewAdded a limit count of '8000' for UPSERT and DELETE API requests.
-
NewAdded new data requirements for the imported data.
-
NewAdded a new endpoint called 'single product' in the Products.
-
NewAdded PATCH methods for the following endpoints:
- Products;
- Customers;
- Invoices;
- OrderLines.
-
NewAdded the StrictDataChecks query parameters for the following endpoints:
- Products;
- Customers;
- Invoices;
- OrderLines.
-
ImprovedChanged the tagname 'PricingManagementRows' to 'SymsonPrices'. The endpoint has been changed from '/pricingmanagementrows' to '/symsonprices'.
-
ImprovedImproved the response of every endpoint in a detailed manner.
-
RemovedRemoved the following query parameters for Products and OrderLines:
- disableCheckListPrice;
- disableCheckCostFields;
- disableCheckCostComputation;
-
RemovedRemoved the following endpoints for Products:
- /products/newproducts;
- /products/updateproductattributes;
- /products/updateproductcosts;
- /products/updateproductprices;
Performance
-
ImprovedImproved performance with requests.
Documentation
-
NewAdded detailed documentation for each API endpoint.
-
NewAdded possible responses for every endpoint with response examples.
-
NewAdded payload examples in the 'Try Out!' section with data that complies with the data-requirements.
-
NewAdded request duration for every endpoint.
Layout
-
NewAdded a new filter for the endpoints.
-
NewAdded a navbar on the top left for documents (PDF).
-
ImprovedChanged the default layout of the page (where the endpoints are closed by default).