Как можем да помогнем?

Кажете накратко за какво става дума - ще се свържем с Вас по имейл.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Към началната страница

Zákaznická data v chatu (objednávky, doprava, faktury)

Nechte asistenta AI odpovídat přihlášeným zákazníkům na otázky o jejich vlastních objednávkách: bezpečně přes podepsanou identitu, s přesně určenými poli, načítáním z obchodu nebo importem.

Se zákaznickými daty asistent AI odpovídá na otázky jako „Kde je můj balík?“, „Je moje faktura zaplacená?“ nebo „Co bylo v mé poslední objednávce?“ — pro přihlášené zákazníky a pouze o jejich vlastních datech. Funkce je dostupná v placených tarifech.

Jak jsou data chráněna

Předpoklad: ověření identity

Asistent používá zákaznická data pouze pro návštěvníky, jejichž identitu potvrdil váš server. V účtu nastavte tajný klíč pod Projekt → Ověření identity. Zůstává na vašem serveru a nikdy nepatří do prohlížeče ani vkládacího kódu.

Pro každého přihlášeného zákazníka server vypočítá hash s časem vypršení (nejvýše 24 hodin dopředu) a předá ho widgetu:

$userId = (string) $customer->id;
$exp    = time() + 3600;
$hash   = hash_hmac('sha256', $userId . '.' . $exp, getenv('RC_IDENT_SECRET'));
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_SECRET)
                   .update(String(user.id) + '.' + exp).digest('hex');
// in the template: ReactiveChat('identify', { userId: '<id>', userHash: '<hash>', exp: <exp> });

Hash bez exp stále potvrzuje návštěvníka (například pro historii konverzací), ale pro zákaznická data nestačí. Když obnovíte tajný klíč, starý zůstává platný 24 hodin.

Podepsání také e-mailu (pro rezervace termínů a integrace založené na e-mailu). email vedle hashe se považuje za potvrzený, pouze pokud je součástí podpisu: userHash = HMAC-SHA256(secret, userId + "." + exp + "." + email) — adresa přesně tak, jak ji předáváte do identify. Bez toho návštěvník zůstává přihlášený, ale asistent pro tuto adresu nezarezervuje termín a integrace ji nevyhledají. Dosavadní podoba userId + "." + exp funguje dál beze změny.

Načítání, import nebo obojí

Pod Projekt → Zákaznická data vybíráte, odkud asistent data získává:

Která data smí asistent dostat

Každé pole povolujete samostatně. Výchozí nastavení pokrývá běžné otázky:

Vypnuté pole se k asistentovi nikdy nedostane: při načítání se zahodí, při importu se vůbec neuloží. Město a PSČ jsou záměrně možné pouze při výslovném povolení — ulice a jméno zůstávají vždy vyloučené.

Co se nikdy nepředává

Tato data nelze povolit. Pokud je obchod odešle, zahodí se:

Limity

Nejvýše 10 objednávek na odpověď, nejvýše 20 položek na objednávku, texty nejvýše 200 znaků, celá odpověď nejvýše 16 kB. Neznámá pole se zahazují bez chyby.

Načítací endpoint

reactive.chat volá endpoint metodou POST:

POST https://shop.your-domain.com/rc-customer-data
Content-Type: application/json
X-RC-Zeit: 1791196400
X-RC-Signatur: <hex(HMAC_SHA256(endpoint secret, X-RC-Zeit + "." + body))>

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

Váš endpoint musí:

  1. ověřit podpis (porovnání v konstantním čase) a odmítnout požadavky, jejichž X-RC-Zeit se liší o více než 5 minut,
  2. vracet pouze data daného user_id,
  3. být dostupný přes https na portu 443 na veřejné adrese, bez přesměrování,
  4. odpovědět do 3 sekund.

Odpověď:

{
  "bestellungen": [
    {
      "nummer": "2026-0815", "datum": "2026-09-28", "status": "shipped",
      "summe": "49.90", "waehrung": "EUR",
      "positionen": [ { "name": "Balance bike blue", "menge": 1 } ],
      "versand": { "dienst": "DHL", "sendungsnummer": "00340434...", "status": "out for delivery" },
      "rechnung": { "nummer": "R-2026-1201", "status": "paid", "faellig_am": "2026-10-12" }
    }
  ]
}

Úplný příklad PHP je dostupný ve vývojářské dokumentaci (kundendaten-referenz-endpunkt.php).

Pomocí Otestovat připojení reactive.chat zavolá endpoint s user_id rc-test a typem požadavku test a zobrazí výsledek. Vraťte pro něj prázdný seznam nebo vzorovou objednávku.

Import přes API

S klíčem API s oprávněním kundendaten:schreiben:

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

{"bestellungen":[ ... as above ... ]}

project_id je číslo vašeho projektu; pokud má pracovní prostor jen jeden projekt, můžete ho vynechat. PUT nahrazuje všechny objednávky tohoto ID zákazníka (nejvýše 50). DELETE /v1/kundendaten/4711?project_id=123 je odstraní. Importovaná data se u nás ukládají zašifrovaně a mažou 90 dnů po posledním importu — posílejte proto změny průběžně, například při každé změně stavu.

Nepřihlášení návštěvníci

Pokud se někdo bez potvrzené identity zeptá na objednávku, asistent nic nenačítá. Místo toho zobrazí upozornění nastavené pod Projekt → Zákaznická data: text pro každý jazyk a případně odkaz k přihlášení. Případně předá otázku týmu.

Co se ukládá

Řešení problémů

Více v dokumentaci

Podrobně: Endpoint zákaznických dat. Všechny kapitoly jsou v dokumentaci.

Последна актуализация: