Feeds module - Import type JSON

In dit artikel zie je een aantal voorbeelden waaraan een Json feed moet voldoen.

De feeds module kan een JSON feed inlezen.
Om deze zo goed te kunnen verwerken, is het belangrijk dat de volgende punten in acht worden genomen:

  • De feed bevat geen gelaagdheid (nested items)
  • De feed bevat geen verwijzingen naar ID's, maar de daadwerkelijke waarden
  • Een SKU staat maar één keer in de feed.
  • Een root node is toegestaan, zie ook het tweede voorbeeld


Juiste voorbeelden


 ✅  Voorbeeld 1: Een correcte JSON feed

[
{
"sku": "S1",
"name": "Testproduct 1",
"brand": "Huismerk",
"purchase_price": 10
},
{
"sku": "S2",
"name": "Testproduct 2",
"brand": "Huismerk",
"purchase_price": 12
}
]

 

 ✅   Voorbeeld 2: Een correcte JSON feed met root node

{
"items": [
{
"sku": "S1",
"name": "Testproduct 1",
"brand": "Huismerk",
"purchase_price": 10
},
{
"sku": "S2",
"name": "Testproduct 2",
"brand": "Huismerk",
"purchase_price": 12
}
]
}



Onjuiste voorbeelden

❌  Voorbeeld 3: Onjuiste JSON feed, gelaagdheid is niet toegestaan.
De waarden voor de category kunnen niet uitgelezen worden.

[
{
"sku": "S1",
"name": "Testproduct 1",
"brand": "Huismerk",
"purchase_price": 10,
"category": {
"id": 10,
"name": "Hoofd categorie"
}
}
]



❌   Voorbeeld 4: Onjuiste feed, een SKU mag maar één keer voorkomen.
De titel van het product zal nu "Testproduct 1 - English title" zijn.

[
{
"sku": "S1",
"language": "nl",
"name": "Testproduct 1 - Nederlandse titel",
"brand": "Huismerk",
"purchase_price": 10
},
{
"sku": "S1",
"language": "en",
"name": "Testproduct 1 - English title",
"brand": "Huismerk",
"purchase_price": 10
}
]


Vertalingen

 Vertalingen van attributen kunnen op 2 manieren aangeleverd;

  • Per taal een aparte feed. Meestal zullen dan in de eerste feed ook de taal onafhankelijke attributen zitten, zoals merk en afmetingen, aangezien deze niet verschillen per taal.
  • De vertaalde attributen toevoegen aan de feed als aparte velden. Op deze manier kan het gecombineerd worden in één feed.

 ✅   Voorbeeld 5: Een correcte JSON feed met zowel een Nederlandse als een Engelse titel

[
{
"sku": "S1",
"name": "Testproduct 1 - Nederlandse titel",
"name_english": "Testproduct 1 - English title",
"brand": "Huismerk",
"purchase_price": 10
}
]