
# Widżet czatu

## Przewodnik integracji widżetu czatu na stronie internetowej

Dodaj przyjazny dla użytkownika widżet czatu do swojej witryny, który umożliwi odwiedzającym komunikację bezpośrednio przez interfejs strony. Proces integracji jest prosty i zapewni Twojej witrynie wbudowane funkcje przesyłania wiadomości.

::: walkthrough chat-widget
:::

### Tworzenie i konfigurowanie widżetu czatu

**Jak tam dotrzeć:**

1. Kliknij **Ustawienia** (Settings) w pobliżu dołu lewego paska bocznego. (Na telefonie najpierw dotknij ikony menu **☰** w górnym rogu, aby otworzyć pasek boczny).
2. W lewym panelu Ustawień, w sekcji **Kanały** (Channels), kliknij **Kanały** (Channels).
3. Znajdź kartę **Widżet czatu na stronie** (Website chat widget).
4. Jeśli nie masz jeszcze widżetu, kliknij **Połącz** (Connect), aby utworzyć go, podając nazwę wyświetlaną i wiadomość powitalną.
5. Po utworzeniu kliknij **Zarządzaj** (Manage) w dowolnym momencie, aby otworzyć pełny panel konfiguracji.

::: master-only
<figure><img src="../.gitbook/assets/v2-channels-overview.png" alt="Góra strony Kanały — karta widżetu czatu na stronie znajduje się niżej na tej samej liście"><figcaption><p>Widżet czatu ma własną kartę na stronie Kanały — wybierz Połącz, aby go utworzyć, lub Zarządzaj, aby skonfigurować pozostałe ustawienia. Znajduje się on na liście niżej niż pokazano tutaj, za Instagramem (osobistym), LINE, pocztą e-mail i innymi kanałami.</p></figcaption></figure>
:::

Zapisane zmiany są automatycznie stosowane do aktywnego widżetu — nie ma potrzeby ponownego wklejania kodu instalacyjnego po wprowadzeniu zmian.

Tuż obok ustawień znajduje się **Podgląd na żywo**: przykładowa strona internetowa z działającym widżetem, pokazująca kolory, położenie, logo, ikonę uruchamiania i proaktywne wyskakujące okienko dokładnie tak, jak zobaczą je odwiedzający. Podgląd aktualizuje się na bieżąco podczas wprowadzania zmian, więc nie musisz zapisywać ustawień, aby zobaczyć, jak wygląda zmiana koloru lub motywu. Możesz nawet kliknąć przycisk czatu w podglądzie, aby otworzyć widżet i go przetestować.

### Co możesz dostosować

Panel Zarządzaj jest podzielony na cztery sekcje.

#### Wygląd

- **Motyw stylu:** Zmień styl całego widżetu jednym kliknięciem. Sześć motywów definiuje wygląd, kolory, zaokrąglenia i czcionkę: **Classic** (oryginalny, jednolity wygląd — kolorowy pasek nagłówka na płaskim panelu), **Glass** (półprzezroczysty panel z efektem matowego szkła, który delikatnie rozmywa stronę w tle, z nagłówkiem i polem wiadomości w formie zaokrąglonych kart), **Midnight** (Glass w ciemnych kolorach), **Bloom** (delikatny róż, mocno zaokrąglony), **Ember** (ciepły pomarańczowy Glass) oraz **Mono** (czarno-biały, o ostrych krawędziach). Motyw to punkt wyjścia — po wybraniu jednego z nich nadal możesz indywidualnie zmieniać każdy kolor lub ustawienie. Nowe widżety domyślnie korzystają z motywu Glass; przełączanie jest natychmiastowe wszędzie tam, gdzie widżet jest osadzony, bez konieczności wprowadzania zmian w kodzie strony.
- **Zaokrąglenia i czcionka:** Dwa niezależne ustawienia stylu. **Zaokrąglenia** określają stopień zaokrąglenia panelu, dymków i przycisków (Round, Soft lub Sharp), a **Czcionka** pozwala wybrać krój pisma widoczny dla odwiedzających (Default, Serif, Rounded lub Mono) — czcionki pochodzą z urządzenia użytkownika, więc nie obciążają dodatkowo Twojej strony.
- **Nazwa wyświetlana:** Pokazywana w nagłówku widżetu.
- **Logo:** Prześlij obraz, który pojawi się na górze czatu. Użyj logo swojej firmy lub przyjaznego zdjęcia profilowego.
- **Ikona uruchamiania:** Ikona na samym pływającym przycisku czatu. Wybierz jedną z wbudowanych ikon (dymek czatu, papierowy samolot, znak zapytania i inne), użyj ponownie przesłanego logo lub prześlij własny obraz — przydatne, jeśli chcesz, aby zdjęcie członka zespołu witało odwiedzających.
- **Kolory:** Pięć kolorów, z których każdy odpowiada za inną część widżetu. **Kolor marki** to pływający przycisk, nagłówek i wiadomości użytkownika, a **Tekst marki** to tekst znajdujący się na nich. **Dymek bota** to tło odpowiedzi bota oraz wskaźnika pisania, a **Tekst dymka bota** to słowa wewnątrz nich oraz animowane kropki pisania. **Okno czatu** to panel za wszystkimi wiadomościami. Wybierz kolor dymka bota, który wyraźnie różni się od koloru marki — jeśli oba kolory będą takie same, obie strony rozmowy będą miały ten sam kolor i odwiedzający nie odróżnią odpowiedzi bota od własnych wiadomości. Jasnoszary dymek bota z ciemnym tekstem obok koloru marki to bezpieczne połączenie.
- **Pozycja:** Umieść pływający przycisk czatu w **prawym dolnym** lub **lewym dolnym** rogu, z przesunięciem poziomym i pionowym (w pikselach), jeśli przycisk zasłania inne elementy na stronie.
- **Pytania początkowe:** Sugestie szybkiej odpowiedzi (klikalne przyciski) wyświetlane na czacie, dzięki którym odwiedzający mogą rozpocząć rozmowę jednym dotknięciem zamiast pisać — na przykład „Jakie są wasze ceny?” lub „Czy oferujecie wsparcie?” — maksymalnie 10.

::: master-only
<figure><img src="../.gitbook/assets/v2-channel-widget-config.png" alt="Panel konfiguracji widżetu czatu, pokazujący sześć kart motywów stylu (Klasyczny, Szklany, Północ, Rozkwit, Żar, Mono), próbniki rogów i czcionek, nazwę wyświetlaną, logo, ikonę uruchamiania oraz próbniki kolorów po lewej stronie, z podglądem na żywo po prawej stronie pokazującym otwarty widżet w motywie Szklanym"><figcaption><p>Sekcja Wygląd w panelu Zarządzaj. Karty motywów u góry zmieniają styl całego widżetu jednym kliknięciem — tutaj wybrano motyw Szklany, a podgląd po prawej stronie pokazuje matowy panel z pływającym nagłówkiem i polem wiadomości. Wiersz ikony uruchamiania pokazuje wbudowane ikony w kolorach Twojego widżetu, a każdy próbnik koloru informuje, którą część widżetu zmienia. Podgląd odzwierciedla zmiany na żywo; zapisanie publikuje je na Twojej stronie.</p></figcaption></figure>
:::

