Kies de feed die de nodige velden levert met een traceerbare update en een betrouwbare hervatting, niet degene met de modernst klinkende naam. Een volledige CSV die dagelijks wordt aangeleverd, kan te verkiezen zijn boven een API zonder tijdstempel of betrouwbare paginering. Een API wordt interessant bij frequente wijzigingen en gerichte queries; XML past bij geneste, gedocumenteerde structuren; FTP is een transportkanaal, vaak gebruikt om bestanden te plaatsen, geen catalogusformaat. Test vóór je beslist de documentatie, het volume, de limieten, de identificaties, de prijs, de voorraad, de beveiliging en het gedrag bij onderbrekingen.
Formaat, transport en toegangscontract scheiden
CSV en XML beschrijven vooral een gegevensweergave. HTTP en FTP beschrijven uitwisselingsmechanismen. Een "JSON-API" combineert doorgaans een applicatiecontract, JSON-documenten en HTTP-transport. Een "FTP-feed" kan een CSV, een XML, een archief of meerdere bestanden bevatten. Deze niveaus door elkaar halen leidt tot verkeerde vergelijkingen.
RFC 4180 documenteert een veelgebruikt CSV-formaat en het MIME-type ervan. Het beschrijft onder meer regels, scheidingstekens en het escapen van velden tussen aanhalingstekens, maar definieert niet de kolommen price, stock of ean. De XML-aanbeveling van het W3C definieert de syntax en de welgevormdheid van XML-documenten; ook dat geeft niet het bedrijfsschema van de leverancier. In beide gevallen blijft de documentatie van de producent onmisbaar.
FTP, historisch gestandaardiseerd via RFC 959 en aangevuld met latere updates, dient voor bestandsoverdracht tussen hosts. Het bestaan ervan betekent niet dat de verbinding versleuteld is of dat de inhoud recent is. Controleer het werkelijk aangeboden protocol, de authenticatiemethode, de transportbeveiliging en het rotatiebeleid voor toegang, zonder geheimen in logbestanden bloot te leggen.
Een feitelijke keuzematrix
| Optie | Typische kracht | Te controleren risico | Goed gebruiksscenario |
|---|---|---|---|
| CSV | Eenvoudig te archiveren, vergelijken en herafspelen | Encoding, scheidingsteken, platte kolommen, grote volledige bestanden | Stabiele periodieke export |
| XML | Hiërarchische structuur en mogelijk schema | Namespaces, misvormde documenten, complexe nesting | Gestructureerde producten, varianten en aanbiedingen |
| HTTP-API | Gerichte queries, paginering, frequente updates | Quota, authenticatie, paginering, versies, gedeeltelijke fouten | Regelmatig geraadpleegde voorraad of prijs |
| FTP-depot | Geautomatiseerde bestandslevering | Kanaalbeveiliging, onvolledige bestanden, naamgevingsconventie | Grote geplande exports |
Deze matrix rangschikt geen technologie in absolute zin. Ze helpt om de vragen naar boven te halen die de leverancier moet documenteren. Een feed moet worden beoordeeld op werkelijk bewijs: voorbeeldrespons, gegevenswoordenboek, aangekondigde frequentie, gebruiksvoorwaarden, hervattingsmethode en contactpersoon bij incidenten.
De criteria die er écht toe doen
Zakelijke volledigheid
Maak vóór elke technologiediscussie een lijst van niet-onderhandelbare velden: product- en variant-ID, SKU, merk, titel, prijs, valuta, aard excl./incl. btw, voorraad met precisieniveau, verkoopeenheid, MOQ, bestelstap, afbeelding en tijdstempel. Gebruik het rooster van kolommen van een groothandelscatalogus om te voorkomen dat een technische demo het ontbreken van essentiële data verhult.
Actualiteit en bewijs van wijziging
Vraag of de feed volledig of incrementeel is. Zoek bij een volledig bestand naar een genereerdatum en een mechanisme dat voorkomt dat het bestand wordt gelezen vóór het depot is voltooid. Documenteer bij een API de paginering, de stabiele sortering, de cursors en de betekenis van verwijderingen. De HTTP-velden ETag en Last-Modified, gedefinieerd door RFC 9110, zijn validators, maar hun aanwezigheid en betekenis hangen af van de server. Ze vervangen geen zakelijke tijdstempel van prijs of voorraad.
De betrouwbaarheidstermijn voor prijzen en voorraad moet worden gekozen op basis van het commerciële risico. Een catalogus met kenmerken kan traag evolueren; beschikbaarheid kan tussen twee bestellingen veranderen. Dezelfde cyclus past niet noodzakelijk bij beide veldfamilies.
Hervatting en idempotentie
Simuleer een onderbreking. Kun je hervatten bij de volgende pagina zonder producten te missen of te dupliceren? Heeft een bestand een tijdelijke naam voordat het als compleet wordt verklaard? Levert een API een stabiele identificatie en volgorde? Updates moeten idempotent zijn: hetzelfde document opnieuw verwerken mag de aanbiedingen niet vermenigvuldigen.
Archiveer de hash van de geaccepteerde inhoud, de verzameldatum, de URL of bestandsnaam en de parserversie. Deze traceerbaarheid maakt duidelijk of een verschil van de leverancier komt of van je eigen transformatie.
Beveiliging en rechten
Plaats nooit een API-sleutel in code, in de gegenereerde CSV of in een foutmelding. Beperk toegang tot wat nodig is en volg het rotatieproces van de leverancier. Controleer ook de licentie of gebruiksvoorwaarden: een technisch bereikbare bron is niet automatisch toegestaan voor commercieel hergebruik. RFC 9309 herinnert er trouwens aan dat robots.txt geen vorm van toegangsautorisatie is.
Selectietest in negen stappen
1. Verkrijg de officiële documentatie en gebruiksvoorwaarden. 2. Maak een lijst van verplichte velden en hun definitie. 3. Controleer een klein staal met varianten, uitverkochte artikelen en lege waarden. 4. Meet het volume en begrijp de paginering of bestandsverdeling. 5. Bepaal frequentie, tijdstempels en wijzigingssignalen. 6. Veroorzaak een gecontroleerde fout en observeer de code, het bericht en de hervatting. 7. Herafspeel hetzelfde fragment om te controleren op afwezigheid van duplicaten. 8. Vergelijk de data met geautoriseerde officiële fiches. 9. Start een testpartij van de leverancier voordat je het volume verhoogt.
Stel aan het einde een beslissingsfiche op met drie kolommen: "bewezen", "niet geleverd" en "te bevestigen". Gebruik de term "ondersteund" alleen als een test of officiële documentatie dit aantoont.
Aansluitingschecklist
- Formaat en transport zijn apart geïdentificeerd.
- Het bedrijfsschema en de eenheden zijn gedocumenteerd.
- Paginering, quota en volume zijn getest.
- De genereer-tijdstempel is beschikbaar of expliciet als ontbrekend gemarkeerd.
- Een hervatting na onderbreking is geverifieerd.
- Verwijderingen en uitverkocht-statussen hebben een duidelijke betekenis.
- Geheimen blijven buiten bestanden en logs.
- De voorwaarden staan het beoogde gebruik toe.
- Ruwe responsen en hun hashes worden gearchiveerd.
- De testpartij slaagt vóór de volledige import.
Wat ArbitragePro+ kan automatiseren / wat de verkoper zelf moet controleren
De voorgestelde specificatie diagnostic-flux zou structuur, types, paginering, stabiliteit van ID's, hashes en fouten van een testpartij kunnen controleren. Ze zou de geleverde velden kunnen vergelijken met de opgegeven eisen, zonder te doen alsof ze het contract van de leverancier bepaalt.
De verkoper moet de geautoriseerde bron kiezen, toegang verkrijgen, de fiscale basis en eenheden bevestigen, de beveiliging van het kanaal beoordelen en vervolgens valideren of de frequentie past bij zijn bestelmodel.
De juiste aansluiting bepalen
Bekijk de bronnen die ArbitragePro+ volgt om de beschikbare informatie per verbinding te bekijken.
Officiële bronnen
- IETF, RFC 4180, "Common Format and MIME Type for CSV Files", https://www.rfc-editor.org/info/rfc4180/ — geraadpleegd op 17-08-2026.
- W3C, "Extensible Markup Language (XML) 1.0", https://www.w3.org/TR/xml/ — geraadpleegd op 17-08-2026.
- IETF, RFC 9110, "HTTP Semantics", https://www.rfc-editor.org/rfc/rfc9110.html — geraadpleegd op 17-08-2026.
- IETF, RFC 959, "File Transfer Protocol", https://www.rfc-editor.org/info/rfc959/ — geraadpleegd op 17-08-2026.
- IETF, RFC 9309, "Robots Exclusion Protocol", https://www.rfc-editor.org/rfc/rfc9309.html — geraadpleegd op 17-08-2026.
