Vlastní programovatelný blok

Jaroslav Bouška Jaroslav Bouška
11. dubna 2023

V tomto bloku si můžete připravit data pro šablonu, případně si vytvořit vlastní logické podmínky pro regulaci toku kontaktů v rámci automatizace. Kromě funkcí, které lze použít v šablonách nebo při přípravě kampaně má vlastní blok několik funkcí přímo pro správu toku dat – nastavení zpoždění, více výstupních bodů, ukončení toku pro kontakt aj.

Dostupné proměnné v bloku automatizace

global – obsahuje objekt se všemi daty obsahující globální proměnné

contact – obsahuje objekt s daty o kontaktu

stateData – obsahuje objekt s daty o stavu kontaktu v automatizaci. Formát objektu je proměnlivý a záleží na tom, jak kontakt do automatizace vstoupil a jak se s ním v automatizaci dále pracovalo. Může tedy například obsahovat informace o objednávce či košíku, na jejichž základu kontakt do automatizace vstoupil nebo identifikátor odeslaného transakčního e-mailu či SMS. Sem se také průběžně ukládají data z funkce saveData.

Použití:

{{ global.company.name }} - vypíše název firmy z definované globální proměnné company

{{ contact.email }} - email kontaktu - pokud kontakt existuje v seznamech příjemců
{{ contact.surname}} - příjmení kontaktu - pokud kontakt existuje v seznamech příjemců

{{ stateData.orderId }} - vrátí ID objednávky na základě které byl kontakt vložen do automatizace

Uložení dat ke kontaktu automatizace

saveData dataName data

Popis: uloží data ke kontaktu automatizace s daným názvem

Argumenty: dataName – jméno proměnné, pod kterou se data uloží. Povolené znaky jsou a-Z, pomlčky a podtržítka

Návratová hodnota: true/false – vrací true, pokud se podaří uložit data

Použití:

{{
mojeData = { "cisloProdejny" : 1 }
result = saveData 'mojeData' mojeData
}}

Uložená data lze používat v dalších blocích např. při odeslání e-mailu, kde jsou data dostupná pod proměnnou automationCustomData. Pokud budete chtít v e-mailové šabloně vypsat číslo prodejny z ukázky, použijite následující proměnnou:

{{ automationCustomData.mojeData.cisloProdejny }}

Nastavení stavu dokončeno

setFinishedState

Popis: aktuální stav kontaktu v automatizaci nastaví jako dokončen. Pro kontakt již automatizace nebude pokračovat

Argumenty:

Návratová hodnota: true/false – vrací true, pokud se podaří uložit data

Použití:

{{ setFinishedState }}

Nastavení výstupního bodu

setOutputPoint outputPointLetter

Popis: nastaví výstupní bod pro aktuální stav kontaktu v automatizaci

Argumenty: outputPointLetter – písmeno označení výstupního bodu – A, B, C, D, …

Návratová hodnota: true/false – vrací true, pokud se podaří uložit data

Použití:

{{ setOutputPoint 'A'}}

Nastavení dalšího zpracování na určitý čas

setNextStart customDate

Popis: pro zpracovávaný kontakt v automatizaci umožňuje nastavit zpoždění/datum a čas dalšího pokračování

Argumenty: customDate – datum a čas v UTC dalšího pokračování pro kontakt v rámci automatizace

Návratová hodnota: true/false – vrací true, pokud se podaří zvalidovat a uložit data

Použití:

{{ setNextStart '2023-04-11 11:59' }}

Odeslání emailu

sendEmail
Popis: Funkce pro odeslání emailu pomocí vlastního bloku
Argumenty:
sendEmail – název metody pro odeslání emailu
templateId – ID šablony, kterou chcete použít, musí být uložená jako transakční
to – objekt, který obsahuje data o příjemci
address – adresa příjemce
Použití:

{{
  sendEmail {
    "templateId":1,
    "to":{
      "address":"prijemce@boldem.cz"
      }
    }
}}

Vytvoření vlastní události

addCustomEvent schemaName data allowTriggering

Popis: pro zpracovávaný kontakt v automatizaci založí vlastní událost

Argumenty:
schemaName – název schématu vlastní události
data – objekt s daty
allowTriggering – může se vlastní událost zařadit do automatizace

Návratová hodnota: true/false – vrací true, pokud se podaří uložit data

Použití:

{{ addCustomEvent 'page_view' { "url" : "https://boldem.cz" } true }}

Odebrání vlastních události

removeCustomEvents schemaName

Popis: pro zpracovávaný kontakt v automatizaci odebere vlastní události daného schématu

Argumenty:
schemaName – název schématu vlastní události

Návratová hodnota: true/false – vrací true, pokud se podaří uložit data

Použití:

{{ removeCustomEvents 'page_view' }}

Načtení posledního použitého kupónu

loadLastUsedCoupon couponGroupId

Popis: pro zpracovávaný kontakt v automatizaci načte poslední použitý slevový kupón z dané skupiny kupónů

Argumenty:
couponGroupId – ID skupiny slevových kupónů

Návratová hodnota: vrací CouponLastUsedModel

Použití:

{{ last coupon = loadLastUsedCoupon 5 }}
{{ coupon.coupon }}