ہم کیسے مدد کر سکتے ہیں؟

مختصراً بتائیں کہ معاملہ کیا ہے—ہم آپ کو ای میل کے ذریعے جواب دیں گے۔

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
ابتدائی صفحے پر جائیں

Dane klientów w czacie (zamówienia, wysyłka, faktury)

Asystent AI odpowiada zalogowanym klientom na pytania o ich własne zamówienia – bezpiecznie dzięki podpisanej tożsamości, z dokładnie określonymi polami, przez pobieranie z Twojego sklepu albo import.

Dzięki danym klientów asystent AI odpowiada na pytania takie jak „Gdzie jest moja paczka?”, „Czy moja faktura jest już opłacona?” albo „Co było w moim ostatnim zamówieniu?” – zalogowanym klientom i tylko na temat ich własnych danych. Funkcja jest dostępna w płatnych planach.

Jak chronione są dane

Warunek: weryfikacja tożsamości

Asystent korzysta z danych klientów tylko w przypadku odwiedzających, których tożsamość potwierdził Twój serwer. W koncie, w sekcji Projekt → Weryfikacja tożsamości, utwórz sekret. Pozostaje on na Twoim serwerze i nigdy nie trafia do przeglądarki ani do fragmentu kodu (snippetu).

Dla każdego zalogowanego klienta Twój serwer oblicza hash z czasem ważności (najwyżej 24 godziny naprzód) i przekazuje go widżetowi:

$userId = (string) $klient->id;
$exp    = time() + 3600;
$hash   = hash_hmac('sha256', $userId . '.' . $exp, getenv('RC_IDENT_SEKRET'));
echo "<script>ReactiveChat('identify', { userId: " . json_encode($userId)
   . ", userHash: " . json_encode($hash) . ", exp: " . $exp . " });</script>";
const crypto = require('crypto');
const exp  = Math.floor(Date.now() / 1000) + 3600;
const hash = crypto.createHmac('sha256', process.env.RC_IDENT_SEKRET)
                   .update(String(user.id) + '.' + exp).digest('hex');
// w szablonie: ReactiveChat('identify', { userId: '<id>', userHash: '<hash>', exp: <exp> });

Hash bez exp nadal potwierdza odwiedzającego (np. na potrzeby historii rozmowy), ale nie wystarcza do danych klientów. Po odnowieniu sekretu stary pozostaje ważny jeszcze przez 24 godziny.

Podpisywanie także adresu e-mail (do rezerwacji terminów i integracji opartych na e-mailu). email obok hasha jest uznany za potwierdzony tylko wtedy, gdy wchodzi do podpisu: userHash = HMAC-SHA256(sekret, userId + "." + exp + "." + email) – adres dokładnie taki, jaki przekazujesz do identify. Bez tego odwiedzający pozostaje zalogowany, ale asystent nie zarezerwuje terminu na ten adres, a integracje nie będą go wyszukiwać. Dotychczasowa forma userId + "." + exp działa bez zmian.

Pobieranie, import czy oba

W sekcji Projekt → Dane klientów wybierasz, skąd asystent bierze dane:

Jakie dane może dostać asystent

Każde pole udostępniasz osobno. Ustawienia domyślne obejmują typowe pytania:

Wyłączone pole nigdy nie dociera do asystenta: przy pobieraniu jest odrzucane, przy imporcie w ogóle nie jest zapisywane. Miejscowość i kod pocztowy są celowo dostępne tylko po wyraźnym włączeniu – ulica i nazwisko zawsze pozostają poza zasięgiem.

Czego nigdy się nie przekazuje

Tych danych nie da się włączyć. Jeśli Twój sklep je wyśle, zostaną odrzucone:

Limity

Najwyżej 10 zamówień na odpowiedź, najwyżej 20 pozycji na zamówienie, teksty najwyżej 200 znaków, cała odpowiedź najwyżej 16 kB. Nieznane pola są odrzucane bez komunikatu o błędzie.

Endpoint do pobierania

reactive.chat wywołuje Twój endpoint metodą POST:

POST https://sklep.twoja-domena.pl/rc-dane-klientow
Content-Type: application/json
X-RC-Zeit: 1791196400
X-RC-Signatur: <hex(HMAC_SHA256(sekret endpointu, X-RC-Zeit + "." + treść))>

{"user_id":"4711","anliegen":"bestellung","referenz":"2026-0815","sprache":"pl","nonce":"..."}

Twój endpoint musi:

  1. sprawdzać podpis (porównanie w stałym czasie) i odrzucać żądania, których X-RC-Zeit różni się o ponad 5 minut,
  2. zwracać wyłącznie dane podanego user_id,
  3. być dostępny przez https na porcie 443 pod publicznym adresem, bez przekierowań,
  4. odpowiadać w ciągu 3 sekund.

Odpowiedź:

{
  "bestellungen": [
    {
      "nummer": "2026-0815", "datum": "2026-09-28", "status": "wysłane",
      "summe": "199.00", "waehrung": "PLN",
      "positionen": [ { "name": "Rowerek biegowy niebieski", "menge": 1 } ],
      "versand": { "dienst": "InPost", "sendungsnummer": "6200...", "status": "w doręczeniu" },
      "rechnung": { "nummer": "FV/2026/1201", "status": "opłacona", "faellig_am": "2026-10-12" }
    }
  ]
}

Pełny przykład w PHP znajdziesz w dokumentacji dla programistów (kundendaten-referenz-endpunkt.php).

Przycisk Testuj połączenie wywołuje Twój endpoint z user_id rc-test i rodzajem sprawy test oraz pokazuje wynik. Zwróć wtedy pustą listę albo przykładowe zamówienie.

Import przez API

Z kluczem API z uprawnieniem kundendaten:schreiben:

PUT https://reactive.chat/v1/kundendaten/4711?project_id=123
Authorization: Bearer <klucz API>
Content-Type: application/json

{"bestellungen":[ ... jak wyżej ... ]}

project_id to numer Twojego projektu; jeśli Twoja przestrzeń robocza ma tylko jeden projekt, możesz go pominąć. PUT zastępuje wszystkie zamówienia tego identyfikatora klienta (najwyżej 50). DELETE /v1/kundendaten/4711?project_id=123 je usuwa. Zaimportowane dane są przechowywane u nas w postaci zaszyfrowanej i usuwane 90 dni po ostatnim imporcie – wysyłaj więc zmiany na bieżąco, np. przy każdej zmianie statusu.

Niezalogowani odwiedzający

Jeśli ktoś bez potwierdzonej tożsamości zapyta o zamówienie, asystent niczego nie pobiera. Zamiast tego pokazuje komunikat, który ustawiasz w sekcji Projekt → Dane klientów: tekst w każdym języku i opcjonalnie link do logowania. Alternatywnie przekazuje pytanie Twojemu zespołowi.

Co jest zapisywane

Rozwiązywanie problemów

Więcej w dokumentacji

Szczegółowo: Endpoint danych klientów. Wszystkie rozdziały znajdziesz w dokumentacji.

آخری بار تازہ کاری: