← Cloudflare Zaraz / zaraz
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:
-
V dashboardu Cloudflare přejděte na Nastavení stránce.
Přejděte na Nastavení ↗ -
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:
__zarazTrack: Hodnota tohoto klíče bude dostupná jako Název události. Kolem toho obvykle triggery stavíte. Ve výše uvedeném příkladu nastavení natransaction successfulje stejný jako pomocí Web API a volánímzaraz.track("transaction successful").__zarazEcommerce: Tento klíč je nutné nastavit natruepokud chcete, aby Zaraz zpracoval událost jako e-commerce událost.
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.