Zum Hauptinhalt springen
Mit WS-SOAP-InfoMails löst ein externes System den Versand von E-Mails zu einer Bestellung aus. Der typische Fall ist die Versandbestätigung: Sobald die Ware das Lager verlässt, schickt die Warenwirtschaft einen SOAP-Request, und der Shop versendet die Mail mit Trackingnummer an den Besteller. Der Webservice ist ausschließlich über SSL erreichbar. Empfängeradresse und Name des Empfängers ermittelt der Shop automatisch aus den Bestelldaten, Sie übergeben sie also nicht.

Das Mail-Template

Den Inhalt der Mail bestimmt ein Shop-Template. Darin kombinieren Sie Daten aus der Bestellung mit Werten, die Sie im Request mitschicken. Für die Bestelldaten dienen dieselben OH--Tags, die im Shop für die Bestellhistorie verwendet werden. Weil die Info-E-Mails durch ein externes Modul versendet werden, steht allerdings nicht der komplette Tag-Vorrat des Shopsystems zur Verfügung. Referenz: OH- (Bestellhistorie) Dazu kommen zwei Tag-Präfixe, die es nur hier gibt:

Voreinstellungen in der shop.config

Template sowie Standardwerte für Betreff und Absender stehen in der shop.config:
Bis auf Allow und BCC-Address lässt sich jeder dieser Parameter im SOAP-Request überschreiben. BCC-Address verschickt die Mail zu Kontrollzwecken zusätzlich an eine blinde Empfängeradresse. Steht Allow auf no oder fehlt die Sektion, scheitert jeder Versand mit ESOIF002. Das ist die häufigste Ursache, wenn die Schnittstelle technisch antwortet, aber keine Mail ankommt.

Request: SendOrderInfoMails

Ein Request kann mehrere Mails auslösen, maximal jedoch 100.

Dateianhänge

So lassen sich beliebige Dateien mitschicken, beispielsweise eine Rechnung als PDF.

Eigene Werte für die gesamte Bestellung

Heißt der Name im Request BspTag, lautet der Tag im Template ~OH-OF-BspTag~. Neben der reinen Ersetzung funktionieren auch die Klammerungen {OH-OF-BspTag}…{/OH-OF-BspTag} und {!OH-OF-BspTag}…{/!OH-OF-BspTag}. Damit blenden Sie Teile des Templates abhängig davon ein oder aus, ob ein Wert gefüllt ist. Eine Zeile „Ihre Sendungsnummer lautet …” erscheint so nur dann, wenn tatsächlich eine Nummer übergeben wurde.

Eigene Werte je Bestellposition

Beispiel-Request:

Antwort: SendOrderInfoMailsResponse

Die Antwort enthält je übergebenem OrderInfo einen Status. Ein Request kann also teilweise erfolgreich sein.
Werten Sie deshalb jeden MailStatus einzeln aus. Ein Request ohne SOAP Fault bedeutet nicht, dass alle Mails verschickt wurden.

Fehlerbehandlung

Fehler, die den gesamten Request betreffen, kommen als SOAP Fault zurück: Fehler, die nur eine einzelne Mail betreffen, stehen im jeweiligen MailStatus:

WSDL-Datei und Server-URL

Zur Schnittstelle gehört die WSDL-Datei infomail.wsdl, mit der sich der Anbindungscode je nach Programmiersprache automatisiert erzeugen lässt. WSDL-Datei und die URL des SOAP-Servers erhalten Sie von Ihrem WEBSALE-Ansprechpartner.

Verwandte Themen