Rozwiązywanie problemów technicznych

Pierwszy krok w każdej sytuacji: poproś Claude o ps_get_shop_info i ps_check_shop_health. Razem pokazują wersje, typ konektora (codzienny albo serwisowy), tryb tylko do odczytu, włączone bloki, brakujące uprawnienia pracownika i moduły podpięte pod zapisy.

Połączenie

Konektor nie łączy się z Claude.ai.

Sprawdź po kolei:

  1. Adres to https://twoj-sklep.pl/module/tellmyshop/mcp z pełnym tokenem. Punkt dostępu odrzuca zwykły HTTP.
  2. „Test połączenia” w module działa (token testowy, ważny 2 minuty).
  3. Nic przed sklepem nie blokuje POST na /module/tellmyshop/mcp: basic auth, strona konserwacji, WAF, Cloudflare Bot Fight Mode albo wyzwania. Dodaj wyjątek tylko dla tej ścieżki.
  4. Wyłącznik główny w module jest włączony.
  5. Lista IP konektora codziennego, jeśli ustawiona, zawiera zakres Anthropic (160.79.104.0/21).

403 Forbidden.

Prawdopodobne przyczyny:

  • Origin. Żądania z nagłówkiem Origin są przyjmowane tylko z claude.ai i claude.com. Testowe narzędzie w przeglądarce albo własny klient z innym Origin zostanie odrzucony.
  • Lista IP. Token serwisowy działa tylko z IP z listy; codzienny także, jeśli ustawiłeś dla niego listę.
  • Blokada IP. 20 nieudanych prób uwierzytelnienia z jednego IP w 10 minut blokuje to IP. Typowa przyczyna: stary token w Claude albo w skrypcie monitorującym. Popraw token i poczekaj na koniec blokady.

Uwierzytelnienie nie działa po wygenerowaniu nowego tokenu.

Zapisany jest tylko skrót i prefiks aktualnego tokenu. Nowy token zastępuje stary. Zaktualizuj adres konektora w Claude albo nagłówek Authorization: Bearer w konfiguracji Claude Code / Claude Desktop.

Claude Code albo Claude Desktop (lokalnie) się nie łączy.

Użyj --header "Authorization: Bearer <token>" zamiast tokenu w adresie. Punkt dostępu wymaga HTTPS także lokalnie (mkcert). Czy żądania bez nagłówka Origin przechodzą:.

Brakujące narzędzia

Brak narzędzi motywu.

Narzędzia bloku 3 są tylko w konektorze serwisowym. Sprawdź: token serwisowy wygenerowany, konektor serwisowy dodany w Claude jako osobny, żądanie przychodzi z IP z listy, blok 3 włączony. W konektorze codziennym nigdy się nie pojawią.

Brak narzędzi zapisujących, widać tylko odczyt.

Włączony jest READ_ONLY (domyślnie po instalacji). ToolRegistry::visible() ukrywa wtedy każde narzędzie zapisujące. Wyłącz tryb tylko do odczytu. Po wdrożeniu licencji (0.4.0) to samo zrobi nieaktywna licencja.

Brak narzędzi bloga.

5 narzędzi bloga (ps_list_blog_posts, ps_get_blog_post, ps_list_blog_categories, ps_save_blog_post, ps_update_blog_category) rejestruje się tylko przy wykrytym SmartBlog. Inne moduły bloga nie są obsługiwane. ps_check_shop_health zgłasza „brak bloga” jako informację.

Brak narzędzi handlowych.

Blok 2 jest domyślnie wyłączony. Włącz go; narzędzia pojawią się w konektorze codziennym.

Narzędzie zniknęło w trakcie rozmowy.

Blok i grupa są sprawdzane przy każdym wywołaniu. Ktoś je wyłączył albo włączył tryb tylko do odczytu.

Limity

Osiągnięty limit wywołań.

120 wywołań narzędzi i 60 zapisów na godzinę na konektor. ps_write_theme_file ma własny limit 20 zapisów na godzinę. Rozłóż duże operacje na kilka godzin.

Operacja zbiorcza odrzucona przez limit.

