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

1. Možnost – Odeslání emailu s šablonou

Popis: Funkce pro odeslání emailu pomocí vlastního bloku

Argumenty: emailData – datový model TransactionalEmailSendModel s definicí emailu pro odeslání

Návratová hodnota: TransactionalEmailSendResultModel

Použití: (Toto použítí můžete přímo zkopírovat a vyzkoušet beze změny)

{{
   emailData = {
    "bodyHtml":"<!DOCTYPE html><html lang=\"en\"><head></head><body>This is transactional email test</body></html>",
    "subject":"This a subject test",
    "from":"email@vasedomena.cz",
    "to":{
      "address":contact.email
      },
      "variables": {
        "isRegistred : true
      }
   }
   sendEmail emailData
}}

2. Možnost – Odeslání emailu s ID šablony

{{
  sendEmail {
    "templateId":1,
    "to":{
      "address":contact.email
      },
      "variables": {
        "isRegistred : true
      }
    }
}}

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 }}