Skip to main content
Mit den Testmodus-Endpunkten der Storefront-API können Sie den Testmodus des Shops aus einer eigenen Storefront heraus steuern. Sie können den aktuellen Zustand abfragen, den Testmodus mit dem Testmodus-Passwort aktivieren sowie die Schalter für Debugging, simulierte Zahlungsfehler und die Test-API der WEBSALE-Suche umschalten. Darüber hinaus können Sie den Testmodus wieder deaktivieren. Der Testmodus gilt für die Session, die im Header x-session übergeben wird. Alle Endpunkte setzen deshalb eine gültige Session voraus.

Unterstützte Methoden

Angabe aller unterstützten Methoden.

Grundkonzept

Zuordnung zu den Shopaktionen

Die schreibenden Endpunkte führen intern dieselben Shop-Aktionen aus wie die Formulare im Template. Die Fehlercodes stammen daher aus diesen Aktionen. Ihre Fehlertexte pflegen Sie in der Konfiguration unter actions - Testmodus.

Antwort bei Erfolg

Alle vier Endpunkte antworten bei Erfolg mit dem Status 200 und dem aktuellen Zustand des Testmodus. Der Aufbau entspricht dem Modul $wsTestMode.

Schalter searchTestApi

Der Schalter searchTestApi verändert den Shop selbst nicht. Er ist lediglich ein Signal an Ihre Storefront. Anhand seines Werts entscheidet die Storefront, ob sie die Test-API oder die produktive API der WEBSALE Suche anspricht.
Der Shop ruft die WEBSALE-Suche nicht selbst auf. Stattdessen speichert er den Schalter nur in der Session und gibt ihn in der Antwort weiter, damit Ihre Storefront darauf reagieren kann. Die Umschaltung auf die Test-API setzen Sie in Ihrer Storefront um.

Allgemeine Antworten


Methoden für den Testmodus

GET testMode/status

Folgender Aufruf liefert den aktuellen Zustand des Testmodus für die Session.

Parameterübersicht

Header-Parameter

Beispiel-Response

POST testMode/activate

Mit dem folgenden Aufruf aktivieren Sie den Testmodus für die Session. Dabei können Sie optional das erweiterte Debugging, die Simulation fehlgeschlagener Zahlungen sowie das Signal für die Test-API der WEBSALE-Suche einschalten. Der Aufruf legt den Startzustand des Testmodus fest. Schalter, die Sie nicht mitsenden, sind anschließend aus. Wenn der Testmodus für die Sitzung bereits aktiv ist, behalten nicht mitgesendete Schalter ihren bisherigen Wert.

Beispiel-Request

Parameterübersicht

Header-Parameter

Body-Parameter

Beispiel-Response

Fehlercodes

Die Sperre gilt für die IP-Adresse, nicht für die Session. Eine neue Session hebt sie deshalb nicht auf. Während der Sperre lehnt der Shop auch ein richtiges Passwort mit tooManyAttempts ab.

POST testMode/deactivate

Folgender Aufruf deaktiviert den Testmodus für die Session. Dabei setzt der Shop die Werte active, debug, makePaymentFail und searchTestApi auf false zurück. Ein Request-Body ist nicht erforderlich.

Parameterübersicht

Header-Parameter

Beispiel-Response

POST testMode/update

Folgender Aufruf ändert die Schalter debug, makePaymentFail und searchTestApi, ohne den Testmodus zu verlassen. Voraussetzung ist, dass der Testmodus für die jeweilige Session zuvor mit dem Passwort aktiviert wurde. Der Aufruf ändert ausschließlich die Schalter, die Sie im Request mitsenden. Nicht genannte Schalter behalten ihren bisherigen Wert. Somit sind alle Schalter optional.

Beispiel-Request

Dieser Request schaltet debug aus und lässt makePaymentFail und searchTestApi unverändert.

Parameterübersicht

Header-Parameter

Body-Parameter

Mit testMode/update werden nur die Schalter geändert, die Sie mitsenden. Um einen Schalter auszuschalten, senden Sie ihn ausdrücklich mit dem Wert false. Ihn wegzulassen bedeutet „nicht ändern”. Dadurch bleiben bestehende Integrationen auch dann unverändert lauffähig, wenn später weitere Schalter hinzugefügt werden.
Für das Formular auf der Testmodus-Seite des Shops gilt das nicht. Die dort verwendete Aktion TestModeChange setzt beim Speichern immer alle Schalter. Der Grund ist, dass der Browser eine nicht angehakte Checkbox gar nicht erst mit schickt. Ein Schalter, der im Formular nicht angehakt ist, ist nach dem Speichern also aus.

Beispiel-Response

Die Antwort zeigt den Zustand nach dem Beispiel-Request. Nur debug hat sich geändert.

Fehlercodes


Übergang in den Bestellablauf

Wenn Sie aus der Storefront über session/prepareRedirect in einen Bestellablauf des Template-Themes weiterleiten, bleibt der Testmodus erhalten, weil der Shop die Session übernimmt. Für den weiteren Ablauf gilt:
  • Bestellungen erhalten den Verifizierungsstatus „Test“. Sie erkennen sie in der Bestellübersicht im Admin Interface und können über die Admin-Interface-API nach dem Feld verificationStatus filtern.
  • Ist makePaymentFail eingeschaltet, laufen Zahlungen auch im Bestellablauf in den Fehlerfall.
Der Link aus session/prepareRedirect ist 30 Sekunden gültig. Wird er später aufgerufen, legt der Shop eine neue, leere Session an. In dieser ist der Testmodus nicht mehr aktiv und Bestellungen werden als reguläre Bestellungen ausgeführt.