Formule

Le formule sono il linguaggio di calcolo integrato di GetMyBot. Con esse puoi calcolare uno sconto, costruire una stringa, verificare una condizione, trasformare un elenco o una data — direttamente nel testo di un messaggio, nell'azione «Calcolo» e nelle condizioni della tabella decisionale. La sintassi è simile a quella dei fogli di calcolo e supporta i nomi delle funzioni in russo.

Dove funzionano le formule

  • Nel testo — la costruzione {{= espressione}} valuta l'espressione e sostituisce il risultato. Ad esempio, {{= ROUND(param.total * 0.9) }}.
  • Azione «Calcolo» (compute) — valuta l'espressione e salva il risultato in ctx (campo «Salva in ctx») e/o in un parametro dell'iscritto (campo «Salva in parametro»).
  • Tabella decisionale — nell'azione «Calcolo», al posto di una singola espressione puoi definire un elenco di regole «quando → allora»: viene restituito il valore della prima regola la cui condizione è vera, altrimenti il valore predefinito.

Sintassi

  • Operatori: aritmetica + - * / %, confronti == != < > <= >=, logica && || !, parentesi ( ).
  • Letterali: numeri (42, 3.14), stringhe tra virgolette ("ciao"), booleani (true, false).
  • Riferimenti ai dati: all'interno di un'espressione puoi accedere a parametri e valori del contesto per nome — param.total, ctx.items, recipient.email.
  • Chiamata di funzione: NOME(argomento1, argomento2). I nomi sono case-insensitive e accettano alias in russo.

Funzioni

I nomi canonici sono in inglese (case-insensitive). Il motore accetta anche i nomi equivalenti in russo — utili se utilizzi già formule dalla versione russa dell'interfaccia.

Matematica

SUM, AVERAGE, MAX, MIN, MOD, POW, SQRT, PI, ROUND, CEIL, FLOOR, TRUNC, ABS, RANDBETWEEN.

Testo

LEN, LEFT, RIGHT, MID, LOWER, UPPER, UPPERFIRST, REPEAT, CONCAT, SUBSTITUTE, FIND, SEARCH, FIELD, TRIM, LTRIM, RTRIM, PADLEFT, PADRIGHT, SPLIT, JOIN, STARTSWITH, ENDSWITH, CONTAINS, NL.

Logica

IF, AND, OR, NOT, EMPTY, ISNUMBER, COALESCE.

Liste

SORT, RSORT, UNIQUE, FILTER, FOREACH, REDUCE, INDEX, SLICE, COUNTA, COUNTUNIQUE, ARRAYADD, ARRAYREMOVE, ARRAYREPLACE, ARRAYFIND.

Data e ora

TODAY, NOW, DATEADD, DATESUB, DATEDIF, DATEFORMAT, DATEVALUE, WEEKDAY.

JSON

TOJSON, FROMJSON, JSONPATH, JP, JSONOBJECT, JSONARRAY, KEYS, VALUES.

Crittografia e codifica

HASH, TOBASE64, FROMBASE64, FROMJWT, FROMJWK.

Parametri

PARAMID, PARAMREPLACE, PARAMREMOVE.

Esempi

  • Sconto del 10% sull'importo: {{= ROUND(param.total * 0.9) }}.
  • Condizione: {{= IF(param.total > 1000, "ingrosso", "dettaglio") }}.
  • Costruzione di stringa: {{= CONCAT("Ordine №", ctx.order_id) }}.
  • Dimensione della lista: {{= COUNTA(ctx.items) }}.

Test della formula

Nell'editor dell'azione «Calcolo» c'è un pulsante di verifica: inserisci l'espressione e i dati di esempio, e la piattaforma restituisce il risultato evidenziando gli errori di sintassi — senza uscire dal costruttore. Comodo per il debug di formule complesse prima di salvare la reazione.

Prossimi passi