#### Zachowanie

- **Wiadomość powitalna:** Pierwsza wiadomość, którą widzą odwiedzający po otwarciu czatu (na przykład: „W czym mogę pomóc?”).
- **Dźwięk:** Odtwarzaj dźwięk, gdy na czacie pojawi się nowa wiadomość.
- **Prośba o uprawnienia do powiadomień:** Opcjonalnie zachęcaj odwiedzających do zezwolenia na powiadomienia w przeglądarce, aby otrzymywali alerty o odpowiedziach nawet po przełączeniu kart.
- **Proaktywny dymek:** Opcjonalny mały dymek, który pojawia się obok przycisku czatu, aby zachęcić użytkowników do rozmowy. Włącz go, aby ustawić treść wiadomości, tekst przycisków akceptacji/odrzucenia oraz liczbę sekund, po których ma się pojawić. Dymek ukrywa się automatycznie po 20 sekundach, jeśli nikt w niego nie kliknie (wartość ta jest stała), a gdy odwiedzający kliknie **Nie teraz**, dymek nie pojawi się ponownie do końca jego wizyty. Okno czatu nigdy nie otwiera się samoistnie: otwiera się, gdy odwiedzający kliknie przycisk czatu lub dymek, i pozostaje otwarte, dopóki użytkownik go nie zamknie.
- **Szybkość odpowiedzi AI:** Suwak między **Wolniej** (bardziej ludzkie — AI robi krótką pauzę przed odpowiedzią) a **Maksymalna szybkość** (bardziej robotyczne — odpowiedzi pojawiają się tak szybko, jak to możliwe). Ustawienie „Zrównoważone” znajduje się pośrodku.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-behavior.png" alt="Sekcja Zachowanie panelu Zarządzaj, pokazująca pola wiadomości powitalnej, dźwięku, prośby o uprawnienia do powiadomień, proaktywnego wyskakującego okienka oraz szybkości odpowiedzi AI"><figcaption><p>Sekcja Zachowanie. Dźwięk i prośba o uprawnienia do powiadomień to proste przełączniki; proaktywne wyskakujące okienko po włączeniu rozwija się, udostępniając własne pola wiadomości, przycisku i opóźnienia.</p></figcaption></figure>
:::

#### Języki

Widżet jest samodzielnie wielojęzyczny — nie trzeba niczego włączać.

- **Automatycznie wybiera język odwiedzającego.** Najpierw sprawdza język zadeklarowany na stronie w kodzie HTML (`<html lang="it">`), a następnie, w razie jego braku, korzysta z języka przeglądarki odwiedzającego. Jeśli żaden z nich nie jest obsługiwany, etykiety widżetu wyświetlą się w języku angielskim, a wiadomość powitalna, dymek pop-up i pytania początkowe pojawią się dokładnie w takiej formie, w jakiej zostały napisane.
- **Możesz też wybrać język samodzielnie.** Pole **Język widżetu** w sekcji Zachowanie jest domyślnie ustawione na „Auto”, co oznacza powyższy mechanizm wykrywania. Wybierz tam konkretny język, a etykiety widżetu (pola Imię, E-mail i Telefon w formularzu, przykładowy tekst, informacja o prywatności, przyciski) pozostaną w tym języku niezależnie od ustawień strony czy przeglądarki. Użyj tej opcji, jeśli kreator Twojej strony nie deklaruje poprawnego języka lub gdy chcesz, aby widżet był zawsze wyświetlany w jednym, stałym języku dla każdego odwiedzającego.
- **Obsługiwane języki:** angielski, niderlandzki, niemiecki, francuski, hiszpański, włoski, portugalski, rumuński, polski, arabski, fiński, filipiński, słoweński, tajski, bengalski i japoński. Jest to lista języków dostępnych dla przycisków i etykiet widżetu.
- **Twoje wiadomości są tłumaczone automatycznie.** Przy każdym zapisie Twoja wiadomość powitalna, proaktywny dymek pop-up oraz pytania początkowe są tłumaczone na wszystkie szesnaście powyższych języków. Piszesz je tylko raz, w wybranym przez siebie języku: język, w którym piszesz, jest rozpoznawany na podstawie tekstu, ta wersja jest zachowywana słowo w słowo, a każdy inny język jest jej tłumaczeniem. Nie ma znaczenia, jaki język jest ustawiony na Twoim koncie.
- **Pisz każdą wiadomość tylko w jednym języku.** Jeśli umieścisz dwa języki w tym samym polu — na przykład linię po angielsku i linię po włosku — całość zostanie potraktowana jako jedna wiadomość i przetłumaczona w takiej formie, w jakiej jest, więc włoski odwiedzający zobaczy to samo zdanie dwukrotnie. Pisz raz, w wybranym przez siebie języku.
- **Sztuczna inteligencja odpowiada w języku odwiedzającego.** Niezależnie od tego, w jakim języku pisze użytkownik, Twój agent odpowie w tym samym języku, bez względu na to, w jakim języku wyświetlane są etykiety widżetu. Jeśli wolisz, aby agent zawsze odpowiadał w jednym, stałym języku, określ to w instrukcjach dla swojego agenta.

**Wskazówka:** jeśli Twoja witryna nie posiada atrybutu `lang` w tagu `<html>`, dodaj go. Jest to dla nas najsilniejszy sygnał przy wyborze odpowiedniego języka, szczególnie w przypadku odwiedzających przeglądających stronę z zagranicy.

#### Pozyskiwanie leadów i prywatność

- **Zbieraj informacje o odwiedzających:** Domyślnie wyłączone. Po włączeniu odwiedzający są proszeni o podanie imienia i nazwiska oraz adresu e-mail (opcjonalnie także numeru telefonu) przed rozpoczęciem rozmowy, dzięki czemu pozyskasz leada, nawet jeśli użytkownik opuści czat w trakcie.
- **Tytuł formularza** i **Podtytuł formularza:** Dostosuj nagłówek i krótkie wyjaśnienie wyświetlane nad formularzem.
- **Zbieraj numer telefonu:** Włącz, aby prosić również o numer telefonu; wyłączenie tej opcji spowoduje zbieranie tylko imienia i nazwiska oraz adresu e-mail.

