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: falsemet de lijst fouten. - Zonder
logisticofproductwordt 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
ideindigen 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.
logisticinfolistbevat de omdozen en pallets, met dezelfde opbouw alslogistic.
196 basisregels
25 regels verplichte velden
159 velden met een controle
JSON-voorbeeld met validaties
{
"logistic": {
//Verplicht: het object "logistic" moet aanwezig zijn. Foutmelding: "Geen logistieke gegevens ontvangen"
"gtin": "string",
//Maximaal 20 tekens.
//"A logistic item CE or HE must have a GTIN or Article Number"
"alternativegtins": [
{
"gtin": "string",
"alternativegtintypeid": 0
}
],
"number": "string",
//Maximaal 255 tekens.
"egnumber": "string",
//Maximaal 255 tekens.
//"EGNumber is mandatory when a certain productgroup is selected."
"name": [
//"The field Name is required"
{
"value": "string",
"language": "nl"
}
],
"gdsntradeitemdescription": [
{
"value": "string",
"language": "nl"
}
],
"descriptionshort": [
{
"value": "string",
"language": "nl"
}
],
"intrastatcode": 0,
//"Intrastatcode is mandatory for a baseunit."
//"Intrastatcode is mandatory for a baseunit."
"targetmarketids": [
//Targetmarket required on baseunit.
0
],
"taxrates": [
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"Taxrate set is required on a baseunit"
{
"taxrateid": 0,
//Id moet bestaan in mastertabel TaxRates.
"targetmarketid": 0
//Id moet bestaan in mastertabel TargetMarkets.
}
],
"isbaseunit": false,
//Verplicht veld (true of false).
//One baseunit on mainlevel.
"isavailableinretail": false,
"isavailableinfoodservice": false,
"isestimatedweightorvalue": false,
"isconsumerunit": false,
//Verplicht: mag niet ontbreken (niet null).
//"The field IsConsumerUnit is required"
//"Isconsumerunit is mandatory for the CE, HE and a gtin-pallet"
"isdespatchunit": false,
"isorderableunit": false,
"isinvoiceunit": false,
"isvariableunit": false,
//"Isvariableunit is mandatory for the CE, HE and a gtin-pallet"
"package": {
//Verplicht: mag niet ontbreken (niet null).
//"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)
//"Deposit applies and deposit amount on package are required when characteristic deposit is set to isapplicable" (geldt niet voor non-food)
"name": [
//Verplicht: minimaal één vertaling met een gevulde value.
{
"value": "string",
"language": "nl"
}
],
"packagingtypeid": 0,
//Id moet bestaan in mastertabel PackagingTypes.
//Mag niet 0 zijn.
"depth": 0.0,
//Waarde 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)
//"Depth is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)"
"height": 0.0,
//Waarde 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)
//"Height is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)"
"width": 0.0,
//Waarde 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)
//"Width is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)"
"unitofmeasureid": 0,
//Id moet bestaan in mastertabel UnitOfMeasures.
//Mag niet 0 zijn.
//"UnitOfMeasure is mandatory when packagingtypeid is not set to pieces (42) or unpacked (64)"
"weight": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"value": 0.0,
"unitofmeasureid": 0
//Id moet bestaan in mastertabel unitofmeasures.
},
"depositapplies": false,
"depositamount": 0.0,
"isprimarypackage": false,
"packagingmaterials": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"id": 0,
//Id moet bestaan in mastertabel PackagingMaterials.
"packagingmaterialtypeid": 0,
//Verplicht voor elk item in "packagingmaterials": mag niet ontbreken (niet null).
//Id moet bestaan in mastertabel PackagingMaterialTypes.
"value": 0.0,
//Waarde moet groter zijn dan 0.
"unitofmeasureid": 0,
//Verplicht voor elk item in "packagingmaterials": mag niet ontbreken (niet null).
//Id moet bestaan in mastertabel unitofmeasures.
"isrecyclable": false,
"percentagerecycledmaterial": 0.0,
"packagingmaterialcolorid": 0,
//Id 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)
//"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": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
//"The unitofmeasureid for netweight is not allowed. Allowed unitofmeasureids are: 3, 5"
"value": 0.0,
"unitofmeasureid": 0
//Id moet bestaan in mastertabel unitofmeasures.
},
"netcontent": {
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"The unitofmeasureid for netcontent is not allowed. Allowed unitofmeasureids are: 2, 3, 4, 5, 6, 7, 33, 34"
//"Netcontent is mandatory on a baseunit"
"value": 0.0,
"unitofmeasureid": 0
//Id moet bestaan in mastertabel unitofmeasures.
},
"grossweight": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"value": 0.0,
"unitofmeasureid": 0
//Id moet bestaan in mastertabel unitofmeasures.
},
"drainedweight": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"value": 0.0,
"unitofmeasureid": 0
//Id moet bestaan in mastertabel unitofmeasures.
},
"logistictypeid": 0,
//Id moet bestaan in mastertabel LogisticTypes.
"servingquantity": 0,
"servingweight": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"value": 0.0,
"unitofmeasureid": 0
//Id moet bestaan in mastertabel unitofmeasures.
},
"numberofsmallerlogisticinfoitems": 0,
//"numberofsmallerlogisticinfoitems cannot be filled on the main level; it only applies to child logistic units (HE/pallet)"
"labelcontacts": [
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"Contact set is required on a baseunit"
{
"name": "string",
//Verplicht voor elk item in "labelcontacts": mag niet leeg zijn.
//Maximaal 255 tekens.
"targetmarketid": 0,
//Verplicht voor elk item in "labelcontacts": mag niet 0 zijn.
//Id moet bestaan in mastertabel TargetMarkets.
"communicationaddress": "string",
//Maximaal 2000 tekens.
"communicationchannels": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"labelcontacttypeid": 0,
//Id moet bestaan in mastertabel LabelContactTypes.
"website": "string",
//Maximaal 255 tekens.
"emailaddress": "string",
//Maximaal 255 tekens.
"phonenumber": "string"
//Maximaal 255 tekens.
}
]
}
],
"storageconditionset": {
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"Atleast one storagecondition must be filled in"
"preservationtechniqueid": 0,
//Id moet bestaan in mastertabel PreservationTechniques.
"shelflifelocationtext": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"comment": [
//Maximaal 4000 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"usageinstructionlabel": [
//Maximaal 4000 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"storageinstructionlabel": [
//Maximaal 4000 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"shelflifeid": 0,
//Id moet bestaan in mastertabel ShelfLifes.
"storageconditionstages": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
//"When storageconditionstage is not set to transport, period is mandatory."
{
"id": 0,
//Id moet bestaan in mastertabel StorageConditionStages.
"storageconditions": [
//Verplicht voor elk item in "storageconditionstages": lijst mag niet leeg zijn.
//Minimaal 1 item.
{
"storageconditionid": 0,
//Id moet bestaan in mastertabel StorageConditions.
"mintemperature": 0.0,
"maxtemperature": 0.0,
"relativehumidity": 0.0,
"humidity": 0.0,
"humidityto": 0.0,
"periodid": 0,
//Mag niet 0 zijn.
//Id moet bestaan in mastertabel Periods.
"periodvalue": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"comment": [
//Maximaal 4000 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
]
}
]
}
]
},
"microbiologicalsets": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"name": [
//Verplicht voor elk item in "microbiologicalsets": minimaal één vertaling met een gevulde value.
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"microbiologicalstageid": 0,
//Id moet bestaan in mastertabel MicrobiologicalStages.
"microbiologicalorganisms": [
//Verplicht voor elk item in "microbiologicalsets": lijst mag niet leeg zijn.
//Minimaal 1 item.
{
"microbiologicalorganismid": 0,
//Id moet bestaan in mastertabel MicroBiologicalOrganisms.
"measurementprecisionid": 0,
//Id moet bestaan in mastertabel MeasurementPrecisions.
"value": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"unitofmeasureid": 0,
//Id moet bestaan in mastertabel unitofmeasures.
"sequence": 0,
"comment": [
//Maximaal 4000 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
]
}
]
}
],
"assets": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
//"Assets are only allowed on the base unit (CE)"
{
"typeid": 0,
//Id moet bestaan in mastertabel AssetTypes.
"labelid": 0,
//Id moet bestaan in mastertabel AssetLabels.
"facingtypeid": 0,
//Id moet bestaan in mastertabel AssetFacingTypes.
"angletypeid": 0,
//Id moet bestaan in mastertabel AssetAngleTypes.
"formattypeid": 0,
//Id moet bestaan in mastertabel AssetFormatTypes.
"isdefault": false,
"targetmarketids": [
//Id moet bestaan in mastertabel TargetMarkets.
0
],
"isheroimage": false,
"externalreferenceid": "string"
//Maximaal 255 tekens.
}
],
"pallet": {
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"For a pallet, amountlayerperpallet is mandatory and must be higher than 0" (geldt niet voor non-food)
//"For a pallet, amountperpalletlayer is mandatory and must be higher than 0" (geldt niet voor non-food)
"amountoflayers": 0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"amountlogisticperlayer": 0,
//Waarde 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": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"impactscore": 0,
//Waarde 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",
//Maximaal 500 tekens.
"dataquality": "string",
"receivedon": "2026-01-01T00:00:00",
"productcarbonfootprintinfolist": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"carbonemission": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"carbonemissionunitid": 0,
//Id moet bestaan in mastertabel Co2EmissionUnits.
"chainphaseid": 0,
//Id moet bestaan in mastertabel ChainPhases.
"methodid": 0,
//Id moet bestaan in mastertabel PCFMethods.
"accountingid": 0,
//Id moet bestaan in mastertabel AccountingCodes.
"verificationid": 0,
//Id moet bestaan in mastertabel Verifications.
"calculationdate": "2026-01-01T00:00:00"
//Verplicht voor elk item in "productcarbonfootprintinfolist": mag niet ontbreken (niet null).
}
]
},
"containsdangerousgoods": false,
"dangerousgoods": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
//"Voor dit product (GPC code) kunnen geen gevaarlijke stoffen worden ingevoerd. Selecteer een andere GPC code."
{
"classofdangerousgoodsid": 0,
//Id moet bestaan in mastertabel ClassOfDangerousGoods.
"adrpackinggroupid": 0,
//Id moet bestaan in mastertabel AdrPackingGroups.
"ghssymboldescriptioncodeid": 0,
//Id moet bestaan in mastertabel GHSSymbolDescriptionCodes.
"ghssignalwordscodeid": 0,
//Id moet bestaan in mastertabel GHSSignalWordsCodes.
"undangerousgoodsnumberid": 0,
//Id moet bestaan in mastertabel UNDangerousGoodsNumbers.
"adrtunnelrestrictioncodeid": 0,
//Id moet bestaan in mastertabel AdrTunnelRestrictionCodes.
"bnladrclassificationcodeid": 0
//Id moet bestaan in mastertabel BNLADRClassificationCodes.
}
],
"regulations": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
//"Dezelfde regelgeving kan niet meerdere keren worden toegevoegd."
//"Selecteer of het product voldoet aan de verordening."
{
"regulationtypeid": 0,
//Id moet bestaan in mastertabel RegulationTypes.
"regulationcompliantid": 0
//Id moet bestaan in mastertabel RegulationCompliants.
}
]
},
"product": {
//Verplicht: het object "product" moet aanwezig zijn. Foutmelding: "Geen product gegevens ontvangen"
"name": [
//Verplicht: minimaal één vertaling met een gevulde value.
{
"value": "string",
"language": "nl"
}
],
"shortdescription": [
{
"value": "string",
"language": "nl"
}
],
"description": [
{
"value": "string",
"language": "nl"
}
],
"commercial": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"legalname": [
//Maximaal 500 tekens per vertaling.
//Verplicht 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": [
//Maximaal 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
//Brandid validation.
},
"recipenumber": "string",
//Maximaal 255 tekens.
"validfrom": "2026-01-01T00:00:00",
"endavailabilitydate": "2026-01-01T00:00:00",
"validto": "2026-01-01T00:00:00",
"productgroupid": 0,
//Id moet bestaan in mastertabel ProductGroups.
//"productgroupid must be a productgroup without subgroups"
"globalproductclassificationid": 0,
//"atleast one of globalproductclassificationid or globalproductclassificationcode should be filled in"
//"The selected GPC code is no longer active, please select a different one" (geldt niet voor non-food)
"globalproductclassificationcode": 0,
"iddsiid": 0,
//Id moet bestaan in mastertabel IDDSI.
"locations": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"locationofbirth": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"locationofprovenance": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"locationofrearing": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"locationofslaughter": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"locationoforigin": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"countryoforiginid": 0,
//Id moet bestaan in mastertabel Countries. Foutmelding: "Countryoforiginid should be filled in"
"countryoforiginisocode": 0
},
"qualitymarks": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"id": 0
//Verplicht voor elk item in "qualitymarks": mag niet 0 zijn.
//Id moet bestaan in mastertabel QualityMarks.
}
],
"characteristics": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
//"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,
//Verplicht voor elk item in "characteristics": mag niet 0 zijn.
//Id moet bestaan in mastertabel Characteristics.
"isclaimedonlabel": false,
"isapplicable": false
//Verplicht voor elk item in "characteristics": mag niet ontbreken (niet null).
}
],
"fishingredients": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"scientificfishnameid": 0,
//Verplicht voor elk item in "fishingredients": mag niet 0 zijn.
//Id moet bestaan in mastertabel ScientificFishNames.
"ingredientname": [
//Verplicht voor elk item in "fishingredients": minimaal één vertaling met een gevulde value.
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"fishcatchzones": [
//"At least one catchzone or the countryoforigin must be filled"
{
"fishcatchzoneid": 0
}
],
"countryoforiginid": 0,
//Id moet bestaan in mastertabel Countries (uitzondering: 0 is altijd toegestaan).
"fishcapturemethod": 0
//Verplicht voor elk item in "fishingredients": mag niet 0 zijn.
//Id moet bestaan in mastertabel FishCaptureMethods.
}
]
},
"specification": {
//Verplicht: mag niet ontbreken (niet null). Foutmelding: "There should be a specification"
"statusid": 0,
//Id 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": {
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"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": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"sequence": 0,
"name": [
//Verplicht voor elk item in "ingredients": minimaal één vertaling met een gevulde value.
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"declarationname": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"countriesoforigin": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"id": 0,
//Id moet bestaan in mastertabel Countries (uitzondering: 0 is altijd toegestaan).
"isocode": 0
}
],
"kwid": 0.0,
"percentage": 0.0,
"internalpercentage": 0.0,
"subingredients": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"sequence": 0,
"name": [
//Verplicht voor elk item in "subingredients": minimaal één vertaling met een gevulde value.
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"declarationname": [
//Verplicht voor elk item in "subingredients": minimaal één vertaling met een gevulde value.
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"countryoforiginid": 0,
"countriesoforigin": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"id": 0,
//Id moet bestaan in mastertabel Countries (uitzondering: 0 is altijd toegestaan).
"isocode": 0
}
],
"kwid": 0.0,
"percentage": 0.0,
//Waarde tussen 0 en 100.
"internalpercentage": 0.0
}
]
}
]
},
"allergenset": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"comment": [
//Maximaal 500 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"allergens": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
//"Allergens that are mandatory by law may not be set to unspecified" (geldt niet voor non-food)
//"Allergens that are mandatory by law may not be set to unspecified" (geldt niet voor non-food)
{
"id": 0,
//Verplicht voor elk item in "allergens": mag niet 0 zijn.
//Waarde moet groter zijn dan 0.
//Id moet bestaan in mastertabel Allergens.
"levelofcontainmentid": 0,
//Verplicht voor elk item in "allergens": mag niet ontbreken (niet null).
//Id moet bestaan in mastertabel LevelOfContainments.
"crosscontaminationtypeid": 0,
//Id moet bestaan in mastertabel CrossContaminationTypes.
"crosscontaminationdistributionid": 0,
//Id moet bestaan in mastertabel CrossContaminationDistributions.
"amountallergenproteingr": 0.0,
"amountallergenproteinppm": 0.0,
"allergenproteinweight": 0.0,
"allergenproteinpercentage": 0.0
}
]
},
"nutrientset": {
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
"comment": [
//Maximaal 500 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"dailyvalueintakereferencecomment": "string",
//Maximaal 255 tekens.
"informationproviderid": 0,
//Id moet bestaan in mastertabel nutritionalinformationproviders.
"stateofpreparations": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"stateofpreparationid": 0,
//Verplicht voor elk item in "stateofpreparations": mag niet 0 zijn.
//Id moet bestaan in mastertabel StateOfPreparations.
"perhunderduomid": 0,
//Verplicht voor elk item in "stateofpreparations": mag niet ontbreken (niet null).
//Id moet bestaan in mastertabel UnitOfMeasures.
"servingunitvalue": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"servinguomid": 0,
//Id moet bestaan in mastertabel UnitOfMeasures.
"nutrients": [
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"Energy (kcal) times 4,2 should equal energy (kJ) within a 10% margin" (geldt niet voor non-food)
//"Energy calculation does not match the filled in energy within a 10% margin" (geldt niet voor non-food)
//"Sodium times 2.5 should be equal to salt within a 10% margin" (geldt niet voor non-food)
//"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)
//"The sum of carbohydrate subtotals (sugars, polysaccharides, lactose, sorbitol, polyols) exceeds carbohydrates total + 0.5" (geldt niet voor non-food)
//"Nutrient value is required when stateofpreparation is set to Product" (geldt niet voor non-food)
//"The value or value per serving is required when stateofpreparation is set to After Production" (geldt niet voor non-food)
//"The sum of fat subtotals (saturated, monounsaturated, polyunsaturated, trans) exceeds total fat + 0.5" (geldt niet voor non-food)
//"Nutrients that are mandatorybylaw should be present" (geldt niet voor non-food)
//"Nutrients are required. Fill your nutrient at either product or after preparation" (geldt niet voor non-food)
{
"id": 0,
//Verplicht voor elk item in "nutrients": mag niet 0 zijn.
"measurementprecisionid": 0,
//Id moet bestaan in mastertabel MeasurementPrecisions.
"value": 0.0,
"valueperserving": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"guidelinedailyamount": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"unitofmeasureid": 0,
//Verplicht voor elk item in "nutrients": mag niet ontbreken (niet null).
//"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)
//Id moet bestaan in mastertabel UnitOfMeasures.
"measurementprecisionperservingid": 0
//Id moet bestaan in mastertabel MeasurementPrecisions.
}
]
}
]
},
"preparationinformations": [
//Alleen verplicht in de situatie uit de regel hieronder. Vul je het in, dan moeten de velden erin voldoen aan de regels.
//"Atleast one preparationdescription must be filled in when product contains nutrientset with prepared state"
{
"preparationtypeid": 0,
//Verplicht voor elk item in "preparationinformations": mag niet 0 zijn.
//Id moet bestaan in mastertabel PreparationTypes.
"preparationdescription": [
{
"value": "string",
"language": "nl"
}
]
}
],
"organolepticcharacteristics": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"name": [
//Verplicht voor elk item in "organolepticcharacteristics": minimaal één vertaling met een gevulde value.
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
],
"description": [
//Maximaal 255 tekens per vertaling.
{
"value": "string",
"language": "nl"
}
]
}
],
"physiochemicalcharacteristics": [
//Niet verplicht. Vul je dit wel in, dan moeten de velden erin voldoen aan de regels.
{
"physiochemicalcharacteristicid": 0,
//Verplicht voor elk item in "physiochemicalcharacteristics": mag niet 0 zijn.
//Id moet bestaan in mastertabel PhysioChemicalCharacteristics.
"valuefrom": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"valueto": 0.0,
//Waarde moet groter dan of gelijk aan 0 zijn.
"unitofmeasureid": 0
//Id 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.