← Alle Artikel

SMS-Benachrichtigungen für Bestellungen in Shopware 6: Plugin, Vorlagen und der Weg über den Flow Builder

7 Min. LesezeitEnglish

SMS-Benachrichtigungen in Shopware 6: das TopSMS-Plugin, welche Bestellstatus eine SMS wert sind, fertige Texte mit Platzhaltern und der Flow-Builder-Webhook.

Eine E-Mail mit „Ihre Bestellung wurde versandt“ konkurriert mit Newslettern, Spamfiltern und einem vollen Posteingang. Eine SMS erscheint auf dem Sperrbildschirm und wird innerhalb von Minuten gelesen. Für einen Shop mit Shopware 6 ist SMS deshalb der naheliegende Kanal für die wenigen Nachrichten, auf die Kunden tatsächlich warten: die Bestellbestätigung, den Versandhinweis mit Sendungsnummer und die Meldung, dass etwas schiefgegangen ist. Dieser Ratgeber zeigt, wie Sie das mit dem TopSMS-Plugin für Shopware einrichten, welche Status eine Nachricht wert sind, wie Sie Texte schreiben, die in eine SMS passen, und wie dasselbe ohne Plugin über den Flow Builder und unsere REST-API funktioniert.

Welche Bestellereignisse eine SMS verdienen

Shopware führt pro Bestellung drei getrennte Statusmodelle: den Bestellstatus (offen, in Bearbeitung, abgeschlossen, storniert), den Zahlungsstatus (zum Beispiel bezahlt, fehlgeschlagen, erstattet) und den Lieferstatus (zum Beispiel versandt, teilweise versandt, retourniert). Nicht jeder Übergang ist eine SMS wert. Kunden schätzen Nachrichten, die eine Frage beantworten, die sie Ihnen sonst stellen würden; alles andere ist Rauschen und kostet Geld.

EreignisStatus in ShopwareSMS?
Bestellung aufgegebenBestellung: offenOptional. Meist reicht die E-Mail; SMS lohnt sich bei hochwertigen Bestellungen oder Abholung.
Zahlung eingegangen (Vorkasse)Zahlung: bezahltJa, wenn Sie Vorkasse oder Überweisung anbieten. Das erspart die Mail „Ist meine Überweisung angekommen?“.
In BearbeitungBestellung: in BearbeitungOptional; sinnvoll, wenn es in Ihrem Shop „abholbereit“ bedeutet.
VersandtLieferung: versandtJa, die meistgeschätzte Nachricht überhaupt, idealerweise mit Sendungsnummer.
Teilweise versandtLieferung: teilweise versandtJa, sonst glauben Kunden, es fehle etwas.
StorniertBestellung: storniertJa, kurz und mit Kontaktmöglichkeit.
AbgeschlossenBestellung: abgeschlossenMeist nein; der Kunde hat das Paket bereits.
Zahlung fehlgeschlagenZahlung: fehlgeschlagenSinnvoll, gehört aber nicht zu den Ereignissen des Plugins; nutzen Sie dafür den Weg über den Flow Builder weiter unten.

Zwei oder drei Nachrichten pro Bestellung sind eine gute Obergrenze. Ein typisches Set ist „Zahlung eingegangen“ bei Vorkasse, „versandt“ mit Sendungsnummer und „storniert“.

Das TopSMS-Plugin für Shopware 6

TopSMS stellt mit „TopSMS – SMS für Shopware“ ein Plugin für Shopware 6.6 und 6.7 bereit, derzeit in Version 1.0.0. Sie können es als ZIP-Datei auf unserer Integrationsseite herunterladen; im Shopware Store ist es noch nicht gelistet, Sie installieren es also per Upload und nicht über den Store in der Administration.

Es deckt die Ereignisse aus der Tabelle ab: die Bestellstatus offen (direkt nach dem Checkout), in Bearbeitung, abgeschlossen und storniert, die Lieferstatus versandt und teilweise versandt sowie den Zahlungsstatus bezahlt. Jedes Ereignis schalten Sie einzeln ein, und es wird pro Bestellung höchstens einmal gesendet. Zusätzlich kann das Plugin Ihnen als Shopbetreiber bei jeder neuen Bestellung eine SMS schicken.

Installation

  1. Laden Sie die ZIP-Datei auf der Integrationsseite herunter.
  2. Öffnen Sie in der Shopware-Administration Erweiterungen → Meine Erweiterungen, wählen Sie Erweiterung hochladen und dann die ZIP-Datei.
  3. Installieren und aktivieren Sie das Plugin und öffnen Sie anschließend die Konfiguration.
  4. Stellen Sie sicher, dass die Shopware Message Queue abgearbeitet wird, wie für die E-Mails von Shopware: Der Versand läuft im Hintergrund, der Checkout wartet also nie auf das SMS-Gateway.

Konfiguration

In der Konfiguration verbinden Sie das Plugin mit Ihrem TopSMS-Konto und legen fest, was gesendet wird:

  • API Client ID und API Secret. Erstellen Sie im TopSMS-Dashboard unter API-Zugang einen Schlüssel mit den Berechtigungen send und read und übernehmen Sie beide Teile in die Konfiguration.
  • Testmodus. Das Plugin erzeugt und protokolliert die Texte, ohne etwas zu senden; so prüfen Sie jedes Ereignis, bevor es ernst wird.
  • Absendername. Bis zu 11 Buchstaben und Ziffern, zum Beispiel Ihr Shopname. Deutsche und österreichische Netze stellen alphanumerische Absender ohne Registrierung zu; der Name muss für Ihr TopSMS-Konto freigegeben sein (siehe den Artikel zum Absendernamen).
  • Ereignisse und Vorlagen. Für jedes Ereignis schalten Sie die Benachrichtigung ein oder aus und bearbeiten den Text. Die Standardtexte sind deutsch, und jede Einstellung kann pro Verkaufskanal abweichen.

Das Ergebnis jeder Nachricht steht im Shopware-Log und im Zusatzfeld „Letzte SMS“ der Bestellung. Vorübergehende Gateway-Fehler werden mit einem Idempotency-Key wiederholt, eine Wiederholung erzeugt also nie eine doppelte SMS.

Platzhalter

Vorlagen personalisieren Sie mit Platzhaltern, die das Plugin aus der Bestellung füllt:

  • {orderNumber} ist die Bestellnummer in Shopware,
  • {firstName} der Vorname des Kunden,
  • {trackingCode} die Sendungsnummer der Lieferung; fehlt sie, entfällt der Satz, der sie enthält.

Weitere Platzhalter sind {lastName}, {amountTotal} mit {currency} und {shopName}. Die Telefonnummer des Kunden stammt aus der Rechnungsadresse und wird anhand des Rechnungslandes ins internationale Format gebracht: Aus „0151 2345678“ in einer deutschen Bestellung wird +491512345678. Shopware fragt standardmäßig keine Telefonnummer ab; aktivieren Sie deshalb in den Einstellungen (Einstellungen → Anmeldung & Registrierung) das Feld für die Telefonnummer, am besten als Pflichtfeld, wenn Ihnen SMS-Benachrichtigungen wichtig sind.

Vorlagen, die in eine SMS passen

Ein SMS-Segment fasst 160 Zeichen des GSM-7-Alphabets. Deutsche Umlaute und ß gehören dazu, aber Emojis, typografische Anführungszeichen oder ein Gedankenstrich schalten die ganze Nachricht auf Unicode mit nur 70 Zeichen pro Segment um, und die Nachricht kostet plötzlich das Doppelte oder Dreifache. Bleiben Sie mit jeder Vorlage deutlich unter 160 Zeichen, einschließlich der Werte, die die Platzhalter ersetzen: Eine Bestellnummer wie 10045 ist kurz, eine Sendungsnummer kann 20 Zeichen lang sein. Diese Texte haben sich bewährt (alle mit realistischen Werten unter 160 Zeichen):

  • Zahlung eingegangen: MeinShop: Danke {firstName}, Ihre Zahlung für Bestellung {orderNumber} ist eingegangen. Wir melden uns, sobald das Paket unterwegs ist.
  • Versandt: MeinShop: Ihre Bestellung {orderNumber} ist unterwegs. Sendungsnummer: {trackingCode}
  • Teilweise versandt: MeinShop: Ein Teil Ihrer Bestellung {orderNumber} ist unterwegs (Sendung {trackingCode}). Der Rest folgt separat.
  • Zahlung fehlgeschlagen (über den Flow Builder): MeinShop: Die Zahlung für Bestellung {orderNumber} hat nicht geklappt. Bitte versuchen Sie es im Kundenkonto erneut oder melden Sie sich bei uns.
  • Storniert: MeinShop: Bestellung {orderNumber} wurde storniert. Fragen? info@meinshop.de

Einige Regeln, die sich bewährt haben:

  • Beginnen Sie mit dem Shopnamen. Der Absender zeigt ihn zwar schon, aber weitergeleitete Nachrichten und Screenshots verlieren den Absender.
  • Eine Nachricht, eine Information. „Versandt“ plus Sendungsnummer genügt; Werbung gehört nicht in eine Transaktionsnachricht.
  • Denken Sie daran, dass niemand auf einen alphanumerischen Absender antworten kann. Nennen Sie eine E-Mail-Adresse oder Telefonnummer, wo eine Reaktion wahrscheinlich ist, etwa nach einer Stornierung.
  • Wenn Sie einen Link einfügen, halten Sie ihn kurz. Eine lange Tracking-URL kann den Text allein in ein zweites Segment schieben.

Ohne Plugin: Flow-Builder-Webhook und REST-API

Wenn Sie kein Plugin installieren möchten oder ein Ereignis brauchen, das das Plugin nicht abdeckt, etwa eine fehlgeschlagene Zahlung oder einen eigenen Status, kann der Flow Builder die TopSMS-API direkt aufrufen. Laut Shopware-Dokumentation sind die Webhook-Aktionen (Aktion „Call URL“) Teil der Erweiterung Shopware Commercial und ab dem Evolve-Plan verfügbar. In der Community Edition nutzen Sie stattdessen das Plugin oder eine kleine eigene Erweiterung.

  1. Legen Sie einen Flow mit dem Trigger für das Ereignis an, zum Beispiel state_enter.order_delivery.state.shipped für „Lieferung versandt“ oder checkout.order.placed für neue Bestellungen.
  2. Fügen Sie die Aktion Call URL (Webhook) mit der Methode POST und der URL https://www.topsms.cz/api/sms/send hinzu.
  3. Hinterlegen Sie die Header-Parameter unten. Verwenden Sie Header, nicht die Option Basic Auth: Die TopSMS-API erwartet einen Bearer-Schlüssel.
  4. Schreiben Sie den Body als JSON mit Shopware-Variablen.
Authorization: Bearer CLIENT_ID:SECRET
Content-Type: application/json
Idempotency-Key: shipped-{{ order.orderNumber }}
{
  "to": "{{ order.billingAddress.phoneNumber }}",
  "text": "MeinShop: Bestellung {{ order.orderNumber }} ist unterwegs. Sendungsnummer: {{ order.deliveries.first.trackingCodes|first }}",
  "from": "MeinShop"
}

Die Variablenpfade sind ein Beispiel; gleichen Sie sie mit den Variablen ab, die Ihre Shopware-Version im Body-Editor anbietet, und stellen Sie sicher, dass die Telefonnummer im internationalen Format (+49…) ankommt, denn eine Nummer ohne Ländervorwahl lässt sich nicht zuverlässig zustellen. Der Header Idempotency-Key schützt vor Duplikaten: Wird der Webhook für dieselbe Bestellung und dasselbe Ereignis zweimal aufgerufen, liefert der zweite Aufruf die ursprüngliche Antwort, und es geht keine zweite SMS hinaus. Senden Sie dieselbe Anfrage zuerst mit einem Testschlüssel; er liefert den Preis und simuliert einen Zustellbericht, ohne etwas zu versenden.

Was es kostet

Eine SMS an eine deutsche oder österreichische Nummer kostet bei TopSMS 0,084 € pro Segment, ohne Grundgebühr und ohne Aufpreis für Plugin oder API. Ein Shop mit 1.000 Bestellungen im Monat, der zwei Benachrichtigungen pro Bestellung sendet, zahlt 167,90 € im Monat, solange jeder Text in ein Segment passt.

Rechtlich sind Bestell- und Versandhinweise Transaktionsnachrichten, die zur Vertragserfüllung gehören. Sie brauchen keine Werbeeinwilligung, müssen aber frei von Werbung bleiben, und Ihre Datenschutzerklärung sollte erwähnen, dass Sie die Telefonnummer für Bestellbenachrichtigungen verwenden. Der Artikel zu SMS und DSGVO erklärt die Einzelheiten.

Laden Sie das TopSMS-Plugin für Shopware 6 auf der Integrationsseite herunter, legen Sie ein kostenloses Konto mit 10 Test-SMS an und prüfen Sie Ihre Texte zuerst im Testmodus. Die API-Dokumentation beschreibt den Versand-Endpunkt, Zustellberichte und den Idempotency-Key, der beim Weg über den Flow Builder zum Einsatz kommt.