> **Odwiedzający zostawił numer telefonu i opuścił Twoją witrynę — czy mogę kontynuować rozmowę na WhatsApp?** Tak. Otwórz czat z tą osobą i wybierz **Kontynuuj na WhatsApp** z menu trzech kropek (WhatsApp Web lub WhatsApp Business musi być połączony). <span data-t="appName">DM Champ</span> tworzy powiązaną konwersację na WhatsApp dla tej samej osoby, kopiuje jej imię, adres e-mail oraz szczegóły, a sztuczna inteligencja przenosi informacje o tym, co zostało powiedziane w witrynie, dzięki czemu nikt nie musi się powtarzać. Czat w witrynie pozostaje w tym samym miejscu, a obie rozmowy wskazują na siebie nawzajem w sekcji **Powiązane konwersacje** w panelu kontaktu. Zobacz [Interfejs czatu](../chats/chat-interface.md).

> **Czy agent AI może sam zaproponować przejście na WhatsApp?** Tak, i nie wymaga to żadnej dodatkowej funkcji — wystarczy jedna linijka w instrukcjach dla agenta. Utwórz [krótki link](../settings/short-links.md) do swojego numeru WhatsApp z wstępnie wypełnioną wiadomością, taką jak „Cześć, rozmawiałem na Waszej stronie i chcę kontynuować tutaj”, a następnie poinstruuj agenta, kiedy ma go wysłać, na przykład: „Jeśli odwiedzający musi wyjść, chce kontynuować później lub pyta o WhatsApp, zaproponuj kontynuację tam i wyślij ten link: (Twój krótki link)”. Linki w widżecie są klikalne, więc odwiedzający trafia do WhatsApp z wybranym numerem i wstępnie wpisaną wiadomością, a jego pierwsza wiadomość otwiera konwersację WhatsApp w Twojej skrzynce odbiorczej. Jeśli odwiedzający zostawił w formularzu widżetu numer telefonu, z którego pisze (wraz z kodem kraju), <span data-t="appName">DM Champ</span> automatycznie powiąże obie konwersacje, a sztuczna inteligencja na WhatsApp będzie już znała historię czatu z witryny, dokładnie tak samo jak w przypadku opcji **Kontynuuj na WhatsApp**. Jeśli numer telefonu nie został zebrany, czaty nie zostaną powiązane, dlatego warto zadbać o to, aby wstępnie wypełniona wiadomość była wystarczająco konkretna, by agent na WhatsApp wiedział, skąd pochodzi dana osoba.
- **Wymagaj potwierdzenia polityki prywatności:** Opcjonalnie wymagaj od odwiedzających zaakceptowania polityki prywatności przed rozpoczęciem czatu i ustaw adres URL, do którego ma ona prowadzić.

> **Co widget przechowuje w przeglądarce odwiedzającego i czy muszę umieszczać go za banerem plików cookie?** Nic nie jest przechowywane tylko przez załadowanie strony. Widget nie zapisuje żadnych plików cookie ani danych w pamięci przeglądarki, dopóki odwiedzający nie zdecyduje się na czat: nie wyśle pierwszej wiadomości, nie wypełni formularza informacji o odwiedzającym lub nie zaakceptuje Twojej polityki prywatności. Od tego momentu przechowuje losowy identyfikator konwersacji oraz kopię rozmowy w tej przeglądarce, jako pamięć własną (first-party storage) w Twojej domenie, dzięki czemu czat jest nadal dostępny po powrocie użytkownika. Nie ładuje żadnych skryptów analitycznych ani śledzących i nie ustawia żadnych plików cookie stron trzecich. Ponieważ nic nie jest zapisywane, dopóki odwiedzający nie poprosi o czat, mieści się to w zakresie pamięci ściśle niezbędnej do świadczenia usługi, o którą poprosił odwiedzający, więc możesz go załadować bez umieszczania go za banerem zgody. Jeśli Twoja witryna i tak korzysta z narzędzia do zarządzania zgodami, możesz bez problemu umieścić za nim widget; czat po prostu pojawi się, gdy odwiedzający wyrazi zgodę.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-lead-capture-privacy.png" alt="Sekcja Pozyskiwanie leadów i prywatność panelu Zarządzaj, pokazująca opcje zbierania informacji o odwiedzających, tytuł formularza, podtytuł formularza, zbieranie numeru telefonu oraz wymaganie potwierdzenia polityki prywatności"><figcaption><p>Sekcja Pozyskiwanie leadów i prywatność. Gdy opcja zbierania informacji o odwiedzających jest włączona, odwiedzający widzą mały formularz przed rozpoczęciem rozmowy — pokazano to z perspektywy odwiedzającego niżej na tej stronie.</p></figcaption></figure>
:::

#### Kanały i osadzanie

