Einführung
Die Integration mit TyreSoft erfolgt über den Austausch von Dateien auf einem gemeinsamen Server (SFTP/FTP). Es ist weder eine API noch eine ständige Verbindung zwischen den Systemen nötig: Jede Seite schreibt und liest Dateien in festgelegten Verzeichnissen. Die Zugangsdaten zum Server erhält jeder Partner individuell.
Datenfluss
Das Schema zeigt, wer in welchem Verzeichnis Dateien schreibt und liest. Die Pfeile zeigen die Richtung des Datenflusses.
Lebenszyklus einer Bestellung
- BestellungDer Partner legt eine XML-Datei im Verzeichnis
/ordersab. - ImportTyreSoft holt neue Dateien zyklisch ab und legt die Bestellungen im System an.
- BestätigungNach erfolgreichem Import wird die Datei unverändert nach
/orders_processedverschoben. - AbwicklungDie Bestellung wird kommissioniert, verpackt und an den Paketdienst übergeben.
- SendungsnummerIn
/trackingerscheinen der PDF-Frachtbrief und eine Zeile in der Waybill-CSV.
Lagerbestand
Unabhängig von den Bestellungen überschreibt TyreSoft regelmäßig die Datei /stock/stock.csv mit dem aktuellen Bestand. Der Partner lädt sie herunter, um zu sehen, welche Produkte in welcher Menge bestellbar sind.
Verzeichnisstruktur
Auf dem Server stehen dem Partner vier Verzeichnisse zur Verfügung. Jedes Verzeichnis hat genau einen „Eigentümer“, der darin schreibt.
/ ├── orders/ Partner → neue Bestellungen (*.xml) ├── orders_processed/ TyreSoft → importierte Bestellungen ├── tracking/ TyreSoft → Frachtbriefe (*.pdf) + Waybill (*.csv) └── stock/ TyreSoft → stock.csv, aktueller Bestand
| Verzeichnis | Schreibt | Liest | Format | Dateiname | Bedeutung |
|---|---|---|---|---|---|
| /orders | Partner | TyreSoft | XML | {Nummer}.xml | Neue Bestellungen, die auf den Import warten. |
| /orders_processed | TyreSoft | Partner | XML | unverändert | Ins System übernommene Bestellungen. Datei vorhanden = Annahme bestätigt. |
| /tracking | TyreSoft | Partner | PDF, CSV | {TrackingId}.pdfwaybill_JJJJMMTT_HHMMSS.csv | Frachtbriefe und Sendungsnummern versendeter Pakete. |
| /stock | TyreSoft | Partner | CSV | stock.csv | Immer genau eine Datei mit dem aktuellen Lagerbestand. |
/orders, kontaktieren Sie uns bitte: Sie enthält möglicherweise einen Strukturfehler.Bestellung XML
Jede Bestellung ist eine eigene XML-Datei mit fester Struktur. Im Folgenden beschreiben wir alle Elemente, die Formatierungsregeln und ein vollständiges Beispiel.
Allgemeine Regeln
- Eine Datei = eine Bestellung. Zeichenkodierung UTF-8, Deklaration
<?xml version="1.0" encoding="UTF-8"?>. - Der Dateiname ist die Bestellnummer des Partners mit der Endung
.xml, z. B.00006475-WY.xml. Dateinamen dürfen sich nicht wiederholen. - Wurzelelement
<DOCUMENTORDER>; Reihenfolge der Abschnitte:INVOICE→ Bestelldaten →PRODUCTS→DELIVERY. - Datumsangaben im Format
JJJJ-MM-TT. Beträge mit Punkt als Dezimaltrennzeichen (157.00). Preise sind Nettopreise. - Optionale Felder können entfallen oder leer bleiben, z. B.
<PHONE></PHONE>. - Sonderzeichen müssen maskiert werden:
&→&,<→<,>→>.
Beschreibung der Elemente
| Element | W/O | Beschreibung | Beispiel |
|---|---|---|---|
Rechnungsdaten des Käufers: <INVOICE> | |||
| <NUMBER> | W | Bestellnummer des Auftraggebers (Belegnummer im System des Partners). | 178 |
| <FROM> | W | Eindeutige Kennung des Auftraggebers (Company ID), mit TyreSoft abgestimmt. | 1234563218 |
| <NAME> | W | Vollständiger Firmenname für die Rechnung. | Firma Przykładowa Sp. z o.o. |
| <TAXID> | W | USt-IdNr. / Steuernummer des Käufers. | 1234563218 |
| <STREET> | W | Straße. | Przykładowa |
| <STREETNUMBER> | W | Haus- / Wohnungsnummer. | 1/2 |
| <POSTALCODE> | W | Postleitzahl. | 00-001 |
| <CITYNAME> | W | Ort. | Warszawa |
| <COUNTRY> | W | Land. | Polska |
| Bestelldaten | |||
| <DATE> | W | Bestelldatum (JJJJ-MM-TT). | 2026-10-31 |
| <DELIVERYDATE> | W | Vom Kunden gewünschtes Versanddatum. | 2026-11-02 |
| <ORDERCURRENCY> | W | Bestellwährung (ISO-4217-Code). | PLN |
| <NUMBER> | W | Individuelle Bestellnummer des Auftraggebers. Kommt in der Waybill-CSV als CustomerRef zurück. | 00006475-WY |
Produkte: <PRODUCTS><PRODUCT> (wiederholbar, eines pro Position) | |||
| <CODE> | W | Eindeutiger Artikelcode: EAN oder Herstellercode (wie in stock.csv). | PO488H1 |
| <NAME> | W | Artikelbezeichnung. | Opona 205/65R16C … |
| <ORDERQUANTITY> | W | Bestellmenge (Ganzzahl). | 4 |
| <SELL_PRICE> | W | Netto-Stückpreis. | 157.00 |
Lieferung: <DELIVERY> | |||
| <MODEOFTRANSPORT> | O | Transportart: 1 = Paketdienst, 2 = Paketdienst des Bestellers. | 1 |
| <CODCOST> | O | Nachnahmebetrag. 0 = keine Nachnahme. | 0 |
| <CUSTOMERNAME> | W | Name des Warenempfängers. | Firma Przykładowa Sp. z o.o. |
| <STREET> | W | Straße. | Przykładowa |
| <STREETNUMBER> | W | Haus- / Wohnungsnummer. | 1/2 |
| <POSTALCODE> | W | Postleitzahl. | 00-001 |
| <CITYNAME> | W | Ort. | Warszawa |
| <COUNTRY> | W | Land. | Polska |
| <PHONE> | O | Telefon des Empfängers für Rückfragen bei der Zustellung. | +48 600 100 200 |
| <PACKQ> | O | Anzahl der Pakete. | 4 |
| <LINK> | O | Link zum Frachtbrief (PDF), bei MODEOFTRANSPORT = 2. | https://…/label.pdf |
| <COMMENTS> | O | Hinweise für den Zusteller. | Dostawa 8–16 |
Beispiel einer vollständigen Datei
Bestellung mit zwei Positionen und ausgefüllten optionalen Feldern.
<?xml version="1.0" encoding="UTF-8"?> <DOCUMENTORDER> <INVOICE> <NUMBER>181</NUMBER> <FROM>1234563218</FROM> <NAME>Firma Przykładowa Sp. z o.o.</NAME> <TAXID>1234563218</TAXID> <STREET>Przykładowa</STREET> <STREETNUMBER>1/2</STREETNUMBER> <POSTALCODE>00-001</POSTALCODE> <CITYNAME>Warszawa</CITYNAME> <COUNTRY>Polska</COUNTRY> </INVOICE> <DATE>2026-10-31</DATE> <DELIVERYDATE>2026-11-02</DELIVERYDATE> <ORDERCURRENCY>PLN</ORDERCURRENCY> <NUMBER>00008120-WY</NUMBER> <PRODUCTS> <PRODUCT> <CODE>PO488H1</CODE> <NAME>Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC</NAME> <ORDERQUANTITY>4</ORDERQUANTITY> <SELL_PRICE>157.00</SELL_PRICE> </PRODUCT> <PRODUCT> <CODE>225/70R15CSC328</CODE> <NAME>Opona 225/70R15C SC328 112/110R GOODRIDE</NAME> <ORDERQUANTITY>2</ORDERQUANTITY> <SELL_PRICE>178.00</SELL_PRICE> </PRODUCT> </PRODUCTS> <DELIVERY> <MODEOFTRANSPORT>1</MODEOFTRANSPORT> <CODCOST>0</CODCOST> <CUSTOMERNAME>Firma Przykładowa Sp. z o.o.</CUSTOMERNAME> <STREET>Przykładowa</STREET> <STREETNUMBER>1/2</STREETNUMBER> <POSTALCODE>00-001</POSTALCODE> <CITYNAME>Warszawa</CITYNAME> <COUNTRY>Polska</COUNTRY> <PHONE>+48 600 100 200</PHONE> <PACKQ>6</PACKQ> <LINK></LINK> <COMMENTS>Dostawa w godz. 8-16</COMMENTS> </DELIVERY> </DOCUMENTORDER>
Frachtbriefe PDF
Für jedes versendete Paket legt TyreSoft im Verzeichnis /tracking ein Versanddokument im PDF-Format ab.
- Der Dateiname ist die Sendungsnummer, z. B.
10000000001.pdf. Dieselbe Nummer steht in der SpalteTrackingIdder Waybill-CSV. - Eine Bestellung, die in mehreren Paketen versendet wird, hat mehrere PDF-Dateien, eine pro Paket.
- Um ein PDF einer Bestellung zuzuordnen, suchen Sie die Nummer in der Waybill-CSV und lesen die Spalte
CustomerRef.
So hängen die Dateien zusammen
<NUMBER>00007993-OW</NUMBER>CustomerRef = 00007993-OWTrackingId = 1000000000110000000001.pdfEigener Paketdienst des Partners (MODEOFTRANSPORT = 2)
Wird die Sendung vom Paketdienst des Bestellers abgeholt, übergibt der Partner seinen eigenen Frachtbrief als Adresse im Feld <LINK> des Abschnitts <DELIVERY>. Unter dieser Adresse muss eine druckfertige PDF-Datei abrufbar sein.
Waybill CSV
Die Waybill-CSV verknüpft Sendungsnummern mit den Bestellungen des Partners. TyreSoft legt sie im Verzeichnis /tracking ab.
Dateiformat
- Trennzeichen: Semikolon
;. Kodierung UTF-8. Die erste Zeile enthält die Spaltenüberschriften. - Jede Zeile endet mit einem Semikolon.
- Eine Zeile = ein Paket (eine Sendungsnummer). Eine Bestellung in mehreren Paketen belegt mehrere Zeilen.
- Das Datum in der Spalte
DeliveryDatehat das FormatT-M-JJJJ, z. B.21-7-2020. - Dateiname:
waybill_JJJJMMTT_HHMMSS.csv. - Schlüssel zur Bestellung ist
CustomerRef, also die Bestellnummer des Partners.
| Spalte | Beschreibung | Beispiel |
|---|---|---|
| CompanyId | Kennung der TyreSoft-Firma / Niederlassung. | 100 |
| CustomerId | Partnernummer im TyreSoft-System. | 100001 |
| DeliveryDate | Versanddatum (T-M-JJJJ). | 21-7-2020 |
| PickingListId | Nummer der Kommissionierliste. | PM1071083 |
| LineNum | Positionsnummer auf der Kommissionierliste. | 1 |
| PackingSlipId | Nummer des Lieferscheins. | PX2120101 |
| OrderId | Auftragsnummer im TyreSoft-System. | QV200686844 |
| CustomerRef | Bestellnummer des Partners (NUMBER aus der XML-Datei). | 00007993-OW |
| ItemId | Artikelcode. | GY2154516HEFFP |
| EanItemId | EAN des Artikels. | 5452000571731 |
| QuantityDelivered | In diesem Paket versendete Menge. | 1 |
| TrackingId | Sendungsnummer (= Name der PDF-Datei). | 10000000001 |
| DeliveryMode | Code des Paketdienstes / Service. | GLSPLFR |
Beispiel
CompanyId;CustomerId;DeliveryDate;PickingListId;LineNum;PackingSlipId;OrderId;CustomerRef;ItemId;EanItemId;QuantityDelivered;TrackingId;DeliveryMode; 100;100001;21-7-2020;PM1071083;1;PX2120101;QV200686844;00007993-OW;GY2154516HEFFP;5452000571731;1;10000000001;GLSPLFR; 100;100001;21-7-2020;PM1071082;1;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000002;GLSPLFR; 100;100001;21-7-2020;PM1071082;2;PX2120101;QV200688021;00008002-OW;PI2754521YSCZEASPLRX;8019227343250;1;10000000003;GLSPLFR; 100;100001;21-7-2020;PM1071081;1;PX2120102;QV200682112;00007952-WY;HI2256516RTRANSIT;6953913105550;1;10000000004;GLSPLFR; 100;100001;21-7-2020;PM1071084;1;PX2120103;QV200685555;00007828-WY;GY2055516HEFFIPRE;5452000812018;1;10000000005;GLSPLFR;
00008002-OW wurde in zwei Paketen versendet und hat daher zwei Zeilen mit unterschiedlichen TrackingId-Nummern.Lagerbestand CSV
Das Verzeichnis /stock enthält immer genau eine aktuelle Datei stock.csv. TyreSoft überschreibt sie in festgelegten Abständen mit der vollständigen Liste verfügbarer Produkte. Die Datei enthält weder Historie noch inkrementelle Änderungen.
- Trennzeichen Semikolon
;, Kodierung UTF-8, Überschriften in der ersten Zeile, Punkt als Dezimaltrennzeichen. - Lesen Sie immer die ganze Datei ein und behandeln Sie sie als Gesamtbestand: Ein Produkt, das fehlt, ist nicht verfügbar.
- Verwenden Sie den Wert der Spalte
Codeals<CODE>in der XML-Bestellung. - Die Spalte
UpdatedAtgibt an, wann der Bestand erzeugt wurde.
| Spalte | Beschreibung | Beispiel |
|---|---|---|
| Code | Artikelcode, wird als <CODE> in der Bestellung verwendet. | GY2154516HEFFP |
| EAN | EAN-Code. | 5452000571731 |
| Name | Artikelbezeichnung. | Opona 215/45R16 … |
| Quantity | Verfügbare Menge in Stück. | 24 |
| Price | Netto-Partnerpreis. | 289.00 |
| Currency | Währung des Preises. | PLN |
| UpdatedAt | Zeitpunkt der Bestandserstellung. | 2026-10-31 12:00 |
Code;EAN;Name;Quantity;Price;Currency;UpdatedAt GY2154516HEFFP;5452000571731;Opona 215/45R16 Goodyear EfficientGrip Performance;24;289.00;PLN;2026-10-31 12:00 GY2055516HEFFIPRE;5452000812018;Opona 205/55R16 Goodyear EfficientGrip Performance;40;265.00;PLN;2026-10-31 12:00 PI2754521YSCZEASPLRX;8019227343250;Opona 275/45R21 Pirelli Scorpion Zero;8;912.00;PLN;2026-10-31 12:00 PO488H1;;Opona 205/65R16C SNOWTOUR 107/105R POWERTRAC;12;157.00;PLN;2026-10-31 12:00 225/70R15CSC328;;Opona 225/70R15C SC328 112/110R GOODRIDE;0;178.00;PLN;2026-10-31 12:00
Best Practices
.tmp) und benennen Sie sie erst danach in .xml um. So wird keine unvollständige Datei importiert./orders_processed weder ändern noch löschen. Sie bestätigen die Annahme der Bestellung./orders gilt als neue Bestellung. Senden Sie dieselbe Bestellung nicht erneut unter einem anderen Namen./tracking zyklisch und merken Sie sich bereits verarbeitete Dateien.stock.csv ab.Inbetriebnahme
- Umfang festlegenWir vereinbaren Partnerkennung (
FROM), Währung, Versandart und den Datenumfang derstock.csv. - ServerzugangDer Partner erhält Benutzername und Passwort für den Server mit den vorbereiteten Verzeichnissen.
- ProduktzuordnungDer Partner lädt die
stock.csvherunter und ordnet dieCode-Werte seinem Katalog zu. - TestbestellungDer Partner sendet eine Datei mit dem Vermerk
TESTin<COMMENTS>und prüft die Verschiebung nach/orders_processed. - ProduktivstartNach Freigabe des Tests werden Bestellungen regulär abgewickelt.
Kontakt
Für Einrichtung, Zugangsdaten und technische Fragen: