Zum Inhalt springen
NK
SendcloudShopware 6.7Orders API v3

Sendcloud-Integration
Verbindliche Liefertermine für Frischware.

Entwicklung einer Extension für die Sendcloud-API und Shopware. Für jede Versandart berechnet sie aus Cut-Off-Zeit, Bearbeitungszeit, Laufzeit, Feiertagen und Sperrtagen den frühesten Liefertermin, lässt den Kunden einen Wunschtermin wählen und sagt dem Lager, an welchem Tag das Paket übergeben werden muss.

Frisch verpackte Feinkost, versandfertig für den gekühlten Paketversand

Ausgangslage

Die Aufgabe: Ein verbindliches Lieferversprechen

Gekühlte Frischware verzeiht kein vages „Lieferzeit 1–3 Tage“. Der Endkunde muss schon vor dem Kauf wissen, wann seine Ware ankommt — und der Versand muss diesen Termin unter realen Bedingungen halten: Wochenenden, Feiertage, Betriebsferien und tägliche Cut-Off-Zeiten für die Übergabe der gepackten Pakete an den Frachtführer. Standardmäßig bildet Shopware diese Kette nicht ab.

Die Lösung

Wir haben für Shopware eine Extension entwickelt, die die Sendcloud-API anbindet. Eine Termin-Logik berechnet je Versandart den frühesten verbindlichen Liefertermin, prüft den Wunschtermin beim Absenden der Bestellung und übergibt Übergabe- und Zustelltag an Sendcloud. Die Laufzeit stammt aus den tatsächlichen Messwerten von Sendcloud.

  • Shopware ↔ Sendcloud über die Orders API v3
  • Termin-Regeln je Versandart: Cut-Off, Bearbeitungszeit, Zustelltage, Feiertage, Sperrtage
  • Exakter Liefertermin auf Produktdetailseite und im Warenkorb
  • Wunschtermin im Checkout, beim Absenden erneut geprüft
  • Übergabetag für das Lager, rückgerechnet aus dem Wunschtermin

Die Studien zeigen

Darum entscheidet der Liefertermin über den Kauf

Bei Frischware entscheidet die Klarheit über den Liefertermin über Kauf oder Abbruch. Drei Befunde aus unabhängigen Studien:

Funktionsumfang

Das leistet die Extension

  • API-Anbindung

    Shopware 6.7 und Sendcloud kommunizieren direkt über die Sendcloud Orders API v3. Versanddaten, Carrier und Tracking laufen ohne manuellen Zwischenschritt.

  • Lieferfenster-Logik je Versandart

    Für jede Versandart gelten eigene Regeln: Cut-Off-Uhrzeit, Bearbeitungszeit im Lager, Zustell-Wochentage und Laufzeit. Als Werktag zählt Montag bis Freitag ohne Feiertage des eingestellten Bundeslands und ohne Sperrtage wie Betriebsferien.

  • Gemessene Laufzeit statt Schätzwert

    Das Plugin liest die tatsächliche mittlere Laufzeit der Versandoption aus der Sendcloud-Analytics-API und hält sie einen Tag im Cache. Liefert Sendcloud keine Daten oder antwortet nicht innerhalb von 3 Sekunden, gilt ein Ersatzwert der Versandart.

  • Exakter Liefertermin

    Anhand der Systemzeit wird auf der Produktdetailseite und im Warenkorb der früheste Liefertermin als festes Datum angezeigt, etwa „ab Mi, 14.10.“. Der Text davor ist als Textbaustein pflegbar.

  • Wunschtermin mit Prüfung

    Der Endkunde wählt im Checkout einen Wunschtermin, bis zu 30 Tage im Voraus (einstellbar). Beim Absenden prüft das Plugin den Tag erneut. Ist er inzwischen nicht mehr wählbar, wird die Bestellung nicht angenommen und der Kunde wählt neu.

  • Übergabetag für das Lager

    Aus dem Wunschtermin rechnet das Plugin zurück, an welchem Tag das Paket an den Versanddienstleister übergeben werden muss, und gibt ihn an Sendcloud weiter. Das Lager sieht beide Termine direkt am Auftrag.

  • Wunschliefertermin in der Administration

    In der Bestellübersicht steht der Wunschliefertermin als eigene Spalte neben dem Bestelldatum. Zwei Filter zeigen Bestellungen mit oder ohne Termin und alle Zustellungen eines Zeitraums, etwa jeden Freitag. Im Bestelldetail steht der Termin unter den Trackingcodes.

  • Versandstatus & Tracking im Shop

    Trackingnummer und Versandstatus kommen aus Sendcloud zurück in die Bestellung. Die Lieferung wechselt auf „Versandt“, sobald das Paket das Lager verlassen hat.

  • Status per SMS & WhatsApp

    Sendcloud versendet den Lieferstatus per SMS und WhatsApp. In einem mobil geprägten Umfeld ein spürbarer Zugewinn im Kundenservice.

  • Reklamation & Vollgutschrift

    Über den passenden Sendcloud-Fracht-Tarif steht die komplette Reklamation samt Vollgutschrift bereit: Ware, die nicht im kommunizierten Termin ankommt, wird inklusive Versandkosten erstattet.

  • Betrieb ohne Handarbeit

    Der Export läuft automatisch, mit Markierung gegen Doppelexporte und Protokoll je Bestellnummer. Das Log wird 14 Tage aufbewahrt und enthält nur Bestellnummern und Status.

Der Liefertermin

In Real-Time berechnet

Drei Stellen, an denen die Termin-Logik für den Endkunden greifbar wird: der früheste Liefertermin auf der Produktseite, im Warenkorb und die Wunschtermin-Auswahl im Checkout.

Auf der Produkt-Detailseite
Im OffCanvas
Im Checkout mit Wunschtermin-Picker

Konfiguration

Jede Versandart mit eigenen Regeln

Ein Expressversand mit Zustellung am nächsten Tag folgt anderen Regeln als ein Paket mit Reifezeit im Lager. Deshalb hängen alle Termin-Einstellungen an der Versandart. Die übergreifenden Einstellungen liegen in der Plugin-Konfiguration.

Je Versandart

Einstellungen → Versand → Versandart → Zusatzfelder

An Sendcloud übergeben
Schaltet Wunschtermin und Export für die jeweilige Versandart ein.
Sendcloud-Versandoption
Legt Carrier und Service fest und ist die Grundlage für die gemessene Laufzeit.
Cut-Off-Uhrzeit
Bestellungen vor dieser Uhrzeit werden noch am selben Werktag übergeben.
Bearbeitungszeit
Vorlauf im Lager in Werktagen, etwa für Zuschnitt oder Reifung.
Ersatzwert Laufzeit
Gilt, solange Sendcloud keine gemessene Laufzeit liefert.
Zustell-Wochentage
Bestimmt, an welchen Tagen zugestellt werden darf.
Wählbare Tage im Voraus
Legt fest, wie weit der Kunde in die Zukunft wählen kann.
Tag nach Feiertagen
Sperrt auf Wunsch den Tag nach einem Feiertag für die Zustellung.

Im Plugin

Globale Einstellungen für alle Versandarten

Verbindung
Zugangsdaten und Adresse der Sendcloud-API.
Export
Bestell- und Bezahlstatus für den Export, Folgestatus nach dem Export, Absenderadresse, Integrations-ID und Standardgewicht.
Liefertermine
Feiertage des Bundeslands, Sperrtage wie Betriebsferien, Zeitzone und Absenderland.
Testbetrieb
Zeit-Simulation für Testsysteme und ein Debug-Log ohne personenbezogene Daten.

Einblicke

In der Administration

Wo Betreiber und Lager die Termin-Logik einstellen und im Alltag sehen, in Shopware und im Sendcloud-Panel.

ShopwareBestellübersicht mit Wunschtermin
ShopwareDetail in der Bestellung: Wunschliefertermin und Logging
ShopwareFeiertage je Bundesland und eigene Schließzeiten zur Berechnung der garantierten Liefertermine
ShopwareKonfiguration der Abstimmung auf die Liefergarantie des Frachtführers
SendcloudAnzeige der Paketübergabe an den Frachtführer

Technik & Arbeitsweise

So arbeitet die Integration

Unter der Oberfläche verbindet das Shopware-Plugin den Shop in beide Richtungen mit Sendcloud: Bestellungen fließen mit Übergabe- und Zustelltag nach Sendcloud, Versandstatus und Tracking fließen zurück — automatisiert, zeitgesteuert und signaturgeprüft.

  • Bestellexport & Paketanlage

    Shop → Sendcloud

    Exportiert werden Bestellungen, deren Versandart für Sendcloud freigeschaltet ist und die den eingestellten Bestell- und Bezahlstatus erreicht haben. Sie gehen in Stapeln von 50 Bestellungen (höchstens 200 je Lauf) über die Orders-API v3 an Sendcloud. Übergeben werden Positionen mit Gewicht, Lieferadresse, die Versandoption sowie Übergabe- und Zustelltag. Zusätzlich setzt das Plugin Notiz und Tags „Zustellung“ und „Übergabe“, damit die Termine im Sendcloud-Panel sichtbar sind. Danach erhält die Bestellung einen konfigurierbaren Folgestatus.

    Auslöser: Sofort nach Zahlungseingang über die Message-Queue · zusätzlich geplanter Task alle 5 Minuten

  • Übergabetag aus dem Wunschtermin

    Shop-Logik

    Vom Wunschtermin rechnet das Plugin so viele Werktage zurück, wie die Laufzeit der Versandoption beträgt. Daraus ergibt sich der Tag, an dem das Paket beim Versanddienstleister sein muss. Er liegt nie vor dem frühestmöglichen Übergabetag. Der Wunschtermin wird mit 12:00 Uhr als Zustelltag an Sendcloud übergeben.

    Auslöser: Bei jedem Export einer Bestellung mit Wunschliefertermin

  • Verspätete Zahlung

    Shop-Logik

    Geht die Zahlung so spät ein, dass der Wunschtermin nicht mehr erreichbar ist, schickt das Plugin den frühesten erreichbaren Übergabe- und Zustelltag. Der Auftrag erhält in Sendcloud den Tag „Wunschtermin verpasst“ und eine Notiz mit altem und neuem Termin. Im Plugin-Log steht eine Warnung, sodass das Lager die Abweichung sofort sieht.

    Auslöser: Beim Export, sobald der Wunschtermin nicht mehr zu halten ist

  • Schutz vor Doppel- und Fehlexporten

    Betrieb

    Nach dem Export trägt die Bestellung das Zusatzfeld „An Sendcloud übertragen“ mit Zeitstempel und wird nicht erneut automatisch gesendet. Eine fehlerhafte Bestellung, etwa ohne Lieferadresse, wird übersprungen und mit Bestellnummer protokolliert, die übrigen gehen trotzdem raus. Alle Aufrufe an Sendcloud haben Timeouts, daher bremst ein langsames Sendcloud weder Checkout noch Zahlungs-Webhooks.

    Auslöser: Bei jedem Exportlauf

  • Paketstatus & Tracking

    Sendcloud → Shop

    Der Webhook-Controller findet die Bestellung über die Bestellnummer und ergänzt die Trackingnummer. Sobald das Paket das Lager verlassen hat, setzt er die Lieferung auf „Versandt“ und Shopware verschickt die Versandbestätigung an den Kunden. Status wie „Kein Label“, „Versandbereit“, „Anmeldung läuft“ oder „Storniert“ zählen noch nicht als versendet. Vorhandene Trackingnummern aus ERP oder anderen Plugins bleiben erhalten.

    Auslöser: Sendcloud-Webhook auf /api/netzkom/sendcloud/webhook/parcel-status-changed/

  • Signaturgeprüfter Webhook

    Betrieb

    Jeder eingehende Webhook wird per HMAC-SHA256 über den Rohbody gegen den Secret Key geprüft (Header „Sendcloud-Signature“). Zusätzlich muss es ein POST-Aufruf sein, der höchstens 24 Stunden alt ist. Alles andere wird abgewiesen, sodass nur echte, aktuelle Sendcloud-Aufrufe eine Bestellung verändern.

    Auslöser: Bei jedem Webhook-Aufruf

  • Headless-Anbindung über die Store-API

    Frontend ↔ Shop

    Headless-Frontends holen die Termine über einen eigenen Store-API-Endpunkt. Die Antwort enthält frühesten Übergabe- und Zustelltag, alle wählbaren und gesperrten Tage sowie den Zeitpunkt der nächsten Änderung (Cut-Off oder Mitternacht). Der gewählte Tag geht mit der Bestellung als Custom Field mit. Ist er inzwischen nicht mehr wählbar, lehnt Shopware die Bestellung mit einem eindeutigen Fehlercode ab und das Frontend lädt die Termine neu.

    Auslöser: Bei Seitenaufruf und beim Absenden der Bestellung

  • Konsolen-Werkzeuge

    Einrichtung & Betrieb

    Konsolenbefehle unterstützen Einrichtung und Betrieb: Anstehende Bestellungen auflisten, den Export von Hand anstoßen, eine einzelne Bestellung erneut senden, die Terminberechnung einer Versandart für einen beliebigen Zeitpunkt prüfen, Integrations-IDs und Absenderadressen nachschlagen und die Konfiguration ohne Zugangsdaten anzeigen.

    Auslöser: Manuell per CLI · derselbe Export läuft automatisch als geplanter Task

Sendcloud

Der Versandpartner

Was ist Sendcloud?

Sendcloud ist eine Versand- und Fulfillment-Plattform, die Carrier, Label-Erstellung, Tracking und Retouren bündelt. Über die Sendcloud-API sprechen Shop und Versandprozess dieselbe Sprache — das ist die Grundlage für die verbindlichen Liefertermine, die Status-Kommunikation per SMS und WhatsApp sowie den Reklamationsprozess samt Vollgutschrift.

An jeder Stelle der Produktauswahl und des Kaufprozesses hat der Endkunde die Information und die Kontrolle darüber, wann seine Frischware geliefert wird.

Moin!

Kundenservice?
Bauen wir für Sie.

Verbindliche Liefertermine, proaktive Status-Benachrichtigungen, sauberer Reklamationsprozess — wir binden Versand- und Drittsysteme so an Shopware an, dass Ihr Kundenservice spürbar besser wird. Sprechen wir darüber.

Henning Groß am Hamburger Hafen – Geschäftsführer NetzKombyse
Henning Groß

Gründer · Persönlich am Telefon