- **Przycisk załącznika:** Pozwala odwiedzającym wysyłać obrazy i pliki na czacie.
- **Wybór emoji:** Dodaje selektor emoji obok pola wiadomości.
- **Linki do kanałów:** Opcjonalnie dodaj linki do WhatsApp, Instagrama lub Messengera, aby odwiedzający mogli kontynuować rozmowę na preferowanej przez siebie platformie. Pojawia się to tylko po połączeniu numeru WhatsApp, Instagrama lub Messengera.
- **Przyciski akcji:** Rząd skrótów u góry czatu, które przenoszą odwiedzającego w inne miejsce zamiast do rozmowy — zobacz [Przyciski akcji](#action-buttons) poniżej.
- **Biała lista domen:** Ogranicz, które strony internetowe mogą osadzać Twój widżet. Dodaj domeny, na których go zainstalowałeś (np. `example.com` lub `*.example.com`); pozostaw puste, aby zezwolić na dowolną domenę.
- **Zablokowane kraje:** Ukryj widżet przed odwiedzającymi z krajów, których nie obsługujesz. Odwiedzający, których lokalizacja sieciowa znajduje się w wybranym kraju, nigdy nie zobaczą widżetu, a każda próba rozpoczęcia czatu zostanie odrzucona. Pozostaw puste, aby zezwolić wszystkim. Zobacz [Ochrona przed botami i zużyciem kredytów](#keeping-bots-and-credit-drain-out) poniżej.
- **Kieruj te czaty do:** Wybierz kampanię lub agenta, który powinien obsługiwać czaty pochodzące z kodu, który zaraz skopiujesz. Pozostaw ustawienie **Domyślne dla konta**, aby użyć standardowego routingu widżetu czatu. Zobacz [Wysyłanie różnych stron do różnych kampanii](#send-different-pages-to-different-campaigns) poniżej.
- **Fragment kodu do osadzenia:** Wybierz **Pływający dymek** lub **Wbudowany** i skopiuj kod instalacyjny (zobacz poniżej).
- **Link do demo dla klienta:** Wklej dowolny adres strony internetowej, aby uzyskać link do udostępnienia, który otwiera tę stronę z Twoim widżetem działającym na wierzchu — bez konieczności instalacji po ich stronie. Zobacz [Pokaż widżet na stronie internetowej innej osoby](#show-the-widget-on-someone-elses-website) poniżej.

Na dole panelu akcja **Usuń widżet czatu** natychmiast usuwa widżet z Twojej strony internetowej — tego nie można cofnąć, a odwiedzający przestaną widzieć dymek czatu.

#### Przyciski akcji

Niektórzy odwiedzający nie chcą czatować. Chcą poznać Twój numer telefonu, adres lub e-mail i chcą to zrobić za jednym dotknięciem. Przyciski akcji to rząd skrótów u góry panelu czatu, służący dokładnie do tego celu.

Dodaj maksymalnie sześć. Każdy z nich ma **etykietę** (tekst na przycisku) oraz **miejsce docelowe**, a miejsce docelowe zależy od wybranej akcji:

| Akcja | Co otrzymuje odwiedzający | Co należy wypełnić |
| --- | --- | --- |
| **Zadzwoń** | Otwiera się dialer telefonu z gotowym numerem | Twój numer telefonu, np. `+1 555 123 4567` |
| **SMS** | Aplikacja do wiadomości otwiera nową wiadomość do Ciebie | Twój numer telefonu |
| **WhatsApp** | WhatsApp otwiera czat z Tobą | Twój numer WhatsApp lub link `wa.me`, który już posiadasz |
| **E-mail** | Aplikacja pocztowa otwiera nową wiadomość do Ciebie | Twój adres e-mail |
| **Wskazówki dojazdu** | Mapy Google otwierają się z Twoją lokalizacją | Twój adres lub link do map, który już posiadasz |
| **Link** | Strona otwiera się w nowej karcie | Dowolny pełny adres internetowy zaczynający się od `https://` |

**Te przyciski nie zużywają kredytów.** Dotknięcie jednego z nich nie wysyła wiadomości i nie rozpoczyna rozmowy — po prostu przenosi odwiedzającego tam, gdzie chciał się udać. Tylko rzeczywista rozmowa z Twoim agentem AI zużywa kredyty, dokładnie tak jak wcześniej.

Kilka rzeczy, które warto wiedzieć:

- **Przyciski pozostają widoczne podczas czatu.** Ktoś może zadać dwa pytania, a następnie nadal dotknąć **Wskazówki dojazdu** bez przeładowywania strony.
- **Twoje etykiety są wyświetlane dokładnie tak, jak je napisałeś.** W przeciwieństwie do wiadomości powitalnej i pytań początkowych, etykiety przycisków nie są automatycznie tłumaczone, więc jeśli obsługujesz odwiedzających w kilku językach, dbaj o to, by etykiety były krótkie i zrozumiałe (lub pisz je w swoim głównym języku).
- **Wypełnij przycisk poprawnie, inaczej nie zostanie zapisany.** Jeśli numer telefonu, adres e-mail lub link są nieprawidłowe, panel poinformuje o tym i zablokuje **Zapisz zmiany**, zamiast publikować przycisk, który nie działałby na Twojej stronie.
- **To nie są odpowiedzi FAQ.** Przyciski akcji jedynie kierują ludzi w inne miejsce; nie odpowiadają gotowym tekstem. Pytania to zadanie Twojego agenta AI, który odpowiada na nie na podstawie Twojej bazy wiedzy. Jeśli chcesz zasugerować, o co zapytać, użyj **pytań początkowych** w sekcji Wygląd.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-action-buttons.png" alt="Sekcja przycisków akcji w panelu zarządzania z trzema dodanymi przyciskami: Zadzwoń z etykietą Zadzwoń do nas, Wskazówki z etykietą Znajdź nas oraz WhatsApp"><figcaption><p>Konfigurowanie trzech przycisków akcji. Każdy wiersz to akcja, tekst na przycisku oraz miejsce docelowe. Przycisk Dodaj pozwala dodać kolejny, maksymalnie do sześciu.</p></figcaption></figure>
:::

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-action-strip.png" alt="Widżet czatu otwarty na stronie internetowej z rzędem trzech przycisków akcji u góry: Zadzwoń do nas, Znajdź nas i WhatsApp"><figcaption><p>Widok dla odwiedzającego. Przyciski znajdują się nad rozmową i pozostają tam podczas czatu, dzięki czemu można w nie kliknąć w dowolnym momencie.</p></figcaption></figure>
:::

#### Czego nie można dostosować

Panel zarządzania (Manage) zawiera pełny zestaw opcji. W szczególności:

- **Brak niestandardowego CSS lub arkusza stylów.** Stylizacja jest oferowana przez motyw, narożnik, czcionkę i selektory kolorów — nie można wstrzyknąć własnego CSS do widżetu, a reguły na Twojej stronie nie będą miały do niego dostępu.
- **Brak niestandardowego tekstu zastępczego** w polu wiadomości.
- **Brak osadzania wideo** wewnątrz czatu.
- **Brak timera automatycznego ukrywania.** Dymek zaproszenia znika sam po 20 sekundach i tej liczby nie można zmienić; otwarte okno czatu nigdy nie zamyka się samo. Jeśli dymek zasłania treść strony, przesuń widżet za pomocą przesunięć **Pozycji** lub wyłącz dymek i pozostaw tylko przycisk uruchamiania.

Jeśli którykolwiek z tych punktów stanowi przeszkodę, [osadzenie wewnątrz strony (inline embed)](#embed-inline-on-a-page-advanced) zapewnia największą kontrolę: widżet znajduje się w kontenerze na Twojej własnej stronie, którego rozmiar i położenie określasz samodzielnie.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-channels-embed.png" alt="Sekcja Kanały i osadzanie w panelu Zarządzanie, pokazująca białą listę domen, opcję kierowania czatów, pole z kodem fragmentu do osadzenia, pole linku demo klienta z wpisanym adresem strony internetowej oraz wygenerowany poniżej link, a także strefę zagrożenia Usuń widżet czatu"><figcaption><p>Sekcja Kanały i osadzanie z gotowym do skopiowania fragmentem instalacyjnym, linkiem demo klienta poniżej oraz akcją Usuń widżet czatu na dole. W polu demo wpisano stronę internetową klienta, a pod nim pojawił się link do udostępnienia. Zarówno fragment kodu, jak i widoczny tutaj link demo są unikalne dla tego konta — skopiuj własne dane z panelu Zarządzanie, nie korzystaj z tych przedstawionych na obrazku.</p></figcaption></figure>
:::

### Ochrona przed botami i zużyciem kredytów

Każda odpowiedź AI kosztuje kredyty, więc skrypt (lub jedna znudzona osoba) otwierająca czat za czatem na Twojej stronie jest jedyną rzeczą, przed którą musi bronić się publiczny widżet. Widżet radzi sobie z większością tych sytuacji samodzielnie, a dwa ustawienia w panelu Zarządzania pozwalają zaostrzyć te zasady dla Twojej witryny.

- **Biała lista domen.** Tylko wymienione przez Ciebie strony internetowe mogą wyświetlać widżet. Każdy, kto skopiuje Twój kod osadzania na inną stronę, nic nie otrzyma.
- **Zablokowane kraje.** Odwiedzający, których lokalizacja sieciowa znajduje się w zablokowanym przez Ciebie kraju, nigdy nie zobaczą widżetu, a próba rozpoczęcia czatu zostanie odrzucona. Lokalizacja pochodzi z połączenia odwiedzającego: ktoś korzystający z VPN będzie widoczny jako kraj VPN, a odwiedzający, którego lokalizacji nie można określić, zostanie przepuszczony, zamiast zablokowany. Twój własny podgląd wewnątrz aplikacji będzie działał nawet, jeśli zablokujesz kraj, w którym się znajdujesz.
- **Nowe rozmowy na połączenie.** Jedno połączenie (w praktyce jedno gospodarstwo domowe lub adres biurowy) może otworzyć 20 nowych rozmów dziennie w widżecie. Powracający odwiedzający kontynuujący istniejący czat nie są wliczani, tylko zupełnie nowe rozmowy, więc skrypt, który ciągle rozpoczyna nowe czaty w celu zbierania odpowiedzi AI, wyczerpie limit po 20 próbach, podczas gdy prawdziwi odwiedzający nigdy tego nie zauważą. Jeśli wiele osób korzysta z jednego połączenia na Twojej stronie (kampus, call center), zwiększ tę liczbę za pomocą [REST API](../api/reference.md) przy użyciu `max_new_chats_per_ip_daily`; `0` wyłącza to sprawdzanie.
- **Wbudowane limity.** Oprócz tego każda sesja przeglądarki ma ograniczoną liczbę wiadomości, które może wysłać na minutę i na dzień, a agent odpowiadający na czat przestaje odpowiadać odwiedzającemu, gdy osiągnie on **Maksymalną liczbę wiadomości AI na czat** ustawioną w jego **Limitach odpowiedzi**.

Nic z tego nie identyfikuje urządzeń ani osób: widżet nie przechowuje niczego w przeglądarce odwiedzającego, dopóki nie zdecyduje się on na czat (patrz wyżej) i nie ma żadnego fingerprintingu.

### Instrukcja instalacji

Aby dodać widżet czatu do swojej strony internetowej, dodaj jedną linię kodu do kodu HTML swojej witryny.

1. Otwórz plik HTML swojej strony internetowej w edytorze tekstu.
2. Znajdź tag zamykający `</body>` — zazwyczaj znajduje się on na samym końcu pliku.
3. Wklej tę linię kodu tuż przed tagiem `</body>`, aby reszta strony załadowała się najpierw:

{% code overflow="wrap" %}
```html
<script src="https://api.dmchamp.com/v1/chat-widget/CONFIG_ID"></script>
```
{% endcode %}

4. Zastąp `CONFIG_ID` swoim unikalnym identyfikatorem konfiguracji, pokazanym w sekcji **Kanały i osadzanie** panelu Zarządzanie. Ten identyfikator jest specyficzny dla Twojego konta i łączy widżet z Twoim systemem przesyłania wiadomości.

Ten fragment nie spowolni Twojej witryny: to niewielki moduł ładujący, a sam widżet pobiera się w tle, nie blokując strony. Jeśli mimo to chcesz, aby widżet wstrzymał się do momentu całkowitego załadowania strony, możesz zamiast tego zawinąć ten sam adres URL w następujący sposób:

{% code overflow="wrap" %}
```html
<script>
window.addEventListener('load', function () {
  var s = document.createElement('script');
  s.src = 'https://api.dmchamp.com/v1/chat-widget/CONFIG_ID';
  s.async = true;
  document.body.appendChild(s);
});
</script>
```
{% endcode %}

A jeśli chcesz opóźnić mały dymek z zaproszeniem, a nie ładowanie widżetu, służy do tego opóźnienie **Proaktywnego dymka wyskakującego** w sekcji Zachowanie powyżej — nie wymaga to użycia kodu.

Oto kompletny przykład tego, jak powinien wyglądać Twój plik HTML z zaimplementowanym widżetem czatu:

{% code overflow="wrap" %}
```html
<!DOCTYPE html>
<html>
<head>
    <title>My Website</title>
</head>
<body>
    <!-- Your existing website content would be here -->

    <!-- Chat Widget Integration -->
    <script src="https://api.dmchamp.com/v1/chat-widget/CONFIG_ID"></script>
</body>
</html>
```
{% endcode %}

### Osadzanie wewnątrz strony (Zaawansowane)

Jeśli wolisz, aby czat pojawiał się jako część strony — na przykład w dedykowanej sekcji "Kontakt", zakładce pomocy lub pasku bocznym — zamiast jako pływający dymek w rogu, zmień **Fragment kodu do osadzenia** na **Wbudowany** w panelu Zarządzanie i skopiuj wbudowany fragment kodu.

Wygląda to tak:

{% code overflow="wrap" %}
```html
<div data-chat-widget="CONFIG_ID" style="width:100%;height:600px;"></div>
<script src="https://api.dmchamp.com/v1/chat-widget/embed.js" async></script>
```
{% endcode %}

Element `<div>` to punkt montowania — panel czatu renderuje się wewnątrz niego i wypełnia jego wymiary. Możesz wystylizować ten div w dowolny sposób (nadać mu stałą wysokość, umieścić go w kontenerze flex, w komórce siatki itp.), a panel czatu dostosuje się do niego.

Na stronie potrzebujesz tylko **jednego** znacznika `<script>`, nawet jeśli osadzasz wiele widżetów czatu. Skrypt skanuje stronę w poszukiwaniu każdego `<div data-chat-widget="…">` i montuje panel czatu w każdym z nich.

Kiedy wybrać wersję inline, a kiedy pływającą:

- **Pływający dymek** jest odpowiedni dla zawsze dostępnego przycisku „Potrzebujesz pomocy?” w całej witrynie.
- **Osadzenie inline** jest odpowiednie, gdy czat ma znajdować się w konkretnym miejscu — na stronie pomocy, w pasku bocznym bazy wiedzy, w karcie pomocy w aplikacji — i sprawiać wrażenie natywnej części tej strony.

Osadzenie inline wykorzystuje tę samą konfigurację co pływający dymek (logo, wiadomość powitalna, pozyskiwanie leadów, pytania początkowe itd.), więc nie musisz niczego konfigurować dwukrotnie.

### Pokaż widżet na stronie internetowej innej osoby

Możesz wyświetlić swój widżet czatu na stronie internetowej, nad którą nie masz kontroli — bez kodu i bez konieczności uzyskiwania dostępu do ich witryny. To najszybszy sposób, aby pokazać potencjalnemu klientowi, jak asystent wyglądałby na jego własnych stronach.

1. Otwórz panel Zarządzanie i przewiń do **Kanały i osadzanie**.
2. W polu **Link do wersji demonstracyjnej dla klienta** wpisz adres strony internetowej (na przykład `www.theircompany.com`).
3. Kliknij **Kopiuj**, aby skopiować link, lub **Otwórz**, aby najpierw zobaczyć go samodzielnie.
4. Wyślij link do osoby, której chcesz go pokazać.

Otwarcie linku powoduje załadowanie danej strony internetowej z Twoim widżetem czatu unoszącym się na wierzchu, dokładnie tak, jak wyglądałoby to po zainstalowaniu. Każdy, kto posiada link, może go otworzyć — nie trzeba się nigdzie logować.

Kilka rzeczy, które warto wiedzieć:

- **Czaty z wersji demonstracyjnej są prawdziwe.** Wiadomości wysłane przez odwiedzającego w wersji demo trafiają do Twojej skrzynki odbiorczej i są obsługiwane przez Twojego agenta, zużywając kredyty tak samo, jak każda inna rozmowa.
- **Strona jest pozbawiona brandingu.** Wyświetla tylko ich witrynę oraz Twój widżet, nic więcej.
- **Niektóre strony internetowe nie mogą być wyświetlane w ramkach.** Wiele witryn (banki, duże sklepy detaliczne, strony z rygorystycznymi ustawieniami zabezpieczeń) blokuje możliwość wyświetlania ich przez inne strony. W takim przypadku link nadal działa: zamiast rzeczywistej witryny wyświetla neutralne okno przeglądarki z aktywnym widżetem na wierzchu, dzięki czemu demo nadal spełnia swoją funkcję.
- **To nie zmienia ich strony internetowej.** Nic nie jest instalowane ani modyfikowane — wersja demo istnieje tylko wewnątrz tego linku.

{% hint style="info" %}
Link do wersji demonstracyjnej zawsze korzysta z domyślnego routingu Twojego konta, niezależnie od tego, co jest ustawione w opcji **Kieruj te czaty do**. Jeśli chcesz, aby czaty z wersji demo były obsługiwane przez konkretnego agenta, najpierw ustaw tego agenta jako domyślnego dla swojego widżetu czatu.
{% endhint %}

### Kierowanie różnych stron do różnych kampanii

Domyślnie każdy czat przychodzący przez widżet jest obsługiwany przez tę samą kampanię lub agenta. Możesz to zmienić dla poszczególnych stron, dzięki czemu odwiedzający stronę z cennikiem będą rozmawiać z kampanią sprzedażową, a odwiedzający stronę pomocy z agentem wsparcia — wszystko z poziomu jednego widżetu czatu.

Istnieją dwa sposoby na uzyskanie kodu:

- **Z poziomu kampanii lub agenta.** Na stronie **Kampanie** otwórz menu **⋮** przy wybranej kampanii i wybierz **Dodaj do witryny**. Na stronie **Agenci** kliknij przycisk **&lt;/&gt;** w wierszu lub otwórz agenta i przejdź do karty **Punkty wejścia**. W obu przypadkach otrzymasz gotowy do wklejenia fragment kodu, który jest już skierowany do danej kampanii lub agenta.

  Karta **Punkty wejścia** agenta zawiera również panel **Widżet czatu na stronie**, pokazujący, ilu czatami z witryny zarządza już ten agent. Czaty z osadzonego widżetu trafiają bezpośrednio do agenta, więc **nie** musisz tworzyć dla nich reguły punktu wejścia — agent bez żadnych reguł nadal odpowiada na czaty z osadzonego widżetu.

  Opcja **Dodaj do witryny** pojawia się tylko w przypadku kampanii, które są aktywne i skonfigurowane do obsługi przychodzących czatów. Kampania w wersji roboczej nie może jeszcze przyjmować odwiedzających, więc opcja ta jest ukryta do momentu jej opublikowania. Na stronie Agenci opcja ta pojawia się przy aktywnych agentach. Wstrzymany agent otrzymałby czat, ale nigdy by na niego nie odpowiedział, dlatego opcja ta jest ukryta do momentu ponownego włączenia agenta. Nie ma kanału do skonfigurowania dla agenta — agent może odebrać czat z dowolnego kanału.
- **Z poziomu ustawień widżetu.** W sekcji **Ustawienia → Kanały → Zarządzaj** w widżecie czatu ustaw opcję **Kieruj te czaty do** i skopiuj poniższy fragment kodu. Zmiana w menu rozwijanym powoduje nadpisanie fragmentu kodu.

Fragment kodu dla wersji pływającej zawiera miejsce docelowe w adresie:

{% code overflow="wrap" %}
```html
<script src="https://api.dmchamp.com/v1/chat-widget/CONFIG_ID?campaign=CAMPAIGN_ID"></script>
```
{% endcode %}

Fragment kodu dla wersji inline zawiera je w `<div>`, dzięki czemu jedna strona może zawierać kilka czatów kierowanych do różnych miejsc:

{% code overflow="wrap" %}
```html
<div data-chat-widget="CONFIG_ID" data-campaign="CAMPAIGN_ID" style="width:100%;height:600px;"></div>
<script src="https://api.dmchamp.com/v1/chat-widget/embed.js" async></script>
```
{% endcode %}

W przypadku agenta brzmienie zmienia się na `?agent=AGENT_ID` lub `data-agent="AGENT_ID"`.

Kilka rzeczy, które warto wiedzieć:

- Użyj przycisku kopiowania zamiast wpisywać identyfikator ręcznie. Jeśli identyfikator nie pasuje do żadnej kampanii lub agenta na Twoim koncie, czat nadal będzie działać, ale przełączy się na domyślne reguły routingu.
- Osoba, która jest już w trakcie rozmowy, pozostaje z tym samym rozmówcą, nawet jeśli później trafi na stronę wskazującą gdzie indziej. Zapobiega to zmianie „osobowości” czatu w trakcie trwania rozmowy.
- Miejsce docelowe przypisane do konkretnej strony ma pierwszeństwo przed domyślnymi ustawieniami konta oraz wyzwalaczami słów kluczowych.

### Poinformuj widżet, kim jest odwiedzający (zaawansowane)

Jeśli umieścisz widżet czatu w strefie członkowskiej, portalu klienta lub aplikacji, w której użytkownicy są już zalogowani, Twoja witryna już wie, kim oni są. Możesz przekazać te informacje do widżetu, aby odwiedzający nie musiał podawać danych, które już Ci przekazał, a Twoja sztuczna inteligencja mogła wykorzystać to, co już o nim wiesz.

Dodaj mały blok ustawień **przed** skryptem widżetu:

{% code overflow="wrap" %}
```html
<script>
  window.chatWidgetSettings = {
    visitor: {
      id: "12345",
      name: "Maria",
      email: "maria@example.com",
      phone: "+391234567890"
    },
    data: {
      plan: "Professional",
      customer_since: "2024",
      last_order: "A-2291"
    }
  };
</script>
<script src="https://api.dmchamp.com/v1/chat-widget/CONFIG_ID"></script>
```
{% endcode %}

Twoja strona powinna uzupełnić te wartości po stronie serwera, na podstawie danych aktualnie zalogowanego użytkownika.

Dzieją się dwie rzeczy:

- **Formularz „Zanim zaczniemy...” jest pomijany.** Po podaniu imienia i adresu e-mail odwiedzający przechodzi bezpośrednio do rozmowy, a te dane są zapisywane w jego profilu kontaktu dokładnie tak, jakby sam je wpisał.
- **Wszystko w sekcji `data` jest przekazywane do Twojej sztucznej inteligencji.** Wszystko, co tam umieścisz — plan, numer zamówienia, datę odnowienia, saldo kredytów, liczbę posiadanych licencji — staje się częścią wiedzy AI o tej osobie. Dzięki temu może ona odpowiedzieć na pytanie „kiedy odnawia się mój plan?” bez konieczności wcześniejszego pytania o to, kim jest użytkownik. Użyj nazw pól, które mają dla Ciebie sens; pojawią się one w kontakcie w sekcji Pola niestandardowe. Możesz przesłać do 20 wartości, które są odświeżane przy każdej wiadomości, więc jeśli plan zmieni się w trakcie rozmowy, AI zobaczy nowy.

W przypadku osadzeń typu inline możesz zamiast tego umieścić te same informacje w `<div>`, co jest przydatne, gdy na jednej stronie znajduje się kilka czatów:

{% code overflow="wrap" %}
```html
<div data-chat-widget="CONFIG_ID"
     data-visitor-name="Maria"
     data-visitor-email="maria@example.com"
     data-visitor-data='{"plan":"Professional"}'
     style="width:100%;height:600px;"></div>
<script src="https://api.dmchamp.com/v1/chat-widget/embed.js" async></script>
```
{% endcode %}

Jeśli Twoja witryna dowiaduje się, kim jest odwiedzający, dopiero po załadowaniu strony — na przykład w aplikacji typu single-page, gdzie logowanie odbywa się bez przeładowania strony — wywołaj to w momencie, gdy będziesz mieć już dane, a widżet sam się zaktualizuje:

{% code overflow="wrap" %}
```html
<script>
  window.chatWidget.setVisitor({
    visitor: { id: "12345", name: "Maria", email: "maria@example.com" },
    data: { plan: "Professional" }
  });
</script>
```
{% endcode %}

Kilka rzeczy, które warto wiedzieć:

- Jeśli dwie różne osoby zalogują się na tym samym komputerze, druga z nich rozpocznie nową rozmowę, zamiast widzieć czat pierwszej osoby. Widżet wykrywa zmianę użytkownika i resetuje się.
- Samo w sobie służy to do celów kontekstowych, a nie do logowania użytkownika. Rozmowy są nadal oddzielone tak jak zawsze, więc przekazanie `id` nie pozwala nikomu otworzyć czatu innej osoby, a ktoś korzystający z innego urządzenia lub przeglądarki rozpocznie tam nową rozmowę. Aby kontynuować rozmowę na różnych urządzeniach, należy podpisać `id` zgodnie z poniższym opisem.
- Jest to opcjonalne. Widżet na zwykłej publicznej stronie nie wymaga żadnego z tych działań i zachowuje się dokładnie tak, jak wcześniej.

#### Kontynuowanie tej samej rozmowy na dowolnym urządzeniu (podpisany identyfikator odwiedzającego)

Jeśli Twoi klienci posiadają konta, możesz sprawić, by ich czat podążał za nimi: logowanie na telefonie, kontynuacja na laptopie – to ta sama rozmowa z tym samym kontaktem w Twojej skrzynce odbiorczej, a sztuczna inteligencja nadal wie wszystko, co zostało powiedziane. W tym celu <span data-t="appName">DM Champ</span> potrzebuje dowodu, że odwiedzający jest rzeczywiście osobą, za którą podaje go Twoja strona; w przeciwnym razie każdy mógłby wpisać numer klienta w swojej przeglądarce i odczytać jego czat. Dowodem jest podpis, który obliczasz na swoim serwerze.

1. W panelu **Zarządzaj** (Manage) widżetu, w sekcji **Kanały i osadzanie** (Channels & Embed), znajdź opcję **Zalogowani odwiedzający** (Signed-in visitors) i kliknij **Wygeneruj klucz tajny** (Generate secret). Skopiuj klucz tożsamości. Przechowuj go wyłącznie na swoim serwerze; nigdy nie umieszczaj go bezpośrednio na stronie.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-signed-visitors.png" alt="Wiersz Zalogowani odwiedzający w panelu Zarządzaj widżetu czatu, pokazujący zamaskowany klucz tożsamości z przyciskami Pokaż, Kopiuj i Wygeneruj ponownie, oraz fragment ustawień z polami id i hash poniżej"><figcaption><p>Wiersz Zalogowani odwiedzający w sekcji Kanały i osadzanie. Klucz pozostaje ukryty, dopóki nie klikniesz Pokaż; fragment poniżej pokazuje, gdzie na stronie umieścić identyfikator i jego podpis.</p></figcaption></figure>
:::
2. Gdy Twój serwer renderuje stronę dla zalogowanego klienta, oblicz HMAC-SHA256 identyfikatora tego klienta przy użyciu klucza tajnego, w postaci ciągu szesnastkowego zapisanego małymi literami:

{% code overflow="wrap" %}
```js
// Node.js
const hash = require("crypto").createHmac("sha256", IDENTITY_SECRET).update(customerId).digest("hex");
```
{% endcode %}

{% code overflow="wrap" %}
```php
// PHP
$hash = hash_hmac('sha256', $customerId, IDENTITY_SECRET);
```
{% endcode %}

{% code overflow="wrap" %}
```python
# Python
import hmac, hashlib
hash = hmac.new(IDENTITY_SECRET.encode(), customer_id.encode(), hashlib.sha256).hexdigest()
```
{% endcode %}

3. Umieść identyfikator i skrót w bloku ustawień, obok imienia i adresu e-mail, które już przekazujesz:

{% code overflow="wrap" %}
```html
<script>
  window.chatWidgetSettings = {
    visitor: {
      id: "12345",
      hash: "3f2a…e91c",
      name: "Maria",
      email: "maria@example.com"
    }
  };
</script>
<script src="https://api.dmchamp.com/v1/chat-widget/CONFIG_ID"></script>
```
{% endcode %}

Osadzenie inline przyjmuje tę samą wartość co `data-visitor-hash` w `<div>`, a `window.chatWidget.setVisitor({ visitor: { id, hash } })` działa w przypadku aplikacji, które logują użytkowników bez przeładowywania strony.

Co się dzieje po zweryfikowaniu podpisu:

- Czat klienta jest przechowywany na jego koncie, a nie w przeglądarce, więc jest to ta sama rozmowa na każdym urządzeniu i w każdej przeglądarce, w której jest zalogowany, oraz jeden kontakt w Twojej skrzynce odbiorczej.
- Jego wcześniejsze wiadomości ładują się na nowym urządzeniu, a sztuczna inteligencja kontynuuje rozmowę od miejsca, w którym została przerwana.
- Jeśli podpis jest nieprawidłowy, widżet po cichu zachowuje się tak jak wcześniej, jako zwykły czat przypisany do przeglądarki, i wypisuje przyczynę w konsoli przeglądarki, aby programista mógł ją zidentyfikować. Twoi odwiedzający nigdy nie zobaczą błędu.
- Identyfikator jest porównywany dokładnie tak, jak go przesłałeś, więc podpisuj tę samą wartość, którą przekazujesz jako `id`, i używaj tego samego identyfikatora dla tej samej osoby wszędzie.

Warto wiedzieć o dwóch rzeczach:

- **Wygeneruj ponownie** w panelu Zarządzaj daje nowy klucz tajny. Strony nadal podpisujące starym kluczem wracają do normalnych czatów przypisanych do przeglądarki, dopóki Twój serwer nie zacznie używać nowego klucza. Istniejące rozmowy zostają zachowane; są one powiązane z identyfikatorem klienta, a nie z kluczem tajnym.
- Rozmowa, którą ktoś prowadził przed zalogowaniem jako anonimowy odwiedzający, pozostaje oddzielnym czatem. Rozmowa oparta na koncie rozpoczyna się od pierwszej wiadomości wysłanej po zalogowaniu.

### Zmiana ustawień widżetu z poziomu własnego kodu (API)

Wszystkie opcje dostępne w panelu **Zarządzaj** widżetem można również zmieniać za pomocą [REST API](../api/reference.md), co jest przydatne, jeśli zarządzasz wieloma stronami internetowymi lub chcesz automatycznie wyłączyć przycisk załącznika dla klienta. Wyślij `PATCH` do `https://api.dmchamp.com/v1/chat-widget-configs/CONFIG_ID` wraz ze swoim kluczem API oraz polami, które chcesz zmienić — na przykład `{"show_upload_button": false}` ukrywa przycisk załącznika, `{"show_emoji_button": false}` ukrywa wybór emoji, a `{"launcher_icon": "chat-dots"}` zmienia ikonę uruchamiania. `CONFIG_ID` to ten sam identyfikator, co w skrypcie osadzania. Pełna lista akceptowanych pól (nazwa, wiadomość powitalna, kolory, ikona uruchamiania, dozwolone domeny, formularz informacji o odwiedzającym, informacja o prywatności, motyw, styl narożników i czcionki) znajduje się w [Dokumentacji API](../api/reference.md) w sekcji **Widżet czatu**. Strony internetowe uwzględnią zmiany przy następnym załadowaniu.

### Czego się spodziewać po instalacji

Po dodaniu skryptu do swojej witryny, widżet czatu automatycznie utworzy przycisk czatu w rogu strony (domyślnie w prawym dolnym). Widżet pozostaje w stałej pozycji podczas przewijania stron przez użytkowników, dzięki czemu jest zawsze dostępny.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-live-bubble-closed.png" alt="Pływająca dymek czatu w prawym dolnym rogu strony internetowej, zanim odwiedzający go kliknie"><figcaption><p>Oto co widzą odwiedzający na Twojej stronie przed otwarciem czatu — tylko pływający przycisk, umieszczony zgodnie z ustawieniami wyglądu.</p></figcaption></figure>
:::

Gdy odwiedzający klikną ten przycisk, rozwinie się on w pełne okno czatu, w którym mogą rozpocząć rozmowę, widząc Twoją wiadomość powitalną. Jeśli opcja zbierania informacji o odwiedzających (Collect visitor info) jest włączona, najpierw pojawi się krótki formularz z prośbą o podanie imienia i adresu e-mail (oraz opcjonalnie numeru telefonu), zanim użytkownik będzie mógł pisać.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-live-panel-open.png" alt="Otwarty panel czatu pokazujący wiadomość powitalną w tle oraz formularz pozyskiwania leadów „Zanim zaczniemy” (Imię, E-mail, Telefon) na pierwszym planie"><figcaption><p>Otwarty panel czatu. Tutaj opcja zbierania informacji o odwiedzających jest włączona, więc formularz „Zanim zaczniemy...” pojawia się nad rozmową — odwiedzający wypełniają go raz, a następnie czatują normalnie.</p></figcaption></figure>
:::

Interfejs czatu automatycznie dostosowuje się do różnych rozmiarów ekranu, dzięki czemu działa bezproblemowo zarówno na komputerach stacjonarnych, jak i urządzeniach mobilnych.

### Testowanie wdrożenia

Po dodaniu widżetu do swojej witryny sprawdź, czy działa:

1. Otwórz swoją witrynę w przeglądarce.
2. Kliknij przycisk czatu, aby otworzyć widżet.
3. Wyślij wiadomość testową i potwierdź, że otrzymujesz odpowiedź.
4. Powtórz czynność na innym urządzeniu lub w innej przeglądarce, aby upewnić się, że działa wszędzie.

::: master-only
<figure><img src="../.gitbook/assets/v2-chat-widget-live-conversation.png" alt="Panel czatu po wysłaniu przez odwiedzającego wiadomości testowej, pokazujący dymek z jego wiadomością wychodzącą pod wiadomością powitalną"><figcaption><p>Po wysłaniu wiadomości pojawia się ona jako dymek wychodzący w wątku — Twoja sztuczna inteligencja lub zespół odpowiada w tym samym oknie.</p></figcaption></figure>
:::

Jeśli widżet czatu nie pojawia się na Twojej stronie, sprawdź następujące kwestie:

1. Upewnij się, że zastąpiłeś `CONFIG_ID` swoim rzeczywistym identyfikatorem konfiguracji.
2. Upewnij się, że tag skryptu został umieszczony przed tagiem zamykającym `</body>`.
3. Sprawdź kod pod kątem literówek.

### Za firmową zaporą sieciową (firewall)

Jeśli widżet ładuje się dla użytkowników publicznych, ale nie dla pracowników w sieci biurowej, sieć prawie na pewno blokuje domenę, z której jest ładowany. Poproś swój zespół IT o zezwolenie na ruch przez standardowy protokół HTTPS na porcie 443 dla:

- **Domeny w Twoim fragmencie kodu osadzania** — adresu w linii `<script src="...">`, który skopiowano z panelu zarządzania.
- **`api.youraiconnector.com`** — widżet wysyła swoje wiadomości również tutaj.

Żadne inne ustawienia nie wymagają zmian: nie potrzeba dodatkowych portów ani reguł przychodzących. Jeśli po wykonaniu tych kroków widżet nadal się nie pojawia, otwórz konsolę programisty w przeglądarce na danej stronie i prześlij nam raport — zablokowane żądanie wskazuje domenę, której odmówiono dostępu, co zazwyczaj stanowi pełną odpowiedź na problem.
