Naar de inhoud
SyncMyShop

Kennisbank

Wat is het verschil tussen een API en een feed?

Een feed is een bestand waar alles in staat en dat op vaste momenten wordt opgehaald. Een API beantwoordt één vraag per keer, op het moment dat je hem stelt, en kan ook gegevens ontvangen.

Bijgewerkt op

Het korte antwoord

Een feed is een bestand met alles erin: alle artikelen, alle prijzen of alle voorraadstanden van dat moment. De afzender zet het op vaste tijden klaar op een SFTP-server, een URL of in een e-mailbijlage, en de ontvanger haalt het op. Een API werkt per vraag. Je vraagt de voorraad van artikel 10482 en krijgt binnen een seconde het antwoord van dat moment.

Feed API
Vorm één bestand met alle regels (CSV, XML, JSON) één vraag en één antwoord per aanroep
Wie het moment bepaalt de afzender, volgens een rooster de vrager, op elk moment
Hoe actueel zo oud als de laatste export: een uur tot een dag seconden tot minuten
Richting één kant op lezen en schrijven
Bij een fout geen antwoord statuscode en melding per aanroep
Begrenzing de grootte van het bestand een limiet per minuut of per dag

Geen van de twee is de betere. Ze passen bij verschillende stromen, en veel koppelingen gebruiken ze naast elkaar.

Wanneer een feed genoeg is

Een feed past bij gegevens die in bulk veranderen en waar niemand op de seconde op wacht: de voorraadlijst van een leverancier, een prijslijst, een productcatalogus, de grootboekregels van gisteren.

De som laat zien waarom. Een leverancier heeft 15.000 artikelen. Als CSV-bestand met ongeveer 60 tekens per regel is dat 15.000 keer 60 is 900.000 tekens, nog geen megabyte. Het downloaden kost seconden. Dezelfde 15.000 artikelen één voor één via een API met een limiet van 60 aanvragen per minuut kosten 15.000 gedeeld door 60 is 250 minuten. Ruim vier uur tegen een paar seconden.

Een nachtelijk bestand is ook te controleren. Er is één versie per dag, met een regeltelling, en die is te vergelijken met de versie van gisteren. Voor een boekhouder of een inkoper is dat overzichtelijker dan duizenden losse wijzigingen verspreid over de dag.

Wat er bij een feed mis kan gaan

Een feed geeft geen foutmelding. Het bestand komt aan of het komt niet aan, en wat erin staat wordt verwerkt zoals het er staat. De fouten vallen in drie groepen.

De inhoud van het bestand

Zo ziet een voorraadbestand van een leverancier er in de praktijk uit:

Bakker Groothandel B.V. voorraadlijst
Gegenereerd: 03-10-2026 05:45
;;;;
Artikelnr;Omschrijving;Voorraad;Prijs;Levertijd
00123456;Kogelkraan 1/2" messing;14;12,50;2 werkdagen
00123457;Flexibele slang 30 cm;> 10;3,95;op voorraad
123458;Afsluiter café-model;0;1.234,00;14-10-2026

In zeven regels zitten negen problemen. De kop staat op regel 4, niet op regel 1. Het scheidingsteken is een puntkomma. Het aanhalingsteken in 1/2" breekt een lezer die aanhalingstekens als veldbegrenzing ziet. > 10 is geen getal. 12,50 heeft een decimale komma en 1.234,00 ook nog een punt voor de duizendtallen. De levertijd is in de ene regel een duur, in de andere een tekst en in de derde een datum. Artikel 123458 is zijn twee voorloopnullen kwijt, doordat iemand het bestand in Excel heeft geopend en opgeslagen. En café komt aan als café wanneer een UTF-8-bestand als Windows-1252 wordt gelezen. De volledige lijst staat in CSV- en Excel-bestanden van leveranciers.

Het bestand zelf

Wat er gebeurt Gevolg Wat de koppeling doet
De export van vandaag komt niet aan het bestand van gisteren wordt opnieuw verwerkt, de voorraad is een dag oud zonder dat iemand het weet de datum van het bestand controleren en melden als het om 06:30 nog ontbreekt
Het bestand wordt gelezen terwijl de afzender nog schrijft 9.200 van de 15.000 regels komen binnen, de rest lijkt verdwenen wachten tot de bestandsgrootte niet meer verandert
Dezelfde bestandsnaam elke dag niet te achterhalen welke versie is verwerkt elk verwerkt bestand met datum in het archief zetten
Een kolom krijgt een andere naam het veld wordt niet gevonden stoppen en melden welk veld ontbreekt, niet half doorlopen

Het bestand dat niet aankomt is de fout die het langst onopgemerkt blijft. Alles lijkt te werken, alleen klopt de voorraad sinds dinsdag niet meer.

Wat een ontbrekende regel betekent

Artikel 10482 stond gisteren in het bestand en vandaag niet. Dat kan betekenen dat de voorraad nul is, dat het artikel uit het assortiment is of dat de export onvolledig was. Behandelt de koppeling het als nul, dan gaat een leverbaar product offline. Geldt het als onbekend, dan blijft een verouderde voorraad staan. Dit is een regel die per feed wordt vastgelegd, samen met de vraag of het bestand een volledige export is of een delta. Een extra controle vangt de lege export af: zou een verwerking 94% van het assortiment op nul zetten, dan wordt die tegengehouden tot iemand hem heeft bekeken.

Wanneer je een API nodig hebt

