FTP & SFTP
Der FTP-/SFTP-Transport legt die transformierte Bestellung als Datei in ein Zielverzeichnis auf einem (S)FTP-Server. Typischer Einsatz: dateibasierte Importer in Warenwirtschaftssystemen (z. B. JTL-Wawi, Sage), EDI-Clearing-Anbieter oder Lieferantenportale, die Dropfolder überwachen. Benötigtes Addon: delivery_ftp.
Wann FTP/SFTP wählen?
- Das Ziel-System importiert Bestellungen aus einem überwachten Verzeichnis
- Der Empfänger kann keinen HTTP-Endpoint bereitstellen, aber einen FTP-Server
- Sie tauschen mit einem EDI-Clearing-Anbieter Dateien aus
Für neue Integrationen bevorzugen Sie nach Möglichkeit HTTP POST oder REST API – FTP ist altersbedingt oft weniger sicher und weniger transaktional.
SFTP vs. FTP
| Aspekt | SFTP | FTP/FTPS |
|---|---|---|
| Transport | SSH (Port 22) | TCP (Port 21) + AUTH TLS |
| Verschlüsselung | Immer | Nur mit expliziter AUTH-TLS-Initialisierung |
| Authentifizierung | Passwort oder SSH-Key | Passwort |
| Firewall-Verhalten | Einfach (eine Verbindung) | Komplex (Active vs. Passive, Data-Port) |
Empfehlung: SFTP wo möglich. Klassisches FTP ist nur sinnvoll, wenn der Partner kein SFTP anbietet – dann bitte mindestens FTPS (AUTH TLS) nutzen.
Einrichtung
- Transporte → Hinzufügen → Typ: FTP/SFTP
- Protokoll:
SFTP,FTPoderFTPS - Host: z. B.
ftp.example.com - Port:
22(SFTP) oder21(FTP/FTPS) – manche Anbieter nutzen eigene Ports - Benutzername
- Authentifizierung:
- Passwort – wird verschlüsselt gespeichert
- SSH-Key (nur SFTP) – Key-Pärchen wird in Orderport erzeugt, Public-Key an den Partner weitergegeben
- Pfad auf dem Zielserver (z. B.
/inbox/orders/) - SSL/TLS-Verifikation: aktiviert (Default) – nur bei selbstsignierten Zertifikaten deaktivieren, in Absprache mit dem Partner
- Passiv-Modus: Standard für FTP – bei Firewall-Problemen Aktiv-Modus versuchen
- Speichern → Verbindung testen
Dateinamen
Orderport erzeugt Dateien nach dem Muster:
{external_order_id}_{YYYYMMDD_HHMMSS}.{ext}
extistxmloderjsonje nach Ausgabeformat- Retries bei Netzwerkfehler erzeugen im Erfolgsfall genau eine Datei
- Bei mehreren Zustellversuchen entstehen ggf. doppelte Dateien mit leicht anderen Timestamps – das Ziel-System sollte idempotent importieren
Technische Details
Atomarer Upload
Der Upload läuft in zwei Schritten: Orderport schreibt die Datei zuerst mit einer .tmp-Endung auf den Server und benennt sie erst nach erfolgreichem Transfer in den endgültigen Dateinamen um. Dadurch sieht das Ziel-System nie eine halb geschriebene Datei. Voraussetzung: der FTP/SFTP-Benutzer darf im Zielverzeichnis schreiben und umbenennen.
SSH-Keys
Wenn Sie bei SFTP statt Passwort ein SSH-Key-Paar nutzen, erzeugt Orderport das Paar in OpenSSH-Format. Der öffentliche Teil wird Ihnen zum Download angeboten – Sie hinterlegen ihn in der authorized_keys-Datei des Ziel-Benutzers.
Passwort-Speicherung
Passwörter und Secrets werden verschlüsselt abgelegt und nur im Arbeitsspeicher des Zustellungs-Vorgangs entschlüsselt. Klartexte erscheinen nie in Logs oder Datenbank-Dumps.
Feature-Gate
Der FTP/SFTP-Transport ist hinter dem Addon delivery_ftp. Demo-Mandanten haben uneingeschränkten Zugang.
Fehlerbehebung
| Symptom | Ursache | Lösung |
|---|---|---|
| „Connection refused" | Port geschlossen oder Host falsch | Host/Port prüfen, Firewall-Regeln beim Partner abklären |
| „Authentication failed" | Benutzername/Passwort falsch, oder SSH-Key nicht deponiert | Zugangsdaten prüfen; bei SSH-Key den Public-Key beim Partner in authorized_keys eintragen |
| Datei wird geschrieben, aber vom Importer nicht gelesen | Importer ignoriert .tmp-Dateien, aber Rename schlägt still fehl |
Auf dem Server prüfen, ob Orderport Schreibrechte und Umbenennungs-Rechte im Zielverzeichnis hat |
| Aktive FTP-Verbindung funktioniert nicht | Firewall blockt eingehende Data-Connection | Passiv-Modus aktivieren (Default) |
| SSL-Fehler bei FTPS | Server nutzt selbstsigniertes Zertifikat | Mit dem Partner klären: idealerweise gültiges Zertifikat, notfalls SSL-Verifikation deaktivieren (erst nach Absprache) |
| Nach Upload „Permission denied" | Verzeichnis lässt kein Rename zu | Partner bitten, dem Benutzer das Rename-Recht zu geben |
Nächste Schritte
- Zugangsdaten
- JTL-Wawi – klassischer SFTP-Drop-Consumer
- Fehlerbehebung