Obsah
Úvod
Segmentace a podmínky v automatizacích nabízí možnost filtrovat kontakty dle vlastních specifických dotazů a jejich kombinací. Tento článek vám pomůže s pochopením Ecomail Query Language (EQL)
V rámci EQL můžete pracovat s:
všechna základní pole kontaktu (např. name, surname, email)
vlastní pole kontaktu - potřeba zadat zápis merge tagu, nikoliv název merge tagu pro váš přehled - následující příklad zápisu v EQL by byl
VLASTNI_POLE_2
:
vlastnosti nákupů (např. transaction.shop, transaction.props)
Seznam základních polí:
name křestní jméno
surname příjmení
email e-mail
vokativ křestní jméno v 5. pádě
vokativ_s příjmení v 5. pádě
pretitle titul před jménem
surtitle titul za jménem
gender pohlaví
street ulice a číslo popisné
city město
zip psč
country země
company firma
phone telefon
birthday narozeniny
nameday svátek
Operátory
Pro porovnávání polí jsou vám pak k dispozici tyto operátory:
EQUALS rovná se
EQUALS_NOT nerovná se
CONTAINS obsahuje
CONTAINS_NOT neobsahuje
LOWER je menší, pouze u polí typu int/číslo
HIGHER je větší, pouze u polí typu int/číslo
CONTAINS_ONE_OF obsahuje jednu z hodnot
DOES_NOT_CONTAIN_ONE_OF neobsahuje žádnou z hodnot
Operátory jsou case-sensitive, tedy musí být napsané velkými písmeny.
Syntax EQL
Zápis EQL je následující:
vlastnost_kontaktu OPERATOR 'obsah vlastnosti'
Použít můžete jednoduché nebo dvojité uvozovky:
vlastnost_kontaktu OPERATOR "obsah vlastnosti"
Kombinaci dotazů (pokud se mají splnit oba dotazy) spojíte použitím slovíčka AND:
email EQUALS "muj@mail.cz" AND name EQUALS "Jan"
Pokud stačí splnění jednoho ze dvou dotazů, docílíte toho pomocí slovíčka OR:
email EQUALS "muj@mail.cz" OR name EQUALS "Jan"
V případě kdy potřebujete kombinovat komplexní dotazy, můžete je vložit do závorek. Takové dotazy se vyhodnotí v rámci celého dotazu mezi sebou a teprvé poté v rámci celého dotazu.
Tento EQL dotaz by vysegmentoval kontakty, které v poli email mají mail.cz NEBO splní obě následující podmínky: kontakty s emailem obsahjící mail.com A ZÁROVEŇ nemají v poli země hodnotu CZ:
email CONTAINS 'mail.cz' OR (email CONTAINS 'mail.com' AND country CONTAINS_NOT 'CZ')
Hodnoty pro operátory CONTAINS_ONE_OF
a DOES_NOT_CONTAIN_ONE_OF
musí být v hranaté závorce oddělené čárkou, tedy například:
name CONTAINS_ONE_OF ['Jan','Karel','Pepa']
Uvozovky v případě operátorů CONTAINS_ONE_OF a DOES_NOT_CONTAIN_ONE_OF musí být jednoduché.
Příklady
Email je some@mail.cz nebo splní obě podmínky kdy email neobsahuje seznam.cz a jméno je Jan, a zároveň telefonní číslo obsahuje +420:
email EQUALS 'some@mail.cz' OR (email CONTAINS_NOT 'seznam.cz' AND name EQUALS 'Jan') AND phone CONTAINS '+420'
Splní se jedná ze dvou kombinací podmínek kdy email obsahuje .cz a země se rovná CZ nebo email obsahuje .sk a země se rovná SK:
(email CONTAINS ".cz" AND country EQUALS "CZ") OR (email CONTAINS ".sk" AND country EQUALS "SK")
PSČ/ZIP code je větší než 100 a zároveň menší než 150:
zip HIGHER 100 AND zip LOWER 150
Vlastnost nákupu
Parametry objednávek
V rámci EQL můžete pracovat také s kontrolou parametrů samotné transakce. Hodnoty, které můžete kontrolovat jsou následující:
transaction.order_id text, id objednávky z vašeho eshopu
transaction.timestamp datum, datum a čas objednávky*
transaction.shop text, název obchodu
transaction.amount číslo, celková částka objednávky
transaction.tax číslo, celková daň objednávky
transaction.shipping číslo, cena za dopravu
transaction.city text, město fakturační adresy
transaction.county text, okres / kraj fakturační adresy
transaction.country text, země fakturační adresy
* transaction.timestamp můžete vyhledat jako přesné datum a čas transaction.timestamp EQUALS "2024-12-17 12:23:39"
nebo pouze část data pomocí operátoru CONTAINS transaction.timestamp CONTAINS "2024-12-17"
Poslední objednávka
Stejně tak můžete využít last_transaction
a vyhledávat pouze mezi poslední objednávkou kontaktů pomocí stejných vlastností viz tabulka výše:
last_transaction.shop EQUALS "mujshop.cz"
Custom props
Dále lze segmentovat přes custom props (vlastností) objednávek, které lze nadefinovat u poslání objednávky přes API takto:
"props": {"myCustomProp": "customPropValue"}
Více informací o requestu transakce v dokumentaci API naleznete zde.
Příklady
Transakce které obsahují fakturační adresu země CZ:
transaction.country EQUALS 'CZ'
Transakce s celkovou částkou vyšší než 1000 a menší než 10000:
transaction.amount HIGHER 1000 AND transaction.amount LOWER 10000
Transakce provedené v datu listopad 2024 nebo prosinec 2024:
transaction.timestamp CONTAINS "2024-11" OR transaction.timestamp CONTAINS "2024-12"
Transakce s custom prop (vlastností) frequency a jejím obsahem 'yearly':
transaction.props.frequency EQUALS 'yearly'
Stejný dotaz jako výše pouze limitovaný na poslední objednávky kontaktů:
last_transaction.props.frequency EQUALS 'yearly'