Technische Fehlerbehebung
Erster Schritt in jedem Fall: Bitten Sie den Chat, ps_get_shop_info und ps_check_shop_health auszuführen. Zusammen melden sie Versionen, Ausgabe und Lizenzstatus, die Speicherbereiche (welche Schalter an sind und bis wann), die Kundendatenstufe, fehlende Rechte des Mitarbeiters, verbleibende Stundenlimits und Module, die sich in Speichervorgänge einhängen. Die Karte Verbindungsprotokoll (letzte 50) zeigt jeden Aufruf mit IP, Ergebnis und Uhrzeit.
Verbindung
Der Konnektor verbindet sich nicht aus Claude oder ChatGPT.
Prüfen Sie in dieser Reihenfolge:
- Die Adresse ist
https://your-shop.com/module/tellmyshop/mcp(die Shop-Adresse für den Chat aus der Karte Start; bei der älteren Adresse mit Schlüssel mit dem vollständigen Token). Der Endpunkt lehnt einfaches HTTP ab (403). - Der Konnektor ist an. Schritt 1 der Karte Start (Konnektor einschalten) schaltet ihn ein; aus liefert 503.
- Verbindung erneut prüfen im Modul funktioniert (Test-Token, 2 Minuten gültig). Der Test prüft auch die Anmeldung des Chats: Meldet er, dass der Hoster den Authorization-Header entfernt, muss der Webserver diesen Header an PHP weiterreichen, sonst funktioniert die Anmeldung nicht. Ausweg: Verbundene Chats > Erweitert: So verbinden sich Chats > Adresse mit Schlüssel (ältere Methode). Der Test erkennt keine Länder- oder IP-Sperren in einem CDN; der erste echte Aufruf aus dem Chat im Verbindungsprotokoll schon.
- Nichts vor dem Shop blockiert POST auf
/module/tellmyshop/mcp: Basic Auth, Wartungsseite, WAF, Cloudflare Bot Fight Mode oder Managed Challenges. Fügen Sie nur für diesen Pfad eine Ausnahmeregel hinzu. - Die IP-Allowlist in Einstellungen: Sicherheit, Warnungen, Limits ist leer oder enthält die Adressen Ihrer Chat-App. Mit ChatGPT lassen Sie sie leer: OpenAI veröffentlicht keine feste Adressliste. Für Claude hat die Einstellungskarte eine Schaltfläche, die die Adressen von Anthropic hinzufügt.
- Shop hinter Cloudflare oder einem anderen Proxy: „Shop hinter Proxy / Cloudflare“ einschalten und die Proxy-Bereiche als vertrauenswürdige Proxys eintragen, sonst sieht die Allowlist die IP des Proxys.
- In ChatGPT wird der Shop unter Plugins als benutzerdefinierter MCP-Server mit der Authentifizierung OAuth hinzugefügt.
403 Forbidden.
Wahrscheinliche Ursachen:
- Origin. Eine Anfrage mit
Origin-Header wird nur vonhttps://claude.ai,https://claude.com,https://chatgpt.comoderhttps://chat.openai.comangenommen. Anfragen ohneOrigingehen durch. Ein browserbasiertes Testwerkzeug mit anderem Origin wird abgelehnt. - IP-Allowlist. Die IP steht nicht auf der Liste.
- Einfaches HTTP.
503 Service unavailable.
Der Konnektor ist aus, oder es gibt keinen Konnektor-Mitarbeiter (gelöscht oder auf einen SuperAdmin gesetzt). Führen Sie Schritt 1 der Karte Start erneut aus; er legt das Konto an, wenn es fehlt.
429 Zu viele fehlgeschlagene Versuche.
20 fehlgeschlagene Authentifizierungen von einer IP in 10 Minuten sperren diese IP bis zum Ende des Zeitfensters; der Inhaber bekommt eine Warnung. Typische Ursache: ein altes Token (Adresse mit Schlüssel), das noch in der Chat-App oder einem Monitoring-Skript eingetragen ist. Token korrigieren, dann 10 Minuten warten.
Das Shop-Fenster meldet einen Fehler bei der Anmeldung.
- „Rücksprungadresse stimmt nicht mit der Registrierung überein“: Entfernen Sie den Konnektor im Chat und fügen Sie ihn noch einmal hinzu.
- „Anfrage abgelaufen“: Eine Verbindungsanfrage und ihr Code gelten 15 Minuten. Verbinden Sie den Shop im Chat noch einmal.
- Warnung „weder Claude noch ChatGPT“: Erlauben Sie nur, wenn Sie diese Anwendung gerade selbst verbinden. Die Einstellung Andere Anwendungen als Claude und ChatGPT verbinden lassen unter Erweitert ist standardmäßig aus.
401 nach dem Trennen eines Chats oder dem Neuerzeugen eines Tokens.
Trennen in Verbundene Chats nimmt dem Chat sofort den Zugang; verbinden Sie ihn im Chat neu. Bei der älteren Adresse mit Schlüssel gilt: Ein neues Token widerruft das alte sofort. Aktualisieren Sie die Adresse mit Schlüssel in Claude oder ChatGPT oder den Header Authorization: Bearer in der Konfiguration von Claude Code / Claude Desktop.
Claude Code oder Claude Desktop (lokal) verbindet sich nicht.
Mit der älteren Adresse mit Schlüssel: Nutzen Sie --header "Authorization: Bearer <token>" statt eines Tokens in der URL. Der Endpunkt braucht HTTPS auch lokal (mkcert). Anfragen ohne Origin-Header gehen durch. Ist eine IP-Allowlist gesetzt, fügen Sie die öffentliche IP des Rechners hinzu.
Fehler bei der Protokollversion.
Unterstützt: 2026-07-28 sowie 2025-11-25, 2025-06-18, 2025-03-26. Eine nicht unterstützte Version liefert 400 mit der Liste der unterstützten.
Speichern funktioniert nicht
Der Chat liest und plant nur.
Entweder ist die Lizenz nicht aktiv (Pro ohne aktive Lizenz arbeitet wie Free), oder es ist TellMyShop Free, das keine Schreibwerkzeuge hat. ps_get_shop_info sagt, welcher Fall vorliegt (Ausgabe audit oder audit_free). Prüfen Sie die Karte Lizenz und klicken Sie auf Aktualisieren.
„Writing in the … area is off. Nothing was saved.“
Verkauf, Theme, Module und Service speichern nur, solange ihr Schalter in der Karte Speichern nach Bereich an ist. Verkauf bleibt an bis zum Ausschalten; Theme und Module 24 Stunden; Service 3 Stunden. Ein Schalter, der während des Gesprächs abläuft, stoppt das Speichern sofort. Die Vorschau funktioniert weiter, so kann der Chat den Plan zeigen, bevor Sie den Schalter einschalten. Seit 2.7.0 gibt es keinen separaten Service-Konnektor: Eine Adresse deckt alle Bereiche ab.
Theme, Module oder Service lassen sich nicht einschalten.
Das Einschalten braucht ein Häkchen bei der Bestätigung und eine fertige Datenbanksicherung. In einem großen Shop läuft die Sicherung in Teilen: Lassen Sie die Seite offen oder klicken Sie auf Sicherung abschließen. Ohne freien Speicherplatz von etwa der doppelten Datenbankgröße bleiben diese Schalter aus; Inhalte, Katalog und Verkauf funktionieren weiter.
ps_restore_file_backup abgelehnt.
Die Wiederherstellung braucht den Schalter der Dateizone: Theme für Theme-Dateien, Module für Moduldateien, Service für andere Shop-Dateien. Die Karte Dateisicherungen im Backoffice stellt ohne Schalter wieder her, mit den Rechten des angemeldeten Mitarbeiters.
Das Kundenservice-Werkzeug verweigert.
ps_customer_service verweigert, solange die Kundendatenstufe Aus ist. Stellen Sie in der Karte Kundendaten (DSGVO) Pseudonymisiert oder Vollzugriff (befristet) ein.
Blog-Werkzeuge fehlen.
Die 5 Blog-Werkzeuge werden nur registriert, wenn SmartBlog erkannt wird. Andere Blog-Module werden nicht unterstützt. ps_check_shop_health meldet „kein Blog“ als Info.
Limits
Rate-Limit erreicht.
Standard pro Stunde: 300 Aufrufe, 150 Schreibvorgänge, 20 Dateischreibvorgänge (Bereiche 10–2000, 1–500, 1–200), einstellbar in Einstellungen: Sicherheit, Warnungen, Limits. Ein Schreibvorgang mit einem Paket von bis zu 50 Einträgen zählt als einer, und das Schreiblimit wird vor dem Speichern geprüft, ein Paket bleibt also nie auf halbem Weg stehen. Verteilen Sie große Arbeiten auf mehrere Stunden oder erhöhen Sie die Limits für die Dauer der Arbeit; ps_check_capacity prüft eine geplante Arbeit vorab.
Paket wegen eines Limits abgelehnt.
Limits pro Aufruf, zum Beispiel: ps_update_product_content 50, ps_update_category_content 20, ps_update_image_legends 100, ps_set_product_categories 200, ps_update_prices 100, ps_update_stock 100, ps_manage_combinations 100, ps_set_product_redirect 100, ps_translate_catalog_items 200, ps_manage_redirects 100, ps_db_query 200 Zeilen, ps_db_execute 1000 gesicherte Zeilen. Vollständige Tabelle: Spezifikation §11.1.
Schreibvorgänge
change_token abgelaufen, benutzt oder unpassend.
Das Token ist ein HMAC aus Werkzeug, Argumenten und einem Hash des „Vorher“-Zustands, 30 Minuten gültig, einmalig. Mit identischen Argumenten wiederholen oder eine neue Vorschau erstellen.
Ausführung blockiert: Daten seit der Vorschau geändert.
Der „Vorher“-Zustand stimmt nicht mehr, etwa wegen einer Bearbeitung im Backoffice, eines Imports oder eines Feed-Moduls. Neue Vorschau erstellen.
Das Ergebnis nennt Änderungen außerhalb der Vorschau.
Die Zeilenaufzeichnung hat während des Schreibvorgangs Zeilen gesehen, die die Vorschau nicht zeigte, meist durch den Hook eines anderen Moduls. Der Chat zeigt sie dem Inhaber und fragt, was zu tun ist; er stellt sie nicht eigenmächtig wieder her. Das Rückgängigmachen der Operation setzt alle aufgezeichneten Zeilen auf den früheren Stand zurück.
Preisänderung abgelehnt.
ps_update_prices lehnt Preis 0 und Änderungen über 30 % ohne allow_big_change ab. ps_manage_specific_prices und ps_manage_catalog_price_rules verlangen allow_big_change über 90 % Rabatt (Warnung über 50 %). Der Chat setzt das Flag erst, nachdem der Händler diese Größenordnung freigegeben hat.
Warenkorbregel angelegt, aber nicht aktiv / lässt sich nicht löschen.
ps_manage_cart_rules legt Regeln absichtlich inaktiv an; nutzen Sie action=set_active. Es gibt keine Löschaktion; stattdessen deaktivieren. Eine Regel ohne Code braucht auto_apply.
Validierungsfehler beim Speichern.
ObjectWriter prüft jedes Feld mit den Regeln der Klasse (validateField, isCleanHtml, Längen). Produktnamen dürfen <>;=#{} nicht enthalten und sind auf 128 Zeichen begrenzt. Die Meldung nennt das Feld.
Ein anderes Modul reagiert nicht auf die Änderung.
ObjectWriter ruft update() auf, das actionObject<Class>Update* auslöst (bei Produkten auch actionProductSave / actionProductUpdate). Module, die nur auf Hooks der Backoffice-Formulare hören, sehen die Änderung nicht. ps_check_shop_health listet sie auf.
Zugriff verweigert.
ExecutionContext::requirePermissions prüft den Konnektor-Mitarbeiter pro Tab und Aktion. Seit 2.7.0 bekommt das in Schritt 1 angelegte Profil die Rechte aller Bereiche; wurde das Profil von Hand geändert, listet ps_get_shop_info auf, was fehlt. In manchen PrestaShop-Versionen ignorieren Module Speichervorgänge eines Mitarbeiters ohne „Ansicht“ für Module; die Karte Start bietet eine Korrektur mit einem Klick.
Rückgängig abgelehnt.
ps_revert_change kann nicht rückgängig machen: Anlegen eines Child-Themes, Installation, Update oder Deinstallation eines Moduls, DDL, gelöschte Bilder, ein angelegtes Produkt, das schon in einer Bestellung ist, URL-Änderungen (neues ps_change_url nutzen), Dateibearbeitungen (Dateisicherungen nutzen). Das Rückgängigmachen einer Änderung aus Verkauf, Theme, Module oder Service braucht diesen Schalter; die Karte Änderungsverlauf und Rückgängig macht jede Änderung mit den Rechten des angemeldeten Mitarbeiters rückgängig. Verschlüsselte Verlaufseinträge brauchen die Schlüsseldatei.
URLs
URL-Änderung blockiert.
ps_change_url verweigert, wenn die kanonische Weiterleitung 302 ist (Shop-Parameter > Traffic & SEO, auf 301 stellen), der Entwicklermodus an ist (_PS_MODE_DEV_) oder ein Modul Routen überschreibt (UrlGuard; ps_check_shop_health nennt es). Blog-URL-Änderungen brauchen „301-Weiterleitungen für den Blog“ in den Einstellungen.
Weiterleitung von ps_manage_redirects abgelehnt.
Die Vorschau akzeptiert nur Quellen, die jetzt 404 oder 410 liefern, und Ziele, die auf der Domain des Shops 200 liefern. Ketten und Schleifen werden blockiert. Bis zu 100 Einträge pro add, 100 IDs pro disable/enable; Quelle bis 1.024 Zeichen, Ziel-URL bis 2.048. Es gibt kein Löschen: disable nutzen oder über den Änderungsverlauf rückgängig machen.
Dateien, Theme und Cache
Änderung nach einem Theme-Schreibvorgang nicht sichtbar.
ps_clear_cache ausführen (Bereich smarty; all leert auch den Symfony-Cache). Full-Page-Cache-Module und CDN-Cache separat leeren.
Smarty-Validierungsfehler.
Erlaubt sind nur Tags und Modifikatoren der Whitelist, dann eine Testkompilierung; {php}, {include_php} und statischer Klassenzugriff werden abgelehnt. Nichts wurde gespeichert.
„search must appear exactly once“.
Einen längeren Ausschnitt nehmen oder die ganze Datei mit content schreiben.
Dateizugriff verweigert.
Pfade müssen relativ sein, ohne .., innerhalb der Zone aufgelöst werden (realpath) und eine Textendung haben. Immer verboten: parameters.php/yml, settings.inc.php, .env*, Schlüssel und Zertifikate, SQL-Dumps, Archive und .bak, .git, var/logs, upload, download, das private Verzeichnis des Moduls und das Modul selbst.
Schreiben einer PHP-Datei abgelehnt.
Die Syntaxprüfung (token_get_all(TOKEN_PARSE)) hat einen Parse-Fehler gefunden. Laufzeitfehler (etwa eine undefinierte Funktion) werden nicht erkannt, deshalb hat jeder PHP-Schreibvorgang eine Sicherung und es gibt den Notfall-Schlüssel.
Wiederherstellen nach einer kaputten Änderung.
ps_list_file_backups, dann ps_restore_file_backup (sichert zuerst die aktuelle Version), dann ps_clear_cache. Ist das Backoffice nicht erreichbar: Rettungsadresse öffnen und Notfall-Schlüssel eingeben; er stellt vom Konnektor geänderte Dateien wieder her und schaltet Service aus, rührt aber die Datenbank nicht an. Für die Datenbank nutzen Sie die Datenbanksicherungen des Moduls (Karte Speichern nach Bereich, Herunterladen, dann mit Ihren üblichen Werkzeugen importieren).
SQL (Service)
Abfrage abgelehnt.
Nur eine Anweisung, keine Kommentare, die Inhalt verstecken. Nie zugänglich: Tabellen für Mitarbeiter, Sitzungen, Rechte und Profile, configuration (dafür ps_config), Webservice- und API-Tabellen, Konnektor-Tabellen. Nie beschreibbar: Steuern, Zahlungsmodul-Verknüpfungen, Bestellungen, Status, Zahlungen, Rechnungen. Datei- und MySQL-Benutzeroperationen gesperrt. Tabellen mit personenbezogenen Daten nur bei Kundendatenstufe pseudo (maskiert) oder full.
ps_db_execute zurückgerollt.
Es haben sich mehr Zeilen geändert als angegeben, oder mehr als 1000 Zeilen müssten gesichert werden. WHERE eingrenzen oder die Änderung aufteilen.
Was sich seit 2.6 geändert hat
| 2.6.x | 2.7.x |
|---|---|
| Nur-Lese-Modus und die Karte „Arbeitsumfang und Rechte“ | Entfernt. Ob gespeichert werden kann, entscheidet die Lizenz; die Schalter sind in der Karte Speichern nach Bereich |
| Täglicher Konnektor plus separater Service-Konnektor mit eigenem Token, IP-Liste und Ablauf | Ein Konnektor für alle Bereiche |
| Theme, Module und Service nur über den Service-Konnektor | Zeitschalter: Theme und Module 24 h, Service 3 h, jeweils mit Datenbanksicherung vorher |
| Ohne Lizenz: nur Block 1 lesbar | Ohne Lizenz: ganzer Shop lesbar, Speichern aus |
| TellMyShop Audit | Umbenannt in TellMyShop Free |
| 14 fertige Aufgaben | 32 Aufgaben in 6 Gruppen |
Problem melden
Senden Sie an [email protected]: Domain, PrestaShop- und PHP-Version, Modulversion, Paket (Pro oder Free), Chat-App (Claude oder ChatGPT), Werkzeugname, genauen Fehlertext und Uhrzeit. Senden Sie nur das Token-Präfix, nie das ganze Token.
PrestaShop ist eine eingetragene Marke der PrestaShop SA. Claude ist eine Marke von Anthropic. ChatGPT ist eine Marke von OpenAI. TellMyShop ist mit keinem dieser Unternehmen verbunden.
Zuletzt aktualisiert: 2026-10-04