Cosa sono le Espressioni?
Un'espressione ha l'aspetto di una stringa di una certa sintassi. Verrà «eseguita» sul server in un contesto concreto, e il risultato dell'esecuzione sarà uno dei due valori booleani: vero o falso (true / false).
Di fatto, un'espressione risponde alla domanda: è necessario inviare adesso questa email concreta a questo iscritto concreto?
Per le email trigger tali domande, di norma, sono assenti — vanno sempre inviate. Ma per le email di marketing tutto è più complesso. La necessità dell'invio dipende da quali dati ha l'iscritto (ad esempio, un'email con idee su cosa regalare per l'8 marzo è più logico inviarla a un pubblico maschile, e non femminile), quali email ha ricevuto in precedenza e come ha interagito con esse.
Tutte queste regole complesse (logica di business) si possono presentare sotto forma di una sequenza di controlli e confronti, la cui esecuzione ci porterà alla risposta «Sì» o «No» — il già menzionato valore booleano true / false.
Nel nostro sistema tali Espressioni sono disponibili in diversi punti e possono avere un diverso insieme di variabili a cui si può accedere all'interno dell'espressione.
Sintassi di base
All'interno di un'espressione si possono usare diversi tipi di dati:
10— numero intero3.14— numero decimaletrue— valore booleano truefalse— valore booleano falsenull— valore speciale null"Hello"— stringasubscriber.id— accesso a una proprietà dell'oggetto"World"— un altro modo di scrivere una stringa["new", "paid", "shipped"]— array di stringhe
Operatori di confronto
==— uguale a!=— diverso da<— minore di<=— minore o uguale>— maggiore di>=— maggiore o uguale
Operatori matematici
+— addizione-— sottrazione*— moltiplicazione/— divisione
Operatori logici
and— E logicoor— O logiconot— negazione logica
Si possono anche usare le parentesi tonde per cambiare la priorità di esecuzione, come avviene solitamente nelle formule matematiche: ciò che è tra parentesi viene eseguito prima.
Alcuni esempi
subscriber.address_country in ["UA", "PL", "NL"] — restituirà true solo nel caso in cui il paese dell'iscritto sia uno di quelli indicati.
(subscriber.birthday_month == now.format("M")) and (now.format("Y") - subscriber.birthday_year == 18) — l'iscritto compie gli anni questo mese e compie 18 anni.
Variabili disponibili
L'insieme delle variabili disponibili dipende dal punto in cui viene applicata l'Espressione.
Variabili per la condizione di ingresso nella campagna di invio degli iscritti dalla base:
time, subscriber, tags, now
Variabili per il controllo dell'esecuzione di un Evento nella campagna di invio:
time, subscriber, tags, now, url (solo per l'evento di clic su un link), url_md5 (solo per l'evento di clic su un link)
Descrizione delle variabili
- time — numero intero, ora attuale in formato Unix timestamp
- subscriber — oggetto con i dati sull'iscritto, la descrizione dettagliata dei campi è riportata in questa pagina
- tags — array di stringhe che contiene i tag dell'iscritto, ad esempio
["tag1", "tag2", "tag3"] - now — oggetto speciale dell'ora attuale, che ha il metodo
format. Ad esempio,now.format("Y")restituirà l'anno attuale sotto forma di una stringa di quattro caratteri - url — link HTTP su cui è stato effettuato il clic
- url_md5 — stringa MD5, ovvero il valore MD5 del link su cui è stato effettuato il clic