Instrukcja Integracji
Aby Twój asystent AI mógł nauczyć się Twojej oferty, potrzebujemy bezpiecznego dostępu do treści strony. Wybierz swój system poniżej i postępuj zgodnie z instrukcją.
WooCommerce (Sklep)
Instrukcja generowania kluczy Consumer Key oraz Consumer Secret z dostępem tylko do produktów — bez zamówień i danych klientów.
Dlaczego dodatkowe kroki? Klucz WooCommerce z uprawnieniem „Odczyt” widzi wszystko, co widzi jego właściciel — także zamówienia, klientów i ustawienia sklepu. ZenTalk potrzebuje tylko produktów, dlatego zakładamy osobnego użytkownika i dodajemy mały plik, który ogranicza jego klucz do odczytu produktów i waluty sklepu.
Utwórz użytkownika dla ZenTalk
W panelu WordPress wybierz: Użytkownicy → Dodaj nowego. Nazwa użytkownika: zentalk-api (dokładnie tak — plik z następnego kroku rozpoznaje go po tej nazwie). E-mail: dowolny adres, do którego masz dostęp. Rola: Subskrybent. Ustaw długie, losowe hasło — nikt nie będzie się na to konto logował.
Zainstaluj wtyczkę zabezpieczającą
Pobierz wtyczkę ZenTalk (plik ZIP). W panelu WordPress wybierz: Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer, wskaż pobrany plik, kliknij Zainstaluj, a potem Włącz.
Pobierz wtyczkę (ZIP)Wolisz bez instalowania wtyczki? Skopiuj poniższy kod i zapisz go jako plik zentalk-api.php w folderze wp-content/mu-plugins/ na serwerze sklepu (przez FTP lub menedżer plików na hostingu). Jeśli folderu mu-plugins nie ma, utwórz go. WordPress włącza pliki z tego folderu automatycznie — nie trzeba niczego aktywować, a plik pojawi się na liście wtyczek w zakładce Must-Use. Tak wgranej wtyczki nie da się przypadkiem wyłączyć.
<?php
/**
* Plugin Name: ZenTalk – read-only product access
* Plugin URI: https://zentalk.pl/instructions#woocommerce
* Description: Limits the "zentalk-api" user (WooCommerce key and Application Password) to reading products, the store currency and published pages and posts. Every other request returns 403.
* Author: ZenTalk
* Version: 1.0.0
* Date: 2026-07-01
*/
defined( 'ABSPATH' ) || exit;
$zentalk_is_api_user = static function () {
$user = wp_get_current_user();
return $user->exists() && 'zentalk-api' === $user->user_login;
};
// 1) Allow-list: the zentalk-api user may only GET products, the store currency and published content.
add_filter( 'rest_pre_dispatch', static function ( $result, $server, $request ) use ( $zentalk_is_api_user ) {
if ( ! $zentalk_is_api_user() ) {
return $result;
}
$route = untrailingslashit( $request->get_route() );
$allowed = 'GET' === $request->get_method() && (
preg_match( '#^/wc/v3/products(/\d+)?$#', $route )
|| '/wc/v3/settings/general/woocommerce_currency' === $route
|| preg_match( '#^/wp/v2/(pages|posts|categories|tags)(/\d+)?$#', $route )
);
if ( ! $allowed ) {
return new WP_Error( 'zentalk_forbidden', 'This account can only read products, pages and posts.', array( 'status' => 403 ) );
}
// Published content only, public fields only — whatever the caller asks for.
$request->set_param( 'context', 'view' );
if ( 0 === strpos( $route, '/wc/v3/products' ) ) {
$request->set_param( 'status', 'publish' );
}
return $result;
}, 10, 3 );
// 2) WooCommerce permission check: read only, published products and the currency setting only.
add_filter( 'woocommerce_rest_check_permissions', static function ( $permission, $context, $object_id, $object ) use ( $zentalk_is_api_user ) {
if ( ! $zentalk_is_api_user() ) {
return $permission;
}
if ( 'read' !== $context ) {
return false;
}
if ( 'settings' === $object ) {
return true;
}
return 'product' === $object && ( ! $object_id || 'publish' === get_post_status( $object_id ) );
}, 10, 4 );
- Dotyczy wyłącznie użytkownika zentalk-api — Ciebie, Twoich pracowników ani klientów sklepu nie zmienia w żaden sposób.
- Pozwala mu tylko czytać opublikowane produkty i walutę sklepu oraz opublikowane strony i wpisy (jeśli podłączasz też WordPress).
- Każde inne zapytanie — zamówienia, klienci, kupony, raporty, ustawienia, użytkownicy WordPress — kończy się błędem 403 „brak dostępu”.
- Blokuje każdy zapis: tym kluczem nie da się niczego dodać, zmienić ani usunąć.
- Niczego nie wysyła, nie łączy się z serwerami ZenTalk i nie zmienia bazy danych sklepu.
- Wyłączenie lub usunięcie wtyczki nic w sklepie nie psuje — klucz ZenTalk po prostu przestanie działać.
Nie masz dostępu do plików? Wklej kod we wtyczce Code Snippets (bez pierwszej linii <?php) i ustaw uruchamianie wszędzie.
Wejdź w ustawienia
Zaloguj się do panelu administratora WordPress. W menu po lewej wybierz: WooCommerce → Ustawienia.
Znajdź zakładkę REST API
Kliknij w zakładkę Zaawansowane (na górze po prawej), a następnie w podmenu wybierz REST API.
Dodaj nowy klucz
Kliknij przycisk Dodaj klucz. Opis: np. "ZenTalk Chat AI". Użytkownik: zentalk-api (nie Twoje konto administratora). Uprawnienia: Odczyt (Read).
Skopiuj dane
Kliknij "Wygeneruj klucz API". Zobaczysz dwa ciągi znaków: Consumer Key i Consumer Secret.
WordPress (Strona / Blog)
Instrukcja utworzenia Hasła aplikacji dla osobnego użytkownika, który może tylko czytać opublikowane strony i wpisy.
Hasło aplikacji to nie jest hasło do logowania — to osobny kod tylko do API, który możesz w każdej chwili unieważnić. Tworzymy je dla osobnego użytkownika z rolą Subskrybent: widzi tylko to, co i tak jest opublikowane na stronie, i nie może niczego zmienić ani usunąć.
Utwórz użytkownika dla ZenTalk
W panelu WordPress wybierz: Użytkownicy → Dodaj nowego. Nazwa użytkownika: zentalk-api, e-mail: dowolny adres, do którego masz dostęp, rola: Subskrybent. Ustaw długie, losowe hasło — nikt nie będzie się na to konto logował. Masz już tego użytkownika z instrukcji WooCommerce? Pomiń ten krok — jeden użytkownik obsłuży sklep i stronę.
Otwórz profil użytkownika zentalk-api
Wejdź w Użytkownicy → Wszyscy użytkownicy, najedź kursorem na zentalk-api i kliknij Edytuj. Przewiń na sam dół, do sekcji Hasła aplikacji. Nie widzisz jej? Potrzebny jest WordPress 5.6 lub nowszy, a niektóre wtyczki bezpieczeństwa wyłączają Hasła aplikacji — wtedy włącz je w ustawieniach tej wtyczki.
Utwórz Hasło aplikacji
W polu Nazwa nowego hasła aplikacji wpisz ZenTalk i kliknij Dodaj nowe hasło aplikacji.
Skopiuj hasło
WordPress pokaże hasło tylko raz. Skopiuj je w całości — spacje nie mają znaczenia, ZenTalk sam je usunie.
Wklej dane w ZenTalk
W panelu ZenTalk wejdź w Ustawienia → Integracje i dodaj integrację WordPress. W polu Username wpisz zentalk-api, a w polu Application Password wklej skopiowane hasło. Dostęp możesz w każdej chwili odebrać, unieważniając to hasło w profilu użytkownika zentalk-api.
Dowolny sklep (feed produktowy)
Instrukcja podłączenia katalogu z dowolnej platformy — Shoper, Shopify, PrestaShop, IdoSell, Wix i każdej innej, która generuje feed produktów dla Google.
Feed to najprostsza i najbezpieczniejsza droga: ZenTalk dostaje tylko listę produktów, którą i tak udostępniasz Google Shopping albo porównywarkom — bez kluczy, haseł i dostępu do panelu sklepu. Feed i WooCommerce się wykluczają: włączenie feeda wyłącza integrację WooCommerce.
Wygeneruj feed Google Merchant
W panelu sklepu znajdź eksport produktów dla Google Merchant Center / Google Shopping — zwykle w module integracji, marketingu albo porównywarek cenowych (w Shopify i Wix przez aplikację do feedów produktowych). Potrzebujesz linku do pliku XML, który sklep sam aktualizuje.
Sprawdź link
Otwórz link w przeglądarce w oknie prywatnym — powinien od razu pokazać XML z produktami, bez logowania. Adres musi zaczynać się od https://. Token w adresie (np. ?key=…) jest w porządku, ale login i hasło w adresie (https://login:hasło@…) nie są obsługiwane. Maksymalny rozmiar pliku: 200 MB.
Sprawdź, co jest w feedzie
Każdy produkt musi mieć g:id, g:title i g:link (pełny adres strony produktu) — produkty bez nich są pomijane. Warto, żeby miał też g:price lub g:sale_price, g:availability, g:description, g:brand, g:image_link, g:mpn i g:product_type. Pozostałe pola (np. g:color, g:material, wymiary) asystent dostaje jako specyfikację produktu — im więcej parametrów, tym trafniejsze odpowiedzi.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<item>
<g:id>12345</g:id>
<g:title>Sofa Milano 3-osobowa</g:title>
<g:link>https://shop.example/sofa-milano</g:link>
<g:description>Trzyosobowa sofa z funkcją spania, welur, szerokość 228 cm.</g:description>
<g:price>3299.00 PLN</g:price>
<g:sale_price>2999.00 PLN</g:sale_price>
<g:availability>in stock</g:availability>
<g:brand>Milano</g:brand>
<g:mpn>MIL-3-GR</g:mpn>
<g:image_link>https://shop.example/img/sofa-milano.jpg</g:image_link>
<g:product_type>Meble > Sofy</g:product_type>
<g:color>Szary</g:color>
<g:material>Welur</g:material>
</item>
</channel>
</rss>
Wklej link w ZenTalk
W panelu ZenTalk wejdź w Ustawienia → Integracje. W sekcji Feed produktowy wklej link w pole URL feeda, zaznacz Włączony i kliknij Zapisz feed.
Uruchom synchronizację
Pierwszą synchronizację uruchom w Baza wiedzy → Synchronizuj produkty. Potem ZenTalk pobiera feed automatycznie raz dziennie — nowe produkty, ceny i stany pojawią się w czacie bez Twojej pracy. Liczba produktów zależy od planu (3, 10 lub 30 tys.).
Masz tylko plik CSV? Napisz do nas — ustawimy mapowanie kolumn (separator: średnik, nagłówki w pierwszym wierszu).
Shoper
Instrukcja generowania klucza API z ograniczonymi uprawnieniami (tylko odczyt katalogu). Klucz wkleisz w panelu ZenTalk w zakładce Integracje.
Zalecana praktyka bezpieczeństwa: używaj osobnego użytkownika z dostępem tylko do WebAPI w trybie odczytu. ZenTalk nie potrzebuje dostępu do zamówień ani danych klientów.
Utwórz grupę administratorów
Zaloguj się do panelu Shopera. Wejdź w: Ustawienia → Ogólne → Grupy administratorów. Kliknij Dodaj grupę i nazwij ją np. "AI Integracja".
Ustaw tylko odczyt WebAPI
W zakładce Uprawnienia odznacz wszystko. Zaznacz jedynie WebAPI (dostęp do API). W sekcji WebAPI ustaw TYLKO odczyt (GET) dla: Produkty (Kategorie, Producenci, Atrybuty, Warianty, Zdjęcia), Strony informacyjne, Blog (Wpisy, Kategorie). Ważne: Zamówienia i Klienci muszą być ODZNACZONE.
Dodaj użytkownika do grupy
Wejdź w: Ustawienia → Ogólne → Użytkownicy. Dodaj nowego użytkownika (np. api_zenTalk), ustaw hasło i przypisz go do grupy "AI Integracja". Zapisz.
Wygeneruj klucz API
W panelu Shopera wejdź w sekcję WebAPI lub Integracje (w zależności od wersji). Utwórz nowy klucz API / token dla utworzonego użytkownika (lub zaloguj się na tego użytkownika i wygeneruj klucz). Skopiuj wyświetlony klucz API – to jedyna wartość, której potrzebujesz.
Wklej klucz w ZenTalk
W panelu ZenTalk (zakładka Integracje przy danym kliencie) dodaj integrację typu Shoper. W polu "Shoper API Key" wklej skopiowany klucz. Zapisz. Od tego momentu synchronizacja będzie pobierać tylko produkty, strony i blog.
Shopify
Instrukcja generowania kluczy API z ograniczonymi uprawnieniami (odczyt katalogu). Klucze wkleisz w panelu ZenTalk w zakładce Integracje.
Utwórz aplikację niestandardową
Zaloguj się do panelu Shopify. Wejdź w: Ustawienia → Aplikacje i kanały sprzedaży → Opracuj aplikacje → Utwórz aplikację. Nazwij ją np. "ZenTalk AI".
Skonfiguruj uprawnienia API
W konfiguracji aplikacji wybierz Admin API. Ustaw tylko uprawnienia do odczytu, np.: read_products, read_online_store_pages (strony), read_content (blog). Nie włączaj uprawnień do zamówień ani klientów. Zapisz.
Zainstaluj aplikację i pobierz dane
Zainstaluj aplikację na sklepie (jeśli wymagane). W sekcji Klucze API / Tokeny skopiuj Client ID (lub API key) oraz Client Secret (lub API secret). W nowszych wersjach Shopify możesz wygenerować Admin API access token – skopiuj go.
Wklej klucze w ZenTalk
W panelu ZenTalk (zakładka Integracje) dodaj integrację typu Shopify. Wklej skopiowany API Key i API Secret w odpowiednie pola. Zapisz. Synchronizacja będzie pobierać tylko produkty i treści zgodnie z uprawnieniami.
Wix
Instrukcja generowania klucza API. Klucz wkleisz w panelu ZenTalk w zakładce Integracje.
Użyj klucza API z uprawnieniami tylko do odczytu treści strony (produkty, blog, strony). ZenTalk nie potrzebuje dostępu do zamówień ani danych użytkowników.
Wejdź do Centrum Deweloperów
Zaloguj się na konto Wix. Wejdź na developers.wix.com lub w panelu strony: Ustawienia strony → Zaawansowane → API. Otwórz dashboard dewelopera / integracje.
Utwórz aplikację lub wybierz stronę
Utwórz nową aplikację (lub użyj istniejącej). Wybierz swoją stronę / sklep. W konfiguracji ustaw uprawnienia tylko do odczytu (np. odczyt katalogu, stron, bloga).
Wygeneruj klucz API
W sekcji API Keys / Credentials wygeneruj nowy klucz API (lub skopiuj istniejący). Zapisz go w bezpiecznym miejscu – to jedyna wartość, której potrzebujesz do ZenTalk.
Wklej klucz w ZenTalk
W panelu ZenTalk (zakładka Integracje przy danym kliencie) dodaj integrację typu Wix. W polu "Wix API Key" wklej skopiowany klucz. Zapisz. Synchronizacja będzie pobierać treści zgodnie z uprawnieniami klucza.