Instuurdocument productsheet

PUT/v7/json/productsheet

Hieronder staat een volledig JSON-voorbeeld van een productsheet met alle velden die je kunt insturen. Per veld staat in het rood welke controles uit de basisvalidatie en de set verplichte velden erop zitten. Deze pagina wordt opgebouwd uit de validatieregels van de API zelf en is dus altijd actueel.

BASIS Basisvalidatie

Wordt bij elke inzending direct gecontroleerd.

  • Faalt één regel, dan wordt er niets opgeslagen. Het antwoord bevat isSucceeded: false met de lijst fouten.
  • Zonder logistic of product wordt de inzending altijd geweigerd.

VERPLICHT VELD Verplichte velden

Blokkeert het opslaan niet, maar bepaalt de validatiestatus van het product.

  • Wordt na het opslaan op de achtergrond gecontroleerd.
  • Vooraf testen zonder op te slaan: PUT /v7/json/validations/test?validationSet=VerplichteVelden

Zo lees je het voorbeeld

  • Waarden zijn plaatshouders voor het type: "string", 0, 0.0, false, datum als "2026-01-01T00:00:00".
  • Velden die op id eindigen verwijzen naar een master: GET /v7/json/Master/All.
  • OPTIONEEL Het blok zelf is niet verplicht. Laat je het weg, dan worden de regels erin niet gecontroleerd. Vul je het wel, dan moet elk item eraan voldoen.
  • VOORWAARDELIJK Alleen verplicht in de situatie uit de regel erbij, bijvoorbeeld op de basiseenheid.
  • Een regel zonder "Verplicht", zoals een maximaal aantal tekens, geldt alleen als je dat veld invult.
  • Tekst tussen aanhalingstekens is de letterlijke foutmelding van de API.
  • Velden die je niet gebruikt mag je weglaten. Veldnamen zijn niet hoofdlettergevoelig.
  • logisticinfolist bevat de omdozen en pallets, met dezelfde opbouw als logistic.
196 basisregels 25 regels verplichte velden 159 velden met een controle

JSON-voorbeeld met validaties

