كيف يمكننا المساعدة؟

يرجى توضيح الموضوع بإيجاز، وسنرد بالبريد الإلكتروني.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
إلى الصفحة الرئيسية

Technické podrobnosti

Protokol, chybové kódy, přístupnost a skutečný stav za každým příslibem.

Tato stránka je pro ty, kdo chtějí znát podrobnosti. Vše je zde změřeno nebo vyčteno ze zdrojového kódu — nic není odhad.

Jak se widget načítá

Ve dvou fázích. Nejprve malý načítací skript, který vykreslí tlačítko a nic dalšího nedělá. Samotný chat se stáhne až při aktivaci jednoho z pěti spouštěčů — prohlížeč je nečinný (nejpozději po třech sekundách), myš nebo prst na tlačítku, příkaz ze stránky, signál frustrace z MousePlayer nebo push pobídka, například z vašeho service workeru.

Má to důvod: většina návštěvníků chat nikdy neotevře. Neměl by jim zdržovat načítání stránky; které spouštěče platí, se nastavuje ve značce script.

Pro srovnání, také změřeno a u všech tří s kompresí brotli: načítací skript Crisp má 2 876 B, Intercom 3 161 B. S 3 069 B jsme mezi nimi, nikoli o řády níže. Kdo tvrdí opak, neměřil.

Neruší váš web

Widget žije v uzavřeném shadow DOM. Vaše styly se k němu nedostanou a jeho styly se nedostanou na vaši stránku — ani když nastavíte * { box-sizing: border-box } nebo použijete CSS framework, který předefinuje všechno.

Běží s přísnou Content Security Policy bez jediné zprávy v konzoli: žádné eval, žádné webové písmo, žádný sledovací pixel. Styly nastavuje přes constructable stylesheets, na které se style-src nevztahuje. Tlačítko, okno chatu, prohlídky produktu i konzole operátora na vašem webu proto nepotřebují unsafe-inline — změřeno při style-src 'self' a dokonce při style-src 'none': žádné porušení, plný vzhled. Měřeno v aktuálním Chromiu; starší prohlížeče bez constructable stylesheets (například Safari před verzí 16.4) přecházejí na prvek <style>, který přísná politika blokuje.

Žádné požadavky na jiné servery. Vše pochází z reactive.chat nebo, s vlastní doménou, z vaší vlastní adresy; obrázky jako logo a avatary pocházejí z adres, které sami zadáte.

Protokol

Spojení používá WebSocket; pokud síť WebSocket nepropustí, používá běžné požadavky HTTPS (server-sent events nebo long polling). Protokol má verze a definuje 31 chybových kódů, z toho 26 pro widget a zbytek pro pult operátorů a vyhledávání na webu — každý má předepsanou reakci klienta (opakovat ihned, opakovat po čekání, opakovat po opětovném připojení, neopakovat), některé také kód uzavření. Chyba, která není v seznamu, se považuje za dočasnou chybu serveru: opakování po čekání a po pěti pokusech se zpráva považuje za nedoručenou a lze ji odeslat znovu — žádná nekonečná smyčka.

Opětovné připojení s rostoucí prodlevou. Při výpadku spojení se zprávy ukládají do vyrovnávací paměti a odešlou se hned po obnovení. Každá zpráva nese ID; server rozpozná opakování a neuloží ji dvakrát.

Přístupnost

Vytvořeno podle WCAG 2.2 AA:

Kontrast se počítá

Zadáte barvu. Plocha získá přesně tuto barvu. Text na ní se posouvá, dokud nedosáhne poměru 4,5:1 — požadavku WCAG pro běžný text.

Změřeno na 178 barvách ve dvou motivech a třech kombinacích, tedy 1 068 datových bodech: ani jeden pod 4,5:1, nejhorší hodnota 4,50:1.

V tom je rozdíl oproti jiným poskytovatelům: u nich lze widget nastavit tak, že ho nikdo nepřečte.

Osobní údaje

Maskování probíhá na dvou místech — v prohlížeči návštěvníka dřív, než cokoli opustí zařízení, a znovu na serveru před uložením. Rozpoznávají se čísla karet (s Luhnovou kontrolou), IBAN, e-mailové adresy, telefonní čísla, daňová identifikační čísla a čísla průkazů totožnosti. Čísla objednávek a zákazníků se nemění.

Dvě místa, protože jedno nestačí: maskování v prohlížeči lze vypnout, server vidí jen to, co dorazí.

Pravidla

Kdy se widget ozve, určuje deklarativní seznam pravidel — nikoli podmínka v kódu. Výchozí dodávka obsahuje šest pravidel (dlouhé setrvání na stránce, naštvané klikání, chyba JavaScriptu, zaseknutý formulář, záměr nákupu, odchod z pokladny); naštvané klikání, zaseknutý formulář a záměr nákupu se rozpoznávají pouze společně s MousePlayer. Vlastní pravidla můžete přidat v účtu. V tarifu Free se pro každý projekt uplatní jedna aktivní pobídka.

Rozdíl je praktický: změna pravidla znamená změnu nastavení v účtu, nikoli nasazení kódu.

Integrace

Webhooky a Slack jsou hotové. Pro více než 30 dalších služeb je připravené připojení; většina byla testována proti simulovaným protějškům, ale nikdy neběžela proti skutečné službě, a stránka integrací v účtu je takto označuje.

Serverové API (REST a MCP) čte konverzace, zprávy, projekty, návštěvníky, události a pravidla, zapisuje zprávy a události a registruje webhooky. Seznam návštěvníků a MCP lze vypnout pro jednotlivé projekty.

Každá integrace prochází frontou s ochranným jističem: pokud se třetí strana zasekne, po opakovaných selháních se na chvíli vynechá. Zprávu v chatu to nikdy nezdrží — to je nejdůležitější pravidlo této vrstvy.

Co není hotové

Aby se to nikdo nedozvěděl až při integraci:

Další informace v dokumentaci

Jak spolupracují widget, server a spojení: Architektura a průběh. Připojení, záloha přes HTTP a opětovné připojení: Přenos. Všechny kapitoly: dokumentace.

آخر تحديث: