SFTP-integratie: bestanden uitwisselen

Documenten uitwisselen via SFTP: From SFTP (pull), To SFTP (push), mappenstructuur en configuratie.

Niet elke integratie verloopt via een directe API-koppeling. Voor systemen die werken met bestandsuitwisseling biedt de PSB SFTP-integratie. De PSB haalt periodiek bestanden op van je SFTP-server (From SFTP) of plaatst ontvangen documenten op je SFTP-server (To SFTP). Beide flows worden geconfigureerd via SFTP-hooks.

Je kunt een SFTP-verbinding aanmaken via het platform onder Verbindingen > Nieuwe Algemene verbinding > SFTP Connector. De verbindingssleutels die je hier genereert heb je later nodig bij de hook-configuratie.

From SFTP (pull)

Met From SFTP haalt de PSB periodiek bestanden op van jouw SFTP-server en verwerkt ze als documenten. Dit is handig als je bronsysteem bestanden exporteert naar een map op een SFTP-server, bijvoorbeeld facturen in UBL- of XML-formaat.

Mappenstructuur

From SFTP werkt met vijf mappen op je SFTP-server:

MapFunctiereadDirectoryHier plaatst je systeem de bestanden die de PSB moet ophalenpendingDirectoryBestanden die de PSB aan het verwerken is, worden hierheen verplaatstduplicateDirectoryBestanden die al eerder zijn verwerkt door de PSB (duplicaatdetectie op basis van document-hash)successDirectorySuccesvol verwerkte bestandenerrorDirectoryBestanden die niet verwerkt konden worden

De PSB controleert standaard elke 15 minuten of er nieuwe bestanden in de readDirectory staan. Dit interval is configureerbaar.

Hook-configuratie

Een From SFTP hook heeft de volgende action:

sftp://gebruiker:wachtwoord@host:poort?readDirectory=/upload&pendingDirectory=/pending&duplicateDirectory=/duplicate&successDirectory=/success&errorDirectory=/error#md5-fingerprint

De hook moet ook een publishTopic bevatten dat aangeeft hoe de opgehaalde bestanden moeten worden verwerkt, bijvoorbeeld SendInvoice voor het verzenden van facturen.

{
  "action": "sftp://user:[email protected]:22?readDirectory=/out&pendingDirectory=/out/pending&duplicateDirectory=/out/duplicate&successDirectory=/out/success&errorDirectory=/out/error#aa:bb:cc:dd:ee:ff",
  "topics": [],
  "publishTopics": ["SendInvoice"]
}

Bij elke poll controleert de PSB de readDirectory, verplaatst bestanden naar pending, verwerkt ze en plaatst ze daarna in success of error. Bestanden die al eerder zijn verwerkt, worden naar de duplicateDirectory verplaatst.

To SFTP (push)

Met To SFTP plaatst de PSB ontvangen documenten automatisch op jouw SFTP-server. Dit is ideaal als je systeem bestanden uit een map verwerkt in plaats van via een API-webhook.

Configuratie

Bij To SFTP heb je alleen een inboxDirectory nodig:

{
  "action": "sftp://user:[email protected]:22?dirs=/inbox#aa:bb:cc:dd:ee:ff",
  "topics": ["InvoiceReceived"]
}

Elk ontvangen document wordt als bestand in de inboxDirectory geplaatst. Je kunt optioneel een targetDocumentTypeId opgeven om documenten automatisch te laten transformeren naar een specifiek formaat voordat ze op de SFTP-server worden geplaatst.

MD5-fingerprint

Beide SFTP-flows gebruiken een MD5-fingerprint voor serververificatie. De fingerprint staat achter het #-teken in de hook-action en zorgt ervoor dat de PSB alleen verbinding maakt met de juiste SFTP-server. Dit voorkomt man-in-the-middle aanvallen.

Je vindt de MD5-fingerprint van je SFTP-server in de serverconfiguratie of door verbinding te maken via een SFTP-client. Het formaat is een reeks hexadecimale paren gescheiden door dubbele punten, bijvoorbeeld aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99.

Praktijkvoorbeeld

Een organisatie die facturen verstuurt vanuit hun ERP-systeem en ontvangen facturen wil importeren:

  1. Verzenden (From SFTP): het ERP-systeem exporteert UBL-facturen naar /sftp/outbox. De PSB haalt ze elke 15 minuten op en verstuurt ze via Peppol.
  2. Ontvangen (To SFTP): de PSB plaatst ontvangen facturen in /sftp/inbox. Het ERP-systeem leest de map periodiek uit en importeert de documenten.

Beide flows draaien onafhankelijk van elkaar en kunnen afzonderlijk worden geconfigureerd.

SFTP-integratie wordt in de praktijk veel ingezet bij koppelingen met Unit4 ERP CR en ERP7, waar bestandsuitwisseling via een SFTP-map de standaardmethode is voor het uitwisselen van factuurdocumenten.

Aandachtspunten

Zorg ervoor dat de SFTP-gebruiker schrijfrechten heeft op alle geconfigureerde mappen. De PSB moet bestanden kunnen verplaatsen tussen de mappen. Controleer ook of de firewall van je SFTP-server inkomende verbindingen toestaat vanaf de eConnect IP-adressen.

Het pull-interval van 15 minuten is standaard. Als je een korter of langer interval nodig hebt, neem dan contact op met TechSupport.

Veelgestelde vragen
Waarvoor dient de MD5-fingerprint achter het #-teken in de SFTP hook-action?

De fingerprint hoort bij de host van je SFTP-server en zorgt dat de PSB alleen verbindt met de bedoelde server. Zo beperk je het risico op man-in-the-middle-aanvallen. Het formaat is hexadecimale paren gescheiden door dubbele punten, zoals in de documentatie beschreven.

Wat is het verschil tussen From SFTP en To SFTP?

Met From SFTP haalt de PSB periodiek bestanden van jouw mappen op en verwerkt ze als documenten (bijvoorbeeld facturen exporteren naar readDirectory). Met To SFTP plaatst de PSB ontvangen documenten in jouw inboxDirectory zodat jouw systeem ze uit een map kan inlezen in plaats van via een webhook.

Welke rechten moet de SFTP-gebruiker hebben?

De gebruiker moet op alle geconfigureerde mappen kunnen schrijven en bestanden kunnen verplaatsen, omdat de PSB bestanden tussen onder meer read, pending, success en error verplaatst. Controleer ook dat je firewall inkomende verbindingen vanaf de eConnect IP-adressen toestaat.


Meer weten over documentuitwisseling via de PSB? Bekijk het overzicht van multi-channel levering of lees hoe je webhooks instelt voor real-time notificaties.

Bekijk de API-documentatie

Gerelateerd