# Warenkorb-Erkennung

Wie punchout.dev per Plugin-Marker, einmaligem Setup-Link oder Ihrer eigenen Markierung das Element Ihrer Warenkorbseite findet, das die Positionen enthält.

URL: https://punchout.dev/de/docs/getting-started/cart-detection/

Diese Seite erklärt den Warenkorb-Container, den einmaligen Setup-Link, der ihn findet und prüft, und was Sie tun, wenn die Erkennung Hilfe braucht.

## Was der Warenkorb-Container ist

Der Warenkorb-Container ist das Element Ihrer Warenkorbseite, das die Positionen enthält. Öffnet ein Einkäufer während eines Punchouts den Warenkorb, liest punchout.dev die Positionen aus diesem Element. Ist der Container bekannt, bleibt der Rest der Seite, etwa die Kontoleiste oder die Adresse, beim Lesen außen vor.

Welchen Teil der Warenkorbseite punchout.dev liest:

| Reihenfolge | Was der Shop hat | Was gelesen wird |
| --- | --- | --- |
| 1 | Den Plugin-Marker: ein Element mit dem Attribut `data-punchout-cart` | Dieses Element |
| 2 | Einen **Container-Selector** im Tab **Warenkorb** | Dieses Element. Steht es nicht auf der Seite, wird kein Warenkorb gelesen |
| 3 | Keines von beiden | Die Warenkorbseite als Ganzes |

Der Marker hat Vorrang vor einem Container-Selector. Ein Selector, der noch aus der Zeit vor der Plugin-Installation stammt, kann also nicht stören.

## Wie ein Container bekannt wird

| Weg | Wann er passt | **Quelle** im Tab **Warenkorb** |
| --- | --- | --- |
| Shop-Plugin | Shopware, WooCommerce oder Magento mit dem Plugin von punchout.dev. Das Plugin markiert den Warenkorb selbst | `plugin` |
| Setup-Link, Voreinstellung | Ihr Shop läuft auf einer dieser Plattformen ohne das Plugin und behält das Warenkorb-Markup der Plattform | `preset:<name>` |
| Setup-Link, erkannt | punchout.dev findet den Container auf Ihrer Seite selbst | `detected` |
| Selbst markieren | Die Erkennung hat die Positionen gefunden, konnte aber keinen Container bestätigen | **Selbst markiert** |
| Von Hand gesetzt | Sie tragen im Tab **Warenkorb** einen CSS-Selector ein | `manual` (gilt als ungeprüft) |

Mit einem Plugin gibt es nichts zu erkennen. Ein Setup-Link funktioniert trotzdem als Selbsttest: Das Panel zeigt „Shop-Plugin erkannt“, und die Bestätigung erledigt den Checklisten-Schritt. Ohne Plugin setzen Sie den Marker selbst, indem Sie dem Element in Ihrem Warenkorb-Template, das die Positionen enthält, das Attribut `data-punchout-cart` geben.

## Einen Setup-Link erzeugen

1. Öffnen Sie den Tab **Einrichtung** des Shops. Klicken Sie unter **Warenkorb erkannt** auf **Setup-Link erzeugen**.
2. **Shop-Pfad** ist das Ziel des Links, zum Beispiel `/checkout/cart`. Das Feld ist mit dem Landing-Pfad des Shops vorbelegt. Bleibt es leer, öffnet der Link die Startseite.
3. **Gültigkeit**: 30 Minuten, 60 Minuten (Standard) oder 2 Stunden.
4. Klicken Sie auf **Link erzeugen**. Das Portal zeigt den Link nur ein einziges Mal. Kopieren Sie ihn oder klicken Sie auf **Im Shop öffnen**.

Der Link öffnet den Shop-Pfad auf der ersten erlaubten Origin Ihres Shops. Er funktioniert einmal, denn die Bestätigung einer Erkennung verbraucht ihn. **Link widerrufen** macht ihn ungültig. Einen abgelaufenen oder widerrufenen Link können Sie jederzeit durch einen neuen ersetzen. Solange der Link offen ist, zeigt das Portal „Warten auf Bestätigung im Shop“ und aktualisiert sich, sobald Sie bestätigen.