Limity na wywołanie: ps_update_product_content 50, ps_update_category_content 20, ps_update_image_legends 100, ps_set_product_categories 200, ps_set_product_features 100, ps_update_prices 100, ps_update_stock 100. Pełna tabela: Specyfikacja pkt 11.1.

Zapisy

change_token wygasł, był użyty albo nie pasuje.

Token to HMAC narzędzia, argumentów i skrótu stanu „przed”, ważny 30 minut, jednorazowy. Powtórz z identycznymi argumentami albo zrób nowy podgląd.

Wykonanie zablokowane: dane zmieniły się od podglądu.

Skrót stanu „przed” już się nie zgadza, np. po edycji w panelu, imporcie albo działaniu modułu feedu. Zrób nowy podgląd.

Zmiana ceny odrzucona.

ps_update_prices odrzuca cenę 0 i zmiany powyżej 30% bez allow_big_change. ps_manage_specific_prices wymaga allow_big_change przy rabacie powyżej 90% (ostrzeżenie powyżej 50%). Claude powinien ustawić flagę dopiero po zgodzie właściciela na zmianę tej wielkości.

Reguła koszyka utworzona, ale nieaktywna / nie da się usunąć.

ps_manage_cart_rules celowo tworzy reguły nieaktywne; użyj action=set_active. Akcji usuwania nie ma; wyłącz regułę albo usuń ją w panelu. Reguła bez kodu wymaga auto_apply.

Błąd walidacji przy zapisie.

ObjectWriter sprawdza każde pole regułami klasy (validateField, isCleanHtml, długości). Nazwy produktów nie mogą zawierać <>;=#{} i mają maks. 128 znaków. Komunikat podaje pole.

Inny moduł nie reaguje na zmianę z Claude.

ObjectWriter wywołuje update(), które odpala actionObject<Klasa>Update* (a dla produktów actionProductSave / actionProductUpdate). Moduły, które nasłuchują tylko hooków formularza panelu, zmiany nie zobaczą. ps_check_shop_health je wymienia.

Brak uprawnień.

ExecutionContext::requirePermissions sprawdza pracownika konektora per zakładka i akcja, np. AdminCartRules add/edit. ps_get_shop_info wymienia brakujące uprawnienia.

Adresy URL

Zmiana adresu zablokowana.

ps_change_url odmawia, gdy przekierowanie kanoniczne to 302 (Parametry sklepu > Ruch i SEO, ustaw 301), włączony jest tryb deweloperski (_PS_MODE_DEV_) albo moduł nadpisuje trasy (UrlGuard; ps_check_shop_health poda nazwę). Zmianę adresu cofasz nowym ps_change_url, nie ps_revert_change.

Motyw i cache

Zmiany nie widać po zapisie motywu.

Uruchom ps_clear_cache (blok 3, zakres smarty; all czyści też cache Symfony). Cache modułów pełnych stron i CDN czyść osobno.

Błąd walidacji Smarty.

Dozwolone są tylko znaczniki i modyfikatory z białej listy, potem próbna kompilacja; {php}, {include_php} i statyczne wywołania klas są odrzucane. Nic nie zostało zapisane.

„search musi wystąpić dokładnie raz”.

Użyj dłuższego fragmentu albo zapisz cały plik przez content.

Przywrócenie zepsutego szablonu.

ps_list_file_backups, potem ps_restore_file_backup (najpierw kopiuje obecną wersję), potem ps_clear_cache.

Znane problemy w 0.3.0

NarzędzieProblem
ps_get_product_salessummary.net nie jest zaokrąglone (np. 15277.840000000002)
ps_search_productsKolumna price nie mówi, czy to netto czy brutto

Zgłoszenie problemu

Wyślij na support@tellmyshop.pl: domenę, wersje PrestaShop i PHP, wersję modułu (0.3.0), typ konektora, nazwę narzędzia, dokładną treść błędu, godzinę. Wysyłaj tylko prefiks tokenu, nigdy cały token.


PrestaShop jest zastrzeżonym znakiem towarowym PrestaShop SA. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadną z tych firm.

Aktualizacja: 2026-10-04