Naar de inhoud
SyncMyShop

Systemen

SW-Retail koppeling met je webshop: maatlijnen, voorraad en orders binnen het dagbudget

Een SW-Retail koppeling zet artikelen met hun maatlijn en de voorraad per magazijn uit SW-Retail in je webshop, en schrijft webshoporders terug. De REST-API staat standaard op 2.400 verzoeken per dag, 1 per seconde en alleen na elkaar. De koppeling is gebouwd op die rekensom.

Wat is SW-Retail en wie gebruikt het?

SW-Retail is een kassasysteem met voorraadbeheer voor winkels, in de cloud. Het pakket heeft kassa, voorraad per magazijn, inkoop, relatiebeheer en een eigen PIM, en abonnementen voor een winkel en voor winkel plus webshop (omnichannel). De gebruikers zijn winkeliers met een of meer vestigingen. Voor artikelen in maten heeft SW-Retail maatlijnen, en dat bepaalt hoe een artikel in de webshop terechtkomt.

SW-Retail heeft eigen webshopkoppelingen, onder meer met WooCommerce, Magento, Shoptrader en MyShop, en daarnaast een REST-API voor andere systemen. Voor een eigen koppeling, een webshop buiten die lijst of regels die de standaardkoppeling niet heeft, loopt het over die API.

Wat je met SW-Retail koppelt

SW-Retail is leidend voor artikelen, prijzen en voorraad. De webshop is leidend voor de online order.

Stroom Richting Endpoint in de SW-Retail API
Artikelen met maatlijn SW-Retail naar webshop article, article_changed
Voorraad per magazijn SW-Retail naar webshop article_stock_changed, article_stock
Klanten webshop naar SW-Retail relation
Orders en retouren webshop naar SW-Retail order, sleutel inetnumber
Orderstatus en trackingcode SW-Retail naar webshop order/changed_since, veld tracker
Kassabonnen SW-Retail naar boekhouding receipts, 200 per verzoek

Een webshoporder gaat SW-Retail in met het webshopordernummer in inetnumber. Dat veld is volgens de documentatie de sleutel: een tweede POST of PUT met hetzelfde nummer werkt de order bij in plaats van een nieuwe te maken. Daarmee is een herhaalde poging na een time-out geen dubbele order. De klant moet al bestaan voordat de order binnenkomt: relation_code_invoice en relation_code_ship verwijzen naar een relatie die eerst wordt aangemaakt.

Hoe SW-Retail data vrijgeeft

REST, JSON en een API-sleutel

SW-Retail publiceert zijn API als OpenAPI-specificatie (versie 2.6.2, bekeken op 3 oktober 2026). Elke klant heeft een eigen instantie, en de koppeling praat met {instantie}.cloud.swretail.nl/swcloud, niet met het algemene adres. Inloggen gaat met een API-sleutel in de header X-Auth. Die sleutel maak je in SW-Retail onder Modules, Instellingen, Koppelingen, API Keys, met de machtigingsgroep SW-Retail Webservices. De machtigingen in SW-Retail bepalen ook wat de sleutel mag. Alles gaat als JSON in UTF-8, bedragen met een punt en twee decimalen, datums als yyyy-mm-dd.

De limieten

Limiet Waarde
Verzoeken per dag 2.400 standaard, meer op aanvraag
Verzoeken per seconde 1, leaky bucket van 40
Parallel niet toegestaan, alleen na elkaar
article_stock_changed 60 keer per uur, terugkijken tot 1.500 minuten
article_changed en volledige artikellijst 2 keer per dag
Artikelen per verzoek 10
Bij overschrijding foutcode 13, bucket vol

De volledige lijst staat in de REST-API-documentatie van SW-Retail.

De rekensom

De volledige artikellijst komt in pagina's van 10. Een winkel met 8.000 artikelen kost 800 verzoeken om die in te lezen: een derde van het dagbudget, en de volledige lijst mag maar twee keer per dag. Daarna werkt de koppeling met wijzigingen.

Het dagbudget van 2.400 verzoeken in de SW-Retail API Twee manieren om dezelfde dag te draaien. Met voorraadcontrole elke 5 minuten gaan 678 van de 2.400 verzoeken op en blijven er 1.722 over. Met controle elke minuut gaan er 1.830 op en blijven er 570 over. Voorraadwijzigingen elke 5 minuten opvragen 2.400 Over 1.722 Wijzigingen opvragen 288 Artikelen ophalen 90 150 orders met klant 300 Ruimte voor een drukke dag of een herstelronde 1.722 Voorraadwijzigingen elke minuut opvragen 2.400 Wijzigingen opvragen 1.440 Over 570 Artikelen ophalen 90 150 orders met klant 300 Ruimte voor een drukke dag of een herstelronde 570 Artikelen ophalen: 900 gewijzigde artikelen per dag, 10 per verzoek. Orders: per order 1 verzoek voor de klant en 1 voor de order.
Hoe vaak de koppeling naar voorraadwijzigingen vraagt, bepaalt hoeveel van het dagbudget overblijft.

De keuze die het meest scheelt, is hoe vaak de koppeling naar voorraadwijzigingen vraagt. Elke 5 minuten is 288 verzoeken per dag. Elke minuut, het maximum van 60 per uur, is 1.440: 60% van het budget, voordat er een artikel of order is opgehaald. Met 900 gewijzigde artikelen per dag, 10 per verzoek, is het ophalen 90 verzoeken, en 150 orders met elk een klant en een order zijn er 300. Bij elke 5 minuten blijft er 1.722 over; bij elke minuut 570.

Waar het bij SW-Retail op vastloopt

Maatlijnen en posities

Een artikel met maten heeft in SW-Retail een maatlijn (sizeruler) met posities. Elke positie heeft een eigen barcode en een eigen voorraad, en kan een prijsverschil hebben: salepricedelta is bijvoorbeeld 4,00 goedkoper voor de kleinste maat. Een order wijst een maat aan met size_pos of met de barcode.

De webshop kent een variant met een eigen SKU en een eigen prijs. De koppeling maakt per positie een variant, zet de barcode als sleutel en rekent de prijs uit: een basisprijs van 89,95 met een delta van min 4,00 wordt 85,95 voor die maat. Een positienummer zegt alleen iets binnen één maatlijn, dus de koppeling matcht een variant op barcode en niet op positie.

Artikelnummer en seizoen

Het artikelnummer is in SW-Retail alleen uniek in combinatie met het seizoen: article_number plus article_season. Hetzelfde nummer kan in de zomer- en wintercollectie een ander artikel zijn. De webshop kent maar één SKU. De koppeling bouwt de sleutel daarom uit beide velden, bijvoorbeeld 4410-261 voor artikel 4410 in seizoen 261, of gebruikt het article_id van SW-Retail. Zie SKU of EAN.

Prijzen inclusief en exclusief btw

article_baseprice, de adviesprijs, is inclusief btw; article_basepurprice, de inkoopprijs, exclusief. Er is een aparte article_price_web en een article_price_wholesale. Een order met wholesale op 1 is een B2B-order en gebruikt de groothandelsprijs exclusief btw als de orderregels geen prijs meegeven. Verzendkosten gaan in shipping_value inclusief btw. De koppeling legt per webshop vast welke prijs de webshop toont en of de orderregels hun eigen prijs meesturen; anders rekent SW-Retail met zijn eigen kortingsregels en wijkt het ordertotaal af van wat de klant betaalde. Zie bedragen en btw mappen.

Platformen die we aan SW-Retail koppelen

Per combinatie zijn er nog geen eigen pagina's. De webshopkant staat per platform beschreven: WooCommerce koppeling, Shopify koppeling, Magento koppeling en PrestaShop koppeling. Andere kassasystemen: Lightspeed Kassa koppeling en Mplus koppeling. Het overzicht van de voorraadstromen staat op voorraad koppelen.

Wij bouwen de koppeling voor een vaste prijs en hosten, draaien en bewaken hem daarna voor een vast bedrag per maand. Voor de livegang draait hij als dry run: je ziet per artikel welke varianten, prijzen en voorraad de webshop zou krijgen, en hoeveel van het dagbudget de koppeling gebruikt. Vertel hoeveel artikelen en orders per dag je hebt, dan rekenen we het budget voor jouw winkel uit.

Veelgestelde vragen

Zit de REST-API in elk SW-Retail-abonnement?

Nee. Op de prijspagina van SW-Retail staat de REST-API aangevinkt bij Winkel uitgebreid en Omnichannel uitgebreid, en niet bij de basis- en complete abonnementen (bekeken op 3 oktober 2026). De webshopkoppeling staat bij de winkelabonnementen ook alleen bij Winkel uitgebreid. Controleer je abonnement voordat de koppeling gebouwd wordt.

Is 2.400 verzoeken per dag genoeg?

Voor de meeste winkels met een webshop wel, als de koppeling er zuinig mee omgaat: voorraadwijzigingen elke 5 minuten, artikelen in groepjes van 10 en per order twee verzoeken. Dan blijft er bij 150 orders per dag ruim 1.700 over. Wie meer nodig heeft, vraagt SW-Retail om een hogere limiet; de documentatie noemt dat expliciet.

Hoe komen maten en kleuren in de webshop?

Een artikel in SW-Retail heeft een maatlijn met posities. Elke positie is een maat met een eigen barcode, een eigen voorraad en eventueel een prijsverschil. De koppeling maakt van het artikel één product en van elke positie een variant. Zie varianten.

Hoe gaan retouren uit de webshop naar SW-Retail?

Als order met negatieve aantallen. Het veld linked_id verwijst naar de oorspronkelijke order. De koppeling vult het bij elke retour, zodat de retour aan de juiste verkoop hangt. Zie retouren en creditnota's.

Wat als SW-Retail de API verandert?

SW-Retail schrijft dat de API kan veranderen, dat ze hun best doen niets te breken en dat ze een brekende wijziging vroeg aankondigen. Wij volgen die aankondigingen en passen de koppeling aan als een veld of endpoint verandert.

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