Programovatelné skripty

Úvod

Vložené skripty, nebo programovatelné tagy jsou nenahraditelné při kvalitní personalizaci vašich e-mailových kampaní. Skriptování umožňuje automaticky vkládat do zpráv texty, které jsou výsledkem vámi definovaných funkcí. Díky použití skriptů se může měnit například oslovení vašeho klienta podle dostupných údajů v databázi. Různé oslovení pro muže, ženu, klienta se zadáným, nebo chybějícím příjmením není žádný problém. Ukázky na této stránce vás přesvědčí že psaní vlastních funkci není vůbec složité a často v nich postačí jen upravit texty dle vlastních potřeb.

Psaní skriptů

Použitý jazyk: C#

Při psaní skriptů je třeba dodržovat syntaxi jazyka C # od společnosti Microsoft. Jeho základy obsahuje například návod na stránkách csharp.aspone.cz. Ve většině případů si však vystačíte s použitím podmínky if else a přiřazením =, jejichž použití je uvedeno v ukázkách.

Název skriptu

Název skriptu musím obsahovat prefix jazyka "cs:" například "cs:oslovení". Po vložení do zprávy bude název skriptu uzavřen do hranatých závorek. Příklad tag-u ve zprávě: [[cs:oslovení]]

Správnost skriptu

Po napsání obsahu funkce kliknutím na tlačítko Test ověříte její správnost z hlediska syntaxe. V případě, že se zobrazí chyby je třeba je odstranit a test opakovat.

Vstupní údaje

Vstupní údaje, které můžete využívat při psaní vašeho skriptu pocházejí z adresy příjemce zprávy a informaci o kampani. Máte k dispozici aktuální řádek adresy Address a řádek aktuální kampaně Campaign (v obou případech jde z hlediska jazyka C# o Class System.Data.DataRow)

K řetězcům (textům) z jednotlivých polí můžete přistupovat prostřednictvím zápisů Address["JmenoPole"].ToString(), Campaign["JmenoPole"].ToString(), nebo jednodušším zápisem pomocí funkcí (metod) SAddress("JmenoPole"), SCampaign("JmenoPole").

Seznam dostupných polí v řádku Address:
Subs_Email, Subs_Salutation, Subs_Gender, Subs_FirstName, Subs_MiddleName, Subs_LastName, Subs_Title, Subs_DateOfBirth, Subs_Occupation, Subs_Company, Subs_PhoneNumber, Subs_FaxNumber, Subs_MobileNumber, Subs_Street, Subs_City, Subs_PostalCode, Subs_State, Subs_Country, Subs_CountryCode, Subs_Text1, Subs_Text2, Subs_Text3, Subs_Status, Subs_BarCode, Subs_DateAdded, Subs_ReturnCount, Subs_ReturnBackDateReceived, Subs_ID, Subs_GUID

Seznam dostupných polí v řádku Capmaign:
Camp_Name, Camp_Description, Camp_Number, Camp_DateCreated, Camp_Subject, Camp_FromName, Camp_FromEmail, Camp_EmailFilter, Camp_GUID, Camp_GroupId

Výstupní údaje

Výstupem z vaší funkce (skriptu) je proměnná result (typ: String result). Textová hodnota z proměnné je vložena přímo do obsahu e-mailové zprávy místo tagu [[cs:nazovSkriptu]]

Ukázky skriptů

Příklad skriptu 1


Popis: pokud není zadáno oslovení (pole "Subs_Salutation") tak je výsledkem text "Vážený zákazníku", jinak je výsledkem oslovení + jméno a příjmení.

if (SAddress("Subs_Salutation") == "")
{
    result = "Vážený zákazníku";
}
else
{
    result = SAddress("Subs_Salutation") + " " + SAddress("Subs_FirstName") + " " + SAddress("Subs_LastName");
}

Příklad skriptu 2


Popis: pokud není zadané jméno a příjmení tak je výsledkem text "Vážený zákazníku", jinak je výsledkem oslovení + jméno a příjmení.

if (SAddress("Subs_FirstName")+SAddress("Subs_LastName") == "")
{
    result = "Vážený zákazníku";
}
else
{
    result = "Vážený/á " + SAddress("Subs_FirstName") + " " + SAddress("Subs_LastName");
}

Příklad skriptu 3


Popis: pokud není zadáno příjmení, tak je výsledkem text "Vážený zákazníku", jinak se zjišťuje zda je známo pohlaví adresáta.
V kódu jsou ošetřeny tři možnosti:
neznámé (SAddress("Subs_Gender") == ""),
mužské (SAddress("Subs_Gender") == "M")
a ženské, které by mohlo být ověřeno i porovnáním (SAddress("Subs_Gender") == "F")

if (SAddress("Subs_LastName") == "")
{
    result = "Vážený zákazníku";
}
else
{
    if (SAddress("Subs_Gender") == "")
    {
        result = "Vážený/á " + SAddress("Subs_FirstName") + " " + SAddress("Subs_LastName");
    }
    else
        if (SAddress("Subs_Gender") == "M")
        {
            result = "Vážený pane " + SAddress("Subs_LastName");
        }
        else
        {
            result = "Vážená paní " + SAddress("Subs_LastName");
        }
}