Setup-Links erzeugen nur Inhaber und Admins, und nur für einen aktiven Shop (Tab **Allgemein** → **Shop aktiv**).

## Im Shop

Der Setup-Link funktioniert nur in dem Browser-Tab, in dem er geöffnet wurde, und verschwindet aus der Adressleiste. Bleiben Sie in diesem Tab, denn ein neuer Tab oder ein neues Fenster kennt den Link nicht. Bis Sie bestätigen, zeigt das Panel auf jeder Seite dieses Tabs **Einrichtung**. Die Warenkorbseite muss auf einer der erlaubten Origins des Shops liegen.

1. Legen Sie 2 oder 3 verschiedene Produkte in den Warenkorb und öffnen Sie die Warenkorbseite.
2. Klicken Sie auf **Warenkorb erkennen**. Füllt sich Ihr Warenkorb erst nach dem Laden der Seite, wie beim Block-Warenkorb von WooCommerce, wartet das Panel, bis der Warenkorb fertig geladen ist.
3. Das Panel zeigt „Warenkorb erkannt: 3 Artikel“ und die Quelle (**Shop-Plugin**, **Voreinstellung**, **Automatisch erkannt** oder **Selbst markiert**). Es umrandet den Container auf der Seite und listet die gelesenen Positionen auf.
4. Stimmen die Positionen, klicken Sie auf **Ja, passt**. Das Panel zeigt „Einrichtung abgeschlossen“ und „Der Einrichtungslink ist jetzt verbraucht.“ Stimmen sie nicht, klicken Sie auf **Nein**, ändern den Warenkorb und versuchen es erneut.

Das Panel erscheint auf Deutsch, wenn die Seite als deutschsprachig ausgezeichnet ist oder, bei einer Seite ohne Sprachangabe, der Browser auf Deutsch eingestellt ist. Sonst erscheint es auf Englisch. Sieht die URL nicht nach einer Warenkorbseite aus, warnt das Panel, lässt Sie aber weitermachen, weil manche Shops eigene Warenkorb-URLs verwenden.

Im Setup-Modus liest punchout.dev die Seite nur, wenn Sie auf **Warenkorb erkennen** oder **Diesen Bereich prüfen** klicken, nur solange der Link gültig ist und nie als Teil eines Punchouts. Auf einer Seite mit dem Plugin-Marker liest es nur den markierten Warenkorb.

## Wie die Erkennung entscheidet

Steht der Plugin-Marker auf der Seite, verwendet punchout.dev den markierten Warenkorb. Sonst probiert es zuerst die bekannten Warenkorb-Layouts der Plattform Ihres Shops. Stellen Sie deshalb vorher unter Tab **Allgemein** → **Shopsystem** Ihre Plattform ein. Passt keines dieser Layouts, sucht punchout.dev den Container auf der Seite selbst. Einen Container bietet es Ihnen erst an, nachdem es ihn auf Ihrer Seite geprüft hat.

