Formula
Formula adalah bahasa komputasi bawaan GetMyBot. Dengan formula Anda dapat menghitung jumlah diskon, menyusun string, memeriksa kondisi, mengubah daftar atau tanggal — langsung dalam teks pesan, dalam aksi "Perhitungan", dan dalam kondisi tabel keputusan. Sintaksnya mirip dengan formula spreadsheet.
Di mana formula bekerja
- Dalam teks — konstruksi
{{= ekspresi}}menghitung ekspresi dan mensubstitusi hasilnya. Misalnya,{{= ROUND(param.total * 0.9) }}. - Aksi "Perhitungan" (
compute) — menghitung ekspresi dan menyimpan hasilnya dictx(field "Simpan ke ctx") dan/atau ke parameter pelanggan (field "Simpan ke parameter"). - Tabel keputusan — dalam aksi "Perhitungan", alih-alih satu ekspresi, Anda dapat menentukan daftar aturan "jika → maka": nilai aturan pertama yang kondisinya benar dikembalikan, jika tidak, nilai default dikembalikan.
Sintaks
- Operator: aritmatika
+ - * / %, perbandingan== != < > <= >=, logika&& || !, tanda kurung( ). - Literal: angka (
42,3.14), string dalam tanda kutip ("halo"), boolean (true,false). - Referensi data: dalam ekspresi Anda dapat mengakses parameter dan nilai konteks berdasarkan nama —
param.total,ctx.items,recipient.email. - Pemanggilan fungsi:
NAMA(argumen1, argumen2). Nama tidak peka huruf besar/kecil.
Fungsi
Matematika
SUM, AVERAGE, MAX, MIN, MOD, POW, SQRT, PI, ROUND, CEIL, FLOOR, TRUNC, ABS, RANDBETWEEN.
Teks
LEN, LEFT, RIGHT, MID, LOWER, UPPER, UPPERFIRST, REPEAT, CONCAT, SUBSTITUTE, FIND, SEARCH, FIELD, TRIM, LTRIM, RTRIM, PADLEFT, PADRIGHT, SPLIT, JOIN, STARTSWITH, ENDSWITH, CONTAINS, NL.
Logika
IF, AND, OR, NOT, EMPTY, ISNUMBER, COALESCE.
Daftar
SORT, RSORT, UNIQUE, FILTER, FOREACH, REDUCE, INDEX, SLICE, COUNTA, COUNTUNIQUE, ARRAYADD, ARRAYREMOVE, ARRAYREPLACE, ARRAYFIND.
Tanggal dan waktu
TODAY, NOW, DATEADD, DATESUB, DATEDIF, DATEFORMAT, DATEVALUE, WEEKDAY.
JSON
TOJSON, FROMJSON, JSONPATH, JP, JSONOBJECT, JSONARRAY, KEYS, VALUES.
Kriptografi dan enkoding
HASH, TOBASE64, FROMBASE64, FROMJWT, FROMJWK.
Parameter
PARAMID, PARAMREPLACE, PARAMREMOVE.
Contoh
- Diskon 10% dari jumlah:
{{= ROUND(param.total * 0.9) }}. - Kondisi:
{{= IF(param.total > 1000, "grosir", "eceran") }}. - Penyusunan string:
{{= CONCAT("Pesanan No.", ctx.order_id) }}. - Ukuran daftar:
{{= COUNTA(ctx.items) }}.
Tes formula
Di editor aksi "Perhitungan" ada tombol verifikasi: Anda memasukkan ekspresi dan data sampel, dan platform mengembalikan hasil serta menyoroti kesalahan sintaks — tanpa keluar dari builder. Ini berguna untuk men-debug formula panjang sebelum menyimpan reaksi.
Selanjutnya
- Substitusi dan formula — variabel
{{...}}, konteksctx, dan parameter. - Aksi — aksi "Perhitungan" dan tabel keputusan.
- Pesan dan tombol — formula dalam teks dan template tombol.
- Koleksi dan data — data yang dihitung dengan formula.