Échanger des documents via SFTP : From SFTP (pull), To SFTP (push), structure de dossiers et configuration.
Toutes les intégrations ne passent pas par une connexion API directe. Pour les systèmes qui fonctionnent avec l'échange de fichiers, le PSB propose une intégration SFTP. Le PSB récupère périodiquement des fichiers depuis votre serveur SFTP (From SFTP) ou dépose les documents reçus sur votre serveur SFTP (To SFTP). Les deux flux sont configurés via des hooks SFTP.
Vous pouvez créer une connexion SFTP via la plateforme sous Connexions > Nouvelle connexion générale > SFTP Connector. Les clés de connexion que vous générez ici seront nécessaires pour la configuration du hook.
Avec From SFTP, le PSB récupère périodiquement des fichiers depuis votre serveur SFTP et les traite comme des documents. C'est pratique lorsque votre système source exporte des fichiers vers un dossier sur un serveur SFTP, par exemple des factures au format UBL ou XML.
From SFTP fonctionne avec cinq dossiers sur votre serveur SFTP :
Le PSB vérifie par défaut toutes les 15 minutes si de nouveaux fichiers se trouvent dans le readDirectory. Cet intervalle est configurable.
Un hook From SFTP a l'action suivante :
sftp://gebruiker:wachtwoord@host:poort?readDirectory=/upload&pendingDirectory=/pending&duplicateDirectory=/duplicate&successDirectory=/success&errorDirectory=/error#md5-fingerprint
Le hook doit également contenir un publishTopic qui indique comment les fichiers récupérés doivent être traités, par exemple SendInvoice pour l'envoi de factures.
Outre le publishTopic principal, les supporting topics correspondants sont requis pour que le hook déplace les fichiers vers le bon dossier de statut :
SendInvoiceInvoiceSent, InvoiceSentErrorReceiveInvoiceInvoiceReceived, InvoiceReceivedErrorLes fichiers avec un statut intermédiaire *Retry (par ex. InvoiceSentRetry) restent dans le pendingDirectory jusqu'à un statut définitif.
{
"action": "sftp://user:pass@sftp.bedrijf.nl:22?readDirectory=/out&pendingDirectory=/out/pending&duplicateDirectory=/out/duplicate&successDirectory=/out/success&errorDirectory=/out/error#aa:bb:cc:dd:ee:ff",
"topics": [],
"publishTopics": ["SendInvoice"]
}
À chaque cycle de polling, le PSB vérifie le readDirectory, déplace les fichiers vers pending, les traite puis les place dans success ou error. Les fichiers déjà traités sont déplacés vers le duplicateDirectory.
Avec To SFTP, le PSB dépose automatiquement les documents reçus sur votre serveur SFTP. C'est idéal lorsque votre système traite des fichiers depuis un dossier plutôt que via un webhook API.
Pour To SFTP, vous avez uniquement besoin d'un inboxDirectory :
{
"action": "sftp://user:pass@sftp.bedrijf.nl:22?inboxDirectory=/inbox#aa:bb:cc:dd:ee:ff",
"topics": ["InvoiceReceived"]
}
Chaque document reçu est déposé comme fichier dans le inboxDirectory. Par défaut, To SFTP dépose un document à la fois, pas un lot ZIP périodique. Un envoi groupé périodique demande un batch hook distinct. En option, targetDocumentTypeId filtre sur un type de document précis. Ce n'est pas une transformation automatique.
Si l'expéditeur ne peut pas placer le PDF et le XML dans des dossiers distincts (les deux fichiers arrivent dans le même dossier SFTP), utilisez le paramètre de requête fileNameFilter sur les hooks SFTP. Ce paramètre se place avant l'empreinte (#) dans l'action du hook.
Configurez deux hooks From SFTP sur le même hôte et le même dossier :
.xmlSendInvoiceInvoiceSent, InvoiceSentError.pdfReceiveAttachmentAttachmentReceived, AttachmentReceivedErrorLe hook PDF peut être en read-and-delete : seul un readDirectory est alors nécessaire et la PSB supprime le fichier après traitement au lieu de le déplacer. Vous pouvez aussi reprendre les mêmes dossiers de statut (pending, success, error, duplicate) que le hook XML.
Après récupération des deux fichiers, un join hook associe le XML et le PDF en un document fusionné (SendInvoiceJoined). Voir Join hooks.
Les deux flux SFTP utilisent une empreinte MD5 pour la vérification du serveur. L'empreinte se trouve après le caractère # dans l'action du hook et garantit que le PSB se connecte uniquement au bon serveur SFTP. Cela prévient les attaques de type man-in-the-middle.
Vous trouverez l'empreinte MD5 de votre serveur SFTP dans la configuration du serveur ou en vous connectant via un client SFTP. Le format est une série de paires hexadécimales séparées par des deux-points, par exemple aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99.
Une livraison SFTP et une ingestion ERP qui suit (par exemple To SFTP vers Unit4 ERP CR) sont deux hooks distincts, qui fonctionnent indépendamment — pas une seule chaîne avec un statut partagé.
Un document marqué comme téléchargé dans eConnect confirme seulement que le hook de livraison a récupéré ou déposé le fichier. Cela ne dit rien, à lui seul, sur le fait que l'ERP a ensuite lu le fichier avec succès.
Pour chaque hook, le suivi passe par les topics HookSentError (échec définitif) et HookSentRetry (nouvel essai intermédiaire). Configurez par hook une action de suivi sur ces topics, via un mail hook ou un webhook secondaire.
Une organisation qui envoie des factures depuis son système ERP et souhaite importer les factures reçues :
/sftp/outbox. Le PSB les récupère toutes les 15 minutes et les envoie via Peppol./sftp/inbox. Le système ERP lit périodiquement le dossier et importe les documents.Les deux flux fonctionnent indépendamment l'un de l'autre et peuvent être configurés séparément.
L'intégration SFTP est couramment utilisée dans la pratique pour les connexions avec Unit4 ERP CR et ERP7, où l'échange de fichiers via un dossier SFTP est la méthode standard pour l'échange de documents de facturation.
Assurez-vous que l'utilisateur SFTP dispose des droits d'écriture sur tous les dossiers configurés. Le PSB doit pouvoir déplacer des fichiers entre les dossiers. Vérifiez également que le pare-feu de votre serveur SFTP autorise les connexions entrantes depuis les adresses IP d'eConnect.
L'intervalle de polling de 15 minutes est le paramètre par défaut. Si vous avez besoin d'un intervalle plus court ou plus long, contactez TechSupport.
L'empreinte correspond à l'hôte de votre serveur SFTP et garantit que le PSB ne se connecte qu'au serveur prévu. Vous limitez ainsi le risque d'attaques de type man-in-the-middle. Le format est des paires hexadécimales séparées par des deux-points, comme décrit dans la documentation.
Avec From SFTP, le PSB récupère périodiquement des fichiers dans vos dossiers et les traite comme des documents (par exemple export de factures vers readDirectory). Avec To SFTP, le PSB dépose les documents reçus dans votre inboxDirectory afin que votre système puisse les lire depuis un dossier plutôt que via un webhook.
L'utilisateur doit pouvoir écrire sur tous les dossiers configurés et déplacer des fichiers, car le PSB déplace des fichiers entre notamment read, pending, success et error. Vérifiez également que votre pare-feu autorise les connexions entrantes depuis les adresses IP d'eConnect.
Non. Téléchargé confirme seulement que le hook de livraison (To SFTP) a récupéré ou déposé le fichier sur le serveur SFTP. L'ingestion ERP qui suit est un hook distinct et indépendant. Configurez pour chaque hook un suivi via HookSentError et HookSentRetry.
Vous souhaitez en savoir plus sur l'échange de documents via le PSB ? Consultez l'aperçu de la livraison multi-channel ou découvrez comment configurer les webhooks pour des notifications en temps réel.
Consulter la documentation API