# Bestellstatus und Rücksendungen

> Lass deinen Agenten „Wo ist meine Bestellung?“ aus deinem Shopify- oder WooCommerce-Shop beantworten und Rücksende- und Umtauschanfragen annehmen: Einrichtung, wie Besucher verifiziert werden, was der Agent sieht, Grenzen und Benachrichtigungen.

Mit einer Bestellverbindung kann dein Agent die Bestellung eines Besuchers in deinem Shopify- oder WooCommerce-Shop abfragen und ihm sagen, welchen Status sie hat, was sie enthielt, wie hoch die Summe ist und, falls vorhanden, wie die Sendungsnummer lautet. Ist **Returns and exchanges** eingeschaltet, kann er außerdem eine Rücksende- oder Umtauschanfrage annehmen und an dich weitergeben. Der Agent liest Bestellungen nur. Er ändert nie etwas in deinem Shop.

> Ein Besucher sieht eine Bestellung nur, wenn er ihre Bestellnummer und die E-Mail-Adresse nennt, mit der sie aufgegeben wurde. Wer mit einer falschen E-Mail fragt, bekommt dieselbe Antwort wie für eine Bestellung, die es nicht gibt. Siehe [Wie Besucher verifiziert werden](#wie-besucher-verifiziert-werden).

## Bevor du loslegst

Öffne deinen Agenten und wechsle zum Tab **Actions**. Die Karte **Orders** steht unter **Booking**. Wähle unter **Store** entweder **Shopify** oder **WooCommerce**.

### Shopify mit der intoCHAT-App

Gib unter **Store address** die `.myshopify.com`-Adresse deines Shops ein, klicke auf **Install on Shopify** und bestätige die App in Shopify. intoCHAT fragt nur nach Lesezugriff auf Bestellungen und hält die Verbindung selbst aktuell. Worauf die App zugreifen kann und wie du sie deinstallierst, steht unter [Shopify-App installieren](/de/docs/shopify#shopify-app-installieren). Der Button erscheint erst, wenn die intoCHAT-Shopify-App auf deiner intoCHAT-Seite verfügbar ist; bis dahin nutzt du eine eigene App.

### Shopify mit einer eigenen App

1. Gib unter **Store address** die dauerhafte `.myshopify.com`-Adresse deines Shops ein, zum Beispiel `my-store.myshopify.com`. Nutze sie auch dann, wenn deine Kunden den Shop unter einer eigenen Domain kennen. Du findest sie im Shopify-Admin unter **Einstellungen**, **Domains**.
2. Klicke auf **Use a custom app instead**.
3. Erstelle im Dev Dashboard von Shopify, für die Organisation, der dieser Shop gehört, eine App mit dem Admin-API-Scope `read_orders`. Füge auch `read_all_orders` hinzu, wenn Besucher Bestellungen finden sollen, die älter als 60 Tage sind; diesen Scope vergibt Shopify auf Anfrage.
4. Veröffentliche eine Version der App mit diesen Scopes und installiere sie in deinem Shop.
5. Kopiere **Client ID** und **Client Secret** der App in **Client ID** und **Client secret** und klicke auf **Test and connect**.

intoCHAT tauscht Client ID und Secret gegen ein Zugriffstoken, das 24 Stunden gilt, speichert es verschlüsselt und holt sich selbst ein neues, bevor es abläuft. Shopify stellt diese Tokens nur für einen Shop in derselben Organisation wie die App aus; bei jedem anderen Shop sagt die Karte das.

### WooCommerce

1. Gib unter **Store address** die `https://`-Adresse deiner WordPress-Website ein, zum Beispiel `https://shop.example.com`. Einfache `http://`-Adressen werden abgelehnt, weil deine Schlüssel sonst unverschlüsselt übertragen würden. Dasselbe gilt für Adressen in einem privaten oder internen Netzwerk.
2. Öffne in WordPress **WooCommerce**, **Einstellungen**, **Erweitert**, **REST-API** und klicke auf **Schlüssel hinzufügen**. Wähle einen Benutzer, der Bestellungen verwalten darf, setze **Berechtigungen** auf **Lesen** und klicke auf **API-Schlüssel generieren**.
3. Kopiere **Consumer Key** und **Consumer Secret** in die Karte und klicke auf **Test and connect**.

### Was beim Verbinden geprüft wird

**Test and connect** fragt deinen Shop nach seinem Namen und der ID einer aktuellen Bestellung. Dabei werden keine Kundendaten angezeigt. Lehnt der Shop ab, sagt die Karte warum, etwa dass die Zugangsdaten nicht angenommen wurden, dass der App der Scope `read_orders` fehlt oder dass unter der Adresse keine WooCommerce-REST-API zu finden ist. Du kannst Zugangsdaten bis zu 10-mal in 10 Minuten prüfen.

Bei Shopify prüft intoCHAT außerdem, ob Shopify die E-Mail-Adresse in Bestellungen mitliefert. Shopify verbirgt Kunden-E-Mails vor Apps, die keinen Zugriff auf geschützte Kundendaten haben. Lehnt Shopify das E-Mail-Feld ab, ließe sich nie ein Besucher verifizieren, deshalb verweigert die Karte die Verbindung und sagt: „Shopify didn't return customer emails: grant protected customer data access (email) to the app.“ Kommt deine letzte Bestellung einfach ohne E-Mail zurück, stellt die Karte die Verbindung her, warnt dich aber: Entweder hat diese Bestellung keine E-Mail, oder Shopify verbirgt E-Mails, ohne es zu sagen. Bestellungen ohne lesbare E-Mail werden Besuchern nie angezeigt.

Client Secret, Consumer Key und Consumer Secret werden verschlüsselt gespeichert und nie wieder angezeigt. Die Karte zeigt nur die letzten vier Zeichen der Client ID oder des Consumer Keys.

## Verbindung verwalten

Ist der Shop verbunden, zeigt die Karte den Shop, seine Adresse und wie er verbunden ist.

- Der Schalter **On** / **Off** im Kopf der Karte stoppt Bestellabfragen, ohne die Verbindung zu trennen.
- **Returns and exchanges** lässt den Agenten Rücksende- und Umtauschanfragen annehmen. Anfangs ist es aus. Siehe [Rücksendung und Umtausch](#rucksendung-und-umtausch).
- **Test connection** führt mit den gespeicherten Zugangsdaten dieselbe Prüfung durch wie beim Verbinden.
- **Replace credentials** verbindet mit neuen Zugangsdaten. Sagt die Karte, dass die gespeicherten Zugangsdaten nicht mehr gelesen werden können, heißt der Button **Reconnect**.
- **Disconnect** stoppt Abfragen und Rücksendeanfragen und löscht die gespeicherten Zugangsdaten. Schon gestellte Rücksendeanfragen bleiben in der Liste **Returns** im Tab **Leads**.

Bei einer Shopify-App ohne den Scope `read_all_orders` weist die Karte darauf hin, dass nur Bestellungen der letzten 60 Tage gefunden werden.

## Wie Besucher verifiziert werden

Der Agent fragt eine Bestellung nur mit Bestellnummer und E-Mail-Adresse ab und zeigt sie nur, wenn die E-Mail die ist, mit der die Bestellung aufgegeben wurde. Groß- und Kleinschreibung sowie Leerzeichen um die E-Mail herum spielen beim Vergleich keine Rolle.

- **Besucher, die auf deiner Website angemeldet sind.** Mit der [Identitätsprüfung](/de/docs/identity-verification) wird die E-Mail genutzt, die deine Seite für den Besucher übergibt, und der Agent fragt nicht danach. Eine E-Mail, die der Besucher in den Chat tippt, wird dann ignoriert. So kann ein angemeldeter Besucher nicht die Bestellung eines anderen abfragen, indem er dessen E-Mail eintippt.
- **Alle anderen.** Der Agent fragt nach Bestellnummer und E-Mail-Adresse. Beide müssen zur Bestellung passen.

Passt die E-Mail nicht, bekommt der Agent genau dieselbe Antwort wie für eine Bestellnummer, die es nicht gibt: Keine Bestellung passt zu dieser Bestellnummer und E-Mail-Adresse. Er bittet den Besucher, beides zu prüfen, ohne zu sagen, was davon falsch ist. So kann niemand herausfinden, welche Bestellnummern es gibt.

Die Identitätsprüfung signiert nur die User-ID des Besuchers. Die E-Mail daneben ist das, was deine Seite übergibt. Sie ist deshalb kein stärkerer Nachweis als eine E-Mail, die der Besucher eintippt, und die [Grenzen für fehlgeschlagene Abfragen](#grenzen-fur-fehlgeschlagene-abfragen) gelten genauso.

## Was der Agent sieht

Aus einer Bestellung bekommt der Agent nur:

- Bestellnummer und Datum,
- den Zahlungsstatus und den Versandstatus und ob die Bestellung storniert wurde,
- Titel, Variante und Menge jedes Artikels,
- Versanddienstleister, Sendungsnummer und Tracking-Link jeder Sendung,
- die Summe und ihre Währung.

Er bekommt nie Adressen, Telefonnummern, Zahlungsdaten, Kundennotizen, die E-Mail-Adresse oder andere Bestellungen desselben Kunden. Die meisten dieser Daten fragt intoCHAT gar nicht erst bei deinem Shop ab, und was der Agent erhält, wird nur aus der Liste oben zusammengestellt.

Unter „Why this answer“ im Gespräch erscheint eine Bestellabfrage als **Order lookup**, mit der Bestellnummer, wenn sie erfolgreich war, und ohne, wenn nicht. Weitere Bestelldaten werden dabei nicht gespeichert.

## Grenzen für fehlgeschlagene Abfragen

Eine Abfrage schlägt fehl, wenn Nummer und E-Mail zu keiner Bestellung passen. Nach 5 fehlgeschlagenen Abfragen in einem Gespräch oder 20 von einer IP-Adresse beim Agenten, jeweils innerhalb einer Stunde, fragt der Agent keine Bestellungen mehr ab und bittet den Besucher, sich direkt an dich zu wenden. Abfragen, die die Bestellung finden, zählen nicht mit, ebenso wenig Abfragen, die fehlschlugen, weil dein Shop nicht erreichbar war.

## Rücksendung und Umtausch

Ist **Returns and exchanges** eingeschaltet, kann ein Besucher den Agenten bitten, Artikel einer Bestellung zurückzusenden oder umzutauschen. Der Agent fragt, welche Artikel, wie viele, ob es eine Rücksendung oder ein Umtausch sein soll und warum. Dann prüft er die Bestellung erneut, genau wie bei einer Abfrage und mit denselben Grenzen, und prüft, ob jeder Artikel in der Bestellung steht und die Mengen nicht höher sind als bestellt. Wurde ein Produkt in mehreren Varianten bestellt, muss der Besucher sagen, welche.

Die Anfrage wird gespeichert, und der Agent sagt dem Besucher, dass sie angekommen ist und du dich meldest. Der Agent verspricht nie, dass eine Anfrage genehmigt wird, und auch keine Erstattung, keinen Ersatz und kein Rücksendeetikett. In deinem Shop ändert sich nichts: Du wickelst die Rücksendung dort wie gewohnt ab.

Jedes Gespräch kann eine Anfrage pro Bestellung senden. Fragt der Besucher für dieselbe Bestellung erneut, sagt ihm der Agent, dass die erste Anfrage schon gesendet wurde, und es wird nichts Neues gespeichert oder gesendet.

### Wo Anfragen erscheinen

- **Returns** im Tab **Leads** listet jede Anfrage, die neueste zuerst: Datum, Bestellung, E-Mail, Rücksendung oder Umtausch, Artikel, Grund und Status. **Mark handled** markiert eine Anfrage als erledigt (Teammitglieder brauchen dafür mindestens die Rolle Editor); der Pfeil macht das rückgängig. **Export CSV** lädt alle Anfragen herunter. Das Chat-Symbol öffnet das Gespräch.
- **E-Mail**: Wer die [Lead-Benachrichtigungen](/de/docs/lead-alerts-and-export#e-mail-bei-neuen-leads) bekommt, erhält für jede neue Anfrage eine E-Mail, solange die Lead-Benachrichtigungen an sind. Eine Antwort darauf geht an die E-Mail-Adresse der Bestellung, also direkt an den Kunden.
- **Webhook**: das Event `return.requested`. Siehe [Webhooks](/de/docs/webhooks#daten-von-return-requested).
- **Slack**: **Return request** in den [Slack-Benachrichtigungen](/de/docs/lead-alerts-and-export#slack-benachrichtigungen).

## Zugriffsprotokoll

intoCHAT protokolliert jeden Zugriff auf Bestelldaten, ohne E-Mails oder Bestellinhalte, und bewahrt das Protokoll 90 Tage auf. Öffne **Recent order lookups** in der Karte **Orders**, um die letzten 25 Einträge zu sehen, oder klicke auf **Export CSV** für alle. Jeder in deinem Team kann es sehen.

Jeder Eintrag zeigt die Uhrzeit, die Aktion (eine Bestellabfrage, eine Rücksendeanfrage oder ein Verbindungstest, wenn du den Shop testest oder verbindest), die Bestellnummer und das Ergebnis sowie wer es war: **Visitor** oder der Name der Person in deinem Konto, die den Shop getestet oder verbunden hat. Bei einer Bestellung, die nicht gefunden wurde, zeigt der Eintrag die Nummer, die der Besucher genannt hat, und das Ergebnis sagt, warum: **Not found** (keine Bestellung mit dieser Nummer), **Email didn't match** oder **Order has no readable email** (die Bestellung hat keine E-Mail, oder dein Shop verbirgt sie). Der Besucher bekommt in allen drei Fällen dieselbe Antwort. Eine Abfrage, die deinen Shop nie erreicht hat, etwa weil sie noch auf die E-Mail des Besuchers wartet, wird nicht protokolliert.

Einträge, die älter als 90 Tage sind, werden täglich gelöscht. Wird die Shopify-App deinstalliert oder bittet Shopify intoCHAT, die Daten eines Kunden oder eines Shops zu löschen, werden die passenden Einträge ebenfalls gelöscht.

## Wann der Agent Bestellungen abfragt

Der Agent fragt eine Bestellung ab, wenn ein Besucher wissen will, wo sie ist, welchen Status sie hat, wann sie geliefert wird, wie die Sendungsverfolgung aussieht oder was sie enthielt. In einem temporären Chat wird das nie angeboten: Dort bittet der Agent den Besucher, den temporären Chat zu verlassen und noch einmal zu fragen. Abfragen im **Playground** sind echte Abfragen in deinem Shop und zählen zu den Grenzen.

## Grenzen

- Der Agent liest Bestellungen nur. Er kann keine Bestellung stornieren, ändern oder erstatten und kein Rücksendeetikett erstellen.
- Shopify: Nur mit dem Scope `read_orders` werden Bestellungen, die älter als 60 Tage sind, nicht gefunden. Füge der App für ältere Bestellungen `read_all_orders` hinzu.
- WooCommerce speichert selbst keine Sendungsnummern. Der Agent sieht sie nur, wenn dein Shop die Erweiterung WooCommerce Shipment Tracking nutzt oder ein Plugin, das Sendungsdaten auf dieselbe Weise speichert. Sonst kann er Status, Artikel und Summe der Bestellung nennen.
- WooCommerce-Bestellnummern: intoCHAT sucht zuerst die Bestellung mit dieser ID. Vergibt dein Shop über ein Plugin eigene Bestellnummern, sucht intoCHAT nach der Nummer und nutzt nur einen exakten Treffer; ob die Suche Plugin-Nummern findet, hängt vom Plugin ab.
- Ein Shop pro Agent.

## Wie es weitergeht

- Erkenne, wer deine Besucher sind: [Identitätsprüfung](/de/docs/identity-verification).
- Rücksendeanfragen in deine eigenen Tools holen: [Webhooks](/de/docs/webhooks).
- Lass Besucher im Chat Termine buchen: [Terminbuchung mit Cal.com oder Calendly](/de/docs/booking).
