Schlüssel, Webhooks, Sandbox

SFTP und Dateiaustausch

Für das ERP, das nur CSV spricht: ein SFTP-Konto bereitstellen, Ordnerkonventionen, die vier Jahre überleben, und eine abgelegte Datei mit einem geplanten Import verdrahten.

Die meiste deutsche B2B-Integration ist immer noch Dateien. Das ist keine minderwertige Option — ein Ordner, eine Namenskonvention und ein Zeitplan sind eine funktionierende Integration, und häufig die, die in fünf Jahren noch unverändert läuft.

Bevor Sie anfangen. Entscheiden Sie, wer welche Datei schreibt, in welche Richtung, und wie oft. Die Entscheidung über das führende System steht über jeder technischen Wahl auf dieser Seite: Eine Datei mit einer Spalte, die niemand schreiben sollte, überschreibt dieses Feld jede einzelne Nacht.

Was Sie bekommen

Die Plattform betreibt einen verwalteten SFTP-Dienst für Ihren Tenant. Ihre Systeme verbinden sich mit einem Host der Form:

<ihr-tenant-slug>.share.revenexx.com

mit einem Login-Benutzernamen, über SFTP. Der Speicher dahinter liegt in Deutschland — relevant für das DSGVO-Gespräch über eine Datei mit Kundendaten.

Zwei Dinge ist er mit Absicht nicht: FTP und SMB werden nicht angeboten. Klartext-FTP sendet Zugangsdaten unverschlüsselt und hat mit Ihren Bestelldaten nichts zu tun; besteht Ihr ERP-Anbieter darauf, nur FTP zu sprechen, ist die Antwort ein kleiner Transfer-Agent auf Ihrer Seite, kein unverschlüsselter Kanal.

Ein Konto bereitstellen

Gehen Sie zu Data Exchange › SFTP Server und legen Sie ein neues Konto an.

  1. Einen Benutzernamen wählen. Kleinbuchstaben, Ziffern und Bindestriche. Benennen Sie ihn nach dem System, nicht nach der Person — erp, wms, bi, supplier-hoffmann.
  2. Der Login wird <tenant>-<benutzername>. Das verwendet das verbindende System, nicht den bloßen Benutzernamen. Das falsch zu machen ist der häufigste Fehler bei der ersten Verbindung.
  3. Das Passwort leer lassen, damit ein starkes generiert wird, oder ein eigenes setzen — 12 bis 128 Zeichen mit Großbuchstabe, Kleinbuchstabe, Ziffer und Sonderzeichen.
  4. Provisionieren, dann das Konto öffnen und Host, Login, Password und Home-Verzeichnis ansehen. Das Passwort lässt sich hier erneut anzeigen und mit Generate new password rotieren.
Eine Passwortrotation wirkt sofort. Das alte hört in dem Moment auf zu funktionieren, in dem das neue generiert wird — alles, was es noch verwendet, scheitert beim nächsten Lauf, meist um 02:00 Uhr, still. Rotieren Sie während der Arbeitszeit, und aktualisieren Sie das verbindende System in derselben Sitzung.

Ein Konto je System. Dieselbe Logik wie ein Schlüssel je Integration: Sie wollen den Zugang des Lieferanten deaktivieren können, ohne Ihr eigenes ERP zu stoppen.

Ordnerkonventionen, die überleben

Die eine Entscheidung, die bestimmt, ob das in vier Jahren noch verständlich ist. Vereinbaren Sie sie, bevor die erste Datei landet.

Eine Struktur, die funktioniert:

/in/orders/          Dateien, die Ihre Systeme an die Plattform senden
/in/prices/
/in/stock/
/out/orders/         Dateien, die die Plattform für Ihre Systeme erzeugt
/out/invoices/
/archive/            verarbeitete Dateien, nach erfolgreichem Lauf hierher verschoben
/error/              gescheiterte Dateien, zur Untersuchung aufbewahrt

Und eine Namenskonvention mit vier Teilen:

prices_full_20270312_0200.csv
<was>_<full|delta>_<jjjjmmtt>_<hhmm>.<ext>

Vier Regeln gegen die üblichen Probleme:

  • Nie überschreiben. Eine Datei namens prices.csv, die nächtlich ersetzt wird, lässt Ihnen nichts zum Nachsehen, wenn die Preise vom Dienstag falsch waren.
  • Verschieben, nicht löschen. Verarbeitete Dateien wandern nach /archive/, gescheiterte nach /error/. Eine Datei, die Sie erneut laufen lassen können, ist ein Fünf-Minuten-Fix; eine Datei, die weg ist, ein Abend.
  • Unter temporärem Namen schreiben und nach Abschluss umbenennen, oder eine Marker-Datei verwenden. Sonst liest ein geplanter Import bereitwillig eine halb geschriebene Datei, und eine halb geschriebene Preisdatei ist schlimmer als keine.
  • Im Namen sagen, ob es eine Volllieferung oder ein Delta ist. Das Wiederanlaufverhalten ist ein völlig anderes — siehe Integrationsmuster.

Eine Datei mit einem Import verdrahten

Der Ordner allein tut nichts. Zwei Bausteine verbinden ihn mit Ihren Daten:

  1. Ein Import- oder Exportprofil unter Data Exchange › Import & Export beschreibt die Struktur der Datei und ihr Mapping — welche Spalte welches Feld wird, und welche Felder die Datei nicht anfassen darf. Siehe Feld-Mapping.
  2. Ein Zeitplan führt das Profil gegen den Ordner aus. Bauen Sie ihn als Workflow — siehe Einen Workflow bauen — mit einem Trigger, dem Importschritt und am Ende einem Schritt, der nach /archive/ oder /error/ verschiebt.

Beim ersten Lauf jeder neuen Datei nutzen Sie die Option Staging (preview first), statt direkt in Live-Daten zu laden. Sie legt das Ergebnis in einen Vorschaubereich, sodass Sie ansehen können, was passiert wäre, bevor es passiert. Die zehn Minuten, die das kostet, sind die billigste Versicherung in diesem ganzen Bereich.

Storage Sync ist das verwandte Werkzeug für eine andere Aufgabe: geplante Regeln, die Dateien aus dem SFTP-Speicher in die Medienbibliothek ziehen — so kommen Bildlieferungen von Lieferanten in den Katalog, ohne dass jemand von Hand hochlädt.

Benachrichtigung bei Fehlern

Eine Dateiintegration, die still scheitert, ist schlimmer als keine, denn alle nachgelagerten Stellen halten die Daten weiter für aktuell.

Richten Sie drei Alarme ein und leiten Sie sie an eine Team-Adresse, nie an eine Person:

BedingungWarum sie zählt
Ein geplanter Lauf ist fehlgeschlagenDer offensichtliche Fall
Ein Lauf war erfolgreich, hat aber Zeilen abgewiesenDer gefährliche — eine teilweise geladene Preisdatei sieht wie Erfolg aus
Bis zur erwarteten Zeit kam keine Datei anDer, den alle vergessen

Der dritte ist der wichtige. Stirbt der ERP-Job, der die Datei schreibt, schlägt kein Import fehl — es ist gar nichts passiert. Ein Datei-fehlt-Alarm ist das Einzige, was das fängt, und ohne ihn liefert Ihr Katalog leise die Preise der letzten Woche aus.

Siehe Syncs überwachen.

Was Sie prüfen

  • Einmal von Hand mit einem SFTP-Client verbinden, mit <tenant>-<benutzername>, und prüfen, dass Sie im Home-Verzeichnis landen.
  • Eine kleine Testdatei ablegen und zusehen, wie der geplante Lauf sie aufnimmt, verarbeitet und nach /archive/ verschiebt.
  • Eine absichtlich kaputte Datei ablegen und prüfen, dass sie in /error/ landet und den Alarm auslöst.
  • Prüfen, dass nichts ein Feld schreibt, das ihm nicht gehört.

Weiter