INTEGRITY Dokumentace

HTTP Events API

Zaraz HTTP Events API umožňuje odesílat informace do Zaraz z míst, kde nelze spustit Web API, například váš server nebo mobilní aplikaci. Hodí se pro sledování událostí, které probíhají mimo prohlížeč, jako jsou úspěšné transakce, registrace a další. API navíc umožňuje odesílat více událostí najednou v dávkách.

Konfigurace koncového bodu API

API je ve výchozím stavu zakázáno, dokud pro něj nenakonfigurujete endpoint. Endpoint určuje, pod jakou adresou URL bude API dostupné. Pokud například nastavíte endpoint na /zaraz/api, a vaše doména je example.com, požadavky na API budou směřovat na https://example.com/zaraz/api.

Aktivace koncového bodu API:

  1. V dashboardu Cloudflare přejděte na Nastavení stránce.

    Přejděte na Nastavení ↗
  2. V části Endpointy > HTTP Events API, nastavte požadovanou cestu. Nezapomeňte, že cesta je relativní vůči vaší doméně a musí začínat /.

Odesílání událostí

Endpoint, který jste nakonfigurovali pro API, bude přijímat POST požadavky s JSON payloadem. Níže najdete příklad payloadu:

{
  "events": [
    {
      "client": {
        "__zarazTrack": "transaction successful",
        "value": "200"
      }
    }
  ]
}

Payload musí obsahovat events pole. Každý Event Object v tomto poli odpovídá jedné události, kterou chcete, aby Zaraz zpracoval. Výše uvedený příklad je obdobou volání zaraz.track('transaction successful', { value: "200" }) pomocí Web API.

Event Object obsahuje client objekt, do kterého můžete předat informace o samotné události. Každý klíč, který zahrnete do Event Object, bude dostupný jako Track Property v Zaraz dashboardu.

Existují dva rezervované klíče:

system klíč

Kromě client klíč, můžete použít system klíč, abyste zahrnuli informace o zařízení, ze kterého událost pochází. Můžete například odeslat User-Agent řetězec, cookies a rozlišení obrazovky. Zaraz tyto informace využije při připojování k různým nástrojům třetích stran. Protože některé nástroje závisí na určitých polích, je často užitečné uvést co nejvíce informací.

Stejný payload jako dříve bude vypadat přibližně jako v následujícím příkladu, když přidáme system informace:

{
  "events": [
    {
      "client": {
        "__zarazTrack": "transaction successful",
        "value": "200"
      },
      "system": {
        "page": {
          "url": "https://example.com",
          "title": "My website"
        },
        "device": {
          "language": "en-US",
          "ip": "192.168.0.1"
        }
      }
    }
  ]
}

Přehled všech dostupných systémových klíčů najdete v tabulce níže:

Vlastnost Typ Popis
system.cookies Objekt Objekt typu key-value obsahující cookies ze zařízení, které je s událostí spojeno.
system.device.ip Řetězec IP adresa zařízení přidružená k dané události.
system.device.resolution Řetězec Rozlišení obrazovky zařízení přidruženého k dané události, ve formátu WIDTHxHEIGHT formát.
system.device.viewport Řetězec Viewport zařízení přidruženého k dané události, ve formátu WIDTHxHEIGHT formát.
system.device.language Řetězec Kód jazyka používaný zařízením přidruženým k dané události.
system.device.user-agent Řetězec User-Agent řetězec zařízení přiřazeného k události.
system.page.title Řetězec Název stránky přidružené k dané události.
system.page.url Řetězec URL adresa stránky přidružené k dané události.
system.page.referrer Řetězec URL adresa referrer stránky v okamžiku, kdy událost nastala.
system.page.encoding Řetězec Kódování stránky přidružené k dané události.

Zpracování odpovědí API

Pro každý Event Object ve vašem payloadu odpoví Zaraz odpovídajícím Result Object. Pořadí Result Objects odpovídá pořadí vašich Event Objects.

V závislosti na tom, jaké nástroje pomocí Zaraz načítáte, může tělo odpovědi z API obsahovat informace, které budete chtít zpracovat. Je to proto, že některé nástroje nemají úplnou serverovou implementaci a stále závisí na cookies, klientském JavaScriptu nebo podobných mechanismech. Každý Result Object může obsahovat následující informace:

Result key Popis
fetch Požadavky typu Fetch odesílané nástroji z prohlížeče uživatele.
execute Kód JavaScriptu, který chtějí nástroje spustit v prohlížeči uživatele.
return Informace, které vracejí nástroje.
cookies Cookies, které chtějí nástroje uživateli nastavit.

Uvedené informace nemusíte zpracovávat, i když na nich může záviset fungování některých nástrojů. HTTP Events API můžete začít používat, aniž byste zpracovávali informace z tabulky výše, a přizpůsobit to později.