Programovateľné skripty

Úvod

Vložené skripty, alebo programovateľné tagy sú nenahraditeľné pri kvalitnej personalizácii vašich e-mailových kampaní. Skriptovanie umožňuje automaticky vkladať do správ texty, ktoré sú výsledkom vami definovaných funkcií. Vďaka použitiu skriptov sa môže meniť napríklad oslovenie vášho klienta podľa dostupných údajov v databáze. Rôzne oslovenie pre muža, zenu, klienta so zadaným, alebo chýbajúcim priezviskom nie je žiadny problém. Ukážky na tejto stránke vás presvedčia že písanie vlastných funkcii nie je vôbec zložité a často v nich postačí len upraviť texty podľa vlastných potrieb.

Písanie skriptov

Použitý jazyk: C#

Pri písaní skriptov je potrebné dodržiavať syntax jazyka C# od spoločnosti Microsoft. Jeho základy obsahuje napríklad tutorial na stránkach csharp.aspone.cz. Vo väčšine prípadov si však vystačíte s použitím podmienky if else a priradením = , ktorých použitie je uvedené v ukážkach.

Názov skriptu

Názov skriptu musím obsahovať prefix jazyka „cs:“ napríklad „cs:oslovenie“ . Po vložení do správy bude názov skriptu uzavretý do hranatých zátvoriek. Príklad tag-u v správe: [[cs:oslovenie]]

Správnosť skriptu

Po napísaní obsahu funkcie si kliknutím na tlačítko Test overíte jej správnosť z hľadiska syntaxe. V prípade, že sa zobrazia chyby je ich potrebné odstrániť a test zopakovať.

Vstupné údaje

Vstupné údaje, ktoré môžete využívať pri písaní vášho skriptu pochádzajú z adresy príjemcu správy a informácii o odosielanej kampani. Máte k dispozícii aktuálny riadok adresy Address a riadok aktuálnej kampane Campaign (v oboch prípadoch ide z hľadiska jazyka c# o Class System.Data.DataRow)

K reťazcom (textom) z jednotlivých polí môžete pristupovať prostredníctvom zápisov Address["MenoPola"].ToString() , Campaign["MenoPola"].ToString(), alebo jednoduchším zápisom pomocou funkcií (metód) SAddress("MenoPola") , SCampaign("MenoPola") .

Zoznam dostupných polí v riadku 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

Zoznam dostupných polí v riadku 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ýstupom z vašej funkcie (skriptu) je premenná result (typ: String result ). Textová hodnota z premennej je vložená priamo do obsahu e-mailovej správy namiesto tagu [[cs:nazovSkriptu]]

Ukážky skriptov

Príklad skriptu 1


Popis: ak nie je zadané oslovenie (pole "Subs_Salutation") tak je výsledkom text „Vážený zákazník“, inak je výsledkom oslovenie + meno a priezvisko.

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

Príklad skriptu 2


Popis: ak nie je zadané meno a priezvisko tak je výsledkom text „Vážený zákazník“, inak je výsledkom oslovenie + meno a priezvisko.

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

Príklad skriptu 3


Popis: ak nie je zadané priezvisko, tak je výsledkom text „Vážený zákazník“, inak sa zisťuje či je známe pohlavie adresáta.
V kóde sú ošetrené tri možnosti:
neznáme (SAddress("Subs_Gender") == ""),
mužské (SAddress("Subs_Gender") == "M")
a ženské, ktoré by mohlo byť overené aj porovnaním (SAddress("Subs_Gender") == "F")

if (SAddress("Subs_LastName") == "")
{
    result = "Vážený zákazník";
}
else
{
    if (SAddress("Subs_Gender") == "")
    {
        result = "Vážený/á " + SAddress("Subs_FirstName") + " " + SAddress("Subs_LastName");
    }
    else
        if (SAddress("Subs_Gender") == "M")
        {
            result = "Vážený pán " + SAddress("Subs_LastName");
        }
        else
        {
            result = "Vážená pani " + SAddress("Subs_LastName");
        }
}