Een API is nodig waar iemand op het antwoord wacht of waar het andere systeem moet bevestigen.

  • Orders. Een order die via de API naar het ERP gaat, krijgt direct antwoord: statuscode 201 met het ordernummer, of een foutcode met het veld dat niet klopt. Een orderbestand in een map geeft die terugmelding niet.
  • Voorraad die de klant ziet. Liggen er om 06:00 nog 3 stuks van een artikel dat 20 keer per dag verkocht wordt, dan klopt die stand om 11:00 niet meer.
  • Een betaling die een order vrijgeeft. Het magazijn mag pas picken als de betaling binnen is. Dat signaal kan niet tot de nachtelijke ronde wachten.
  • Schrijven. Een feed gaat één kant op. Een trackcode terugzetten in de webshop of een orderstatus bijwerken gaat via een API.

Een API heeft op zijn beurt een limiet. WooCommerce geeft standaard 10 resultaten per pagina en verwerkt in één batch-aanroep maximaal 100 producten (gecontroleerd op 3 oktober 2026 in de documentatie van de WooCommerce REST API). Wat een API precies is en waarom een koppeling daarmee nog niet af is, staat in wat is een API koppeling. De afweging tussen direct en in rondes staat in realtime of batch.

Vaak is het allebei

De meeste koppelingen met een leverancier gebruiken beide. De leverancier levert een bestand, omdat zijn systeem niets anders kan. De webshop heeft een API. De koppeling zit ertussen en zet het ene om in het andere.

Een leveranciersbestand dat via de API in de webshop terechtkomt De koppeling haalt elke dag om 06:00 het bestand voorraad.csv met 15.000 regels van de SFTP-server van de leverancier. 300 regels zijn gewijzigd en gaan in 3 API-aanroepen van 100 producten naar WooCommerce. 12 regels worden afgekeurd en komen op een controlelijst. Het bestand gaat na verwerking naar het archief. Leverancier voorraad.csv op SFTP Koppeling elke dag om 06:00 WooCommerce REST API Archief één bestand per dag Controlelijst voor de beheerder 15.000 regels 300 regels, 3 keer POST 12 regels afgekeurd na verwerking De feed levert alles in één keer, de API schrijft alleen wat veranderd is: 300 gewijzigde regels in batches van 100 zijn 3 aanroepen.
Feed erin, API eruit: van 15.000 regels in het bestand gaan alleen de 300 gewijzigde naar de webshop, in 3 aanroepen van 100.

In dit voorbeeld haalt de koppeling om 06:00 het bestand met 15.000 regels op en vergelijkt het met de stand van gisteren: 300 regels zijn gewijzigd. 12 regels halen de controle niet, bijvoorbeeld door een voorraad van > 10 of een onbekend artikelnummer, en komen op een controlelijst. De 300 wijzigingen gaan in batches van 100 naar WooCommerce: 3 aanroepen naar POST /wp-json/wc/v3/products/batch, elk met het veld stock_quantity per product. Daarna gaat het bestand met de datum in de naam naar het archief.

De omgekeerde richting komt ook voor. Een ouder ERP dat alleen bestanden kan inlezen, krijgt de orders uit de API van de webshop aangeleverd als XML-bestand in een map. De routes voor systemen zonder API staan in koppelen zonder API.

Wat betekent dit voor je koppeling?

Welke route het wordt, hangt af van wat je leverancier of je ERP kan leveren en van de vraag wie er op de gegevens wacht. Wij bouwen de koppeling op de bron zoals die is: een CSV op een SFTP-server, een XML-feed op een URL, een Excel-bestand in de mail of een API. De regels voor ontbrekende artikelen, afgekeurde regels en lege exports leggen we per bron vast, en van elke verwerking blijft per product staan wat er is gewijzigd.

Hoe dat werkt voor voorraad en levertijden van leveranciers, staat op leveranciersvoorraad koppelen. Heb je een bestand van een leverancier dat je wilt koppelen, beschrijf het in het formulier.

Veelgestelde vragen

Is een API altijd beter dan een feed?

Nee. Een prijslijst van 15.000 regels die één keer per nacht verandert, is als bestand in seconden binnen en in één keer te controleren. Dezelfde lijst regel voor regel via een API ophalen kost bij 60 aanvragen per minuut 250 minuten. De API is nodig waar iemand op het antwoord wacht of waar gegevens terug moeten.

Wat is een datafeed?

Een datafeed is een bestand in een vast formaat, meestal CSV of XML, dat een systeem op vaste momenten klaarzet voor een ander systeem. Leveranciers gebruiken het voor voorraad en prijzen, webshops voor productgegevens naar vergelijkers en marktplaatsen. Zie wat is een datafeed.

Mijn leverancier levert alleen een CSV-bestand. Kan mijn webshop dan actuele voorraad tonen?

De voorraad in je webshop is zo actueel als de export van de leverancier. Zet hij elk uur een nieuw bestand klaar, dan loopt je webshop hooguit een uur achter. Bij één bestand per dag is een marge op de voorraad en een duidelijke levertijd de manier om nee-verkopen te voorkomen.

Wat is het verschil tussen een volledige export en een delta?

Een volledige export bevat elke dag alle artikelen. Een delta bevat alleen wat sinds de vorige keer is gewijzigd. Bij een volledige export betekent een ontbrekend artikel dat het weg is of dat er iets misging. Bij een delta betekent het alleen dat er niets veranderd is.

Kan een feed ook orders doorgeven?

Technisch wel: een orderbestand in een map waar het ERP het oppikt. Het nadeel is dat het ERP geen antwoord teruggeeft. Wordt een order geweigerd om een onbekend artikelnummer, dan staat dat in een logbestand van het ERP en niet bij de afzender. De koppeling moet die terugmelding dan zelf ophalen.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com