Die automatische Erkennung verbraucht das Tagesbudget des Shops ([Pläne und Sandbox](https://punchout.dev/de/docs/account/plans-and-sandbox/)). Ist das Budget aufgebraucht, zeigt das Panel „Die Erkennung ist fehlgeschlagen.“ mit **Erneut versuchen**.

## Den Warenkorb selbst markieren

Findet die automatische Erkennung keinen Container, bietet das Panel **Warenkorb selbst markieren** an. Im ersten Panel steht dieselbe Möglichkeit als Link, außer auf einer Seite mit dem Plugin-Marker.

1. Eine transparente Ebene legt sich über die Seite. Links und Buttons des Shops reagieren nicht, solange sie da ist.
2. Klicken Sie auf den Bereich mit den Warenkorb-Artikeln. **Esc** bricht ab.
3. Das Panel zeigt das Element und seinen **Selektor**. **Eine Ebene höher** und **Eine Ebene tiefer** wechseln zum umgebenden oder zum inneren Element.
4. Klicken Sie auf **Diesen Bereich prüfen**. punchout.dev prüft Ihren Bereich genauso wie einen, den es selbst gefunden hat.

Einige Auswahlen lehnt das Panel sofort ab: die ganze Seite, ein Element in einem Overlay oder Ausklapp-Warenkorb und ein Element, das es nicht stabil beschreiben kann.

Markieren Sie den Warenkorb auf der Warenkorbseite selbst. Ein Ausklapp- oder Mini-Warenkorb, der sich über einer anderen Seite öffnet, enthält zwar einen echten Warenkorb. Auf der Warenkorbseite, von der aus ein Einkäufer den Punchout abschließt, gibt es ihn aber nicht.

## Was gespeichert wird

Die Bestätigung füllt drei Felder im Tab **Warenkorb** des Shops: **Container-Selector**, **Quelle** und **Geprüft am**. Mit Plugin bleibt der Container-Selector unverändert, nur Quelle und Zeitpunkt werden aktualisiert.

## Meldungen im Panel

| Meldung | Ursache | Was Sie tun |
| --- | --- | --- |
| „Auf dieser Seite wurde kein Warenkorb gefunden. Öffnen Sie die Warenkorbseite mit 2–3 Artikeln.“ | Keine Positionen auf der Seite | Öffnen Sie die Warenkorbseite mit Artikeln, dann **Erneut versuchen** |
| „Der Warenkorb konnte nicht sicher erkannt werden. Bitte kontaktieren Sie den Support.“ | Positionen gefunden, aber kein Container ließ sich bestätigen | **Warenkorb selbst markieren** |
| „Dieser Bereich konnte nicht bestätigt werden.“ | Ihr markierter Bereich ließ sich nicht bestätigen | Folgen Sie dem Hinweis darunter |
| „Es liegt keine Erkennung mehr vor. Bitte erkennen Sie den Warenkorb erneut.“ | Das Erkennungsergebnis ist nicht mehr verfügbar | **Erneut versuchen** startet die Erkennung neu |
| „Der Einrichtungslink ist abgelaufen.“ | Link abgelaufen, widerrufen oder schon benutzt | Erzeugen Sie im Portal einen neuen Link |
| „Die Erkennung ist fehlgeschlagen.“ | Das Tagesbudget des Shops ist aufgebraucht, oder es gab einen vorübergehenden Fehler | Später **Erneut versuchen** |

Hinweise, wenn ein markierter Bereich scheitert:

| Der Hinweis beginnt mit | Bedeutung | Was Sie tun |
| --- | --- | --- |
| „Der Bereich kommt mehrfach vor“ | Der Bereich passt auf mehrere Stellen der Seite | **Eine Ebene höher** |
| „Der Bereich umfasst fast die ganze Seite“ | Zu groß | **Eine Ebene tiefer** |
| „Overlay/Ausklapp-Warenkorb“ | Teil eines Ausklapp-Warenkorbs oder Modals | Markieren Sie den Warenkorb auf der Warenkorbseite selbst |
| „Der Bereich lässt sich nicht dauerhaft beschreiben“ | Das Element hat keinen Namen, der zwischen zwei Seitenaufrufen gleich bleibt | Wechseln Sie die Ebene |
| „Der Bereich wurde nicht gefunden“ | Der Bereich steht nicht mehr auf der Seite | Versuchen Sie es erneut |
| „Artikel nicht gefunden“ | Die Positionen liegen nicht im Bereich | Markieren Sie die Liste der Artikel |

## Später erneut erkennen

- Tab **Einrichtung** → **Warenkorb erkannt** → **Erneut erkennen** erzeugt einen neuen Setup-Link. Tun Sie das nach einem Theme-Wechsel.
- Der Tab **Nutzung** warnt „Der Warenkorb wird nicht mehr gefunden“, wenn Punchouts in den letzten 7 Tagen mindestens 3-mal auf einer Warenkorbseite nichts zum Lesen gefunden haben und das öfter vorkam, als ein Warenkorb gelesen wurde. **Warenkorb erneut erkennen** führt zum Setup-Link.
- Im Tab **Warenkorb** speichert **Selector von Hand setzen** einen eigenen Container-Selector. Er gilt als ungeprüft und öffnet den Checklisten-Schritt wieder. **Selector entfernen** löscht ihn, und punchout.dev liest wieder die ganze Warenkorbseite.