{ "logistic": { //BASISVerplicht: het object "logistic" moet aanwezig zijn. Foutmelding: "Geen logistieke gegevens ontvangen" "gtin": "string", //BASISMaximaal 20 tekens. //BASIS"A logistic item CE or HE must have a GTIN or Article Number" "alternativegtins": [ { "gtin": "string", "alternativegtintypeid": 0 } ], "number": "string", //BASISMaximaal 255 tekens. "egnumber": "string", //BASISMaximaal 255 tekens. //VERPLICHT VELD"EGNumber is mandatory when a certain productgroup is selected." "name": [ //BASIS"The field Name is required" { "value": "string", "language": "nl" } ], "gdsntradeitemdescription": [ { "value": "string", "language": "nl" } ], "descriptionshort": [ { "value": "string", "language": "nl" } ], "intrastatcode": 0, //BASIS"Intrastatcode is mandatory for a baseunit." //VERPLICHT VELD"Intrastatcode is mandatory for a baseunit." "targetmarketids": [ //BASISTargetmarket required on baseunit. 0 ], "taxrates": [ //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //BASIS"Taxrate set is required on a baseunit" { "taxrateid": 0, //BASISId moet bestaan in mastertabel TaxRates. "targetmarketid": 0 //BASISId moet bestaan in mastertabel TargetMarkets. } ], "isbaseunit": false, //BASISVerplicht veld (true of false). //BASISOne baseunit on mainlevel. "isavailableinretail": false, "isavailableinfoodservice": false, "isestimatedweightorvalue": false, "isconsumerunit": false, //BASISVerplicht: mag niet ontbreken (niet null). //BASIS"The field IsConsumerUnit is required" //VERPLICHT VELD"Isconsumerunit is mandatory for the CE, HE and a gtin-pallet" "isdespatchunit": false, "isorderableunit": false, "isinvoiceunit": false, "isvariableunit": false, //VERPLICHT VELD"Isvariableunit is mandatory for the CE, HE and a gtin-pallet" "package": { //BASISVerplicht: mag niet ontbreken (niet null). //BASISVERPLICHT VELD"The calculated weight of packaging materials must equal the grossweight minus the netweight within a 5% margin on CE and 10% margin on HE" (geldt niet voor non-food) //BASIS"Deposit applies and deposit amount on package are required when characteristic deposit is set to isapplicable" (geldt niet voor non-food) "name": [ //BASISVerplicht: minimaal één vertaling met een gevulde value. { "value": "string", "language": "nl" } ], "packagingtypeid": 0, //BASISId moet bestaan in mastertabel PackagingTypes. //BASISMag niet 0 zijn. "depth": 0.0, //BASISWaarde moet groter zijn dan 0. Foutmelding: "The depth, width and height of a package is not allowed to be zero or lower" (geldt niet voor non-food) //VERPLICHT VELD"Depth is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)" "height": 0.0, //BASISWaarde moet groter zijn dan 0. Foutmelding: "The depth, width and height of a package is not allowed to be zero or lower" (geldt niet voor non-food) //VERPLICHT VELD"Height is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)" "width": 0.0, //BASISWaarde moet groter zijn dan 0. Foutmelding: "The depth, width and height of a package is not allowed to be zero or lower" (geldt niet voor non-food) //VERPLICHT VELD"Width is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)" "unitofmeasureid": 0, //BASISId moet bestaan in mastertabel UnitOfMeasures. //BASISMag niet 0 zijn. //VERPLICHT VELD"UnitOfMeasure is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)" "weight": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "value": 0.0, "unitofmeasureid": 0 //BASISId moet bestaan in mastertabel unitofmeasures. }, "depositapplies": false, "depositamount": 0.0, "isprimarypackage": false, "packagingmaterials": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "id": 0, //BASISId moet bestaan in mastertabel PackagingMaterials. "packagingmaterialtypeid": 0, //BASISVerplicht voor elk item in "packagingmaterials": mag niet ontbreken (niet null). //BASISId moet bestaan in mastertabel PackagingMaterialTypes. "value": 0.0, //BASISWaarde moet groter zijn dan 0. "unitofmeasureid": 0, //BASISVerplicht voor elk item in "packagingmaterials": mag niet ontbreken (niet null). //BASISId moet bestaan in mastertabel unitofmeasures. "isrecyclable": false, "percentagerecycledmaterial": 0.0, "packagingmaterialcolorid": 0, //BASISId moet bestaan in mastertabel PackagingMaterialColors. "istransparent": false, "isrigid": false, "packagingelementid": 0, "recyclabilitylevelid": 0, "packagingmaterialinfolist": [] // elk item heeft dezelfde opbouw als "packagingmaterials" } ], "locationtraceabilitycode": [ { "value": "string", "language": "nl" } ] }, "logisticinfolist": [], // elk item heeft dezelfde opbouw als "logistic" (omdoos / pallet) //BASIS"The packaging measurements of the parent package must be greater than or equal to the measurements of the child package" (geldt niet voor non-food) "netweight": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. //BASIS"The unitofmeasureid for netweight is not allowed. Allowed unitofmeasureids are: 3, 5" "value": 0.0, "unitofmeasureid": 0 //BASISId moet bestaan in mastertabel unitofmeasures. }, "netcontent": { //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //BASIS"The unitofmeasureid for netcontent is not allowed. Allowed unitofmeasureids are: 2, 3, 4, 5, 6, 7, 33, 34" //VERPLICHT VELD"Netcontent is mandatory on a baseunit" "value": 0.0, "unitofmeasureid": 0 //BASISId moet bestaan in mastertabel unitofmeasures. }, "grossweight": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "value": 0.0, "unitofmeasureid": 0 //BASISId moet bestaan in mastertabel unitofmeasures. }, "drainedweight": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "value": 0.0, "unitofmeasureid": 0 //BASISId moet bestaan in mastertabel unitofmeasures. }, "logistictypeid": 0, //BASISId moet bestaan in mastertabel LogisticTypes. "servingquantity": 0, "servingweight": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "value": 0.0, "unitofmeasureid": 0 //BASISId moet bestaan in mastertabel unitofmeasures. }, "numberofsmallerlogisticinfoitems": 0, //BASIS"numberofsmallerlogisticinfoitems cannot be filled on the main level; it only applies to child logistic units (HE/pallet)" "labelcontacts": [ //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //BASISVERPLICHT VELD"Contact set is required on a baseunit" { "name": "string", //BASISVerplicht voor elk item in "labelcontacts": mag niet leeg zijn. //BASISMaximaal 255 tekens. "targetmarketid": 0, //BASISVerplicht voor elk item in "labelcontacts": mag niet 0 zijn. //BASISId moet bestaan in mastertabel TargetMarkets. "communicationaddress": "string", //BASISMaximaal 2000 tekens. "communicationchannels": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "labelcontacttypeid": 0, //BASISId moet bestaan in mastertabel LabelContactTypes. "website": "string", //BASISMaximaal 255 tekens. "emailaddress": "string", //BASISMaximaal 255 tekens. "phonenumber": "string" //BASISMaximaal 255 tekens. } ] } ], "storageconditionset": { //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //VERPLICHT VELD"Atleast one storagecondition must be filled in" "preservationtechniqueid": 0, //BASISId moet bestaan in mastertabel PreservationTechniques. "shelflifelocationtext": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "comment": [ //BASISMaximaal 4000 tekens per vertaling. { "value": "string", "language": "nl" } ], "usageinstructionlabel": [ //BASISMaximaal 4000 tekens per vertaling. { "value": "string", "language": "nl" } ], "storageinstructionlabel": [ //BASISMaximaal 4000 tekens per vertaling. { "value": "string", "language": "nl" } ], "shelflifeid": 0, //BASISId moet bestaan in mastertabel ShelfLifes. "storageconditionstages": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. //VERPLICHT VELD"When storageconditionstage is not set to transport, period is mandatory." { "id": 0, //BASISId moet bestaan in mastertabel StorageConditionStages. "storageconditions": [ //BASISVerplicht voor elk item in "storageconditionstages": lijst mag niet leeg zijn. //BASISMinimaal 1 item. { "storageconditionid": 0, //BASISId moet bestaan in mastertabel StorageConditions. "mintemperature": 0.0, "maxtemperature": 0.0, "relativehumidity": 0.0, "humidity": 0.0, "humidityto": 0.0, "periodid": 0, //BASISMag niet 0 zijn. //BASISId moet bestaan in mastertabel Periods. "periodvalue": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "comment": [ //BASISMaximaal 4000 tekens per vertaling. { "value": "string", "language": "nl" } ] } ] } ] }, "microbiologicalsets": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "name": [ //BASISVerplicht voor elk item in "microbiologicalsets": minimaal één vertaling met een gevulde value. //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "microbiologicalstageid": 0, //BASISId moet bestaan in mastertabel MicrobiologicalStages. "microbiologicalorganisms": [ //BASISVerplicht voor elk item in "microbiologicalsets": lijst mag niet leeg zijn. //BASISMinimaal 1 item. { "microbiologicalorganismid": 0, //BASISId moet bestaan in mastertabel MicroBiologicalOrganisms. "measurementprecisionid": 0, //BASISId moet bestaan in mastertabel MeasurementPrecisions. "value": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "unitofmeasureid": 0, //BASISId moet bestaan in mastertabel unitofmeasures. "sequence": 0, "comment": [ //BASISMaximaal 4000 tekens per vertaling. { "value": "string", "language": "nl" } ] } ] } ], "assets": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. //BASIS"Assets are only allowed on the base unit (CE)" { "typeid": 0, //BASISId moet bestaan in mastertabel AssetTypes. "labelid": 0, //BASISId moet bestaan in mastertabel AssetLabels. "facingtypeid": 0, //BASISId moet bestaan in mastertabel AssetFacingTypes. "angletypeid": 0, //BASISId moet bestaan in mastertabel AssetAngleTypes. "formattypeid": 0, //BASISId moet bestaan in mastertabel AssetFormatTypes. "isdefault": false, "targetmarketids": [ //BASISId moet bestaan in mastertabel TargetMarkets. 0 ], "isheroimage": false, "externalreferenceid": "string" //BASISMaximaal 255 tekens. } ], "pallet": { //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //BASISVERPLICHT VELD"For a pallet, amountlayerperpallet is mandatory and must be higher than 0" (geldt niet voor non-food) //BASISVERPLICHT VELD"For a pallet, amountperpalletlayer is mandatory and must be higher than 0" (geldt niet voor non-food) "amountoflayers": 0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "amountlogisticperlayer": 0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "gtinvisibleonalllogistic": false, "hasunderlaysheet": false, "hasbetweensheet": false, "hascoversheet": false, "haswrappingfoil": false, "logisticcanbeturnedover": false, "numberofsmallerlogisticinfoitems": 0 }, "numberofservingsperpackage": 0, "minimumnumberofservingsperpackage": 0, "maximumnumberofservingsperpackage": 0, "impactscore": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "impactscore": 0, //BASISWaarde tussen 0 en 100. "biodiversityimpact": 0.0, "bluewaterimpact": 0.0, "rawgreenhouseimpact": 0.0, "laborriskimpact": 0.0, "landuseimpact": 0.0, "processingimpact": 0.0, "soilhealthimpact": 0.0, "animalwelfarescore": 0.0, "isoutlier": false, "outlierreason": "string", //BASISMaximaal 500 tekens. "dataquality": "string", "receivedon": "2026-01-01T00:00:00", "productcarbonfootprintinfolist": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "carbonemission": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "carbonemissionunitid": 0, //BASISId moet bestaan in mastertabel Co2EmissionUnits. "chainphaseid": 0, //BASISId moet bestaan in mastertabel ChainPhases. "methodid": 0, //BASISId moet bestaan in mastertabel PCFMethods. "accountingid": 0, //BASISId moet bestaan in mastertabel AccountingCodes. "verificationid": 0, //BASISId moet bestaan in mastertabel Verifications. "calculationdate": "2026-01-01T00:00:00" //BASISVerplicht voor elk item in "productcarbonfootprintinfolist": mag niet ontbreken (niet null). } ] }, "containsdangerousgoods": false, "dangerousgoods": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. //BASIS"Voor dit product (GPC code) kunnen geen gevaarlijke stoffen worden ingevoerd. Selecteer een andere GPC code." { "classofdangerousgoodsid": 0, //BASISId moet bestaan in mastertabel ClassOfDangerousGoods. "adrpackinggroupid": 0, //BASISId moet bestaan in mastertabel AdrPackingGroups. "ghssymboldescriptioncodeid": 0, //BASISId moet bestaan in mastertabel GHSSymbolDescriptionCodes. "ghssignalwordscodeid": 0, //BASISId moet bestaan in mastertabel GHSSignalWordsCodes. "undangerousgoodsnumberid": 0, //BASISId moet bestaan in mastertabel UNDangerousGoodsNumbers. "adrtunnelrestrictioncodeid": 0, //BASISId moet bestaan in mastertabel AdrTunnelRestrictionCodes. "bnladrclassificationcodeid": 0 //BASISId moet bestaan in mastertabel BNLADRClassificationCodes. } ], "regulations": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. //BASIS"Dezelfde regelgeving kan niet meerdere keren worden toegevoegd." //BASIS"Selecteer of het product voldoet aan de verordening." { "regulationtypeid": 0, //BASISId moet bestaan in mastertabel RegulationTypes. "regulationcompliantid": 0 //BASISId moet bestaan in mastertabel RegulationCompliants. } ] }, "product": { //BASISVerplicht: het object "product" moet aanwezig zijn. Foutmelding: "Geen product gegevens ontvangen" "name": [ //BASISVerplicht: minimaal één vertaling met een gevulde value. { "value": "string", "language": "nl" } ], "shortdescription": [ { "value": "string", "language": "nl" } ], "description": [ { "value": "string", "language": "nl" } ], "commercial": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "legalname": [ //BASISMaximaal 500 tekens per vertaling. //VERPLICHT VELDVerplicht zodra "commercial" is ingevuld: minimaal één vertaling met een gevulde value. Foutmelding: "Legalname is mandatory" { "value": "string", "language": "nl" } ], "functionalname": [ { "value": "string", "language": "nl" } ], "variantdescription": [ //BASISMaximaal 500 tekens per vertaling. { "value": "string", "language": "nl" } ], "description": [ { "value": "string", "language": "nl" } ], "shortdescription": [ { "value": "string", "language": "nl" } ], "longdescription": [ { "value": "string", "language": "nl" } ], "brandid": 0 //BASISBrandid validation. }, "recipenumber": "string", //BASISMaximaal 255 tekens. "validfrom": "2026-01-01T00:00:00", "endavailabilitydate": "2026-01-01T00:00:00", "validto": "2026-01-01T00:00:00", "productgroupid": 0, //BASISId moet bestaan in mastertabel ProductGroups. //BASIS"productgroupid must be a productgroup without subgroups" "globalproductclassificationid": 0, //BASIS"atleast one of globalproductclassificationid or globalproductclassificationcode should be filled in" //BASIS"The selected GPC code is no longer active, please select a different one" (geldt niet voor non-food) "globalproductclassificationcode": 0, "iddsiid": 0, //BASISId moet bestaan in mastertabel IDDSI. "locations": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "locationofbirth": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "locationofprovenance": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "locationofrearing": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "locationofslaughter": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "locationoforigin": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "countryoforiginid": 0, //BASISId moet bestaan in mastertabel Countries. Foutmelding: "Countryoforiginid should be filled in" "countryoforiginisocode": 0 }, "qualitymarks": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "id": 0 //BASISVerplicht voor elk item in "qualitymarks": mag niet 0 zijn. //BASISId moet bestaan in mastertabel QualityMarks. } ], "characteristics": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. //BASIS"When a characteristic is set to IsApplicable, it restricts other characteristics or allergens to be set to 'contain' or 'may contain'" (geldt niet voor non-food) { "id": 0, //BASISVerplicht voor elk item in "characteristics": mag niet 0 zijn. //BASISId moet bestaan in mastertabel Characteristics. "isclaimedonlabel": false, "isapplicable": false //BASISVerplicht voor elk item in "characteristics": mag niet ontbreken (niet null). } ], "fishingredients": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "scientificfishnameid": 0, //BASISVerplicht voor elk item in "fishingredients": mag niet 0 zijn. //BASISId moet bestaan in mastertabel ScientificFishNames. "ingredientname": [ //BASISVerplicht voor elk item in "fishingredients": minimaal één vertaling met een gevulde value. //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "fishcatchzones": [ //VERPLICHT VELD"At least one catchzone or the countryoforigin must be filled" { "fishcatchzoneid": 0 } ], "countryoforiginid": 0, //BASISId moet bestaan in mastertabel Countries (uitzondering: 0 is altijd toegestaan). "fishcapturemethod": 0 //BASISVerplicht voor elk item in "fishingredients": mag niet 0 zijn. //BASISId moet bestaan in mastertabel FishCaptureMethods. } ] }, "specification": { //VERPLICHT VELDVerplicht: mag niet ontbreken (niet null). Foutmelding: "There should be a specification" "statusid": 0, //BASISId moet bestaan in mastertabel SpecificationStatus. "percentages": { "fruit": 0.0, "vegetable": 0.0, "meat": 0.0, "fish": 0.0, "nuts": 0.0, "oils": 0.0 }, "ingredientset": { //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //VERPLICHT VELD"There should be either an ingredientdeclaration or atleast one single ingredient present" "comment": [ { "value": "string", "language": "nl" } ], "isgmofree": false, "isirradiated": false, "declaration": [ { "value": "string", "language": "nl" } ], "ingredients": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "sequence": 0, "name": [ //BASISVerplicht voor elk item in "ingredients": minimaal één vertaling met een gevulde value. //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "declarationname": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "countriesoforigin": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "id": 0, //BASISId moet bestaan in mastertabel Countries (uitzondering: 0 is altijd toegestaan). "isocode": 0 } ], "kwid": 0.0, "percentage": 0.0, "internalpercentage": 0.0, "subingredients": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "sequence": 0, "name": [ //BASISVerplicht voor elk item in "subingredients": minimaal één vertaling met een gevulde value. //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "declarationname": [ //BASISVerplicht voor elk item in "subingredients": minimaal één vertaling met een gevulde value. //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "countryoforiginid": 0, "countriesoforigin": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "id": 0, //BASISId moet bestaan in mastertabel Countries (uitzondering: 0 is altijd toegestaan). "isocode": 0 } ], "kwid": 0.0, "percentage": 0.0, //BASISWaarde tussen 0 en 100. "internalpercentage": 0.0 } ] } ] }, "allergenset": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "comment": [ //BASISMaximaal 500 tekens per vertaling. { "value": "string", "language": "nl" } ], "allergens": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. //BASIS"Allergens that are mandatory by law may not be set to unspecified" (geldt niet voor non-food) //VERPLICHT VELD"Allergens that are mandatory by law may not be set to unspecified" (geldt niet voor non-food) { "id": 0, //BASISVerplicht voor elk item in "allergens": mag niet 0 zijn. //BASISWaarde moet groter zijn dan 0. //BASISId moet bestaan in mastertabel Allergens. "levelofcontainmentid": 0, //BASISVerplicht voor elk item in "allergens": mag niet ontbreken (niet null). //BASISId moet bestaan in mastertabel LevelOfContainments. "crosscontaminationtypeid": 0, //BASISId moet bestaan in mastertabel CrossContaminationTypes. "crosscontaminationdistributionid": 0, //BASISId moet bestaan in mastertabel CrossContaminationDistributions. "amountallergenproteingr": 0.0, "amountallergenproteinppm": 0.0, "allergenproteinweight": 0.0, "allergenproteinpercentage": 0.0 } ] }, "nutrientset": { //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. "comment": [ //BASISMaximaal 500 tekens per vertaling. { "value": "string", "language": "nl" } ], "dailyvalueintakereferencecomment": "string", //BASISMaximaal 255 tekens. "informationproviderid": 0, //BASISId moet bestaan in mastertabel nutritionalinformationproviders. "stateofpreparations": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "stateofpreparationid": 0, //BASISVerplicht voor elk item in "stateofpreparations": mag niet 0 zijn. //BASISId moet bestaan in mastertabel StateOfPreparations. "perhunderduomid": 0, //BASISVerplicht voor elk item in "stateofpreparations": mag niet ontbreken (niet null). //BASISId moet bestaan in mastertabel UnitOfMeasures. "servingunitvalue": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "servinguomid": 0, //BASISId moet bestaan in mastertabel UnitOfMeasures. "nutrients": [ //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //BASIS"Energy (kcal) times 4,2 should equal energy (kJ) within a 10% margin" (geldt niet voor non-food) //BASIS"Energy calculation does not match the filled in energy within a 10% margin" (geldt niet voor non-food) //BASIS"Sodium times 2.5 should be equal to salt within a 10% margin" (geldt niet voor non-food) //BASIS"The value per portion does not match the value per 100 calculated to the portion size within a 10% margin" (geldt niet voor non-food) //BASIS"The sum of carbohydrate subtotals (sugars, polysaccharides, lactose, sorbitol, polyols) exceeds carbohydrates total + 0.5" (geldt niet voor non-food) //BASISVERPLICHT VELD"Nutrient value is required when stateofpreparation is set to Product" (geldt niet voor non-food) //BASISVERPLICHT VELD"The value or value per serving is required when stateofpreparation is set to After Production" (geldt niet voor non-food) //BASIS"The sum of fat subtotals (saturated, monounsaturated, polyunsaturated, trans) exceeds total fat + 0.5" (geldt niet voor non-food) //VERPLICHT VELD"Nutrients that are mandatorybylaw should be present" (geldt niet voor non-food) //VERPLICHT VELD"Nutrients are required. Fill your nutrient at either product or after preparation" (geldt niet voor non-food) { "id": 0, //BASISVerplicht voor elk item in "nutrients": mag niet 0 zijn. "measurementprecisionid": 0, //BASISId moet bestaan in mastertabel MeasurementPrecisions. "value": 0.0, "valueperserving": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "guidelinedailyamount": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "unitofmeasureid": 0, //BASISVerplicht voor elk item in "nutrients": mag niet ontbreken (niet null). //BASIS"The unitofmeasureid is not a correct unit of measure for this nutrient. It must be in the same group as the default unit of measure of the nutrient. See defaultunitofmeasureid in the Nutrients master and groupid in the UnitOfMeasures master for the allowed units" (geldt niet voor non-food) //BASISId moet bestaan in mastertabel UnitOfMeasures. "measurementprecisionperservingid": 0 //BASISId moet bestaan in mastertabel MeasurementPrecisions. } ] } ] }, "preparationinformations": [ //VOORWAARDELIJKAlleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels. //VERPLICHT VELD"Atleast one preparationdescription must be filled in when product contains nutrientset with prepared state" { "preparationtypeid": 0, //BASISVerplicht voor elk item in "preparationinformations": mag niet 0 zijn. //BASISId moet bestaan in mastertabel PreparationTypes. "preparationdescription": [ { "value": "string", "language": "nl" } ] } ], "organolepticcharacteristics": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "name": [ //BASISVerplicht voor elk item in "organolepticcharacteristics": minimaal één vertaling met een gevulde value. //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ], "description": [ //BASISMaximaal 255 tekens per vertaling. { "value": "string", "language": "nl" } ] } ], "physiochemicalcharacteristics": [ //OPTIONEELNiet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels. { "physiochemicalcharacteristicid": 0, //BASISVerplicht voor elk item in "physiochemicalcharacteristics": mag niet 0 zijn. //BASISId moet bestaan in mastertabel PhysioChemicalCharacteristics. "valuefrom": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "valueto": 0.0, //BASISWaarde moet groter dan of gelijk aan 0 zijn. "unitofmeasureid": 0 //BASISId moet bestaan in mastertabel UnitOfMeasures. } ] } }

"Kopieer JSON" kopieert het voorbeeld zonder commentaar, klaar om in te vullen. Regels met "(geldt niet voor non-food)" worden overgeslagen voor non-food producten.